
Incompatible with Skin Capabilities Mod
jredfox opened this issue ยท 1 comments
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 callAbstractClientPlayer#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 fromMinecraft.getMinecraft().getConnection().getPlayerInfo(this.getUniqueID());
. Setting it to null is to simulate a reset of theNetworkPlayerInfo
as described by vanilla forge's behavior.
Your Mods behavior
- Always expects
NetworkPlayerInfo
to be attatched once cached toAbstractClientPlayer
and this just simply is incorrect. the Server could send a packet at any time to replace theAbstractClientPlayer
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