copygirl / BetterStorage

A Minecraft mod aimed at offering more storage options.
http://copy.mcft.net/mc/BetterStorage/
MIT License
58 stars 33 forks source link

BetterStorage conflicting with various mods (java.lang.AssertionError) #268

Closed Yulife closed 9 years ago

Yulife commented 9 years ago

Forge 1240 Latest BetterStorage Latest Quadrum

A crash occurs whenever I try to launch an instance with both Quadrum and BetterStorage. Log here

Victorious3 commented 9 years ago

There is no pointer to any BS related class, I'm sorry. Looks like something on their end.

Yulife commented 9 years ago

Ah, thought so. Posted this on here because @dmillerw seems busy and I didn't know on whose end it was.

dmillerw commented 9 years ago

Looks like you've formatted one of the files wrong. Open an issue in the Quadrum repo @Yulife

Yulife commented 9 years ago

@dmillerw Actually, @1skandar opened one in https://github.com/dmillerw/Quadrum/issues/10 We both had different json files so I'm not sure if the formatting is the problem. :/

1skandar commented 9 years ago

@dmillerw formatting is not the issue. Remove Better Storage and the block loads just fine. Add Better Storage and you get the crash.

Victorious3 commented 9 years ago

If I knew what exactly that method is trying to do, I could work out a solution. It looks like it's parsing a JSON file related to some block, I suppose it's one of BetterStorages?

1skandar commented 9 years ago

No, is the thing. It is parsing the JSON file of a custom block. Far as I can tell, it shouldn't be involving BS at all. And yet, remove BS and the crashing stops.

Victorious3 commented 9 years ago

That makes no sense. I'll investigate it further when back home.

copygirl commented 9 years ago

Just a hunch, but maybe it's some class names colliding? Either way this seems like a very obscure bug.

Yulife commented 9 years ago

Thanks for the support by the way, guys. I need to release this stuff before Christmas as it is full of content like that. Would be a real shame to not release it, I worked so hard on it. Thanks in advance.

dmillerw commented 9 years ago

I'll investigate on my end when I have time

disconsented commented 9 years ago

I have had a user report what appears to be the same issue to me(or something similar), however it is between my mod and better storage (DEV8 and B123 respective) http://pastebin.com/jcS0RW6C

BigXplosion commented 9 years ago

we have looked into this again and Quadrum is only crashing with this mod and still has the same error as reported above. I would like to find out what the issue is as a lot of people are using better storage together with quadrum

copygirl commented 9 years ago

@BigXplosion Looking around a bit... it might have to do with enums being serialized to JSON (using gson)..? If the enums have been modified, looks like it crashes with that error. Here for example I add new tool and armor materials. What types are you saving? Sorry if this this isn't it. It's just a stab in the dark anyway.

BigXplosion commented 9 years ago

@copygirl, I don't think this is the error we are looking for, the reported errors have only been reported with errors in the block loading. Second thing is that we never serialize enums, the only place we use enums for our TypeSpecific annotation used in the data that is read from the json to determine if the given option is valid for the type of block users try to create. I've been looking extensively in your and our code but haven't found anything that could even be related to this...

copygirl commented 9 years ago

Tried setting up Quadrum in my dev workspace so I could step through and look where it's hanging, but I'm not able to get NEI/CCC/CCL to work. Sorry. Can you have a go?

BigXplosion commented 9 years ago

The normal setup doesn't require NEI/CCC/CCL and those have always been tricky for me to setup. but if you really want, the thing I have to do is add them as dependencies in gradle (via maven) and ALSO put them in the mods folder. You will also have to add the mods from the mods folder to your module dependencies in the project structure in intellij (if you use intellij).

copygirl commented 9 years ago

NEI requirement is actually on my side. I've not touched any MC code recently, so... that's that. Can't reproduce the crash in my dev environment, do I need some items set up?

BigXplosion commented 9 years ago

The crash doesn't happen yet as no json/gson file is being read, you'll need a basic block JSON file like this in the config/Quadrum/block folder (should be auto generated).

copygirl commented 9 years ago

It's EnumEnchantmentType that's breaking, apparently? BetterStorage adds its own lock and key enchantment types. Can you do anything with that?

BigXplosion commented 9 years ago

Sadly no, I have no clue why that would break it, as I don't check for anything related to Enchantments... But I'll look into it tomorrow. Also how did you figure this out?

copygirl commented 9 years ago

I set a breakpoint of one of the related functions and checked the type variable.

Yulife commented 9 years ago

Quadrum is discontinued, can be closed I guess :)