Alpha-s-Stuff / TinkersConstruct

Tinker a little, build a little, tinker a little more...
MIT License
84 stars 29 forks source link

Incompat with Frostiful / Thermoo #98

Closed sleepy-evelyn closed 8 months ago

sleepy-evelyn commented 8 months ago

Minecraft Version

1.20.1

Fabric Version

0.15.1

Fabric API Version

0.91.0

Hephaestus Version

3.6.3.241

Describe your issue

A null pointer issue for getTouchingFluid(). Only happens with Hephaestus + Frostiful installed and only after loading a world and exploring for a bit.

You can reproduce the error by visiting a Frostiful Ice Castle structure using /locate structure

Crash Report

https://gist.github.com/sleepy-evelyn/2a83f6e7a35243033cea84d1f44cb6c5

Other mods

No other mods installed. Tested with just the 2 mods together.

Frostiful includes a few dependencies:

Tried reproducing with just Tinkers?

Yes

Performance Enchancers

None of the above

Searched for known issues?

Searched open issues

AlphaMode commented 8 months ago

Duplicate of #89

sleepy-evelyn commented 8 months ago

Just to note this is a similar issue but it's not an issue with Puzzles Lib.

AlphaMode commented 8 months ago

How so? You the issue is the same

sleepy-evelyn commented 8 months ago

How so? You the issue is the same

It's not. Puzzles Lib isn't included in the instance or as a dependency. There is no mention of Puzzles Lib in the crash report at all.

AlphaMode commented 8 months ago

Yes but the underline issue is the same. I should probably rename the issue to make that more clear

sleepy-evelyn commented 8 months ago

Yes but the underline issue is the same. I should probably rename the issue to make that more clear

Yes true. Hence the Just to note this is a similar issue. I just wanted to make sure yah knew it wasn't Puzzle Lib specifically causing the issue :P

AlphaMode commented 8 months ago

Fair enough

Eudaemon69 commented 6 months ago

I've run into this exact issue, the getTouchingFluid() null pointer problem with Frostiful and was wondering if the issue was marked closed because there's an inherent incompatibility or if there is a fix for a future release? I've been digging through the code trying to figure out exactly what the issue might be in both Thermoo and Hephaestus and the most obvious cause is that it's possible to have null touchingFluid though the weird part is that some people on the server never get the error and some of us keep getting it and I'm just curious what the underlying cause is. Thanks

AlphaMode commented 6 months ago

It's closed because its a duplicate. The issue is with Star a library that I depend on

Eudaemon69 commented 6 months ago

is it adding in a null check on the checkIfCustomFluidIsBreathable method or is there a bigger issue that making that check would just cover up?

And if I should move this over to the Star issue I can, mostly just trying to see if I might be able to fix it before recommending my sever just rollback the Hephaestus install.

AlphaMode commented 6 months ago

Star just needs a null check that's pretty much it. The only reason it hasn't been fixed was because I was working on a refactor for how star handled fluid physics

Eudaemon69 commented 6 months ago

So, in theory assuming I can get Gradle to work, I would drop that check in and get it compiled then drop the jar into the Hephaestus...uh....lib folder in there? Sorry about this, I was just asked to look into this for my wife and her friends on their server as they really want to run tinkers but they love Frostiful as well. I mostly do enterpise servlets and applications and haven't done mod work before so I didn't want to promise them anything if the build process was a lot more complicated that I hoped.

AlphaMode commented 6 months ago

Something like that, I'll see if I can push a quick fix to star. After that you'll just have to build the jar

Eudaemon69 commented 6 months ago

That would be much appreciated. If Gradle works like Ant and I get the jar made would I also need to rebuild the whole Hephaestus mod as well? Not sure if you just unjar the Star library when packaging up Hephaestus or if there is a libs directory in the existing mod somewhere to drop it into. But if you could get a chance to make that fix on an expermental branch if you don't want it in main yet and give me a little bit of direction in deploying it, I'd greatly appreciate it.

AlphaMode commented 6 months ago

You likely shouldn't need to modify the hephaestus jar. All you would need to do is put the new star jar in your mods folder and floader should load it instead of the one hephaestus bundles.

AlphaMode commented 6 months ago

Here's a pre built jar, if it saves you the trouble https://drive.google.com/file/d/1NpHpdjlFVj7S_gDyTGtta3UkxOhut1j6/view?usp=sharing

Eudaemon69 commented 6 months ago

Oh, wow, does that have the null check in it?

AlphaMode commented 6 months ago

Yes I added it in this commit, https://github.com/AlphaMode/Star/commit/267014085b982c51a70467d612a5567f06e2b1f1 Let me know if the issue still happens

Eudaemon69 commented 6 months ago

Do I need to add this to the existing Hephaestus-1.20.1-3.6.3.240.jar/META-INF/libs directory or will just putting into the servers mod directory load the classes from the Star.x.jar first (as I didn't see a separate Star.x.jar in the server mod directory)

AlphaMode commented 6 months ago

You should only need to put it in your mods folder, you shouldn't need to edit the meta inf jars

Eudaemon69 commented 6 months ago

Thank you very much, there will be some happy people over here tonight and if you have like a ko-fi or donation place let me know and we'll have a thank you :D