Custom biome support needed for some mods
Sunconure11 opened this issue ยท 12 comments
Not sure what, but I compiled a list of mods I am using + various other biome-adding mods. Note that I am not using all of these mods, I am just listing them.
I've got a list of mods with their own biomes i'd like you to go through and see if any fixes are needed. One also lets you locate biomes
- nature's compass
- twilight forest - PacketBiomeChange
- erebus
- the betweenlands
- aether ii
- aether legacy
- thaumcraft - PacketBiomeChange
- biomes o' plenty
- traverse
- terra
- sugi forest
- abyssalcraft - CleansingRitualMessage
- defiled lands
- misty world
- floricraft
- creeping nether - EntityProtal.corruptBiome
- ice and fire
- biosphere expansion
- real world
- the forgotten biomes
- spooky biomes
- netherex
- justenoughresources
- streams
- aroma's dimensions
- dimensionalcontrol
- ~~~void island - IslandRegistry~~~
- bedrockbegone
- Weather, Storms & Tornadoes
- ClimateControl - DimensionManager.hasOnlySea
- SkyLandsForge
- openterraingenerator
- biomebundle
- rftools dimensions
- welcome to the jungle
- dynamic trees
- biometweakercore
- growthcraft
- buildcraft
- galacticraft
- dimensional doors
- mystcraft - SymbolFloatingIsland.BiomeReplacer
- tough as nails
- serene seasons
- dynamic surroundings
- fossils and archaeology
- tropicraft
- streams
- dumpster diving
- ~~~open cubic chunks~~~
- advanced rocketry
https://minecraft.curseforge.com/mc-mods/world-gen/world-biomes?filter-game-version=2020709689:6756&filter-sort=4
https://minecraft.curseforge.com/mc-mods/world-gen/world-dimensions?filter-game-version=2020709689%3A6756&filter-sort=4
https://minecraft.curseforge.com/mc-mods/world-gen?filter-game-version=2020709689%3A6756&filter-sort=4
While testing against Terra, I found this issue with BoP, when teleporting to a green beach.
Twilight Forest, Thaumcraft, Abyssialcraft will all need support for biome update packets. What this means is that their worldgen will work correctly, but biome changing tools/spells/features will not resync the client until leaving and re-entering the world. So grass/leaves/sky colors might not update, but other than that, everything should work properly.
Creeping Nether will work, but the biome will not change at all (neither server nor client side).
I will be adding support for all of these mods in the next few days.
I'm not sure why the crash with BoP happened, but I saw it while testing in dev with just BoP a while ago, and haven't been able to reproduce it. I'll ask in the BoP discord to see if they might know what's wrong.
Lost Cities isn't supported, see #4
Encountered the same BoP crash without JEID.
When I managed to locate a wasteland, the biome completely changed into a tundra. WTF?
again why hard coded support just make a dynamic biome system that has extended ids this isn't acceptable to have hard coded support meaning any new or mods not in the hard coded list will glitch out the mod
@jredfox Because it isn't possible to make a system that supports all mods... Each mod assumes that biome IDs are bytes in a different way.
does not biome have an integer id via object and resource location? if so then it's up to the mods to fix it with your mod.
tell them to use forge not hard code stuff
public static int getIdForBiome(Biome biome) { return REGISTRY.getIDForObject(biome); }
is it the chunk that's causing the issue if so patch the chunk class to return int or something?
No, biomes don't have integer IDs or resource locations. Adding support for other mods is easier and faster than getting them to support int biome IDs (and would also require them to add JEID as a dependency).
well there needs to be some sort of established interface to communicate between the biome id and biome.
so is every biome incompatible? if so I would say biomes cannot be extended without using your api at all and ids should start above the max value. Also I would make a forge pull request for extending something like this that breaks other mods
So basically
Hard coded list of supported mods:[] > your mappings
Everything that uses your api > your mappings
Everything else do nothing let ids be a byte
Now I could be totally misunderstanding how mods are getting the biome id but, I could be wrong. Elix_X has done this in the past and actually got it working with mods as long as they used his api if the ids were over 255
What does a biome do to the server side anyways besides chunks? Could you just say this biome is this in this array and then on client side override what the client thinks the biome should be and call it quits? If there is nothing besides the chunk which you patch then I would go with this approach.