移除无人机操控按键

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) { private static void setKeyState(InputEvent.Key event) {
int key = event.getKey(); int key = event.getKey();
int state; int state;
@ -151,28 +167,42 @@ public class ClickHandler {
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
var options = Minecraft.getInstance().options;
var data = player.getPersistentData(); var data = player.getPersistentData();
switch (key) { if (key == options.keyLeft.getKey().getValue()) {
case GLFW.GLFW_KEY_D -> data.putDouble("move_left", state); data.putDouble("move_left", state);
case GLFW.GLFW_KEY_A -> data.putDouble("move_right", state); } else if (key == options.keyRight.getKey().getValue()) {
case GLFW.GLFW_KEY_W -> data.putDouble("move_forward", state); data.putDouble("move_right", state);
case GLFW.GLFW_KEY_S -> data.putDouble("move_backward", 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);
} }
handleDroneMove(key, state, player);
} }
@SubscribeEvent private static void handleDroneMove(int key, int state, Player player) {
public static void onKeyPressed(InputEvent.Key event) { ItemStack stack = player.getMainHandItem();
if (notInGame()) return; if (!stack.is(ModItems.MONITOR.get())) return;
if (!stack.getOrCreateTag().getBoolean("Using")) return;
if (!stack.getOrCreateTag().getBoolean("Linked")) return;
Player player = Minecraft.getInstance().player; var options = Minecraft.getInstance().options;
if (player == null) return;
if (player.isSpectator()) return;
setKeyState(event); if (key == options.keyLeft.getKey().getValue()) {
ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, state == 1));
int key = event.getKey(); } else if (key == options.keyRight.getKey().getValue()) {
if (key == Minecraft.getInstance().options.keyJump.getKey().getValue()) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, state == 1));
handleDoubleJump(player); } 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") { public static final KeyMapping BREATH = new KeyMapping("key.superbwarfare.breath", GLFW.GLFW_KEY_LEFT_CONTROL, "key.categories.superbwarfare") {
private boolean isDownOld = false; private boolean isDownOld = false;
@ -189,12 +104,6 @@ public class ModKeyMappings {
event.register(SENSITIVITY_INCREASE); event.register(SENSITIVITY_INCREASE);
event.register(SENSITIVITY_REDUCE); event.register(SENSITIVITY_REDUCE);
event.register(INTERACT); event.register(INTERACT);
event.register(FORWARD);
event.register(BACKWARD);
event.register(LEFT);
event.register(RIGHT);
event.register(UP);
event.register(DOWN);
event.register(BREATH); event.register(BREATH);
} }
@ -208,12 +117,6 @@ public class ModKeyMappings {
SENSITIVITY_INCREASE.consumeClick(); SENSITIVITY_INCREASE.consumeClick();
SENSITIVITY_REDUCE.consumeClick(); SENSITIVITY_REDUCE.consumeClick();
INTERACT.consumeClick(); INTERACT.consumeClick();
FORWARD.consumeClick();
BACKWARD.consumeClick();
LEFT.consumeClick();
RIGHT.consumeClick();
UP.consumeClick();
DOWN.consumeClick();
BREATH.consumeClick(); BREATH.consumeClick();
} }
} }

View file

@ -143,7 +143,7 @@ public class CustomExplosion extends Explosion {
xDistance /= distance; xDistance /= distance;
yDistance /= distance; yDistance /= distance;
zDistance /= distance; zDistance /= distance;
double seenPercent = Mth.clamp(getSeenPercent(position, entity),0.25,Double.POSITIVE_INFINITY); double seenPercent = Mth.clamp(getSeenPercent(position, entity), 0.25, Double.POSITIVE_INFINITY);
double damagePercent = (1.0D - distanceRate) * seenPercent; double damagePercent = (1.0D - distanceRate) * seenPercent;
double damageFinal = (damagePercent * damagePercent + damagePercent) / 2.0D * damage; double damageFinal = (damagePercent * damagePercent + damagePercent) / 2.0D * damage;

View file

@ -276,12 +276,6 @@
"key.superbwarfare.sensitivity_increase": "Increase Sensitivity", "key.superbwarfare.sensitivity_increase": "Increase Sensitivity",
"key.superbwarfare.sensitivity_reduce": "Reduce Sensitivity", "key.superbwarfare.sensitivity_reduce": "Reduce Sensitivity",
"key.superbwarfare.interact": "Interact", "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", "key.superbwarfare.breath": "Breathe",
"effect.superbwarfare.shock": "Shock", "effect.superbwarfare.shock": "Shock",

View file

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