BetterEnd

BetterEnd

27M Downloads

[1.19.2 Fabric] Cosmetic Armors mixin breaks Better End's ancient ArmorFeatureRenderer mixin

TelepathicGrunt opened this issue ยท 2 comments

commented

What happened?

After tracking down a difficult-to-diagnose crashes with Cosmetic Armors and certain other mods, we have found it is caused by Cosmetic Armor mixining into the head of renderArmor method at high priority and cancels in order to bypass Fabric API's mixin to the head of that method.
emilyploszaj/trinkets#228 (comment) (Repro steps are in the Trickets issue post. Just swap Geckolib with BetterEnd)
https://github.com/apace100/cosmetic-armor/blob/1.19/src/main/java/io/github/apace100/cosmetic_armor/mixin/MixinCosmeticArmorVisibility.java#L53

As a result of this, BetterEnd's mixin here does not run which causes it to later crash due to null slot

My recommendation here is, is this class even needed at all? As of 1.18.2+, Fabric API has not had the same mixin code as this BetterEnd mixin. This is what Fabric API is currently doing:
https://github.com/FabricMC/fabric/blob/1.19.2/fabric-rendering-v1/src/client/java/net/fabricmc/fabric/mixin/client/rendering/ArmorFeatureRendererMixin.java

So this class in Better End will need to change to be safer with other mods or rely on Fabric API to handle this portion of the code just fine. Also, please prefix your mixins with your full modid betterend_ instead of just be_ because me and many others could not figure out that be_ stood for BetterEnd and this mxiin looked like someone shadowing the Fabric APi jar which caused even more confusion. (Also be sure to prefix your full modid for injected interface methods too like here to prevent further confusions https://github.com/quiqueck/BetterEnd/blob/1.19/src/main/java/shadow/fabric/mixin/client/rendering/MixinItem.java#L50)

BetterEnd

2.1.2

BCLib

2.1.5

Fabric API

0.69.0-1.19.2

Fabric Loader

0.14.11

Minecraft

1.19.2

Relevant log output

[10:28:12] [main/INFO]: Loading Minecraft 1.19.2 with Fabric Loader 0.14.10
[10:28:12] [main/INFO]: Loading 64 mods:
	- bclib 2.1.5
	- betterend 2.1.2
	- cardinal-components-base 5.0.1 via the_bumblezone
	- cardinal-components-entity 5.0.1 via the_bumblezone
	- com_github_llamalad7_mixinextras 0.1.1-rc.4 via the_bumblezone
	- cosmetic-armor 1.4.0
	- fabric-api 0.69.0+1.19.2
	- fabric-api-base 0.4.13+0d0f210290 via fabric-api
	- fabric-api-lookup-api-v1 1.6.12+93d8cb8290 via fabric-api
	- fabric-biome-api-v1 9.0.20+0d0f210290 via fabric-api
	- fabric-block-api-v1 1.0.1+12bfe4ea90 via fabric-api
	- fabric-blockrenderlayer-v1 1.1.22+c6af733c90 via fabric-api
	- fabric-client-tags-api-v1 1.0.3+b35fea8390 via fabric-api
	- fabric-command-api-v1 1.2.13+f71b366f90 via fabric-api
	- fabric-command-api-v2 2.1.9+93d8cb8290 via fabric-api
	- fabric-commands-v0 0.2.30+df3654b390 via fabric-api
	- fabric-containers-v0 0.1.38+df3654b390 via fabric-api
	- fabric-content-registries-v0 3.4.4+6064db2a90 via fabric-api
	- fabric-convention-tags-v1 1.2.0+27265b3490 via fabric-api
	- fabric-crash-report-info-v1 0.2.7+aeb40ebe90 via fabric-api
	- fabric-data-generation-api-v1 5.3.3+ad31814d90 via fabric-api
	- fabric-dimensions-v1 2.1.33+0d0f210290 via fabric-api
	- fabric-entity-events-v1 1.5.2+9244241690 via fabric-api
	- fabric-events-interaction-v0 0.4.31+6eb9a2a190 via fabric-api
	- fabric-events-lifecycle-v0 0.2.31+df3654b390 via fabric-api
	- fabric-game-rule-api-v1 1.0.23+c6af733c90 via fabric-api
	- fabric-item-api-v1 1.6.1+fa140d5990 via fabric-api
	- fabric-item-groups-v0 0.3.36+9244241690 via fabric-api
	- fabric-key-binding-api-v1 1.0.23+aaaf9d3390 via fabric-api
	- fabric-keybindings-v0 0.2.21+df3654b390 via fabric-api
	- fabric-lifecycle-events-v1 2.2.2+9244241690 via fabric-api
	- fabric-loot-api-v2 1.1.10+83a8659290 via fabric-api
	- fabric-loot-tables-v1 1.1.13+9e7660c690 via fabric-api
	- fabric-message-api-v1 5.0.5+93d8cb8290 via fabric-api
	- fabric-mining-level-api-v1 2.1.21+33fbc73890 via fabric-api
	- fabric-models-v0 0.3.19+c6af733c90 via fabric-api
	- fabric-networking-api-v1 1.2.8+3b1d070f90 via fabric-api
	- fabric-networking-v0 0.3.25+df3654b390 via fabric-api
	- fabric-object-builder-api-v1 4.1.3+06e0e25190 via fabric-api
	- fabric-particles-v1 1.0.12+79adfe0a90 via fabric-api
	- fabric-registry-sync-v0 0.9.29+9244241690 via fabric-api
	- fabric-renderer-api-v1 1.1.0+e7aeff4590 via fabric-api
	- fabric-renderer-indigo 0.6.17+aeb40ebe90 via fabric-api
	- fabric-renderer-registries-v1 3.2.22+df3654b390 via fabric-api
	- fabric-rendering-data-attachment-v1 0.3.17+0d0f210290 via fabric-api
	- fabric-rendering-fluids-v1 3.0.9+c6af733c90 via fabric-api
	- fabric-rendering-v0 1.1.25+df3654b390 via fabric-api
	- fabric-rendering-v1 1.11.1+73145abb90 via fabric-api
	- fabric-resource-conditions-api-v1 2.1.1+aae9039d90 via fabric-api
	- fabric-resource-loader-v0 0.8.2+574a764890 via fabric-api
	- fabric-screen-api-v1 1.0.30+b0bc9a6790 via fabric-api
	- fabric-screen-handler-api-v1 1.3.4+1cc24b1b90 via fabric-api
	- fabric-sound-api-v1 1.0.1+c4f28df590 via fabric-api
	- fabric-textures-v0 1.0.22+aeb40ebe90 via fabric-api
	- fabric-transfer-api-v1 2.1.3+9d081d6490 via fabric-api
	- fabric-transitive-access-wideners-v1 1.3.2+42d99c3290 via fabric-api
	- fabricloader 0.14.10
	- fake-player-api 0.5.0 via the_bumblezone
	- java 17
	- midnightlib 1.0.0
	- minecraft 1.19.2
	- modmenu 4.1.2
	- the_bumblezone 6.4.7+1.19.2
	- trinkets 3.4.1
[10:28:15] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/MSI%20Laptop/curseforge/minecraft/Install/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=CLIENT
[10:28:15] [main/INFO]: Attempting to load Fernflower decompiler (Threaded mode)
[10:28:15] [main/INFO]: Fernflower could not be loaded, exported classes will not be decompiled. NoClassDefFoundError: org/jetbrains/java/decompiler/main/extern/IResultSaver
[10:28:15] [main/INFO]: Compatibility level set to JAVA_17
[10:28:16] [main/WARN]: Configuration conflict: there is more than one oshi.properties file on the classpath
[10:28:17] [main/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
[10:28:18] [main/INFO]: [bclib] Added Config bclib.generator to auto sync (file hash)
[10:28:18] [main/INFO]: [bclib] Added Config bclib.main to auto sync (content diff)
[10:28:18] [main/INFO]: [bclib] Added Config bclib.recipes to auto sync (file hash)
[10:28:18] [main/INFO]: [bclib] Added Config bclib.biomes to auto sync (file hash)
[10:28:21] [main/INFO]: Building optimized datafixer
[10:28:28] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[10:28:29] [Render thread/INFO]: Setting user: TelepathicGrunt
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.entities to auto sync (file hash)
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.blocks to auto sync (file hash)
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.items to auto sync (file hash)
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.biomes to auto sync (file hash)
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.recipes to auto sync (file hash)
[10:28:30] [Render thread/INFO]: [bclib] Added Config betterend.enchantments to auto sync (file hash)
[10:29:00] [Worker-Bootstrap-11/INFO]: 4283 Datafixer optimizations took 39416 milliseconds
[10:29:00] [Render thread/INFO]: [Indigo] Registering Indigo renderer!
[10:29:01] [Render thread/INFO]: Backend library: LWJGL version 3.3.1 SNAPSHOT
[10:29:02] [Render thread/INFO]: Narrator library for x64 successfully loaded
[10:29:02] [Render thread/INFO]: Reloading ResourceManager: Default, Fabric Mods (BCLib, Better End, Cardinal Components API (base), Cardinal Components API (entities), Cosmetic Armor, Fabric API, Fabric API Base, Fabric API Lookup API (v1), Fabric Biome API (v1), Fabric BlockRenderLayer Registration (v1), Fabric Client Tags, Fabric Command API (v1), Fabric Command API (v2), Fabric Commands (v0), Fabric Containers (v0), Fabric Content Registries (v0), Fabric Convention Tags, Fabric Crash Report Info (v1), Fabric Data Generation API (v1), Fabric Dimensions API (v1), Fabric Entity Events (v1), Fabric Events Interaction (v0), Fabric Events Lifecycle (v0), Fabric Game Rule API (v1), Fabric Item API (v1), Fabric Item Groups (v0), Fabric Key Binding API (v1), Fabric Key Bindings (v0), Fabric Lifecycle Events (v1), Fabric Loot API (v2), Fabric Loot Tables (v1), Fabric Message API (v1), Fabric Mining Level API (v1), Fabric Models (v0), Fabric Networking API (v1), Fabric Networking (v0), Fabric Object Builder API (v1), Fabric Particles (v1), Fabric Registry Sync (v0), Fabric Renderer API (v1), Fabric Renderer - Indigo, Fabric Renderer Registries (v1), Fabric Rendering Data Attachment (v1), Fabric Rendering Fluids (v1), Fabric Rendering (v0), Fabric Rendering (v1), Fabric Resource Conditions API (v1), Fabric Resource Loader (v0), Fabric Screen API (v1), Fabric Screen Handler API (v1), Fabric Sound API (v1), Fabric Textures (v0), Fabric Transfer API (v1), Fabric Transitive Access Wideners (v1), Fabric Loader, Fake Player API, MidnightLib, Mod Menu, The Bumblezone - Fabric, Trinkets)
[10:29:02] [Render thread/INFO]: [STDOUT]: (MidnightLib) Player hats successfully loaded!
[10:29:10] [Render thread/WARN]: Missing sound for event: minecraft:item.goat_horn.play
[10:29:10] [Render thread/WARN]: Missing sound for event: minecraft:entity.goat.screaming.horn_break
[10:29:10] [Render thread/INFO]: OpenAL initialized on device OpenAL Soft on XV240Y (NVIDIA High Definition Audio)
[10:29:10] [Render thread/INFO]: Sound engine started
[10:29:10] [Render thread/INFO]: Created: 2048x1024x4 minecraft:textures/atlas/blocks.png-atlas
[10:29:10] [Render thread/INFO]: Created: 256x128x4 minecraft:textures/atlas/signs.png-atlas
[10:29:10] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/banner_patterns.png-atlas
[10:29:10] [Render thread/INFO]: Created: 1024x512x4 minecraft:textures/atlas/shield_patterns.png-atlas
[10:29:10] [Render thread/INFO]: Created: 256x256x4 minecraft:textures/atlas/chest.png-atlas
[10:29:10] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/beds.png-atlas
[10:29:10] [Render thread/INFO]: Created: 512x256x4 minecraft:textures/atlas/shulker_boxes.png-atlas
[10:29:11] [Render thread/WARN]: Shader rendertype_entity_translucent_emissive could not find sampler named Sampler2 in the specified shader program.
[10:29:11] [Render thread/INFO]: Created: 512x256x0 minecraft:textures/atlas/particles.png-atlas
[10:29:11] [Render thread/INFO]: Created: 256x256x0 minecraft:textures/atlas/paintings.png-atlas
[10:29:11] [Render thread/INFO]: Created: 256x128x0 minecraft:textures/atlas/mob_effects.png-atlas
[10:29:37] [Thread-5/INFO]: [bclib] Check Versions for minecraft=1_19_2
[10:29:38] [Thread-5/INFO]: [bclib] Received Version Info for minecraft=1.19.2, loader=fabric
[10:29:38] [Thread-5/INFO]: [bclib]  - bclib:2.1.5
[10:29:38] [Thread-5/INFO]: [bclib]  - betterend:2.1.2
[10:29:41] [Render thread/INFO]: [bclib] Loading from builtin Registry
[10:29:41] [Render thread/INFO]: [bclib] Found World without generator Settings. Setting up data...
[10:29:41] [Render thread/INFO]: [bclib] Set world to BiomeSource Version ResourceKey[minecraft:worldgen/world_preset / bclib:normal]
[10:29:41] [Render thread/INFO]: [bclib] Running Pre Patchers on C:\Users\MSI Laptop\curseforge\minecraft\Instances\1.19.2-fabric\saves\New World\.
[10:29:41] [Render thread/INFO]: [DataFixerAPI] Everything up to date
[10:29:42] [Render thread/WARN]: Adding betterend:end_veil to saved/remote registry.
[10:29:42] [Render thread/WARN]: twilightforest:frosted missing from registry, but requested!
[10:29:42] [Render thread/INFO]: [fabric-registry-sync] Loaded registry data [file 1/4]
[10:29:42] [Render thread/INFO]: [bclib] Loading from datapack Registry
[10:29:42] [Render thread/INFO]: [bclib] Enforcing Correct Generator for minecraft:the_nether.
[10:29:42] [Render thread/INFO]: [bclib] Enforcing Correct Generator for minecraft:the_end.
[10:29:43] [Render thread/INFO]: Loaded 7 recipes
[10:29:43] [Render thread/INFO]: Loaded 1952 advancements
[10:29:48] [Render thread/WARN]: Adding betterend:end_veil to saved/remote registry.
[10:29:48] [Render thread/WARN]: twilightforest:frosted missing from registry, but requested!
[10:29:48] [Render thread/INFO]: [fabric-registry-sync] Loaded registry data [file 1/4]
[10:29:48] [Render thread/INFO]: [bclib] Loading from datapack Registry
[10:29:48] [Render thread/INFO]: [bclib] Enforcing Correct Generator for minecraft:the_nether.
[10:29:48] [Render thread/INFO]: [bclib] Enforcing Correct Generator for minecraft:the_end.
[10:29:48] [Render thread/INFO]: Loaded 7 recipes
[10:29:48] [Render thread/INFO]: Loaded 1952 advancements
[10:29:49] [Render thread/INFO]: Applied 0 biome modifications to 0 of 94 new biomes in 2.645 ms
[10:29:49] [Server thread/INFO]: Starting integrated minecraft server version 1.19.2
[10:29:49] [Server thread/INFO]: Generating keypair
[10:29:49] [Server thread/INFO]: [bclib] 
Apply Modifications for minecraft:overworld
    class_4766 (3ace74de)
        biomes     = 52
        namespaces = minecraft
[10:29:49] [Server thread/INFO]: [bclib] 
Apply Modifications for minecraft:the_nether
    BCLib - Nether BiomeSource (22b5cb6e)
        biomes     = 5
        namespaces = minecraft
        seed       = 0
        height     = 128
        config     = BCLibNetherBiomeSourceConfig{mapVersion=hex, useVerticalBiomes=true, amplified=false, biomeSize=256, biomeSizeVertical=86}
[10:29:49] [Server thread/INFO]: [bclib] 
Apply Modifications for the_bumblezone:the_bumblezone
    BzBiomeProvider (3f407a17)
        biomes     = 6
        namespaces = the_bumblezone
[10:29:49] [Server thread/INFO]: [bclib] 
Apply Modifications for minecraft:the_end
    BCLib - The End BiomeSource (525e052b)
        biomes     = 24
        namespaces = betterend, minecraft
        seed       = 0
        height     = 128
        deciders   = 1
        config     = BCLEndBiomeSourceConfig{mapVersion=hex, generatorVersion=paulevs, withVoidBiomes=true, innerVoidRadiusSquared=1048576, voidBiomesSize=256, centerBiomesSize=256, landBiomesSize=256, barrensBiomesSize=256}
[10:29:49] [Server thread/INFO]: [bclib] World Dimensions: 
 - minecraft:overworld: 
     net.minecraft.class_3754@4cdd8983 
     class_4766 (3ace74de)
         biomes     = 52
         namespaces = minecraft
 - minecraft:the_nether: 
     BCLib - Chunk Generator (3bbcbb06) 
     BCLib - Nether BiomeSource (22b5cb6e)
         biomes     = 5
         namespaces = minecraft
         seed       = 0
         height     = 128
         config     = BCLibNetherBiomeSourceConfig{mapVersion=hex, useVerticalBiomes=true, amplified=false, biomeSize=256, biomeSizeVertical=86}
 - the_bumblezone:the_bumblezone: 
     com.telepathicgrunt.the_bumblezone.world.dimension.BzChunkGenerator@3a420f59 
     BzBiomeProvider (3f407a17)
         biomes     = 6
         namespaces = the_bumblezone
 - minecraft:the_end: 
     BCLib - Chunk Generator (52775e1e) 
     BCLib - The End BiomeSource (525e052b)
         biomes     = 24
         namespaces = betterend, minecraft
         seed       = 0
         height     = 128
         deciders   = 1
         config     = BCLEndBiomeSourceConfig{mapVersion=hex, generatorVersion=paulevs, withVoidBiomes=true, innerVoidRadiusSquared=1048576, voidBiomesSize=256, centerBiomesSize=256, landBiomesSize=256, barrensBiomesSize=256}
[10:29:49] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 0%
[10:29:52] [Render thread/INFO]: Preparing spawn area: 56%
[10:29:53] [Render thread/INFO]: Time elapsed: 3157 ms
[10:29:53] [Server thread/INFO]: Changing view distance to 12, from 10
[10:29:53] [Server thread/INFO]: Changing simulation distance to 12, from 0
[10:29:53] [Server thread/INFO]: TelepathicGrunt[local:E:d47ee636] logged in with entity id 276 at (76.97017984963864, 76.37429331309657, -20.65584115703218)
[10:29:54] [Server thread/INFO]: TelepathicGrunt joined the game
[10:29:55] [Render thread/INFO]: [bclib] Sending hello to server.
[10:29:55] [Server thread/INFO]: [bclib] Received Hello from Client. (server=2.1.5, client=2.1.5)
[10:29:55] [Server thread/INFO]: [bclib] Auto-Sync is disabled for Singleplayer worlds.
[10:29:55] [Render thread/INFO]: Loaded 15 advancements
[10:29:57] [Server thread/INFO]: Saving and pausing game...
[10:29:57] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:overworld
[10:29:57] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_nether
[10:29:57] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/the_bumblezone:the_bumblezone
[10:29:57] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_end
[10:30:09] [Render thread/WARN]: Configuration conflict: there is more than one oshi.architecture.properties file on the classpath
[10:30:09] [Server thread/INFO]: Stopping server
[10:30:09] [Server thread/INFO]: Saving players
[10:30:09] [Server thread/INFO]: Saving worlds
[10:30:10] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:overworld
[10:30:10] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_nether
[10:30:10] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/the_bumblezone:the_bumblezone
[10:30:10] [Server thread/INFO]: Saving chunks for level 'ServerLevel[New World]'/minecraft:the_end
[10:30:10] [Server thread/INFO]: ThreadedAnvilChunkStorage (New World): All chunks are saved
[10:30:10] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[10:30:10] [Server thread/INFO]: ThreadedAnvilChunkStorage (the_bumblezone): All chunks are saved
[10:30:10] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[10:30:10] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
[10:30:10] [Render thread/ERROR]: Reported exception thrown!
net.minecraft.util.crash.CrashException: Rendering entity in world
	at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:890) ~[client-intermediary.jar:?]
	at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1177) ~[client-intermediary.jar:?]
	at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:768) [client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:244) [client-intermediary.jar:?]
	at net.minecraft.client.main.Main.main(Main.java:51) [client-intermediary.jar:?]
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:461) [fabric-loader-0.14.10.jar:?]
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74) [fabric-loader-0.14.10.jar:?]
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23) [fabric-loader-0.14.10.jar:?]
Caused by: java.lang.NullPointerException: Cannot invoke "net.minecraft.entity.EquipmentSlot.getType()" because "$$0" is null
	at net.minecraft.entity.player.PlayerEntity.getEquippedStack(PlayerEntity.java:1958) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.handler$zfn000$be_getArmorTexture(ArmorFeatureRenderer.java:1150) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.getArmorTexture(ArmorFeatureRenderer.java:119) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.renderArmorParts(ArmorFeatureRenderer.java:105) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.cosmeticarmor$renderArmor(ArmorFeatureRenderer.java:615) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.mde03fab$lambda$renderCustomArmor$1$0(ArmorFeatureRenderer.java:569) ~[client-intermediary.jar:?]
	at java.lang.Iterable.forEach(Iterable.java:75) ~[?:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.handler$zgf000$renderDelayed(ArmorFeatureRenderer.java:580) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.render(ArmorFeatureRenderer.java:39) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.feature.ArmorFeatureRenderer.render(ArmorFeatureRenderer.java:22) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.LivingEntityRenderer.render(LivingEntityRenderer.java:145) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.PlayerEntityRenderer.render(PlayerEntityRenderer.java:63) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.PlayerEntityRenderer.render(PlayerEntityRenderer.java:41) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:141) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.InventoryScreen.method_29977(InventoryScreen.java:152) ~[client-intermediary.jar:?]
	at com.mojang.blaze3d.systems.RenderSystem.runAsFancy(RenderSystem.java:1171) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.InventoryScreen.drawEntity(InventoryScreen.java:152) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen.drawBackground(CreativeInventoryScreen.java:768) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.HandledScreen.render(HandledScreen.java:100) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.AbstractInventoryScreen.render(AbstractInventoryScreen.java:27) ~[client-intermediary.jar:?]
	at net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen.render(CreativeInventoryScreen.java:679) ~[client-intermediary.jar:?]
	at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:881) ~[client-intermediary.jar:?]
	... 7 more

Other Mods

Cosmetic Armors
Trinkets
Bumblezone

https://imgur.com/lxE8SuD
commented

Thank you for the great report :)
If this is working in fabric again, I will happily remove that old classes

commented

1.19.4 and 1.20 versions already use the migrated armor stuff. 1.19.2 will do so in the next update (probably 2.1.7)