Nerfed Warden stats in accordance with no Protection

This commit is contained in:
patience 2026-02-10 15:14:25 +00:00
parent cc562556a9
commit 715218ff16
No known key found for this signature in database

View file

@ -4,6 +4,8 @@ import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.monster.Monster; import net.minecraft.world.entity.monster.Monster;
import net.minecraft.world.entity.monster.warden.Warden; import net.minecraft.world.entity.monster.warden.Warden;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@ -20,6 +22,17 @@ public class WardenRework extends Monster {
super(entityType, level); super(entityType, level);
} }
@Inject(method="createAttributes", at=@At("RETURN"), cancellable=true)
private static void createAttributes(CallbackInfoReturnable<AttributeSupplier.Builder> cir) {
cir.setReturnValue( Monster.createMonsterAttributes()
.add(Attributes.MAX_HEALTH, 500.0)
.add(Attributes.MOVEMENT_SPEED, 0.35F) // Slightly faster
.add(Attributes.KNOCKBACK_RESISTANCE, 1.0)
.add(Attributes.ATTACK_KNOCKBACK, 1.5)
.add(Attributes.ATTACK_DAMAGE, 24.0) // Nerfed damage because no Protection (This is a guaranteed 2HKO without potions, prev was 30 - guaranteed OHKO)
);
}
@Inject(method = "doHurtTarget", at = @At("RETURN"), cancellable = true) @Inject(method = "doHurtTarget", at = @At("RETURN"), cancellable = true)
private void doHurtTarget(Entity entity, CallbackInfoReturnable<Boolean> cir){ private void doHurtTarget(Entity entity, CallbackInfoReturnable<Boolean> cir){
boolean ret = super.doHurtTarget(entity); // Only apply effect after hit, so the player gets advance warning boolean ret = super.doHurtTarget(entity); // Only apply effect after hit, so the player gets advance warning