*ArmoredElytra* Fixes

This commit is contained in:
Frank Bauer 2021-06-24 11:48:31 +02:00
parent e03c8433db
commit 8531be7b94
6 changed files with 58 additions and 29 deletions

View file

@ -1,26 +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.EntityRendererProvider;
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 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 ru.betterend.client.render.ArmoredElytraLayer;
@Mixin(ArmorStandRenderer.class)
public abstract class ArmorStandRendererMixin extends LivingEntityRenderer<ArmorStand, ArmorStandArmorModel> {
public ArmorStandRendererMixin(EntityRenderDispatcher entityRenderDispatcher, ArmorStandArmorModel entityModel, float f) {
super(entityRenderDispatcher, entityModel, f);
public ArmorStandRendererMixin(EntityRendererProvider.Context context, ArmorStandArmorModel entityModel, float f) {
super(context, entityModel, f);
}
@Inject(method = "<init>*", at = @At("TAIL"))
public void be_addCustomLayer(EntityRenderDispatcher entityRenderDispatcher, CallbackInfo info) {
addLayer(new ArmoredElytraLayer<>(this));
public void be_addCustomLayer(EntityRendererProvider.Context context, CallbackInfo ci) {
addLayer(new ArmoredElytraLayer<>(this, context.getModelSet()));
}
}

View file

@ -1,5 +1,6 @@
package ru.betterend.mixin.client;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -15,12 +16,12 @@ import ru.betterend.client.render.ArmoredElytraLayer;
@Mixin(HumanoidMobRenderer.class)
public abstract class HumanoidMobRendererMixin<T extends Mob, M extends HumanoidModel<T>> extends MobRenderer<T, M> {
public HumanoidMobRendererMixin(EntityRenderDispatcher entityRenderDispatcher, M entityModel, float f) {
super(entityRenderDispatcher, entityModel, f);
public HumanoidMobRendererMixin(EntityRendererProvider.Context context, M entityModel, float f) {
super(context, entityModel, f);
}
@Inject(method = "<init>*", 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));
@Inject(method = "<init>(Lnet/minecraft/client/renderer/entity/EntityRendererProvider$Context;Lnet/minecraft/client/model/HumanoidModel;FFFF)V", at = @At("TAIL"))
public void be_addCustomLayer(EntityRendererProvider.Context context, M humanoidModel, float f, float g, float h, float i, CallbackInfo ci) {
addLayer(new ArmoredElytraLayer<>(this, context.getModelSet()));
}
}

View file

@ -1,5 +1,6 @@
package ru.betterend.mixin.client;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@ -15,12 +16,12 @@ import ru.betterend.client.render.ArmoredElytraLayer;
@Mixin(PlayerRenderer.class)
public abstract class PlayerRendererMixin extends LivingEntityRenderer<AbstractClientPlayer, PlayerModel<AbstractClientPlayer>> {
public PlayerRendererMixin(EntityRenderDispatcher entityRenderDispatcher, PlayerModel<AbstractClientPlayer> entityModel, float f) {
super(entityRenderDispatcher, entityModel, f);
public PlayerRendererMixin(EntityRendererProvider.Context context, PlayerModel<AbstractClientPlayer> entityModel, float f) {
super(context, entityModel, f);
}
@Inject(method = "<init>(Lnet/minecraft/client/renderer/entity/EntityRenderDispatcher;Z)V", at = @At("TAIL"))
public void be_addCustomLayer(EntityRenderDispatcher entityRenderDispatcher, boolean bl, CallbackInfo info) {
addLayer(new ArmoredElytraLayer<>(this));
@Inject(method = "<init>*", at = @At("TAIL"))
public void be_addCustomLayer(EntityRendererProvider.Context context, boolean bl, CallbackInfo ci) {
addLayer(new ArmoredElytraLayer<>(this, context.getModelSet()));
}
}