RenderLib

RenderLib

8M Downloads

Incompatible with Skin Capabilities Mod

jredfox opened this issue ยท 1 comments

commented

Describe the bug
When RenderLib mod is installed /model default or /model slim doesn't update the actual players model in f5 mode only in first person view. I assume you have some type of cache or something as it won't fix itself until the world is reloaded. This also includes updating the skin packets NetworkPlayerInfo has no effects.

Reproducibility

  • Install EvilNotchLib-SNAPSHOT-116
  • Install Skin Capabilities
  • Install mixinbooter-9.4
  • Install Render Lib
  • Load world
  • /model slim if your default or /model default if your slim
  • observe it works in first person but not in F5 mode (third person)

Reproduce Not Rendering Player Bug

  • Go into config/evilnotchlib --> and turn skinCachePacketSmooth to false
  • Repeat Steps above.
  • Observe the player is now invisible. The NetworkPlayerInfo got re-created as the skinCachePacketSmooth was false. It makes the player not render as your renderer doesn't call AbstractClientPlayer#hasPlayerInfo when it's pretty much always expected when it's null. Fixed in EvilNotchLib SNAPSHOT-117 (FUTURE)

Vanilla Forge Behavior

  • When NetworkPlayerInfo is null in AbstractClientPlayer it's fetched from Minecraft.getMinecraft().getConnection().getPlayerInfo(this.getUniqueID());. Setting it to null is to simulate a reset of the NetworkPlayerInfo as described by vanilla forge's behavior.

Your Mods behavior

  • Always expects NetworkPlayerInfo to be attatched once cached to AbstractClientPlayer and this just simply is incorrect. the Server could send a packet at any time to replace the AbstractClientPlayer even vanilla minecraft 1.12.2 is capable of doing this.
  • When I tried setting AbstractClientPlayer#playerInfo manually it did prevent the player from not rendering but it still didn't update the model

Here is the source code of my updating skin packet if it helps: https://github.com/jredfox/evilnotchlib/blob/master/src/main/java/com/evilnotch/lib/minecraft/network/packet/handler/PacketSkinHandler.java

I have done what I can on my side but I was only able to fix the invisible bug. The bug where you cached the player's model and it won't update is on your side. HERE is the commit I did on my side
jredfox/evilnotchlib@3ff6a17

commented

Fixed in 1.12.2-1.4.2