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.
    • kevin_68K Hors-ligne
      kevin_68 Moddeurs confirmés
      dernière édition par

      Je supose que tu utilise la méthode .setBlock(…) de world pour le reste de ta structure, et bien cette méthode est surchargée, donc tu peux lui ajouté les arguments Int metadata, int flag pour le metadata, et donc l’orientation des escaliers par exemple.
      Exemple:

      
      world.setBlock(x, y, z, blockID, metadata, flag);
      
      

      Pour le flag:
      0 = rien
      2 = mise à jour de bloc
      Après le reste je ne sais plus


      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

        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