From 8cd7a438e14a9d6057b9ff15af8016030d408ccf Mon Sep 17 00:00:00 2001 From: Aleksey Date: Tue, 4 May 2021 22:48:13 +0300 Subject: [PATCH] Missed Armor Stand and Mob Render for Armored Elytra --- .../mixin/client/ArmorStandRendererMixin.java | 25 +++++++++++++++++++ .../client/HumanoidMobRendererMixin.java | 25 +++++++++++++++++++ .../mixin/client/PlayerRendererMixin.java | 2 +- .../resources/betterend.mixins.client.json | 2 ++ 4 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ru/betterend/mixin/client/ArmorStandRendererMixin.java create mode 100644 src/main/java/ru/betterend/mixin/client/HumanoidMobRendererMixin.java diff --git a/src/main/java/ru/betterend/mixin/client/ArmorStandRendererMixin.java b/src/main/java/ru/betterend/mixin/client/ArmorStandRendererMixin.java new file mode 100644 index 00000000..7a8b9aca --- /dev/null +++ b/src/main/java/ru/betterend/mixin/client/ArmorStandRendererMixin.java @@ -0,0 +1,25 @@ +package ru.betterend.mixin.client; + +import net.minecraft.client.model.ArmorStandArmorModel; +import net.minecraft.client.renderer.entity.ArmorStandRenderer; +import net.minecraft.client.renderer.entity.EntityRenderDispatcher; +import net.minecraft.client.renderer.entity.LivingEntityRenderer; +import net.minecraft.world.entity.decoration.ArmorStand; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import ru.betterend.client.render.ArmoredElytraLayer; + +@Mixin(ArmorStandRenderer.class) +public abstract class ArmorStandRendererMixin extends LivingEntityRenderer { + + public ArmorStandRendererMixin(EntityRenderDispatcher entityRenderDispatcher, ArmorStandArmorModel entityModel, float f) { + super(entityRenderDispatcher, entityModel, f); + } + + @Inject(method = "*", at = @At("TAIL")) + public void be_addCustomLayer(EntityRenderDispatcher entityRenderDispatcher, CallbackInfo info) { + addLayer(new ArmoredElytraLayer<>(this)); + } +} diff --git a/src/main/java/ru/betterend/mixin/client/HumanoidMobRendererMixin.java b/src/main/java/ru/betterend/mixin/client/HumanoidMobRendererMixin.java new file mode 100644 index 00000000..eab82fea --- /dev/null +++ b/src/main/java/ru/betterend/mixin/client/HumanoidMobRendererMixin.java @@ -0,0 +1,25 @@ +package ru.betterend.mixin.client; + +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.client.renderer.entity.EntityRenderDispatcher; +import net.minecraft.client.renderer.entity.HumanoidMobRenderer; +import net.minecraft.client.renderer.entity.MobRenderer; +import net.minecraft.world.entity.Mob; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import ru.betterend.client.render.ArmoredElytraLayer; + +@Mixin(HumanoidMobRenderer.class) +public abstract class HumanoidMobRendererMixin> extends MobRenderer { + + public HumanoidMobRendererMixin(EntityRenderDispatcher entityRenderDispatcher, M entityModel, float f) { + super(entityRenderDispatcher, entityModel, f); + } + + @Inject(method = "*", at = @At("TAIL")) + public void be_addCustomLayer(EntityRenderDispatcher entityRenderDispatcher, M humanoidModel, float f, float g, float h, float i, CallbackInfo info) { + addLayer(new ArmoredElytraLayer<>(this)); + } +} diff --git a/src/main/java/ru/betterend/mixin/client/PlayerRendererMixin.java b/src/main/java/ru/betterend/mixin/client/PlayerRendererMixin.java index 557b0699..d435dd52 100644 --- a/src/main/java/ru/betterend/mixin/client/PlayerRendererMixin.java +++ b/src/main/java/ru/betterend/mixin/client/PlayerRendererMixin.java @@ -21,6 +21,6 @@ public abstract class PlayerRendererMixin extends LivingEntityRenderer(PlayerRenderer.class.cast(this))); + addLayer(new ArmoredElytraLayer<>(this)); } } diff --git a/src/main/resources/betterend.mixins.client.json b/src/main/resources/betterend.mixins.client.json index de7b097c..be0ed49a 100644 --- a/src/main/resources/betterend.mixins.client.json +++ b/src/main/resources/betterend.mixins.client.json @@ -8,6 +8,8 @@ "ClientPlayNetworkHandlerMixin", "NamespaceResourceManagerMixin", "EnchantingTableBlockMixin", + "HumanoidMobRendererMixin", + "ArmorStandRendererMixin", "BackgroundRendererMixin", "ClientRecipeBookMixin", "ModelVariantMapMixin",