From 2f4f90c773699abf3e793100d78c94a87084fb66 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 11 Nov 2026 17:55:52 +0100 Subject: [PATCH] Choose cursor aim with /aero controls instead of a keybind /aero controls keyboard|cursor_aim is open to every player, stored per player and synced to the client, which switches on automatically when seated. Co-Authored-By: Claude Sonnet 5.5 Claude-Session: https://claude.ai/code/session_01YVREx3uo7nz1FEhzveWTUh --- .../improvedAerodynamics/ConfigCommands.java | 44 ++++++++++++++---- .../ImprovedAerodynamics.java | 1 + .../client/aim/AimKeys.java | 5 +-- .../client/aim/CursorAimClient.java | 17 ++++--- .../flight/ControlMode.java | 45 +++++++++++++++++++ .../flight/CursorAimServer.java | 2 +- .../network/ControlModePacket.java | 32 +++++++++++++ .../improvedAerodynamics/network/Network.java | 5 +++ .../improved_aerodynamics/lang/de_de.json | 1 - .../improved_aerodynamics/lang/en_us.json | 1 - 10 files changed, 133 insertions(+), 20 deletions(-) create mode 100644 src/main/java/dev/lumareth/improvedAerodynamics/flight/ControlMode.java create mode 100644 src/main/java/dev/lumareth/improvedAerodynamics/network/ControlModePacket.java diff --git a/src/main/java/dev/lumareth/improvedAerodynamics/ConfigCommands.java b/src/main/java/dev/lumareth/improvedAerodynamics/ConfigCommands.java index 5d95674..ec6f445 100644 --- a/src/main/java/dev/lumareth/improvedAerodynamics/ConfigCommands.java +++ b/src/main/java/dev/lumareth/improvedAerodynamics/ConfigCommands.java @@ -7,6 +7,7 @@ import com.mojang.brigadier.arguments.StringArgumentType; import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.tree.LiteralCommandNode; import dev.lumareth.improvedAerodynamics.exhaust.NozzleCommands; +import dev.lumareth.improvedAerodynamics.flight.ControlMode; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; import net.minecraft.commands.SharedSuggestionProvider; @@ -21,7 +22,8 @@ import java.util.List; /** * /improvedaerodynamics (or /aero) to read and change the most important server config values in game. * {@code /aero} lists them, {@code /aero