Warden inflicts Shattered V

This commit is contained in:
patience 2026-02-10 14:49:44 +00:00
parent 420a4d2b04
commit 573d12a564
No known key found for this signature in database
3 changed files with 27 additions and 6 deletions

View file

@ -1,19 +1,17 @@
package xyz.nearmisses.patience.mc_rebalance; package xyz.nearmisses.patience.mc_rebalance;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries; 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.resources.ResourceLocation;
import net.minecraft.world.effect.MobEffect; import net.minecraft.world.effect.MobEffect;
public class ModEffects { public class ModEffects {
public static void init(){} public static void init(){}
public static MobEffect register(String id, MobEffect effect) { public static Holder<MobEffect> register(String id, MobEffect effect) {
ResourceKey<MobEffect> effectID = ResourceKey.create(Registries.MOB_EFFECT, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id)); return Registry.registerForHolder(BuiltInRegistries.MOB_EFFECT, ResourceLocation.fromNamespaceAndPath(MCRebalance.MOD_ID, id), effect);
return Registry.register(BuiltInRegistries.MOB_EFFECT, effectID, effect);
} }
public static final MobEffect Effect_Shattered = register("shattered", new ShatteredEffect()); public static final Holder<MobEffect> Effect_Shattered = register("shattered", new ShatteredEffect());
} }

View file

@ -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<Boolean> cir){
if(entity instanceof LivingEntity){
((LivingEntity) entity).addEffect(new MobEffectInstance(ModEffects.Effect_Shattered, 400, 4, false, true, true));
}
}
}

View file

@ -6,6 +6,7 @@
"BlazeAIRework", "BlazeAIRework",
"BlazeRework", "BlazeRework",
"ExperienceOrbRework", "ExperienceOrbRework",
"WardenRework",
"WitherSkeletonRework" "WitherSkeletonRework"
], ],
"injectors": { "injectors": {