From 573d12a5644d62af75cfa7bf91cbbef24b7940f7 Mon Sep 17 00:00:00 2001 From: patience Date: Tue, 10 Feb 2026 14:49:44 +0000 Subject: [PATCH] Warden inflicts Shattered V --- .../patience/mc_rebalance/ModEffects.java | 10 ++++----- .../mc_rebalance/mixin/WardenRework.java | 22 +++++++++++++++++++ src/main/resources/mc_rebalance.mixins.json | 1 + 3 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/WardenRework.java diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java index cbdf543..f3200b4 100644 --- a/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/ModEffects.java @@ -1,19 +1,17 @@ package xyz.nearmisses.patience.mc_rebalance; +import net.minecraft.core.Holder; import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; -import net.minecraft.core.registries.Registries; -import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.effect.MobEffect; public class ModEffects { public static void init(){} - public static MobEffect register(String id, MobEffect effect) { - ResourceKey effectID = ResourceKey.create(Registries.MOB_EFFECT, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id)); - return Registry.register(BuiltInRegistries.MOB_EFFECT, effectID, effect); + public static Holder register(String id, MobEffect effect) { + return Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id), effect); } - public static final MobEffect Effect_Shattered = register("shattered", new ShatteredEffect()); + public static final Holder Effect_Shattered = register("shattered", new ShatteredEffect()); } diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/WardenRework.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/WardenRework.java new file mode 100644 index 0000000..70c4a9b --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/WardenRework.java @@ -0,0 +1,22 @@ +package xyz.nearmisses.patience.mc_rebalance.mixin; + +import net.minecraft.world.effect.MobEffectInstance; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.entity.monster.warden.Warden; +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.CallbackInfoReturnable; +import xyz.nearmisses.patience.mc_rebalance.ModEffects; + +// Wardens - something you shouldn't fight - armour is broken on hit +@Mixin(Warden.class) +public class WardenRework { + @Inject(method = "doHurtTarget", at = @At("HEAD")) + private void doHurtTarget(Entity entity, CallbackInfoReturnable cir){ + if(entity instanceof LivingEntity){ + ((LivingEntity) entity).addEffect(new MobEffectInstance(ModEffects.Effect_Shattered, 400, 4, false, true, true)); + } + } +} diff --git a/src/main/resources/mc_rebalance.mixins.json b/src/main/resources/mc_rebalance.mixins.json index 7ea6a75..43f2458 100644 --- a/src/main/resources/mc_rebalance.mixins.json +++ b/src/main/resources/mc_rebalance.mixins.json @@ -6,6 +6,7 @@ "BlazeAIRework", "BlazeRework", "ExperienceOrbRework", + "WardenRework", "WitherSkeletonRework" ], "injectors": {