diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/PiglinBruteTweak.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/PiglinBruteTweak.java new file mode 100644 index 0000000..633aa07 --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/PiglinBruteTweak.java @@ -0,0 +1,23 @@ +package xyz.nearmisses.patience.mc_rebalance.mixin.mob; + +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.piglin.PiglinBrute; +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; + +@Mixin(PiglinBrute.class) +public class PiglinBruteTweak { + @Inject(method="createAttributes", at=@At("RETURN"), cancellable=true) + private static void createAttributes(CallbackInfoReturnable cir) { + cir.setReturnValue(Monster.createMonsterAttributes() + .add(Attributes.MAX_HEALTH, 50.0F) + .add(Attributes.MOVEMENT_SPEED, 0.35F) + .add(Attributes.ATTACK_DAMAGE, 3.0F) // Default 7, cumulative with axe change = 12 + ); + } + +} diff --git a/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/ZombieRework.java b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/ZombieRework.java new file mode 100644 index 0000000..3e15d0e --- /dev/null +++ b/src/main/java/xyz/nearmisses/patience/mc_rebalance/mixin/mob/ZombieRework.java @@ -0,0 +1,28 @@ +package xyz.nearmisses.patience.mc_rebalance.mixin.mob; + +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.monster.Monster; +import net.minecraft.world.entity.monster.Zombie; +import net.minecraft.world.level.Level; +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.CallbackInfo; + +@Mixin(Zombie.class) +public class ZombieRework extends Monster{ + + protected ZombieRework(EntityType entityType, Level level) { + super(entityType, level); + } + + @Inject(method="tick", at=@At("TAIL")) + private void sprintNearToTarget(CallbackInfo ci){ + if(this.getTarget()!=null && this.getTarget().position().distanceTo(this.position())<8){ + this.setSprinting(true); + } + if(this.isSprinting() && this.getTarget()==null) { + this.setSprinting(false); + } + } +} diff --git a/src/main/resources/mc_rebalance.mixins.json b/src/main/resources/mc_rebalance.mixins.json index f6f5d86..c1bbad8 100644 --- a/src/main/resources/mc_rebalance.mixins.json +++ b/src/main/resources/mc_rebalance.mixins.json @@ -14,8 +14,10 @@ "mob.EnderDragonHitRateCap", "mob.HappyGhastTweak", "mob.MagmaCubeTweak", + "mob.PiglinBruteTweak", "mob.WardenRework", - "mob.WitherSkeletonRework" + "mob.WitherSkeletonRework", + "mob.ZombieRework" ], "injectors": { "defaultRequire": 1