Posted October 18, 201510 yr Hi, I'm looking to create a mod who replaces some blocks from the terrain gen (i.e ores, stone, andesite..) with variants (which vary in texture, hardness, and loot but are still basically the same) depending on their depth, like layers. So I create new Block states, then I thought of two possibilities : - Edit generation : In an event like InitBiomeGens, I change the original Y values and add the new blocks (which are the same but different block states but you know what I mean) - Edit block placement : In an event fired right before the block is placed the world (which one ?), I change its state depending on its Y position. I would prefer the second option, seems more elegant given the fact that stone and ores are generated at two different times. I don't know if an event could actually allows to edit BiomeGenBase without producing bad things anyway. I also keep in mind the idea is also to not make holes if one uninstall the mod, but I think block states will handle that by reverting blocks to the default one (i.e vanilla ore, stone, andesite..). Do you have an idea ?
October 18, 201510 yr @SubscribeEvent public void onPopulateChunk(PopulateChunkEvent.Post event) { Chunk chunk = event.world.getChunkFromChunkCoords(event.chunkX, event.chunkZ); for (ExtendedBlockStorage storage : chunk.getBlockStorageArray()) { if (storage != null) { // iterate through 16x16x16 box arrays which contain blocks. // storage.getBlockByExtId(x, y, z) // storage.set(...) } } } 1.7.10 is no longer supported by forge, you are on your own.
October 18, 201510 yr Author I will try this as soon as possible. It seems I wasn't looking at the right classes at all. I'm such a noob. Thank you, Ernio.
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.