|
|
|
|
@@ -4,7 +4,7 @@ import eu.midnightdust.swordblocking.SwordBlockingClient;
|
|
|
|
|
import eu.midnightdust.swordblocking.config.SwordBlockingConfig;
|
|
|
|
|
import net.minecraft.client.render.VertexConsumerProvider;
|
|
|
|
|
import net.minecraft.client.render.item.HeldItemRenderer;
|
|
|
|
|
import net.minecraft.client.render.model.json.ModelTransformation;
|
|
|
|
|
import net.minecraft.client.render.model.json.ModelTransformationMode;
|
|
|
|
|
import net.minecraft.client.util.math.MatrixStack;
|
|
|
|
|
import net.minecraft.entity.LivingEntity;
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
@@ -16,8 +16,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
|
|
|
|
|
|
|
|
@Mixin(HeldItemRenderer.class)
|
|
|
|
|
public abstract class MixinHeldItemRenderer {
|
|
|
|
|
@Inject(at = @At("HEAD"), cancellable = true, method = "Lnet/minecraft/client/render/item/HeldItemRenderer;renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformation$Mode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V")
|
|
|
|
|
public void swordblocking$hideShield(LivingEntity entity, ItemStack stack, ModelTransformation.Mode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) {
|
|
|
|
|
@Inject(at = @At("HEAD"), cancellable = true, method = "renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V")
|
|
|
|
|
public void swordblocking$hideShield(LivingEntity entity, ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) {
|
|
|
|
|
if (SwordBlockingConfig.alwaysHideShield && SwordBlockingConfig.hideShield && stack.getItem() instanceof ShieldItem) ci.cancel();
|
|
|
|
|
else if (SwordBlockingConfig.hideShield && stack.getItem() instanceof ShieldItem && SwordBlockingClient.canWeaponBlock(entity)) ci.cancel();
|
|
|
|
|
}
|
|
|
|
|
|