Résolu Génération de Minerais dans le Nether
-
Bonjour, je poste ce sujet car j’ai déjà demandé de l’aide dans le tuto d’Agabou. Et je pense donc que ce serait mieux de trouver une solution à mon problème ici.
Donc comme d’habitude, vous allez m’aider, vous aller perdre vôtre temps car je vous embête beaucoup avec mes topics (je pense ^^).
Commençons,
J’aimerais générer un bloc dans le Nether, j’ai essayé mais le Nether est toujours pareil, même en créant une nouvelle map, mon bloc n’est pas générer donc j’aimerais savoir quelle est le problème de mes classes.WorldGeneration
package fr.redcobble.mod.common; 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 WorldGeneration implements IWorldGenerator { public void generate(Random random, int chunkX, int chunkZ, World world, IChunkProvider chunkGenerator, IChunkProvider chunkProvider) { switch (world.provider.dimensionId) { case -1: generateNether(world, random, chunkX * 16, chunkZ * 16); case 0: generateSurface(world, random, chunkX * 16, chunkZ * 16); case 1: generateEnd(world, random, chunkX * 16, chunkZ * 16); } } private void generateEnd(World world, Random random, int x, int z) { } private void generateSurface(World world, Random random, int x, int z) { } private void generateNether(World world, Random random, int x, int z) { this.addOreSpawn(ModRedcobble.blockRedcobbleOre, world, random, x, z, 16, 16, 2 + random.nextInt(4), 15, 16, 64); } public void addOreSpawn(Block block, 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."; int diffBtwnMinMaxY = maxY - minY; for (int x = 0; x < chancesToSpawn; x++) { int posX = blockXPos + random.nextInt(maxX); int posY = minY + random.nextInt(diffBtwnMinMaxY); int posZ = blockZPos + random.nextInt(maxZ); (new WorldGenMinable(ModRedcobble.blockRedcobble, maxVeinSize)).generate(world, random, posX, posY, posZ); } } }
Classe principale (ModRedcobble)
WorldGeneration worldgeneration = new WorldGeneration(); // Dans les variables GameRegistry.registerWorldGenerator(worldgeneration, 0); //Dans le PreInit // J'ai creer les blocks et ils fonctionnent donc je crois pas que ca posera probleme a mon mod
J’espère trouver la solution
Cordialement, Ramech. -
Tu as fail dans la fonction addOreSpawn.
-
Précisément où ?
Cordialement. -
Attends, je t’envoie le code juste
-
Perso j’aime pas trop cette méthode, suis le tutoriel 1.6, enlève juste les .blockID et dans la classe principale ajoute le ,0 et c’est bon.
-
Merci
Tout marche à merveille