TerraFirmaCraft-The-Final-Frontier / RoughlyEnoughIDs

Fork of JustEnoughIDs. Minecraft 1.13+ chunk format in 1.12.2, removing the block, item, & biome ID limits.
https://www.curseforge.com/minecraft/mc-mods/reid
MIT License
10 stars 11 forks source link

Question about RTG compat implementation #63

Closed han-thony closed 1 month ago

han-thony commented 1 month ago

How is RTG compatibility implemented? I went through all @jchung01's commits but couldn't figure it out. It seems like implementing "IModSupportsJEID" just causes RTG's chunk generator to bypass the REID injection. Is there compatibility implemented on the RTG side? I couldn't find it in their repo. I'm curious because I'm interested in adding compatibility for similar mods.

jchung01 commented 1 month ago

It seems like implementing "IModSupportsJEID" just causes RTG's chunk generator to bypass the REID injection.

This is correct, previous versions explicitly checked for RTG's ChunkGeneratorRTG, but this does the same thing.

Compatibility is explicitly provided on RTG's side, but only from forks of the mod. The forks that I'm aware of that do this are RTG Unofficial (compat impl) and RTG+ (compat impl).

Generally, any mods that implement IChunkGenerator shouldn't need explicit compatibility as the only thing that needs to be done is set REID's biome array, which is already done in MixinChunkProviderServer after the mod's IChunkGenerator#generateChunk is called. RTG seems to be a special case as it handles its biome gen (specifically river gen) in a unique way that breaks if REID's injection is run. I'm curious to know which mods you have in mind, as REID should be compatible with most modded chunk generators as is.

han-thony commented 1 month ago

That makes sense, thank you for the response.

I was specifically interested in OTG for 1.12.2. Based on the code I've looked at, I think it's very possible OTG would work out of the box but on the OTG discord server the developers consistently say JEID type mods aren't compatible.

I haven't tested them together or investigated closely yet but if you're already familiar with how REID and OTG interact that would be helpful.

jchung01 commented 1 month ago

I believe @Mysticpasta1 has a working build of OTG that's compatible with REID, as mentioned in #5. You would need to build the jar yourself off of PG85/OpenTerrainGenerator#1000 though. Last time I checked there didn't seem to be any issues with it, but I didn't test throughly.