Ears (+ Snouts/Muzzles, Tails, Horns, Wings, and More)

Ears (+ Snouts/Muzzles, Tails, Horns, Wings, and More)

1M Downloads

[1.7.10] Extreme log spam when rendering custom armor model on fake player

kumquat-ir opened this issue ยท 1 comments

commented

Probably only an issue on 1.7.10, given the codepath that seems to be at fault only exists on 1.7
Tested with Ears 1.4.4 and 1.4.5

Some mods that add an armor stand (tested with Bibliocraft) use a fake player with a null UUID to render the armor. If the armor in question includes a piece with a custom model (includes draconic armor from Draconic Evolution, various robes from Thaumcraft), it seems (?) the RenderPlayerEvent.Pre is fired, causing beforeRender to be called with a player whose profile has a null UUID, which is not guarded against and thus NPEs on every frame:

[17:03:13] [Ears lookup thread (null)/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: java.lang.NullPointerException
[17:03:13] [Ears lookup thread (null)/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: 	at com.unascribed.ears.legacy.LegacyHelper.getSkinUrl(LegacyHelper.java:134)
[17:03:13] [Ears lookup thread (null)/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:749]: 	at com.unascribed.ears.legacy.LegacyHelper$2.run(LegacyHelper.java:91)
[17:03:13] [Ears lookup thread (null)/INFO] [STDERR]: [com.unascribed.ears.legacy.LegacyHelper:getSkinUrl:142]: [Ears] Profile lookup failed

This does not affect the actual rendering, the armor displays on the armor stand correctly.

commented

...At least it doesn't crash the game?