[BUG] Incompatible with "Skin Shuffle"
IMB11 opened this issue ยท 1 comments
- Minecraft version: 1.21
- ModLoader: Fabric
- ETF Version: 6.1.1
- Does the issue persist with only ETF installed? No
SkinShuffle uses Dummy entities in order to show the player their skins within menus, it seems ETF crashes because these dummies lack the nessecary data for ETF to work:
(crash stacktrace for 1.21)
java.lang.NullPointerException: Cannot invoke "net.minecraft.class_2960.method_12836()" because "vanillaIdentifier" is null
at traben.entity_texture_features.features.ETFManager.getETFTextureVariant(ETFManager.java:259)
at traben.entity_texture_features.utils.ETFUtils2.getETFVariantNotNullForInjector(ETFUtils2.java:61)
at net.minecraft.class_1921.localvar$zoi000$entity_texture_features$etf$mixinAllEntityLayers(class_1921.java:1524)
at net.minecraft.class_1921.method_24294(class_1921.java)
at net.minecraft.class_1921.method_23580(class_1921.java:260)
at net.minecraft.class_3879.method_23500(class_3879.java:19)
at net.minecraft.class_922.method_24302(class_922.java:165)
at net.minecraft.class_922.method_4054(class_922.java:141)
at net.minecraft.class_1007.method_4215(class_1007.java:68)
at net.minecraft.class_1007.method_3936(class_1007.java:45)
at net.minecraft.class_898.method_3954(class_898.java:148)
at com.mineblock11.skinshuffle.client.gui.cursed.GuiEntityRenderer.drawEntity(GuiEntityRenderer.java:79)
at com.mineblock11.skinshuffle.client.gui.widgets.preset.PresetWidget.renderWidget(PresetWidget.java:176)
at dev.lambdaurora.spruceui.widget.AbstractSpruceWidget.method_25394(AbstractSpruceWidget.java:266)
at com.mineblock11.skinshuffle.client.gui.widgets.preset.CompactPresetWidget.method_25394(CompactPresetWidget.java:86)
at dev.lambdaurora.spruceui.screen.SpruceScreen.renderWidgets(SpruceScreen.java:127)
at com.mineblock11.skinshuffle.client.gui.CarouselScreen.method_25394(CarouselScreen.java:264)
at net.minecraft.class_437.method_47413(class_437.java:117)
at net.minecraft.class_757.mixinextras$bridge$method_47413$252(class_757.java)
at net.minecraft.class_757.wrapOperation$bme000$fabric-screen-api-v1$onRenderScreen(class_757.java:3086)
at net.minecraft.class_757.mixinextras$bridge$wrapOperation$bme000$fabric-screen-api-v1$onRenderScreen$253(class_757.java)
at net.minecraft.class_757.wrapOperation$ckp000$optigui$renderCurrentScreenWithTooltip(class_757.java:6108)
at net.minecraft.class_757.method_3192(class_757.java:913)
at net.minecraft.class_310.method_1523(class_310.java:1285)
at net.minecraft.class_310.method_1514(class_310.java:882)
at net.minecraft.client.main.Main.main(Main.java:256)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
Please could you advise on how I can add compatability here? The dummy entity code can be found in Cicada, here: https://github.com/enjarai/cicada-lib/tree/master/src/main/java/nl/enjarai/cicada/api/cursed
Thanks ๐
Remapped stacktrace via linkie (yarn 1.21)
java.lang.NullPointerException: Cannot invoke "net.minecraft.client.render.VertexFormatElement0.getNamespace()" because "vanillaIdentifier" is null
at traben.entity_texture_features.features.ETFManager.getETFTextureVariant(ETFManager.java:259)
at traben.entity_texture_features.utils.ETFUtils2.getETFVariantNotNullForInjector(ETFUtils2.java:61)
at net.minecraft.client.render.RenderLayer.localvar$zoi000$entity_texture_features$etf$mixinAllEntityLayers(RenderLayer.java:1524)
at net.minecraft.client.render.RenderLayer.getEntityTranslucent(RenderLayer.java)
at net.minecraft.client.render.RenderLayer.getEntityTranslucent(RenderLayer.java:260)
at net.minecraft.client.model.Model.getLayer(Model.java:19)
at net.minecraft.client.render.entity.LivingEntityRenderer.getRenderLayer(LivingEntityRenderer.java:165)
at net.minecraft.client.render.entity.LivingEntityRenderer.render(LivingEntityRenderer.java:141)
at net.minecraft.client.render.entity.PlayerEntityRenderer.render(PlayerEntityRenderer.java:68)
at net.minecraft.client.render.entity.PlayerEntityRenderer.render(PlayerEntityRenderer.java:45)
at net.minecraft.client.render.entity.EntityRenderDispatcher.render(EntityRenderDispatcher.java:148)
at com.mineblock11.skinshuffle.client.gui.cursed.GuiEntityRenderer.drawEntity(GuiEntityRenderer.java:79)
at com.mineblock11.skinshuffle.client.gui.widgets.preset.PresetWidget.renderWidget(PresetWidget.java:176)
at dev.lambdaurora.spruceui.widget.AbstractSpruceWidget.render(AbstractSpruceWidget.java:266)
at com.mineblock11.skinshuffle.client.gui.widgets.preset.CompactPresetWidget.render(CompactPresetWidget.java:86)
at dev.lambdaurora.spruceui.screen.SpruceScreen.renderWidgets(SpruceScreen.java:127)
at com.mineblock11.skinshuffle.client.gui.CarouselScreen.render(CarouselScreen.java:264)
at net.minecraft.client.gui.screen.Screen.renderWithTooltip(Screen.java:117)
at net.minecraft.client.render.GameRenderer.mixinextras$bridge$method_47413$252(GameRenderer.java)
at net.minecraft.client.render.GameRenderer.wrapOperation$bme000$fabric-screen-api-v1$onRenderScreen(GameRenderer.java:3086)
at net.minecraft.client.render.GameRenderer.mixinextras$bridge$wrapOperation$bme000$fabric-screen-api-v1$onRenderScreen$253(GameRenderer.java)
at net.minecraft.client.render.GameRenderer.wrapOperation$ckp000$optigui$renderCurrentScreenWithTooltip(GameRenderer.java:6108)
at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:913)
at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:1285)
at net.minecraft.client.MinecraftClient.run(MinecraftClient.java:882)
at net.minecraft.client.main.Main.main(Main.java:256)
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:470)
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)