From 07dde41aebd5dde015a2c8a499cb1b57fa0a7270 Mon Sep 17 00:00:00 2001 From: nelind Date: Thu, 14 Nov 2024 18:45:31 +0100 Subject: [PATCH] Update RunAroundLikeCrazyGoalMixin::tick to once again match the vanilla impl --- .../common/mixin/core/world/entity/ai/goal/GoalMixin.java | 3 +++ .../world/entity/ai/goal/RunAroundLikeCrazyGoalMixin.java | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/GoalMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/GoalMixin.java index ab09ccf8e03..5eaab410e57 100644 --- a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/GoalMixin.java +++ b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/GoalMixin.java @@ -29,6 +29,7 @@ import org.spongepowered.api.entity.ai.goal.GoalExecutor; import org.spongepowered.api.entity.ai.goal.GoalType; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @@ -42,6 +43,8 @@ @Mixin(Goal.class) public abstract class GoalMixin implements GoalBridge { + @Shadow protected abstract int adjustedTickDelay(int $$0); + private Supplier impl$type; private GoalExecutor impl$owner; diff --git a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/RunAroundLikeCrazyGoalMixin.java b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/RunAroundLikeCrazyGoalMixin.java index 82e86c1939a..56b737e650b 100644 --- a/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/RunAroundLikeCrazyGoalMixin.java +++ b/src/mixins/java/org/spongepowered/common/mixin/core/world/entity/ai/goal/RunAroundLikeCrazyGoalMixin.java @@ -56,8 +56,8 @@ public abstract class RunAroundLikeCrazyGoalMixin extends GoalMixin { */ @Overwrite public void tick() { - if (!this.horse.isTamed() && this.horse.getRandom().nextInt(50) == 0) { - Entity entity = this.horse.getPassengers().get(0); + if (!this.horse.isTamed() && this.horse.getRandom().nextInt(this.adjustedTickDelay(50)) == 0) { + Entity entity = this.horse.getFirstPassenger(); if (entity == null) { return;