移除无人机操控按键

This commit is contained in:
17146 2024-08-29 18:03:41 +08:00
parent 9a0b5dbda3
commit 2107fa583e
5 changed files with 47 additions and 126 deletions

View file

@ -137,6 +137,22 @@ public class ClickHandler {
}
}
@SubscribeEvent
public static void onKeyPressed(InputEvent.Key event) {
if (notInGame()) return;
Player player = Minecraft.getInstance().player;
if (player == null) return;
if (player.isSpectator()) return;
setKeyState(event);
int key = event.getKey();
if (key == Minecraft.getInstance().options.keyJump.getKey().getValue()) {
handleDoubleJump(player);
}
}
private static void setKeyState(InputEvent.Key event) {
int key = event.getKey();
int state;
@ -151,28 +167,42 @@ public class ClickHandler {
Player player = Minecraft.getInstance().player;
if (player == null) return;
var options = Minecraft.getInstance().options;
var data = player.getPersistentData();
switch (key) {
case GLFW.GLFW_KEY_D -> data.putDouble("move_left", state);
case GLFW.GLFW_KEY_A -> data.putDouble("move_right", state);
case GLFW.GLFW_KEY_W -> data.putDouble("move_forward", state);
case GLFW.GLFW_KEY_S -> data.putDouble("move_backward", state);
}
if (key == options.keyLeft.getKey().getValue()) {
data.putDouble("move_left", state);
} else if (key == options.keyRight.getKey().getValue()) {
data.putDouble("move_right", state);
} else if (key == options.keyUp.getKey().getValue()) {
data.putDouble("move_forward", state);
} else if (key == options.keyDown.getKey().getValue()) {
data.putDouble("move_backward", state);
}
@SubscribeEvent
public static void onKeyPressed(InputEvent.Key event) {
if (notInGame()) return;
handleDroneMove(key, state, player);
}
Player player = Minecraft.getInstance().player;
if (player == null) return;
if (player.isSpectator()) return;
private static void handleDroneMove(int key, int state, Player player) {
ItemStack stack = player.getMainHandItem();
if (!stack.is(ModItems.MONITOR.get())) return;
if (!stack.getOrCreateTag().getBoolean("Using")) return;
if (!stack.getOrCreateTag().getBoolean("Linked")) return;
setKeyState(event);
var options = Minecraft.getInstance().options;
int key = event.getKey();
if (key == Minecraft.getInstance().options.keyJump.getKey().getValue()) {
handleDoubleJump(player);
if (key == options.keyLeft.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, state == 1));
} else if (key == options.keyRight.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, state == 1));
} else if (key == options.keyUp.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(2, state == 1));
} else if (key == options.keyDown.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(3, state == 1));
} else if (key == options.keyJump.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(4, state == 1));
} else if (key == options.keyShift.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(5, state == 1));
}
}

View file

@ -82,91 +82,6 @@ public class ModKeyMappings {
}
};
public static final KeyMapping FORWARD = new KeyMapping("key.superbwarfare.forward", GLFW.GLFW_KEY_W, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(2, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(2, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping BACKWARD = new KeyMapping("key.superbwarfare.backward", GLFW.GLFW_KEY_S, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(3, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(3, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping LEFT = new KeyMapping("key.superbwarfare.left", GLFW.GLFW_KEY_A, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping RIGHT = new KeyMapping("key.superbwarfare.right", GLFW.GLFW_KEY_D, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping UP = new KeyMapping("key.superbwarfare.up", GLFW.GLFW_KEY_SPACE, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(4, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(4, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping DOWN = new KeyMapping("key.superbwarfare.down", GLFW.GLFW_KEY_LEFT_SHIFT, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(5, true));
} else if (isDownOld != isDown) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(5, false));
}
isDownOld = isDown;
}
};
public static final KeyMapping BREATH = new KeyMapping("key.superbwarfare.breath", GLFW.GLFW_KEY_LEFT_CONTROL, "key.categories.superbwarfare") {
private boolean isDownOld = false;
@ -189,12 +104,6 @@ public class ModKeyMappings {
event.register(SENSITIVITY_INCREASE);
event.register(SENSITIVITY_REDUCE);
event.register(INTERACT);
event.register(FORWARD);
event.register(BACKWARD);
event.register(LEFT);
event.register(RIGHT);
event.register(UP);
event.register(DOWN);
event.register(BREATH);
}
@ -208,12 +117,6 @@ public class ModKeyMappings {
SENSITIVITY_INCREASE.consumeClick();
SENSITIVITY_REDUCE.consumeClick();
INTERACT.consumeClick();
FORWARD.consumeClick();
BACKWARD.consumeClick();
LEFT.consumeClick();
RIGHT.consumeClick();
UP.consumeClick();
DOWN.consumeClick();
BREATH.consumeClick();
}
}

View file

@ -276,12 +276,6 @@
"key.superbwarfare.sensitivity_increase": "Increase Sensitivity",
"key.superbwarfare.sensitivity_reduce": "Reduce Sensitivity",
"key.superbwarfare.interact": "Interact",
"key.superbwarfare.forward": "Forward",
"key.superbwarfare.backward": "Backward",
"key.superbwarfare.left": "Left",
"key.superbwarfare.right": "Right",
"key.superbwarfare.up": "Up",
"key.superbwarfare.down": "Down",
"key.superbwarfare.breath": "Breathe",
"effect.superbwarfare.shock": "Shock",

View file

@ -276,12 +276,6 @@
"key.superbwarfare.sensitivity_increase": "增加灵敏度",
"key.superbwarfare.sensitivity_reduce": "减少灵敏度",
"key.superbwarfare.interact": "交互",
"key.superbwarfare.forward": "向前移动",
"key.superbwarfare.backward": "向后移动",
"key.superbwarfare.left": "向左移动",
"key.superbwarfare.right": "向右移动",
"key.superbwarfare.up": "上升",
"key.superbwarfare.down": "下降",
"key.superbwarfare.breath": "屏息",
"effect.superbwarfare.shock": "电击",