From 3d848364226236e4a324976eb2d04ae54a5da0ba Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Thu, 25 Jul 2024 12:26:23 +0200 Subject: [PATCH] Backwards Approach - Fixed trains acceleration edge case at low speed settings #6348 --- .../simibubi/create/content/trains/entity/Navigation.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/simibubi/create/content/trains/entity/Navigation.java b/src/main/java/com/simibubi/create/content/trains/entity/Navigation.java index a27a52b7c..e0d7c475c 100644 --- a/src/main/java/com/simibubi/create/content/trains/entity/Navigation.java +++ b/src/main/java/com/simibubi/create/content/trains/entity/Navigation.java @@ -264,9 +264,11 @@ public class Navigation { double topSpeed = train.maxSpeed(); if (targetDistance < 10) { - double target = topSpeed * ((targetDistance) / 10); - if (target < Math.abs(train.speed)) { - train.speed += (target - Math.abs(train.speed)) * .5f * speedMod; + double maxApproachSpeed = topSpeed * ((targetDistance) / 10); + double speedRelativeToStation = train.speed * speedMod; + + if (speedRelativeToStation > maxApproachSpeed) { + train.speed += (maxApproachSpeed - Math.abs(train.speed)) * .5f * speedMod; return; } }