[ETF] Entity Texture Features - [Fabric & Forge]

[ETF] Entity Texture Features - [Fabric & Forge]

38M Downloads

[BUG] Incompatible with "Skin Shuffle"

IMB11 opened this issue ยท 1 comments

commented
  • 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 ๐Ÿ‘

commented

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)