Lootr (Forge & NeoForge)

Lootr (Forge & NeoForge)

59M Downloads

[Shulker Support Update] cannot initialize classes during mod loading, crash on startup

Kaleidio opened this issue ยท 11 comments

commented

https://pastebin.com/yvqTRMvA
forge 36.2.16
any updates before shulker support was added (0.08) works fine, all 0.09 builds are broken for me.

commented

I'm afraid I'll need your full crash report latest.log file. This looks like some strange conflict.

commented
commented

it seems the classes keep failing every type a registry system begins, such as Blocks, Items, TileEntities, etc. the class isn't found during each of these cycles.

commented

it can't be a race condition as it is consistent

commented

The core issue appears to be:

Caused by: java.lang.IllegalArgumentException: Cannot set property BooleanProperty{name=open, clazz=class java.lang.Boolean, values=[true, false]} as it does not exist in Block{null}
	at net.minecraft.state.StateHolder.func_206870_a(SourceFile:114)
	at net.minecraft.block.ShulkerBoxBlock.handler$bdo000$ShulkerBoxBlockMixin$construct(ShulkerBoxBlock.java:538)
	at net.minecraft.block.ShulkerBoxBlock.<init>(ShulkerBoxBlock.java:59)
	at noobanidus.mods.lootr.blocks.LootrShulkerBlock.<init>(LootrShulkerBlock.java:40)
	at noobanidus.mods.lootr.init.ModBlocks.<clinit>(ModBlocks.java:36)
	... 34 more

The fact that there's a Mixin referenced to the ShulkerBoxBlock constructor implies that some additional mod is attempting to do something to shulker boxes. It may be that I need to just extend something else and not inherit the ShulkerBoxBlock... I'll look into it deeper to see which mixin is the problem.

commented

Do you happen to have a mod list?

commented

A little bit of digging presented Shulker Enchantments which appears to be injecting a blockstate property. I'm not entirely sure what to do about this. Injecting new blockstate properties into a Vanilla block seems like a very dangerous method that's prone to go wrong.

commented

This should be fixed in the latest release.

Unfortunately, Shulker Enchantments are injecting new blockstate properties into Vanilla blocks, which can cause havoc with mod compatibility. They appear to be doing so in order to ensure that the enchantment glint appears while in the inventory.

commented

yeah lol I was gonna mention Shulker Enchantments might be to blame. Hope the fix works! Thank you

commented

looks like they pushed a patch on their side too

commented

tests seem to be working, ta!