Started by
TheCatalystGaming
on
Topic category: Advanced modding
Basically what the title says. I'm creating an ocean-based mod, and I need to be able to replace the air in a nether-like dimension with water source blocks.
Topic category: Advanced modding
Basically what the title says. I'm creating an ocean-based mod, and I need to be able to replace the air in a nether-like dimension with water source blocks.
I don't think you can do this without some major changes to the world gen code.
Couldn't it basically work if you do this in the ChunkProvider?
public static class ChunkProviderModded implements IChunkGenerator {
protected static final IBlockState STONE = <Block>();
protected static final IBlockState LAVA = <Block>();
protected static final IBlockState GRAVEL = <Block>();
protected static final IBlockState SOUL_SAND = <Block>();
private final WorldGenerator quartzGen = new WorldGenMinable(<Block>(), 14, BlockMatcher.forBlock(STONE
.getBlock()));
private final WorldGenerator magmaGen = new WorldGenMinable(STONE, 33, BlockMatcher.forBlock(STONE.getBlock()));
protected static final IBlockState BEDROCK = Blocks.BEDROCK.getDefaultState();
protected static final IBlockState AIR = Blocks.WATER.getDefaultState();
This would need to be tested, but could work. I will check and possibly add a box to select this if this will work.
I can think of a way to do this with procedures, but it would lag a LOT. Create a block (texture doesn't matter) that spawns on the player when they enter the dimension (using procedures). Add a procedure to this block's tick update so that it places itself on any air blocks touching it, and then turns into water. This would (unless you have a really good computer) cause extreme lag when generating chunks, but it is a currently possible method.
Yes, that would lag a lot.
I have tried replacing AIR block with WATER and it did not work properly, so there is still research that needs to be done to find a good way to do this.