From cde3ffced2edac8dd891c4caea1947b9a55db348 Mon Sep 17 00:00:00 2001 From: Ghoulboy Date: Sun, 19 Mar 2023 18:56:12 +0100 Subject: [PATCH] Fixing `/player botname stop` with relation to *fake* player movement (#1683) --- .../java/carpet/helpers/EntityPlayerActionPack.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/carpet/helpers/EntityPlayerActionPack.java b/src/main/java/carpet/helpers/EntityPlayerActionPack.java index 78c21906..ca1fcb37 100644 --- a/src/main/java/carpet/helpers/EntityPlayerActionPack.java +++ b/src/main/java/carpet/helpers/EntityPlayerActionPack.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import carpet.patches.EntityPlayerMPFake; import carpet.script.utils.Tracer; import net.minecraft.commands.arguments.EntityAnchorArgument; import net.minecraft.core.BlockPos; @@ -238,8 +239,13 @@ public class EntityPlayerActionPack } } float vel = sneaking?0.3F:1.0F; - player.zza = forward*vel; - player.xxa = strafing*vel; + // The != 0.0F checks are needed given else real players can't control minecarts, however it works with fakes and else they don't stop immediately + if (forward != 0.0F || player instanceof EntityPlayerMPFake) { + player.zza = forward * vel; + } + if (strafing != 0.0F || player instanceof EntityPlayerMPFake) { + player.xxa = strafing * vel; + } } static HitResult getTarget(ServerPlayer player)