Invisible Horse Morphs? (1.10.2)
Kyrnterra opened this issue · 11 comments
Minecraft - 1.10.2
Forge - 12.18.3.2511
Metamorph - 1.1.6
MultiMC 5
So I can see Horses in the wild just fine (including Zombie and Skeleton Horses from another mod) but when I turn into them, view them in the GUI or acquire them they are completely invisible.
This is the error that pops up in the log when either transforming or viewing them in the menu:
[Client thread/ERROR]: Couldn't render entity
java.lang.NullPointerException
at net.minecraft.entity.passive.EntityHorse.func_110247_cG(EntityHorse.java:685) ~[wr.class:?]
at net.minecraft.entity.passive.EntityHorse.func_110264_co(EntityHorse.java:695) ~[wr.class:?]
at net.minecraft.client.renderer.entity.RenderHorse.func_188328_b(SourceFile:47) ~[bsq.class:?]
at net.minecraft.client.renderer.entity.RenderHorse.func_110775_a(SourceFile:42) ~[bsq.class:?]
at net.minecraft.client.renderer.entity.RenderHorse.func_110775_a(SourceFile:15) ~[bsq.class:?]
at net.minecraft.client.renderer.entity.Render.func_180548_c(SourceFile:89) ~[bsi.class:?]
at net.minecraft.client.renderer.entity.RenderLivingBase.func_77036_a(RenderLivingBase.java:242) ~[bsy.class:?]
at net.minecraft.client.renderer.entity.RenderLivingBase.func_76986_a(RenderLivingBase.java:177) [bsy.class:?]
at net.minecraft.client.renderer.entity.RenderLiving.func_76986_a(SourceFile:41) [btb.class:?]
at net.minecraft.client.renderer.entity.RenderLiving.func_76986_a(SourceFile:16) [btb.class:?]
at mchorse.metamorph.api.morphs.EntityMorph.render(EntityMorph.java:253) [EntityMorph.class:?]
at mchorse.metamorph.capabilities.morphing.Morphing.renderPlayer(Morphing.java:103) [Morphing.class:?]
at mchorse.metamorph.client.RenderingHandler.onPlayerRender(RenderingHandler.java:92) [RenderingHandler.class:?]
at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_1484_RenderingHandler_onPlayerRender_Pre.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.minecraft.client.renderer.entity.RenderPlayer.func_76986_a(RenderPlayer.java:58) [bvh.class:?]
at net.minecraft.client.renderer.entity.RenderSubPlayer.func_76986_a(RenderSubPlayer.java:80) [RenderSubPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderSubPlayer.func_76986_a(RenderSubPlayer.java:18) [RenderSubPlayer.class:?]
at net.minecraft.client.renderer.entity.RenderManager.func_188391_a(RenderManager.java:366) [bsh.class:?]
at net.minecraft.client.renderer.entity.RenderManager.func_188388_a(RenderManager.java:350) [bsh.class:?]
at net.minecraft.client.renderer.RenderGlobal.func_180446_a(RenderGlobal.java:624) [boh.class:?]
at net.minecraft.client.renderer.EntityRenderer.func_175068_a(EntityRenderer.java:1315) [bnz.class:?]
at net.minecraft.client.renderer.EntityRenderer.func_78471_a(EntityRenderer.java:1229) [bnz.class:?]
at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1038) [bnz.class:?]
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076) [bcx.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371) [bcx.class:?]
at net.minecraft.client.main.Main.main(SourceFile:124) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_162]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_162]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_162]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_162]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_162]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_162]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_162]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_162]
at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:196) [NewLaunch.jar:?]
at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:231) [NewLaunch.jar:?]
at org.multimc.EntryPoint.listen(EntryPoint.java:143) [NewLaunch.jar:?]
at org.multimc.EntryPoint.main(EntryPoint.java:34) [NewLaunch.jar:?]
Any help would be appreciated.
Could you tell me how you acquired the horse morph? Did you just killed the horse and acquired its morph? Or did you used some other way to acquire it?
I killed them myself, as I could see the wild horse, but the ghost was invisible and I saw the "acquired" in the corner of my screen, but no icon.
If you kill several horses, and pick up their morphs, does this issue reoccurs? Or is it only happened with that one horse?
I have killed I believe 5 Horse varieties and thy are all currently invisible. I haven't tried killing one of the types I already have (I think, since I can't tell which ones I have).
Using the Creative Morph menu I just discovered that all the Horse Entity NBT data has "tc.mobmod" and "tc.mobmodtaint" added to them.
{EntityData:{Tame:0b,HasReproduced:0b,Attributes:[0:{Base:-2.0d,Name:"tc.mobmod"},1:{Base:0.0d,Name:"tc.mobmodtaint"},2:{Base:53.0d,Name:"generic.maxHealth"},3:{Base:0.0d,Name:"generic.knockbackResistance"},4:{Base:0.22499999403953552d,Name:"generic.movementSpeed"},5:{Base:0.0d,Name:"generic.armor"},6:{Base:0.0d,Name:"generic.armorToughness"},7:{Base:0.7d,Name:"horse.jumpStrength"}],ForcedAge:0,AbsorptionAmount:0.0f,Bred:0b,InLove:0,EatingHaystack:0b,SkeletonTrapTime:0,ForgeCaps:{plethora:disableAI:{}},PersistenceRequired:0b,Age:1,SkeletonTrap:0b,Variant:0,Type:0,ChestedHorse:0b,Temper:0},LastHealth:0.0f}
I imagine this is added by Thaumcraft (because of "TC" and "taint" lines).
Ah, yes, that might be the problem 🤔
Could you check whether removing the Thaumcraft attributes will make the horse visible again?
I gave that a try, and the horse forms were still invisible when morphed and in the GUI. Unless I did it wrong but using an NBT editor I just went in and deleted those 2 entries, granted my understanding of NBT editing is limited. I'm gonna quickly try loading my world without Thaumcraft installed to see if that makes a difference.
I looked the method from which this exception comes up, it's related to setting up horse's texture, but I can't identify what's exactly is the problem since it looks like this class was ASM patched by some other mod. Is there any mods that patching horses? Like Quark or something? Looks like we've got a mod incompatibility here.
- Post the full crash log. It will tell us what all the ASM classes are. We also might be able to guess what mod is responsible from the mod list.
- If that doesn't work, to find the true cause of the incompatibility, you will need to narrow down your mod list to only the mod which causes the bug. You can do this quickly using a technique called binary search. Divide the mod list in half, and then half again, until the problem goes away (keeping Metamorph enabled, as well as any "required dependency" mods like mcjtylib, autoreglib, cofh core, etc). You can then logically deduce from that what list of mods to cut in half and check next.
Due to the magic of logarithms, it should in principle take you about 8 attempts, much less than your 220 mods. However, there is a small possibility that there is more than one mod involved in causing the compatibility, so if cutting the mod list in half causes the bug to go away, check the other half to be sure the bug is present on that half. So, that's 16 attempts to narrow down the cause of the bug while making absolutely sure there isn't another mod involved.