From cb09deb495cb9ca05c48bb5d08b15b8b1baed8b1 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Fri, 19 Dec 2025 12:42:11 +0200 Subject: [PATCH] Implemented KeyEvent for KeyPreset --- .../java/noppes/npcs/client/key/KeyEvent.java | 23 +++++++++++++++++++ .../noppes/npcs/client/key/KeyPreset.java | 12 +++------- 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 src/main/java/noppes/npcs/client/key/KeyEvent.java diff --git a/src/main/java/noppes/npcs/client/key/KeyEvent.java b/src/main/java/noppes/npcs/client/key/KeyEvent.java new file mode 100644 index 000000000..7dc7cac33 --- /dev/null +++ b/src/main/java/noppes/npcs/client/key/KeyEvent.java @@ -0,0 +1,23 @@ +package noppes.npcs.client.key; + +public class KeyEvent { + public final KeyPreset.PressType type; + public final KeyPreset preset; + public final int keyCode; + public final boolean isMouse; + public final long timestamp; + + public KeyEvent(KeyPreset.PressType type, KeyPreset preset) { + this.type = type; + this.preset = preset; + this.keyCode = preset.keyCode(); + this.isMouse = preset.isMouseKey(); + this.timestamp = System.currentTimeMillis(); + } + + public boolean is(KeyPreset.PressType t) { return this.type == t; } + public boolean isPress() { return is(KeyPreset.PressType.PRESS); } + public boolean isHold() { return is(KeyPreset.PressType.HOLD); } + public boolean isRelease() { return is(KeyPreset.PressType.RELEASE); } + public boolean isSinglePress() { return is(KeyPreset.PressType.SINGLE_PRESS); } +} diff --git a/src/main/java/noppes/npcs/client/key/KeyPreset.java b/src/main/java/noppes/npcs/client/key/KeyPreset.java index 62ec13690..12b135107 100644 --- a/src/main/java/noppes/npcs/client/key/KeyPreset.java +++ b/src/main/java/noppes/npcs/client/key/KeyPreset.java @@ -21,7 +21,7 @@ public class KeyPreset { public String name, description; public boolean shouldConflict = true; - public Consumer task; + public Consumer task; public int pressTime; public boolean isDown; @@ -42,7 +42,7 @@ public class KeyPreset { return this; } - public KeyPreset setTask(Consumer task) { + public KeyPreset setTask(Consumer task) { this.task = task; return this; } @@ -87,7 +87,7 @@ public class KeyPreset { public KeyPreset onAction(PressType... pressTypes) { if (task != null) { for (PressType pressType : pressTypes) - this.task.accept(pressType); + this.task.accept(new KeyEvent(pressType, this)); } return this; } @@ -124,12 +124,6 @@ public class KeyPreset { currentState.clear(); } - //call on the last key added, to load saved presets - public KeyPreset markDone(KeyPresetManager manager) { - manager.load(); - return this; - } - public void writeToNbt(NBTTagCompound c) { c.setTag(name, currentState.writeToNbt()); }