Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Problème génération minerai

    1.7.x
    1.7.2
    4
    11
    2341
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sebenf0rce last edited by

      Bonjour,

      J’ai crée mon mod ou j’ai crée la génération d’un minerai.
      En solo tout marche parfaitement le minerai est bien présent dans le monde.
      Mais lorsque je mets le mod sur mon serveur la génération ne marche pas.
      Pensez vous savoir d’où cela vient ?

      Merci d’avance.

      1 Reply Last reply Reply Quote 0
      • Fine33
        Fine33 last edited by

        Il nous faudrait déjà le code de la classe de ton minerai pour que l’on puisse t’aider.

        1 Reply Last reply Reply Quote 0
        • sosoh
          sosoh last edited by

          Rn multi c’est un monde génèré avant que tu mettes le mod ?

          1 Reply Last reply Reply Quote 0
          • S
            Sebenf0rce last edited by

            @‘sosoh’:

            Rn multi c’est un monde génèré avant que tu mettes le mod ?

            Non je l’ai crée aprêt.

            Sinon voici la classe de la génération :

            
            package com.sebenforce;
            
            import java.util.Random;
            
            import net.minecraft.block.Block;
            import net.minecraft.init.Blocks;
            import net.minecraft.world.World;
            import net.minecraft.world.chunk.IChunkProvider;
            import net.minecraft.world.gen.feature.WorldGenMinable;
            import cpw.mods.fml.common.IWorldGenerator;
            
            public class generationGrenat implements IWorldGenerator {
            
            public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
            
            {
            
                switch(world.provider.dimensionId)
            
                {
                    case 0:
                        generateSurface(world, random, chunkX * 16, chunkZ * 16);
                        break; }}
            
            private void generateSurface(World world, Random random, int x, int z) {
            
                this.addOreSpawn(Main.mineraiGrenat, 0, Blocks.stone, world, random, x, z, 16, 16, 7, 20, 5, 54);
            
                }
            public void addOreSpawn(Block block, int metadata, Block target, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chancesToSpawn, int minY, int maxY) {
            
                assert maxY > minY : "La position Y maximum doit être supérieure à  la position Y minimum.";
            
                assert maxX > 0 && maxX <= 16 : "X doit se trouver entre 0 et 16.";
            
                assert minY > 0 : "La position Y minimum doit être supérieure à  0.";
            
                assert maxY < 256 && maxY > 0 : "La position Y maximum doit se trouver entre 0 et 256.";
            
                assert maxZ > 0 && maxZ <= 16 : "Z doit se trouver entre 0 et 16.";
            
               for(int i = 0; i < chancesToSpawn; i++)
            
                {
            
                    int posY = random.nextInt(128);
            
                    if((posY <= maxY) && (posY >= minY))
            
                    {
            
                        (new WorldGenMinable(block, metadata, maxVeinSize, target)).generate(world, random, blockXPos + random.nextInt(16), posY, blockZPos + random.nextInt(16));
            
                    }
            
                }
            
            }
            }
            
            

            Et voici ce qui est présent dans la classe principale :

            
             generationGrenat generationGrenat = new generationGrenat();
            
                generationranite generationranite = new generationranite();
                @EventHandler
                public void preInit(FMLPreInitializationEvent event)
                {
                GameRegistry.registerWorldGenerator(generationGrenat, 0);
                GameRegistry.registerWorldGenerator(generationranite, 0);
                }
            
            
            1 Reply Last reply Reply Quote 0
            • robin4002
              robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

              Ton serveur a une dimension custom ?

              1 Reply Last reply Reply Quote 0
              • S
                Sebenf0rce last edited by

                @‘robin4002’:

                Ton serveur a une dimension custom ?

                Non aucune.

                1 Reply Last reply Reply Quote 0
                • robin4002
                  robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                  Tu ne joue vraiment que sur la dimension overworld d’id 0, celle de base ?
                  Si oui envoie toute ta classe principale.

                  1 Reply Last reply Reply Quote 0
                  • S
                    Sebenf0rce last edited by

                    Oui je joue que sur celle ci.
                    Voici donc ma classe :

                    
                    package com.sebenforce;
                    
                    import net.minecraft.block.Block;
                    import net.minecraft.block.material.Material;
                    import net.minecraft.creativetab.CreativeTabs;
                    import net.minecraft.init.Blocks;
                    import net.minecraft.init.Items;
                    import net.minecraft.item.Item;
                    import net.minecraft.item.Item.ToolMaterial;
                    import net.minecraft.item.ItemArmor.ArmorMaterial;
                    import net.minecraft.item.ItemStack;
                    import net.minecraftforge.common.util.EnumHelper;
                    import cpw.mods.fml.common.Mod;
                    import cpw.mods.fml.common.Mod.EventHandler;
                    import cpw.mods.fml.common.Mod.Instance;
                    import cpw.mods.fml.common.event.FMLInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
                    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    
                    @Mod(modid = "magmafusion", name = "magmafusion", version = "1.0.0")
                    
                    public class Main {
                        @Instance("magmafusion")
                        public static Main instance;
                        public static final String MODID = "magmafusion";
                        public static Item Grenat;
                        public static Item Uranite;
                        public static Item casqueGrenat, plastronGrenat, jambesGrenat, bottesGrenat;
                        public static Item casqueUranite, plastronUranite, jambesUranite, bottesUranite;
                        public static Item casqueMagma, plastronMagma, jambesMagma, bottesMagma;
                        public static Item epeeGrenat, piocheGrenat, hacheGrenat, pelleGrenat, hoeGrenat;
                        public static Item epeeUranite, piocheUranite, hacheUranite, pelleUranite, hoeUranite;
                        public static Item epeeMagma, piocheMagma, hacheMagma, pelleMagma, hoeMagma;
                        public static ArmorMaterial grenat = EnumHelper.addArmorMaterial("grenat", 43, new int[] {4, 10, 7, 4}, 10);
                        public static ArmorMaterial uranite = EnumHelper.addArmorMaterial("uranite", 53, new int[] {5, 11, 8, 5}, 10);
                        public static ArmorMaterial magma = EnumHelper.addArmorMaterial("magma", 63, new int[] {6, 12, 9, 6}, 10);
                        public static ToolMaterial outilsGrenat = EnumHelper.addToolMaterial("outilsGrenat", 3, 1661, 8.0F, 4.0F, 10);
                        public static ToolMaterial outilsUranite = EnumHelper.addToolMaterial("outilsUranite", 3, 1761, 9.0F, 5.0F, 10);
                        public static ToolMaterial outilsMagma = EnumHelper.addToolMaterial("outilsMagma", 3, 1861, 11.0F, 6.0F, 10);
                        public static Block blockGrenat;
                        public static Block mineraiGrenat;
                        public static Block blockUranite;
                        public static Block mineraiUranite;
                        public static Block blockMagma;
                        public static Block obsidienneFusionne;
                        public static Block blockObsidienneFusionne;
                    
                        generationGrenat generationGrenat = new generationGrenat();
                        generationranite generationranite = new generationranite();
                        @EventHandler
                        public void preInit(FMLPreInitializationEvent event)
                        {
                        GameRegistry.registerWorldGenerator(generationGrenat, 0);
                        GameRegistry.registerWorldGenerator(generationranite, 0);
                        }
                        @EventHandler
                        public void load(FMLInitializationEvent event)
                        {
                        //block
                    
                            mineraiGrenat = new mineraiGrenat(Material.rock).setBlockName("mineraiGrenat").setBlockTextureName(Main.MODID + ":Minerais de Grenat").setCreativeTab(CreativeTabs.tabBlock).setHardness(6.0F);;
                            GameRegistry.registerBlock(mineraiGrenat, "mineraiGrenat");
                    
                            mineraiUranite = new mineraiUranite(Material.rock).setBlockName("mineraiUranite").setBlockTextureName(Main.MODID + ":Minerais d'Uranite").setCreativeTab(CreativeTabs.tabBlock).setHardness(6.0F);;
                            GameRegistry.registerBlock(mineraiUranite, "mineraiUranite");
                    
                            obsidienneFusionne = new obsidienneFusionne(Material.rock).setBlockName("obsidienneFusionne").setBlockTextureName(Main.MODID + ":obsidienneFusionne").setCreativeTab(CreativeTabs.tabBlock).setHardness(60.0F).setResistance(2500.0F);;
                            GameRegistry.registerBlock(obsidienneFusionne, "obsidienneFusionne");
                    
                        //gems
                        Grenat = new Grenat().setUnlocalizedName("Grenat").setTextureName(Main.MODID + ":Grenat").setCreativeTab(CreativeTabs.tabMaterials);
                            GameRegistry.registerItem(Grenat, "Grenat");
                            Uranite = new Grenat().setUnlocalizedName("Uranite").setTextureName(Main.MODID + ":Uranite").setCreativeTab(CreativeTabs.tabMaterials);
                            GameRegistry.registerItem(Uranite, "Uranite");
                    
                            //armures
                            casqueGrenat = new armureGrenat(grenat, 0).setUnlocalizedName("casqueGrenat").setTextureName(MODID + ":Casque en Grenat");
                            plastronGrenat = new armureGrenat(grenat, 1).setUnlocalizedName("plastronGrenat").setTextureName(MODID + ":Plastron en Grenat");
                            jambesGrenat = new armureGrenat(grenat, 2).setUnlocalizedName("jambesGrenat").setTextureName(MODID + ":Jambière en Grenat");
                            bottesGrenat = new armureGrenat(grenat, 3).setUnlocalizedName("bottesGrenat").setTextureName(MODID + ":Bottes en Grenat");
                            GameRegistry.registerItem(casqueGrenat, "casqueGrenat");
                            GameRegistry.registerItem(plastronGrenat, "plastronGrenat");
                            GameRegistry.registerItem(jambesGrenat, "jambesGrenat");
                            GameRegistry.registerItem(bottesGrenat, "bottesGrenat");
                    
                            casqueUranite = new armureUranite(uranite, 0).setUnlocalizedName("casqueUranite").setTextureName(MODID + ":Casque en Uranite");
                            plastronUranite = new armureUranite(uranite, 1).setUnlocalizedName("plastronUranite").setTextureName(MODID + ":Plastron en Uranite");
                            jambesUranite = new armureUranite(uranite, 2).setUnlocalizedName("jambesUranite").setTextureName(MODID + ":Jambières en Uranite");
                            bottesUranite = new armureUranite(uranite, 3).setUnlocalizedName("bottesUranite").setTextureName(MODID + ":Bottes en Uranite");
                            GameRegistry.registerItem(casqueUranite, "casqueUranite");
                            GameRegistry.registerItem(plastronUranite, "plastronUranite");
                            GameRegistry.registerItem(jambesUranite, "jambesUranite");
                            GameRegistry.registerItem(bottesUranite, "bottesUranite");
                    
                            casqueMagma = new armureMagma(magma, 0).setUnlocalizedName("casqueMagma").setTextureName(MODID + ":helmetMagma");
                            plastronMagma = new armureMagma(magma, 1).setUnlocalizedName("plastronMagma").setTextureName(MODID + ":chestplateMagma");
                            jambesMagma = new armureMagma(magma, 2).setUnlocalizedName("jambesMagma").setTextureName(MODID + ":leggingsMagma");
                            bottesMagma = new armureMagma(magma, 3).setUnlocalizedName("bottesMagma").setTextureName(MODID + ":bootsMagma");
                            GameRegistry.registerItem(casqueMagma, "casqueMagma");
                            GameRegistry.registerItem(plastronMagma, "plastronMagma");
                            GameRegistry.registerItem(jambesMagma, "jambesMagma");
                            GameRegistry.registerItem(bottesMagma, "bottesMagma");
                    
                            //outils
                            epeeGrenat = new epeeGrenat(outilsGrenat).setUnlocalizedName("epeeGrenat").setTextureName(MODID + ":Epée en Grenat");
                            piocheGrenat = new piocheGrenat(outilsGrenat).setUnlocalizedName("piocheGrenat").setTextureName(MODID + ":Pioche en Grenat");
                            hacheGrenat = new hacheGrenat(outilsGrenat).setUnlocalizedName("hacheGrenat").setTextureName(MODID + ":Hache en Grenat");
                            pelleGrenat = new pelleGrenat(outilsGrenat).setUnlocalizedName("pelleGrenat").setTextureName(MODID + ":Pelle en Grenat");
                            hoeGrenat = new hoeGrenat(outilsGrenat).setUnlocalizedName("hoeGrenat").setTextureName(MODID + ":Houe en Grenat");
                            GameRegistry.registerItem(epeeGrenat, "epeeGrenat");
                            GameRegistry.registerItem(piocheGrenat, "piocheGrenat");
                            GameRegistry.registerItem(hacheGrenat, "hacheGrenat");
                            GameRegistry.registerItem(pelleGrenat, "pelleGrenat");
                            GameRegistry.registerItem(hoeGrenat, "hoeGrenat");
                    
                            epeeUranite = new epeeFluorite(outilsUranite).setUnlocalizedName("epeeUranite").setTextureName(MODID + ":Epée en Uranite");
                            piocheUranite = new piocheUranite(outilsUranite).setUnlocalizedName("piocheUranite").setTextureName(MODID + ":Pioche en Uranite");
                            hacheUranite = new hacheUranite(outilsUranite).setUnlocalizedName("hacheUranite").setTextureName(MODID + ":Hache en Uranite");
                            pelleUranite = new pelleUranite(outilsUranite).setUnlocalizedName("pelleUranite").setTextureName(MODID + ":Pelle en Uranite");
                            hoeUranite = new hoeUranite(outilsUranite).setUnlocalizedName("hoeUranite").setTextureName(MODID + ":Houe en Uranite");
                            GameRegistry.registerItem(epeeUranite, "epeeUranite");
                            GameRegistry.registerItem(piocheUranite, "piocheUranite");
                            GameRegistry.registerItem(hacheUranite, "hacheUranite");
                            GameRegistry.registerItem(pelleUranite, "pelleUranite");
                            GameRegistry.registerItem(hoeUranite, "hoeUranite");
                    
                            epeeMagma = new epeeMagma(outilsMagma).setUnlocalizedName("epeeMagma").setTextureName(MODID + ":swordMagma");
                            piocheMagma = new piocheMagma(outilsMagma).setUnlocalizedName("piocheMagma").setTextureName(MODID + ":pickaxeMagma");
                            hacheMagma = new hacheMagma(outilsMagma).setUnlocalizedName("hacheMagma").setTextureName(MODID + ":hatchetMagma");
                            pelleMagma = new pelleMagma(outilsMagma).setUnlocalizedName("pelleMagma").setTextureName(MODID + ":shovelMagma");
                            hoeMagma = new hoeMagma(outilsMagma).setUnlocalizedName("hoeMagma").setTextureName(MODID + ":hoeMagma");
                            GameRegistry.registerItem(epeeMagma, "epeeMagma");
                            GameRegistry.registerItem(piocheMagma, "piocheMagma");
                            GameRegistry.registerItem(hacheMagma, "hacheMagma");
                            GameRegistry.registerItem(pelleMagma, "pelleFluorite");
                            GameRegistry.registerItem(hoeMagma, "hoeMagma"); 
                    
                            //craft
                    
                            GameRegistry.addShapedRecipe(new ItemStack(casqueGrenat), new Object[]{"XXX", "X X", "   ", 'X', Main.Grenat});
                            GameRegistry.addShapedRecipe(new ItemStack(plastronGrenat), new Object[]{"X X", "XXX", "XXX", 'X', Main.Grenat});
                            GameRegistry.addShapedRecipe(new ItemStack(jambesGrenat), new Object[]{"XXX", "X X", "X X", 'X', Main.Grenat});
                            GameRegistry.addShapedRecipe(new ItemStack(bottesGrenat), new Object[]{"   ", "X X", "X X", 'X', Main.Grenat});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(casqueUranite), new Object[]{"XXX", "X X", "   ", 'X', Main.Uranite});
                            GameRegistry.addShapedRecipe(new ItemStack(plastronUranite), new Object[]{"X X", "XXX", "XXX", 'X', Main.Uranite});
                            GameRegistry.addShapedRecipe(new ItemStack(jambesUranite), new Object[]{"XXX", "X X", "X X", 'X', Main.Uranite});
                            GameRegistry.addRecipe(new ItemStack(bottesUranite), new Object[] {"   ", "X X", "X X", 'X', Main.Uranite});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(casqueMagma), new Object[]{"XXX", "X X", "   ", 'X', Main.obsidienneFusionne});
                            GameRegistry.addShapedRecipe(new ItemStack(plastronMagma), new Object[]{"X X", "XXX", "XXX", 'X', Main.obsidienneFusionne});
                            GameRegistry.addShapedRecipe(new ItemStack(jambesMagma), new Object[]{"XXX", "X X", "X X", 'X', Main.obsidienneFusionne});
                            GameRegistry.addShapedRecipe(new ItemStack(bottesMagma), new Object[]{"   ", "X X", "X X", 'X', Main.obsidienneFusionne});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(epeeGrenat), new Object[]{" X ", " X ", " Z ", 'X', Main.Grenat,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(piocheGrenat), new Object[]{"XXX", " Z ", " Z ", 'X', Main.Grenat,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(pelleGrenat), new Object[]{" X ", " Z ", " Z ", 'X', Main.Grenat,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hoeGrenat), new Object[]{"XX ", " Z ", " Z ", 'X', Main.Grenat,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hacheGrenat), new Object[]{"XX ", "XZ ", " Z ", 'X', Main.Grenat,'Z', Items.stick});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(epeeUranite), new Object[]{" X ", " X ", " Z ", 'X', Main.Uranite,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(piocheUranite), new Object[]{"XXX", " Z ", " Z ", 'X', Main.Uranite,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(pelleUranite), new Object[]{" X ", " Z ", " Z ", 'X', Main.Uranite,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hoeUranite), new Object[]{"XX ", " Z ", " Z ", 'X', Main.Uranite,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hacheUranite), new Object[]{"XX ", "XZ ", " Z ", 'X', Main.Uranite,'Z', Items.stick});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(epeeMagma), new Object[]{" X ", " X ", " Z ", 'X', Main.obsidienneFusionne,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(piocheMagma), new Object[]{"XXX", " Z ", " Z ", 'X', Main.obsidienneFusionne,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(pelleMagma), new Object[]{" X ", " Z ", " Z ", 'X', Main.obsidienneFusionne,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hoeMagma), new Object[]{"XX ", " Z ", " Z ", 'X', Main.obsidienneFusionne,'Z', Items.stick});
                            GameRegistry.addShapedRecipe(new ItemStack(hacheMagma), new Object[]{"XX ", "XZ ", " Z ", 'X', Main.obsidienneFusionne,'Z', Items.stick});
                    
                            GameRegistry.addShapedRecipe(new ItemStack(obsidienneFusionne), new Object[]{"XXX", "XZX", "XXX", 'X', Blocks.obsidian,'Z', Items.lava_bucket});
                    
                        }
                    
                        @EventHandler
                        public void postInit(FMLPostInitializationEvent event)
                        {
                    
                        }
                    }
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                      Je ne sais pas pourquoi j’ai pas remarqué le problème plus tôt.
                      Tous tes blocs et item devrait être dans preInit.
                      Et le générateur devrait être dans init. D’ailleurs pourquoi avoir fait deux générateurs ? Un seul suffit.

                      1 Reply Last reply Reply Quote 0
                      • S
                        Sebenf0rce last edited by

                        Je crois que je viens de trouver cela vient en fait de la génération de multiverse-core qui n’a pas l’air de vouloir générer les nouveau minerais.

                        1 Reply Last reply Reply Quote 0
                        • robin4002
                          robin4002 Administrateurs Rédacteurs Moddeurs confirmés last edited by

                          Si tu utilises multiverse tu as donc un id de monde différent, c’est ce que je te demande depuis avant et tu m’avais dit que non …

                          Bref dans ce cas il suffit de retirer le

                              switch(world.provider.dimensionId)
                          

                          Dans la classe de ton générateur.
                          (donc ta fonction generate devrait ressembler à ça :

                          public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider)
                          {
                                  generateSurface(world, random, chunkX * 16, chunkZ * 16);
                          }
                          
                          1 Reply Last reply Reply Quote 0
                          • 1 / 1
                          • First post
                            Last post
                          Design by Woryk
                          Contact / Mentions Légales / Faire un don

                          MINECRAFT FORGE FRANCE © 2018

                          Powered by NodeBB