Open Terrain Generator (OTG)

Open Terrain Generator (OTG)

10M Downloads

Feature: UnderwaterPlant()

xorinzor opened this issue ยท 2 comments

commented

I tried adding a custom bit to the Biome config, but when I generate the world, nothing is added.

This is what I added:

Plant(biomesoplenty:coral:4,6,70.0,40,60,DIRT,CLAY,GRAVEL,SAND)
Plant(biomesoplenty:seaweed,6,70.0,40,60,DIRT,CLAY,GRAVEL,SAND)

I also gave this a try:

UnderWaterOre(biomesoplenty:coral:4,8,6,70.0,DIRT,CLAY,GRAVEL,SAND)
UnderWaterOre(biomesoplenty:seaweed,8,6,70.0,DIRT,CLAY,GRAVEL,SAND)

but that just resulted in a crash loop:

Description: Exception while updating neighbours

java.lang.StackOverflowError: Exception while updating neighbours
	at java.security.AccessController.doPrivileged(Native Method)
	at java.lang.ClassLoader.checkPackageAccess(ClassLoader.java:500)
	at net.minecraft.crash.CrashReportCategory$Entry.<init>(CrashReportCategory.java:278)
	at net.minecraft.crash.CrashReportCategory.func_71507_a(CrashReportCategory.java:106)
	at net.minecraft.crash.CrashReportCategory.func_71499_a(CrashReportCategory.java:111)
	at net.minecraft.crash.CrashReportCategory.func_189529_a(CrashReportCategory.java:100)
	at net.minecraftforge.fml.common.FMLCommonHandler.enhanceCrashReport(FMLCommonHandler.java:381)
	at net.minecraft.crash.CrashReport.func_71504_g(CrashReport.java:119)
	at net.minecraft.crash.CrashReport.<init>(CrashReport.java:40)
	at net.minecraft.crash.CrashReport.func_85055_a(CrashReport.java:360)
	at net.minecraft.world.World.func_190524_a(World.java:554)
	at net.minecraft.world.World.func_175685_c(World.java:492)
	at net.minecraft.world.World.func_175722_b(World.java:439)
	at net.minecraft.world.World.markAndNotifyBlock(World.java:380)
	at net.minecraft.world.World.func_180501_a(World.java:360)
	at biomesoplenty.common.block.BlockBOPDecoration.checkAndDropBlock(BlockBOPDecoration.java:119)
	at biomesoplenty.common.block.BlockBOPDecoration.func_189540_a(BlockBOPDecoration.java:92)
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_189546_a(BlockStateContainer.java:481)
	at net.minecraft.world.World.func_190524_a(World.java:550)
	at net.minecraft.world.World.func_175685_c(World.java:492)
	at net.minecraft.world.World.func_175722_b(World.java:439)
	at net.minecraft.world.World.markAndNotifyBlock(World.java:380)
	at net.minecraft.world.World.func_180501_a(World.java:360)
        at biomesoplenty.common.block.BlockBOPDecoration.checkAndDropBlock(BlockBOPDecoration.java:119)
	at biomesoplenty.common.block.BlockBOPDecoration.func_189540_a(BlockBOPDecoration.java:92)
	at net.minecraft.block.state.BlockStateContainer$StateImplementation.func_189546_a(BlockStateContainer.java:481)
	at net.minecraft.world.World.func_190524_a(World.java:550)
	at net.minecraft.world.World.func_175685_c(World.java:492)
	at net.minecraft.world.World.func_175722_b(World.java:439)
	at net.minecraft.world.World.markAndNotifyBlock(World.java:380)
	at net.minecraft.world.World.func_180501_a(World.java:360)

The problem is probably that Plant() requires a block of air, but if I add WATER as a BlockSource to allow it to place in water, it will result in the generator trying to add it in every single block of water.

Can you add some kind of PlantUnderwater() function? that will check if the plant is on top of a BlockSource and in a block of water, instead of air?

commented

Hey Xorinzor, that's a great idea for a future release, I'll pick it up as soon as i can. At the moment I'm working on some big improvements though so it won't be in the next release.

commented

Will be in v9, to be released on curseforge asap. Included in dev version v9_r11, available on discord asap.