MCTCP / TerrainControl

Minecraft Terrain Generator for SpigotMC and Forge
https://www.spigotmc.org/threads/terraincontrol.37980/
MIT License
230 stars 163 forks source link

[REQUEST] Forge Biome Dictionary support #515

Closed LiskoSlayer63 closed 7 years ago

LiskoSlayer63 commented 7 years ago

I have noticed that TerrainControl doesn't use Forge Biome Dictionary and this causes crashes. At least Mo' Creatures and Roguelike Dungeons causes crash and server restart because of a NullPointerException thrown.

Adding support for this would be superior, I love to use Biome Bundle but at this moment I can't use it because of those crashes.

This issue is strongly related with #500

EDIT: Tried to do this for myself but didn't achieve anything.

LiskoSlayer63 commented 7 years ago

@LiskoSlayer63 @Timethor Actually I managed to"fix" (it isn't a fix) this but with a very vague manner. What I did was that I added a try-catch straight in to Forges source code... It isn't crashing anymore but it also doesn't work like it should. Can you please consider adding the BiomeDictionary support?

LiskoSlayer63 commented 7 years ago

@bloodmc Is there any further information about this?

Guinaro commented 7 years ago

For now I am using a work around with the mod BiomeTweaker to add Dictionary support to biomes: This seems to work, but still need to do more testing! Create a script for biometweaker and especially put in the first line otherwise, you aren't changing anything at all as you terraincontrol only starts adding it's biomes on server start and not sooner. Just start Minecraft client and look at the Biometweaker output files: terraincontrol biomes are missing. Once you start a world with Terraincontrol active and use the command /btoutput you will see now the Terraincontrol biomes are also having a file.

Configscript e.g.

Tweaker.setStage("SERVER_STARTING") //This line needs to be in!!! Later lines need to tweak what you want! For now I strongly suggest you only change Dic entries and nothing else! currentBiome = forBiomes(50) currentBiome.removeDicType("OCEAN") currentBiome.addDicType("BEACH")

Biometweaker can only handle the lower 256 biomes, so all other Terraincontrol biomes will need to extend those! I hope ForgeDic support is implemented soon, so I can leave out BiomeTweaker as the more mods influencing the same stuff, the more likely something will break.

Guinaro

Guinaro commented 7 years ago

After playing with terraincontrol settings some more, my previous workaround: doesn't really do anything much. You do have influence on the biomedic entries, but it doesn't prevent any crashes related to things like 'updating neighbours' crashes, .... There is still a serious incompatibility with mods that like to add their own features to the terrain. For now, my only solution will be: implement the features of the mod I want regarding terrain generation myself: plants, BO3s, ... . Most mods offer control over those features, but not all. Biomes O' Plenty is such a mod. In the 1.10.2 version you cannot disable anything via config files: so the moment you enable this mod, you don't need to explore much at all, if you even succeed in generating a new world before crashing. Terraincontrol is a superb mod: but unfortunately it is seriously handicapped in playing nice with other mods. But let's keep the faith that those will get resolved.

rutgerkok commented 7 years ago

The Forge version is more or less taken over by @PG85 - see his fork called OpenTerrainGen. I don't think this will be fixed by me.