diff --git a/build.gradle b/build.gradle index 9da4412..b9c6de2 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "architectury-plugin" version "3.4-SNAPSHOT" - id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false + id "dev.architectury.loom" version "1.10-SNAPSHOT" apply false id "me.shedaniel.unified-publishing" version "0.1.+" apply false id 'com.github.johnrengelman.shadow' version '8.1.1' apply false } diff --git a/common/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java b/common/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java index 4364cb5..a70678f 100644 --- a/common/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java +++ b/common/src/main/java/eu/midnightdust/swordblocking/SwordBlockingClient.java @@ -2,6 +2,7 @@ package eu.midnightdust.swordblocking; import eu.midnightdust.swordblocking.config.SwordBlockingConfig; import net.minecraft.client.render.entity.state.BipedEntityRenderState; +import net.minecraft.component.DataComponentTypes; import net.minecraft.entity.LivingEntity; import net.minecraft.item.*; @@ -23,7 +24,7 @@ public class SwordBlockingClient { public static boolean canShieldSwordBlock(LivingEntity entity) { if (SwordBlockingConfig.enabled && (entity.getOffHandStack().getItem() instanceof ShieldItem || entity.getMainHandStack().getItem() instanceof ShieldItem)) { Item weaponItem = entity.getOffHandStack().getItem() instanceof ShieldItem ? entity.getMainHandStack().getItem() : entity.getOffHandStack().getItem(); - return weaponItem instanceof SwordItem || weaponItem instanceof AxeItem || weaponItem instanceof MaceItem; + return weaponItem.getComponents().contains(DataComponentTypes.DAMAGE); } else { return false; } diff --git a/common/src/main/java/eu/midnightdust/swordblocking/mixin/MixinHeldItemRenderer.java b/common/src/main/java/eu/midnightdust/swordblocking/mixin/MixinHeldItemRenderer.java index 2600eca..5a032fa 100644 --- a/common/src/main/java/eu/midnightdust/swordblocking/mixin/MixinHeldItemRenderer.java +++ b/common/src/main/java/eu/midnightdust/swordblocking/mixin/MixinHeldItemRenderer.java @@ -9,8 +9,8 @@ import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.item.HeldItemRenderer; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.LivingEntity; +import net.minecraft.item.ItemDisplayContext; import net.minecraft.item.ItemStack; -import net.minecraft.item.ModelTransformationMode; import net.minecraft.item.consume.UseAction; import net.minecraft.util.Arm; import net.minecraft.util.Hand; @@ -32,8 +32,8 @@ public abstract class MixinHeldItemRenderer { @Shadow protected abstract void applySwingOffset(MatrixStack matrices, Arm arm, float swingProgress); - @Inject(method = "renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V", at = @At("HEAD"), cancellable = true) - public void swordBlocking$hideShield(LivingEntity entity, ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, CallbackInfo ci) { + @Inject(method = "renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/ItemDisplayContext;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;I)V", at = @At("HEAD"), cancellable = true) + public void swordBlocking$hideShield(LivingEntity entity, ItemStack stack, ItemDisplayContext renderMode, MatrixStack matrices, VertexConsumerProvider vertexConsumer, int light, CallbackInfo ci) { if (SwordBlockingClient.shouldHideShield(entity, stack)) { ci.cancel(); } diff --git a/gradle.properties b/gradle.properties index de51873..17d155e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,22 +2,22 @@ org.gradle.jvmargs=-Xmx3G org.gradle.parallel=true # Game Version -minecraft_version=1.21.4 -yarn_mappings=1.21.4+build.1 +minecraft_version=1.21.6 +yarn_mappings=1.21.6+build.1 yarn_mappings_patch_neoforge_version=1.21+build.4 enabled_platforms=fabric,neoforge # Dependencies -midnightlib_version=1.6.6 +midnightlib_version=1.7.5+1.21.6 -fabric_loader_version=0.16.9 -fabric_api_version=0.111.0+1.21.4 +fabric_loader_version=0.16.14 +fabric_api_version=0.127.1+1.21.6 -neoforge_version=21.4.9-beta +neoforge_version=21.6.0-beta # Information archives_base_name=swordblocking -mod_version=2.2.1 +mod_version=2.2.2 maven_group=eu.midnightdust release_type=release curseforge_id=427738 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0..ff23a68 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME