From e04d670f1ddea19399592dbd7ef84bd0edc6a981 Mon Sep 17 00:00:00 2001 From: Shane Freeder Date: Fri, 24 May 2024 15:22:41 +0100 Subject: [PATCH] Do not re-wrap vanilla goals (#10751) There is no need to rewrap vanilla goals when they're being reregistered, this breaks some expectations around behavior outside of general wasting of resources. Resolves: #10743 --- patches/server/Implement-Mob-Goal-API.patch | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/patches/server/Implement-Mob-Goal-API.patch b/patches/server/Implement-Mob-Goal-API.patch index f085b8f9dd..876f012159 100644 --- a/patches/server/Implement-Mob-Goal-API.patch +++ b/patches/server/Implement-Mob-Goal-API.patch @@ -483,7 +483,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + @Override + public void addGoal(T mob, int priority, Goal goal) { + CraftMob craftMob = (CraftMob) mob; -+ getHandle(craftMob, goal.getTypes()).addGoal(priority, new PaperCustomGoal<>(goal)); ++ net.minecraft.world.entity.ai.goal.Goal mojangGoal; ++ ++ if (goal instanceof PaperVanillaGoal vanillaGoal) { ++ mojangGoal = vanillaGoal.getHandle(); ++ } else { ++ mojangGoal = new PaperCustomGoal<>(goal); ++ } ++ ++ getHandle(craftMob, goal.getTypes()).addGoal(priority, mojangGoal); + } + + @Override