MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Sens de blocs dans les structures

    Planifier Épinglé Verrouillé Déplacé Sans suite
    1.6.4
    17 Messages 4 Publieurs 4.7k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • bin4r1sB Hors-ligne
      bin4r1s
      dernière édition par

      D’accord, merci j’essaie
      PS : Par contre quelqu’un connaîtrait une liste où sont répertoriés les flags correspondants à l’orientation ?___Et tant qu’on y est, au lieu de créer un nouveau topic, j’ai une autre question :
      Comment intégrer des objets à l’intérieur d’un coffre généré ?
      J’ai déjà fait la génération aléatoire de l’ItemStack et celle du coffre. Il me manque juste l’intégration des objets au coffre.

      Mes mods:

      • New Ores
      • More Dragons
      1 réponse Dernière réponse Répondre Citer 0
      • kevin_68K Hors-ligne
        kevin_68 Moddeurs confirmés
        dernière édition par

        Pour une génération aléatoire des items tu peux utilisé le système de forge:

        
        world.setBlock(x + 3, y + 1, z + 5, Block.chest.blockID, 5, 2);
        
        TileEntityChest tileentitychest = (TileEntityChest)world.getBlockTileEntity(x + 3, y + 1, z + 5);
        
        if(tileentitychest != null)
        {
        ChestGenHooks info = ChestGenHooks.getInfo(ChestGenHooks.VILLAGE_BLACKSMITH);
        WeightedRandomChestContent.generateChestContents(rand, info.getItems(rand), tileentitychest, info.getCount(rand));
        }
        
        

        Après, pour un item donné:

        
        world.setBlock(x + 3, y + 1, z + 5, Block.chest.blockID, 5, 2);
        
        TileEntityChest tileentitychest = (TileEntityChest)world.getBlockTileEntity(x + 3, y + 1, z + 5);
        tileentitychest.setInventorySlotContents(slot, ItemStack)
        
        


        Mettez à jours vers la dernière version stable (1.8.9 voir même…

        1 réponse Dernière réponse Répondre Citer 0
        • bin4r1sB Hors-ligne
          bin4r1s
          dernière édition par

          C’est la méthode

          
          tileentitychest.setInventorySlotContents(slot, ItemStack)
          
          

          qui permet d’insérer les items ?
          Je suppose que si c’est le cas on peut la répéter plusieurs fois pour mettre plusieurs items dans le coffre ?

          Mes mods:

          • New Ores
          • More Dragons
          1 réponse Dernière réponse Répondre Citer 0
          • kevin_68K Hors-ligne
            kevin_68 Moddeurs confirmés
            dernière édition par

            Oui c’est ça.


            Mettez à jours vers la dernière version stable (1.8.9 voir même…

            1 réponse Dernière réponse Répondre Citer 0
            • bin4r1sB Hors-ligne
              bin4r1s
              dernière édition par

              Ok merci :), Sujet résolu

              EDIT : Ah ben non en fait .
              Quand ma structure se génère, le coffre qui est dedans contient toujours le même item.

              Le code (dans MinerHouse1) :

              
              private ItemStack getLoot(Random rand)
              {
              int loot = rand.nextInt(10);
              int speLootA = rand.nextInt(8);
              int speLootO = rand.nextInt(10);
              int speLootDB = rand.nextInt(5);
              int speLootEB = rand.nextInt(10);
              ItemStack stack = null;
              switch(loot)
              {
              case 0:
              stack = new ItemStack(Item.diamond);
              case 1:
              if(speLootDB == 0)
              {
              stack = new ItemStack(Block.blockDiamond);
              }
              else if(speLootEB == 0)
              {
              stack = new ItemStack(Block.blockEmerald);
              }
              case 2:
              stack = new ItemStack(Item.bread);
              case 3:
              if(speLootA == 0)
              {
              stack = new ItemStack(Basic.copperHelmet);
              }
              else if(speLootA == 1)
              {
              stack = new ItemStack(Basic.copperPlate);
              }
              else if(speLootA == 2)
              {
              stack = new ItemStack(Basic.copperBoots);
              }
              else if(speLootA == 3)
              {
              stack = new ItemStack(Basic.tinHelmet);
              }
              else if(speLootA == 4)
              {
              stack = new ItemStack(Basic.tinPlate);
              }
              else if(speLootA == 5)
              {
              stack = new ItemStack(Basic.tinBoots);
              }
              else if(speLootA == 6)
              {
              stack = new ItemStack(Basic.manganeseHelmet);
              }
              else if(speLootA == 7)
              {
              stack = new ItemStack(Basic.manganesePlate);
              }
              else
              {
              stack = new ItemStack(Basic.manganeseBoots);
              }
              case 4:
              if(speLootO == 0)
              {
              stack = new ItemStack(Basic.copperPickaxe);
              }
              else if(speLootO == 1)
              {
              stack = new ItemStack(Basic.copperShovel);
              }
              else if(speLootO == 2)
              {
              stack = new ItemStack(Basic.copperSword);
              }
              else if(speLootO == 3)
              {
              stack = new ItemStack(Basic.tinPickaxe);
              }
              else if(speLootO == 4)
              {
              stack = new ItemStack(Basic.tinShovel);
              }
              else if(speLootO == 5)
              {
              stack = new ItemStack(Basic.tinSword);
              }
              else if(speLootO == 6)
              {
              stack = new ItemStack(Basic.manganesePickaxe);
              }
              else if(speLootO == 7)
              {
              stack = new ItemStack(Basic.manganeseAxe);
              }
              else if(speLootO == 8)
              {
              stack = new ItemStack(Basic.manganeseSword);
              }
              else if(speLootO == 9)
              {
              stack = new ItemStack(Item.pickaxeDiamond);
              }
              else if(speLootO == 10)
              {
              stack = new ItemStack(Item.pickaxeIron);
              }
              case 5:
              stack = new ItemStack(Item.emerald);
              case 6:
              stack = new ItemStack(Basic.manganeseIngot);
              case 7:
              stack = new ItemStack(Basic.copperIngot);
              case 8:
              stack = new ItemStack(Basic.tinIngot);
              case 9:
              stack = new ItemStack(Block.blockGold);
              case 10:
              // Nothing
              }
              return stack;
              }
              
              // Chest Content
              TileEntityChest tileentitychest = (TileEntityChest)world.getBlockTileEntity(x + 2, y + 1, z + 2);
              tileentitychest.setInventorySlotContents(2, this.getLoot(rand));
              tileentitychest.setInventorySlotContents(7, this.getLoot(rand));
              tileentitychest.setInventorySlotContents(13, this.getLoot(rand));
              tileentitychest.setInventorySlotContents(19, this.getLoot(rand));
              tileentitychest.setInventorySlotContents(23, this.getLoot(rand));
              
              

              Mes mods:

              • New Ores
              • More Dragons
              1 réponse Dernière réponse Répondre Citer 0
              • bin4r1sB Hors-ligne
                bin4r1s
                dernière édition par

                Up
                De l’aide svp 😞

                Mes mods:

                • New Ores
                • More Dragons
                1 réponse Dernière réponse Répondre Citer 0
                • robin4002R Hors-ligne
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                  dernière édition par

                  Il contient quel item précisément ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • bin4r1sB Hors-ligne
                    bin4r1s
                    dernière édition par

                    C’est choisi aléatoirement avec le switch de getLoot()
                    Après c’est inséré dans le coffre (vide au départ)

                    Mes mods:

                    • New Ores
                    • More Dragons
                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      @‘MrBlockTNT’:

                      le coffre qui est dedans contient toujours le même item.

                      J’aimerai savoir quel est l’item qui se génère toujours afin de comprendre pourquoi le random ne fonctionne pas.

                      1 réponse Dernière réponse Répondre Citer 0
                      • bin4r1sB Hors-ligne
                        bin4r1s
                        dernière édition par

                        Le bloc d’or
                        J’en profite pour dire que (je viens de m’en rendre compte, car je viens de l’ajouter) la porte est bugguée :
                        :::

                        :::
                        Code :

                        
                        world.setBlock(x + 4, y + 1, z + 2, Block.doorWood.blockID, 0, 4);
                        world.setBlock(x + 4, y + 2, z + 2, Block.doorWood.blockID, 0, 4);
                        
                        

                        Mes mods:

                        • New Ores
                        • More Dragons
                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          J’ai compris ton problème. Il faut que tu break, car actuellement il lit toutes les cases sans s’arrêter :

                          private ItemStack getLoot(Random rand)
                          {
                          int loot = rand.nextInt(10);
                          int speLootA = rand.nextInt(8);
                          int speLootO = rand.nextInt(10);
                          int speLootDB = rand.nextInt(5);
                          int speLootEB = rand.nextInt(10);
                          ItemStack stack = null;
                          switch(loot)
                          {
                          case 0:
                          stack = new ItemStack(Item.diamond);
                          break;
                          case 1:
                          if(speLootDB == 0)
                          {
                          stack = new ItemStack(Block.blockDiamond);
                          }
                          else if(speLootEB == 0)
                          {
                          stack = new ItemStack(Block.blockEmerald);
                          }
                          break;
                          case 2:
                          stack = new ItemStack(Item.bread);
                          break;
                          case 3:
                          if(speLootA == 0)
                          {
                          stack = new ItemStack(Basic.copperHelmet);
                          }
                          else if(speLootA == 1)
                          {
                          stack = new ItemStack(Basic.copperPlate);
                          }
                          else if(speLootA == 2)
                          {
                          stack = new ItemStack(Basic.copperBoots);
                          }
                          else if(speLootA == 3)
                          {
                          stack = new ItemStack(Basic.tinHelmet);
                          }
                          else if(speLootA == 4)
                          {
                          stack = new ItemStack(Basic.tinPlate);
                          }
                          else if(speLootA == 5)
                          {
                          stack = new ItemStack(Basic.tinBoots);
                          }
                          else if(speLootA == 6)
                          {
                          stack = new ItemStack(Basic.manganeseHelmet);
                          }
                          else if(speLootA == 7)
                          {
                          stack = new ItemStack(Basic.manganesePlate);
                          }
                          else
                          {
                          stack = new ItemStack(Basic.manganeseBoots);
                          }
                          break;
                          case 4:
                          […]
                          

                          Et pour la porte, je sais pas, essaye avec un autre métadata pour le bloc du haut.

                          1 réponse Dernière réponse Répondre Citer 0
                          • bin4r1sB Hors-ligne
                            bin4r1s
                            dernière édition par

                            Ah oui, merci j’avais complètement oublié ^^’
                            Sinon je peux avoir de l’aide pour la porte ?

                            EDIT : D’accord j’essaie merci (pour la porte)

                            DOUBLE EDIT : J’ai essayé avec d’autres metadata, rien ne marche 😞

                            Mes mods:

                            • New Ores
                            • More Dragons
                            1 réponse Dernière réponse Répondre Citer 0
                            • bin4r1sB Hors-ligne
                              bin4r1s
                              dernière édition par

                              De l’aide Svp 😞

                              Mes mods:

                              • New Ores
                              • More Dragons
                              1 réponse Dernière réponse Répondre Citer 0
                              • utyboU Hors-ligne
                                utybo
                                dernière édition par

                                Regarde dans la génération des villages pour la porte(?)

                                Moddeur à la retraite et développeur de trucs en Java.

                                J'aide les gens comme je peux, alors si mon message v…

                                1 réponse Dernière réponse Répondre Citer 0
                                • bin4r1sB Hors-ligne
                                  bin4r1s
                                  dernière édition par

                                  @utybo
                                  J’ai déjà regardé, c’était dit au début.

                                  Après avoir longuement cherché, je n’ai rien trouvé, et j’ai même fini par réussir à empêcher la génération de mes structures (comment ?)

                                  Mes mods:

                                  • New Ores
                                  • More Dragons
                                  1 réponse Dernière réponse Répondre Citer 0
                                  • 1 / 1
                                  • Premier message
                                    Dernier message
                                  Design by Woryk
                                  ContactMentions Légales

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB