Posted July 5, 201312 yr did forge change the ore spawn code ? because i had some ores wich spawned perfectly i my own dimension buth now since 1.6 they don't spawn any more, this is my code : orespanwers package invizzble.mods.nc.world.gen; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenMinable; public class OreSpawners { public void addOreSpawnNether(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chancesToSpawn, int minY, int maxY) { @SuppressWarnings("unused") int maxPossY = minY + (maxY - 1); assert maxY > minY: "The maximum Y must be greater than the Minimum Y"; assert maxX > 0 && maxX <= 16: "addOreSpawn: The Maximum X must be greater than 0 and less than 16"; assert minY > 0: "addOreSpawn: The Minimum Y must be greater than 0"; assert maxY < 256 && maxY > 0: "addOreSpawn: The Maximum Y must be less than 256 but greater than 0"; assert maxZ > 0 && maxZ <= 16: "addOreSpawn: The Maximum Z must be greater than 0 and less than 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 ModWorldGenNetherOres(block.blockID, maxVeinSize)).generate(world, random, posX, posY, posZ); } } public void addOreSpawnSurface(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chancesToSpawn, int minY, int maxY) { @SuppressWarnings("unused") int maxPossY = minY + (maxY - 1); assert maxY > minY: "The maximum Y must be greater than the Minimum Y"; assert maxX > 0 && maxX <= 16: "addOreSpawn: The Maximum X must be greater than 0 and less than 16"; assert minY > 0: "addOreSpawn: The Minimum Y must be greater than 0"; assert maxY < 256 && maxY > 0: "addOreSpawn: The Maximum Y must be less than 256 but greater than 0"; assert maxZ > 0 && maxZ <= 16: "addOreSpawn: The Maximum Z must be greater than 0 and less than 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(block.blockID, maxVeinSize)).generate(world, random, posX, posY, posZ); } } public void addOreSpawnNightmare(Block block, World world, Random random, int blockXPos, int blockZPos, int maxX, int maxZ, int maxVeinSize, int chancesToSpawn, int minY, int maxY) { @SuppressWarnings("unused") int maxPossY = minY + (maxY - 1); assert maxY > minY: "The maximum Y must be greater than the Minimum Y"; assert maxX > 0 && maxX <= 16: "addOreSpawn: The Maximum X must be greater than 0 and less than 16"; assert minY > 0: "addOreSpawn: The Minimum Y must be greater than 0"; assert maxY < 256 && maxY > 0: "addOreSpawn: The Maximum Y must be less than 256 but greater than 0"; assert maxZ > 0 && maxZ <= 16: "addOreSpawn: The Maximum Z must be greater than 0 and less than 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 ModWorldGenNetherOres(block.blockID, maxVeinSize)).generate(world, random, posX, posY, posZ); } } } and this is my other code page oreworldgen package invizzble.mods.nc.world.gen; import invizzble.mods.nc.blocks.ModBlocks; import invizzble.mods.nc.lib.DimensionReferences; import java.util.Random; import net.minecraft.world.World; import net.minecraft.world.chunk.IChunkProvider; import cpw.mods.fml.common.IWorldGenerator; public class ModWorldGenOres implements IWorldGenerator{ OreSpawners Ore = new OreSpawners(); public static final int NightmareDimensionID= DimensionReferences.NIGHTMAREDIMENSION_ID; 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); case NightmareDimensionID: generateNightmare(world, random, chunkX*16, chunkZ*16); } } private void generateNightmare(World world, Random random, int blockXPos, int blockZPos) { Ore.addOreSpawnNightmare(ModBlocks.NightMareDiamondORE, world, random, blockXPos, blockZPos, 16, 16, 5, 1000, 6, 64); Ore.addOreSpawnNightmare(ModBlocks.CreepyCoalOre, world, random, blockXPos, blockZPos, 16, 16, 10, 15, 6, 64); } private void generateSurface(World world, Random random, int blockXPos, int blockZPos) { Ore.addOreSpawnSurface(ModBlocks.MoonMeteorite, world, random, blockXPos, blockZPos, 16, 16, 15, 4, 30, 64); Ore.addOreSpawnSurface(ModBlocks.DarkBlock, world, random, blockXPos, blockZPos, 16, 16, 10, 4, 30, 64); } private void GenerateNether(World world, Random random, int blockXPos, int blockZPos) { } private void GenerateEnd(World world, Random random, int x, int z) { } } so yeah, let me now if it's changed or removed or not implemented yet (because there isn't yet a stable build)... http://i.imgur.com/sKDS7bj.png[/img] http://www.minecraftforum.net/topic/1877292-15x-forge-smp-nightmarecraft-alpha-10-it-started-with-a-dream-new/
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.