Compatibility: headcrumbs causes NPE and Ticking World
Syndaryl opened this issue ยท 11 comments
Error log GIST - https://gist.github.com/Syndaryl/775e4b642d26160216697c9026a7c751
When a headcrumbs mob is loaded and upgradeMob is called on it, boom. Obviously part of the problem is Headcrumbs throwing a null, but for stability/butt-covering I recommend TweakMobEqualizer catch exceptions thrown when checking the new entity's validity, and just abandon the upgrade attempt if it goes wonky.
Possible complication of the upgrade attempt is that I'm wearing Oak armor from Tiny Progressions, Slime boots from TCon, wielding a Tcon pick and a Tcon battleshield. So I suppose any of those might be an "exciting" entanglement - but this seems to be barfing before equipment is even being duped.
This is with Charset 0.4.0 pre 10, Forge 2298, headcrumbs 2.0.3
Sounds like a Charset fault, not a Headcrumbs fault!
Nonetheless, please try Charset 0.4.1 from https://asie.pl/Projects/Minecraft/Mods/Charset/ (you may need to disable some modules or download MCMultiPart 2's alpha). I'm afraid you might lose pipes, however - they have been temporaily removed as I'm trying to choose between alternate, more interesting ideas for item/fluid transport and I'm terribly sorry for the possible damage.
(As for the pipes, if you're using them extensively, let me know and I'll try to port the 0.4.0, not-broken-but-not-perfect pipes into 0.4.2)
No crashes yet, but no config files either. The charset folder was created, but it's empty.
It IS very odd. I'm using MultiMC 5 - no problem with other mods or instances that I can spot, but this is a VERY cluttered instance. I'll make a new instance with nothing else but MultiMC, Forge, and Charset, and see what it do.
Curiouser and curiouser.
Using MultiMC, Forge 2304 (latest), and Charset 0.4.1 it do correctly when launched in online or offline mode. They get created before the model baking.
Same, when using MultiMC, Forge 2298, Charset 0.4.1 - it do correctly.
So this is an interesting conflict with... something.
I'm using the following modlist
https://gist.github.com/Syndaryl/e91a37481dc0dfc0f7b5c2e93112c4c1
The only thing I could think of would be Quark's Print Suppressor, but I'm not using that module and it's only redirecting STDERR/STDOUT to dev/null, not touching other pipes.
EDIT: It's not Quark, CraftTweaker, or JEI, the things I would be most suspicious of. I have a lot of restarting and restarting Minecraft ahead of me, obviously.
I don't mind playing with the MCMultiPart alpha :) I've installed 0.4.1 and MCMP 2a and I'll test that out.
I'm in a new world and I don't have any pipes yet, so I'll cope for the moment :) Once you've got the new pipes system, I'll be curious to see it.
Super bonus points if you can arrange to pump fluid blocks out of the world into tanks; since few mods do that, I suspect it's complicated.
Welp. Unfortunately it* just happened again in my new instance, with 0.4.1
EDIT: For clarity, by "it" I mean, the exception on spawning a headcrumbs guy and trying to upgrade 'im.
[12:53:04] [Server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.entity.living.LivingSpawnEvent$SpecialSpawn@3e564be8:
java.lang.NullPointerException: The validated object is null
at org.apache.commons.lang3.Validate.notNull(Validate.java:222) ~[commons-lang3-3.3.2.jar:3.3.2]
at org.apache.commons.lang3.Validate.notNull(Validate.java:203) ~[commons-lang3-3.3.2.jar:3.3.2]
at net.minecraft.util.NonNullList.set(SourceFile:45) ~[dd.class:?]
at net.minecraft.entity.EntityLiving.func_184201_a(EntityLiving.java:922) ~[sx.class:?]
at ganymedes01.headcrumbs.entity.EntityHuman.func_184201_a(EntityHuman.java:248) ~[EntityHuman.class:?]
at pl.asie.charset.tweaks.CharsetTweakMobEqualizer.upgradeMob(CharsetTweakMobEqualizer.java:142) ~[CharsetTweakMobEqualizer.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_529_CharsetTweakMobEqualizer_upgradeMob_SpecialSpawn.invoke(.dynamic) ~[?:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?]
at net.minecraftforge.event.ForgeEventFactory.doSpecialSpawn(ForgeEventFactory.java:211) [ForgeEventFactory.class:?]
at net.minecraft.world.WorldEntitySpawner.func_77192_a(WorldEntitySpawner.java:154) [ajz.class:?]
at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:197) [lw.class:?]
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:709) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:624) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:149) [cch.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]
Sorry sorry, the crash reminded me that the original issue was open and I shouldn't have closed it.
I have completely rebuilt my modlist (including liteloader, I forgot about that) and can't replicate it in the new instance. I can consistently replicate it in the OLD instance still, so IDK.
At this point I'm going to call it "something weird and environmental" and delete that instance.