Résolu (Bug) Génération minerais.
-
Bonjour, j’ai généré les minerais que j’ai codé sur une map et malgré des recherches assez poussées (X-ray) je n’ai pas trouvé mes minerais, pourtant, il n’y a aucune erreurs apparentes dans les classes des minerais.
Je précise que j’ai suivis le tutoriel 1.6, qui semblait encore a jour pour la 1.7.voici la partie de ma classe principale où il y a les minerais :
//G�n�ration GameRegistry.registerWorldGenerator(new GenBA(), 0); GameRegistry.registerWorldGenerator(new GenRU(), 0); GameRegistry.registerWorldGenerator(new GenSA(), 0); //Four GameRegistry.addSmelting(BMA, new ItemStack(LA, 1), 1); GameRegistry.addSmelting(BMR, new ItemStack(RU, 1), 2); GameRegistry.addSmelting(BMS, new ItemStack(SA, 1), 3); GameRegistry.addSmelting(CS, new ItemStack(SA, 1), 0); GameRegistry.addSmelting(PS, new ItemStack(SA, 2), 0); GameRegistry.addSmelting(JS, new ItemStack(SA, 2), 0); GameRegistry.addSmelting(BS, new ItemStack(SA, 1), 0); }
Voici la classe de GenBA (argent) :
package fr.emergia.EmergiaMod.common; import java.util.Random; 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 GenBA implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case 0: this.generateSurface(world, chunkX * 16, chunkZ * 16, random); } } private void generateSurface(World world, int x, int z, Random rand) { for(int i = 0; i < 10; i++) { (new WorldGenMinable(EmergiaMenu.BMA, 7, 0, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } } }
GenRU (rubis) :
package fr.emergia.EmergiaMod.common; import java.util.Random; 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 GenRU implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case 0: this.generateSurface(world, chunkX * 16, chunkZ * 16, random); } } private void generateSurface(World world, int x, int z, Random rand) { for(int i = 0; i < 1; i++) { (new WorldGenMinable(EmergiaMenu.BMR, 0, 5, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } } }
GenSA (saphir) :
package fr.emergia.EmergiaMod.common; import java.util.Random; 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 GenSA implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case 0: this.generateSurface(world, chunkX * 16, chunkZ * 16, random); } } private void generateSurface(World world, int x, int z, Random rand) { for(int i = 0; i < 1; i++) { (new WorldGenMinable(EmergiaMenu.BMS, 0, 3, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } } }
Ce sont à peut près les même.
Merci pour votre aide, cordialement, azatom. -
problème de metadata ici (enfin je crois)
(new WorldGenMinable (EmergiaMenu.BMA, 7,0, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt (16));
De plus, 1 dans la boucle for est extrèmement petit, essaye de mettre une grosse valeur pour voir
-
Ok, l’argent ce génère, par contre, je ne trouve pas de saphir et de rubis … je vais essayé d’abaisser la rareté pour voir si c’est a cause de celle ci.
-
GameRegistry.registerWorldGenerator(new GenBA(), 0);
GameRegistry.registerWorldGenerator(new GenRU(), 0);
GameRegistry.registerWorldGenerator(new GenSA(), 0);
What is this shit ?
Tu peux mettre tout les générateurs dans la même classe … :package fr.emergia.EmergiaMod.common; import java.util.Random; 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 MyGenerator implements IWorldGenerator { @Override public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch(world.provider.dimensionId) { case 0: this.generateSurface(world, chunkX * 16, chunkZ * 16, random); } } private void generateSurface(World world, int x, int z, Random rand) { for(int i = 0; i < 10; i++) { (new WorldGenMinable(EmergiaMenu.BMA, 7, 0, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } for(int i = 0; i < 1; i++) { (new WorldGenMinable(EmergiaMenu.BMR, 0, 5, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } for(int i = 0; i < 1; i++) { (new WorldGenMinable(EmergiaMenu.BMS, 0, 3, Blocks.stone)).generate(world, rand, x + rand.nextInt(16), rand.nextInt(48), z + rand.nextInt(16)); } } }
+
GameRegistry.registerWorldGenerator(new MyGenerator(), 0);
-
Petit tutoriel en 1.7 J’ai vu la vidéo c’est un peu le même style que toi sauf qu’il manque quelques trucs Je te laisse avec ce lien la dernière fois que j’ai fais des générations de minerais c’était en 1.5 donc désolé ^^…
-
Ha, c’est très pratique O_o merci. (se sent con…)
J’ai réussis a trouver du rubis, mais pour le moment… toujours pas de saphir. je continue a chercher, si j’en trouve j’edit et je mes en résolut. Merci.
Edit : ça marche en mettant un filon plus grand, je mes en résolut.