Captain Hillman Posted March 2, 2014 Posted March 2, 2014 Hey all, I've looked at the tutorials/posts about generating veins of custom blocks/ores in the world but I can't seem to get mine to appear at all. My code's below... what have I missed? My ore generation class... public class MineralGenerator implements IWorldGenerator { @Override public void generate(Random rand, int chunkX, int chunkZ, World world, IChunkProvider chunkGen, IChunkProvider chunkProv) { if(world.provider.dimensionId == 0) { FMLLog.log(Level.SEVERE, "GENERATING CUSTOM ORES!"); generateSurface(rand, chunkX, chunkZ, world, BlockStore.citrineUnref.blockID, 15, 6); generateSurface(rand, chunkX, chunkZ, world, BlockStore.peridotUnref.blockID, 15, 6); generateSurface(rand, chunkX, chunkZ, world, BlockStore.jasperUnref.blockID, 15, 6); generateSurface(rand, chunkX, chunkZ, world, BlockStore.aquamarineUnref.blockID, 15, 6); generateSurface(rand, chunkX, chunkZ, world, BlockStore.moonstoneUnref.blockID, 15, 6); } } private void generateSurface(Random rand, int chunkX, int chunkZ, World world, int blockID, int noVeins, int veinSize) { for(int i = 0; i < noVeins; i++) { int randPosX = chunkX + rand.nextInt(16); int randPosY = rand.nextInt(64); int randPosZ = chunkZ + rand.nextInt(16); new WorldGenMinable(blockID, veinSize).generate(world, rand, randPosX, randPosY, randPosZ); } } } Within my mod's main class... @EventHandler public void load(FMLInitializationEvent event) { commonProxy.registerRenderers(); TabStore.registerTabs(); BlockStore.registerBlocks(); ItemStore.registerItems(); BlockStore.setupRecipes(); ItemStore.setupRecipes(); GameRegistry.registerWorldGenerator(new MineralGenerator()); } Quote
TLHPoE Posted March 3, 2014 Posted March 3, 2014 You need to multiply the chunk coordinates by 16 before generating stuff. generateSurface(rand, chunkX * 16, chunkZ * 16, world, BlockStore.citrineUnref.blockID, 15, 6); generateSurface(rand, chunkX * 16, chunkZ * 16, world, BlockStore.peridotUnref.blockID, 15, 6); generateSurface(rand, chunkX * 16, chunkZ * 16, world, BlockStore.jasperUnref.blockID, 15, 6); generateSurface(rand, chunkX * 16, chunkZ * 16, world, BlockStore.aquamarineUnref.blockID, 15, 6); generateSurface(rand, chunkX * 16, chunkZ * 16, world, BlockStore.moonstoneUnref.blockID, 15, 6); Quote Kain
Captain Hillman Posted March 3, 2014 Author Posted March 3, 2014 Awesome, that totally worked. Thanks! Quote
SanAndreaP Posted March 4, 2014 Posted March 4, 2014 FMLLog.log(Level.SEVERE, "GENERATING CUSTOM ORES!"); I encourage you not to use the SEVERE level, as it is only for critical errors. Use the INFO level (or use FMLLog.info()) Quote Don't ask for support per PM! They'll get ignored! | If a post helped you, click the "Thank You" button at the top right corner of said post! | mah twitter Quote This thread makes me sad because people just post copy-paste-ready code when it's obvious that the OP has little to no programming experience. This is not how learning works.
Recommended Posts
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.