MineLittlePony/src/main/java/com/minelittlepony/client/mixin/MixinFirstPersonRenderer.java

44 lines
2.2 KiB
Java
Raw Normal View History

package com.minelittlepony.client.mixin;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Redirect;
import com.minelittlepony.client.PonyRenderManager;
2019-11-23 18:28:42 +01:00
import javax.annotation.Nullable;
2019-05-27 17:59:15 +02:00
import net.minecraft.client.network.AbstractClientPlayerEntity;
import net.minecraft.client.render.FirstPersonRenderer;
2019-11-23 18:28:42 +01:00
import net.minecraft.client.render.VertexConsumerProvider;
2019-05-27 17:59:15 +02:00
import net.minecraft.client.render.model.json.ModelTransformation;
2019-11-23 18:28:42 +01:00
import net.minecraft.client.util.math.MatrixStack;
2019-05-27 17:59:15 +02:00
import net.minecraft.entity.LivingEntity;
import net.minecraft.item.ItemStack;
2019-11-23 18:28:42 +01:00
import net.minecraft.world.World;
@Mixin(FirstPersonRenderer.class)
public class MixinFirstPersonRenderer {
2019-05-27 17:59:15 +02:00
@Redirect(method = "renderFirstPersonItem("
2019-06-01 21:29:53 +02:00
+ "Lnet/minecraft/client/network/AbstractClientPlayerEntity;FF"
2019-05-27 17:59:15 +02:00
+ "Lnet/minecraft/util/Hand;F"
2019-03-29 16:26:39 +01:00
+ "Lnet/minecraft/item/ItemStack;F)V",
at = @At(value = "INVOKE",
2019-11-23 18:28:42 +01:00
target = "Lnet/minecraft/client/render/item/ItemRenderer;method_23177("
2019-05-27 17:59:15 +02:00
+ "Lnet/minecraft/entity/LivingEntity;"
2019-03-29 16:26:39 +01:00
+ "Lnet/minecraft/item/ItemStack;"
2019-11-23 18:28:42 +01:00
+ "Lnet/minecraft/client/render/model/json/ModelTransformation$Type;"
+ "Z"
+ "Lnet/minecraft/client/util/math/MatrixStack;"
+ "Lnet/minecraft/client/render/VertexConsumerProvider;"
+ "Lnet/minecraft/world/World;"
+ "I"
+ "I)V"))
private void redirectRenderItemSide(FirstPersonRenderer self,
@Nullable LivingEntity entity, ItemStack item, ModelTransformation.Type transform, boolean left,
MatrixStack stack, VertexConsumerProvider renderContext, @Nullable World world, int lightUv, int overlayUv) {
PonyRenderManager.getInstance().getMagicRenderer().renderItemInFirstPerson(self, (AbstractClientPlayerEntity)entity, item, transform, left, stack, renderContext, world, lightUv);
}
}