Bonjour,
J’ai un problème et une question :
problème :
Je n’arrives pas à générer mon block même dans l’overworld
question :
Comment on fait comment pour choisir dans quel block notre minerai spawn pour que ça marche dans les différantes dimensions ?
public class OreGeneration implements IWorldGenerator
{
@Override
public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator generator, IChunkProvider provider)
{
switch (world.provider.getDimension())
{
case 1:
generateEnd(random, chunkX, chunkZ, world, generator, provider);
case 0:
generateOverworld(random, chunkX, chunkZ, world, generator, provider);
case -1:
generateNether(random, chunkX, chunkZ, world, generator, provider);
}
}
private void generateEnd(Random random, int chunkX, int chunkZ, World world, IChunkGenerator generator, IChunkProvider provider)
{
generateOre(ModBlocks.RUBY_ORE.getDefaultState(), world, random, chunkX * 16, chunkZ * 16, 1, 256, 1, 1, 200);
}
private void generateOverworld(Random random, int chunkX, int chunkZ, World world, IChunkGenerator generator, IChunkProvider provider)
{
}
private void generateNether(Random random, int chunkX, int chunkZ, World world, IChunkGenerator generator, IChunkProvider provider)
{
}
private void generateOre(IBlockState ore, World world, Random random, int x, int z, int minY, int maxY, int minSize, int maxSize, int chances)
{
int deltaY = maxY - minY;
for (int i = 0; i < chances; i++)
{
BlockPos pos = new BlockPos(x + random.nextInt(16), minY + random.nextInt(deltaY), z + random.nextInt(16));
WorldGenMinable generator = new WorldGenMinable(ore, random.nextInt(maxSize) + minSize);
generator.generate(world, random, pos);
}
}
}
Classe principal :
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event)
{
proxy.preInit();
GameRegistry.registerWorldGenerator(new OreGeneration(), 3);
}