diff --git a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockInventoryTransactionTranslator.java b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockInventoryTransactionTranslator.java index 4a595ee9e7a..f393592a530 100644 --- a/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockInventoryTransactionTranslator.java +++ b/core/src/main/java/org/geysermc/geyser/translator/protocol/bedrock/BedrockInventoryTransactionTranslator.java @@ -29,6 +29,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMaps; import org.cloudburstmc.math.vector.Vector3f; import org.cloudburstmc.math.vector.Vector3i; +import org.cloudburstmc.protocol.bedrock.data.InputMode; import org.cloudburstmc.protocol.bedrock.data.SoundEvent; import org.cloudburstmc.protocol.bedrock.data.definitions.BlockDefinition; import org.cloudburstmc.protocol.bedrock.data.definitions.ItemDefinition; @@ -175,7 +176,7 @@ public void translate(GeyserSession session, InventoryTransactionPacket packet) Vector3i blockPos = BlockUtils.getBlockPosition(packetBlockPosition, Direction.getUntrusted(packet, InventoryTransactionPacket::getBlockFace)); if (session.getGeyser().config().gameplay().disableBedrockScaffolding()) { - float yaw = session.getPlayerEntity().getYaw(); + float yaw = session.getInputCache().getInputMode() == InputMode.TOUCH ? session.getPlayerEntity().getBedrockInteractRotation().getY() : session.getPlayerEntity().getYaw(); boolean isGodBridging = switch (packet.getBlockFace()) { case 2 -> yaw <= -135f || yaw > 135f; case 3 -> yaw <= 45f && yaw > -45f;