Abyssalcraft Ritual of Purging doesn't work
GearsOfClockwork opened this issue ยท 4 comments
Bug Report
Using a purging ritual to remove the dreadlands biome at first appears to change it to purged land, but it reverts back to dreadlands when the world is reloaded.
Ritual seems to work just fine with just Abyssalcraft installed. Updating Abyssalcraft to 1.9.5.4 didn't work.
Expected Behaviour
The purged lands should stay purged.
Steps to Reproduce (for bugs)
- Infect an entity with the dread plague so that the biome changes to dreadlands.
- Perform the purging ritual.
- Reload the world (or go to a different dimension and come back, didn't check if that worked).
Client Information
- Modpack Version: 3.1.1
- Java Version: 1.8.0_201
- Launcher Used: MultiMC
- Memory Allocated: 8G
- Server/LAN/Single Player: Single Player
- Optifine Installed: No
- Shaders Enabled: No
World Information
- Modpack Version world created in: 3.0.8?
- Additional Content Installed: None
Hi and thank you for bringing this to our attention. This is a conflict between JEIDs and Abyssalcraft.
Whenever Abyssalcraft attempts to change a biome, it uses Chunk#getBiomeArray
, and modifies the returned byte array. With JEID installed, a chunk stores biomes as integers instead of bytes, allowing for a far greater number of biomes. This doesn't replace the original array, instead adding an alternative, and thus avoiding crashes where things are not fully updated. This alternative is accessed using the function Chunk#getIntBiomeArray
. Mods are not expected to be aware of this change, so JEID alters any mods that make use of related functions. This is implemented on a case by case basis. Modifying the original biome array does not have any impact with JEID installed.
In the case of Abyssalcraft, this implementation appears to have only been half made. JEID patches only CleansingRitualMessage#process
, which is part of a packet used by Abyssalcraft to inform the client it has changed a biome. The code where the biome is actually changed on the server is left untouched. This is why you see a change in biome, but on the server the biome has never been changed. When you next load that chunk, the server has forgotten it ever told you about the change.
This affects all instances where Abyssalcraft modifies biomes, including creating dreadlands biome in the overworld in the first place.
I think this will have to be fixed on JEID's side.
That's odd. My portal room is definitely dread plagued. I don't remember what version It was infected at, but I've reloaded the game countless times.
JEID was only added in 3.1.0, so if it was changed before that it will stay changed.