gr8pefish / IronBackpacks

A Minecraft mod that adds portable storage in the form of tiered backpacks with modular upgrades.
GNU General Public License v3.0
60 stars 32 forks source link

[1.10.2] Crash when right clicking ducts while in the air. #185

Closed MUSE-iC closed 7 years ago

MUSE-iC commented 7 years ago

https://github.com/CoFH/Feedback/issues/459

Hazerd commented 7 years ago

I can't seem to reproduce this issue, using only the mods:

I tried right-clicking with other ducts, blocks, empty hand.
I tried creative/survival modes.
I tried with/without a backpack equipped.
I even tried to pick-block the pipes (which appears to be the method that throws the error) and it works fine.

Edit: I EVEN tried downgrading my java version to 1.8.0_25 like the crashlog shows, and I am still having no problem.
The only variables remaining are the other mods (not in the stacktrace, could they have an affect?) and the OS. I am currently on Linux and the crashlog shows Windows 10 (I can try testing on Windows 10 later, but it is getting late)

TehNut commented 7 years ago

The only way I could see this being our fault is if this returned a null raytrace https://github.com/gr8pefish/IronBackpacks/blob/master-1.10/src/main/java/gr8pefish/ironbackpacks/events/ForgeEventHandler.java#L277

MUSE-iC commented 7 years ago

Yeah sorry. I usually try and make sure to test with just the mods causing issues before I post this stuff. Ive done some more testing and its just gotten weirder.

I created a bunch of different instances in the twitch launcher testing a bunch of different things both with the mods I originally have, a different combination of mods, and with just iron backpacks and the CoFH mods.

When I created a new instance I found that the bug only happened in a flat world(in all my mod combination tests even with just iron backpacks and the CoFH mods). It doesnt matter if youre wearing one of the backpacks or not.

https://pastebin.com/gmd8rqGd

The thing is I discovered this issue in a server world that I have for myself and a friend which has normal worldgen. So im just confused lol.

gr8pefish commented 7 years ago

Do you have WAILA/HWYLA or TOP installed? If so, is the duct showing up correctly in the respective GUI for that? I ask because the error seems to be with "obtaining" the block from the raytrace. Also, are you holding anything, or clicking with an empty hand?

TehNut, the exact line erroring seems to actually be this one.

Edit: I also wish I could see what was going on in the erroring line cofh.thermaldynamics.block.BlockDuct.getPickBlock(BlockDuct.java:286), but I can't find that in COFH's repo.

MUSE-iC commented 7 years ago

I have TOP and the duct does show up correctly.

image

Also it happens regardless of what you are holding. Open hand, duct, or block.

gr8pefish commented 7 years ago

Thanks for the quick, detailed reply. Does the crash still happen without TOP? I assume so, but just want to be sure.

Hmm, looks like it won't be a simple fix, this one will require some digging around. I'll make a superflat world and try to reproduce it myself to try and narrow it down.

MUSE-iC commented 7 years ago

Yes, the crash still happens without TOP.

I actually decided to try out WAILA as well to see if it still reported the ducts correctly and it does not.

image

image

That just might be an issue with WAILA though bcs I tried HWYLA next and that reports them properly as well.

image

gr8pefish commented 7 years ago

@TehNut Can I see your raytrace code for HWYLA for getting the block to compare against my own code? Assuming it's not too abstracted away.

TehNut commented 7 years ago

I pointed at the line I did because that's the only potential null we could be passing.

Hwyla uses objectMouseOver which is client only.

@MUSE-iC did you try with Waila or Hwyla? Waila is extremely buggy. Hwyla is a fork that fixed it.

I missed that last bit.

TehNut commented 7 years ago

Best bet is to just nullcheck the raytrace we pass. I think it's supposed to be nullable (in which case it's TD's fault), but I don't remember.

gr8pefish commented 7 years ago

Alright, I'll just toss in some null checks and push out a build with that later today 👍

gr8pefish commented 7 years ago

Try this next version (2.2.30, should be up on curseforge momentarily) and let me know if that doesn't work.