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

      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