From 872d7e3bb6b6c11c1edf1ff9d519138a90a422cb Mon Sep 17 00:00:00 2001 From: chris Date: Sat, 8 Jul 2023 00:14:38 +0200 Subject: [PATCH] let boats not sink down, use less choppy (but faster) animation (#3949) * let boats not sink down, use less choppy (but faster) animation * remove passenger check since that always returns true --- .../main/java/org/geysermc/geyser/entity/type/BoatEntity.java | 2 +- .../protocol/bedrock/BedrockMoveEntityAbsoluteTranslator.java | 4 ++-- .../protocol/bedrock/BedrockPlayerInputTranslator.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/org/geysermc/geyser/entity/type/BoatEntity.java b/core/src/main/java/org/geysermc/geyser/entity/type/BoatEntity.java index 25569990e..5527e773a 100644 --- a/core/src/main/java/org/geysermc/geyser/entity/type/BoatEntity.java +++ b/core/src/main/java/org/geysermc/geyser/entity/type/BoatEntity.java @@ -66,7 +66,7 @@ public class BoatEntity extends Entity { private int variant; // Looks too fast and too choppy with 0.1f, which is how I believe the Microsoftian client handles it - private final float ROWING_SPEED = 0.05f; + private final float ROWING_SPEED = 0.1f; public BoatEntity(GeyserSession session, int entityId, long geyserId, UUID uuid, EntityDefinition definition, Vector3f position, Vector3f motion, float yaw, float pitch, float headYaw) { // Initial rotation is incorrect diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockMoveEntityAbsoluteTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockMoveEntityAbsoluteTranslator.java index c35c6c00a..4b5107bda 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockMoveEntityAbsoluteTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockMoveEntityAbsoluteTranslator.java @@ -36,7 +36,7 @@ import org.geysermc.geyser.translator.protocol.PacketTranslator; import org.geysermc.geyser.translator.protocol.Translator; /** - * Sent by the client when moving a horse. + * Sent by the client when moving a horse or boat. */ @Translator(packet = MoveEntityAbsolutePacket.class) public class BedrockMoveEntityAbsoluteTranslator extends PacketTranslator { @@ -64,7 +64,7 @@ public class BedrockMoveEntityAbsoluteTranslator extends PacketTranslator= 100) { Vector3f vehiclePosition = vehicle.getPosition(); - if (vehicle instanceof BoatEntity) { + if (vehicle instanceof BoatEntity && !vehicle.isOnGround()) { // Remove some Y position to prevents boats flying up vehiclePosition = vehiclePosition.down(EntityDefinitions.BOAT.offset()); }