Fix3dll / SkyblockAddons

Unofficial updated fork of SBA
https://modrinth.com/mod/skyblockaddons-unofficial
Other
65 stars 14 forks source link

[Bug] Breaks WaterSolver mod #56

Closed TheDGOfficial closed 2 months ago

TheDGOfficial commented 2 months ago

Bug Description

After updating to this version from original SBA, the WaterSolver mod doesn't seem to work.

This looks like similar issue to https://github.com/Desco1/WaterSolver/issues/5 probably related to the mod api.

SBA Version

Self-built version from master branch removing RenderGlobal transformer to bypass a crash on game launch (seperate issue)

Other Installed Mods

No response

Operating System

Ubuntu 24.0.1 LTS

Crash Report

No response

Fix3dll commented 2 months ago

I don't know what makes you think this is related to ModAPI, but that's probably not the issue. Please contact the mod author or open a new issue in WaterSolver repository.

TheDGOfficial commented 2 months ago

I don't know what makes you think this is related to ModAPI, but that's probably not the issue. Please contact the mod author or open a new issue in WaterSolver repository.

Because there's no errors or warnings related to it in the logs meaning the mod works but doesn't detect that your in dungeons, and since it worked perfectly fine before switching to this version of SBA, it has to be something added in this SBA fork causing it, and the only change from this version over original SBA related to detecting island locations is, as far as i can see, ModAPI.

I highly believe this an issue with multiple ModAPIs. I have 3 mods that use it right now, Skytils uses 1.0.1.1, WaterSolver also uses 1.0.1.1. They both use the tweaker so no shading or relocating. Only SBA uses 1.0.1 and shading + relocating. Everything worked fine before adding forked version of SBA.

The recommended way to use ModAPI isn't shading and relocating it anymore, for reference both Skytils and WaterSolver just use the tweaker that installs the latest version of ModAPI automatically (much like how Essential and OneConfig install and update themselves even though theyre not in your mods folder) - and both Skytils and WaterSolver reference it directly from package net.hypixel.modapi. Since SBA bundles another ModAPI in a different (relocated) package I believe that's where the issue lies.

TheDGOfficial commented 2 months ago

After experimenting a bit in my local copy, changing bundle("net.hypixel:mod-api:1.0.1") in build.gradle.kts to implementation("net.hypixel:mod-api-forge:1.0.1.1"), removing relocate("net.hypixel.modapi", "shadow.modapi") and commenting out the line modApi.setPacketSender(NetworkListener::sendHypixelPacket); in NetworkListener seemed to fix it.

Commenting out setPacketSender was necessaary as it was crashing since packet sender was already set otherwise.

However those are just minimal changes to get it to work, likely need to bundle and use the tweaker so that the mod wouldn't crash if ModAPI wasn't already installed.

b1n4ryj4n commented 2 months ago

ah thats the reason why the watersolver never worked for me