From 22f36bf84239494c3ee7c91466183f488ccf3d8c Mon Sep 17 00:00:00 2001 From: rfresh2 <89827146+rfresh2@users.noreply.github.com> Date: Wed, 29 Jan 2025 17:33:15 -0800 Subject: [PATCH] main hand is default interaction hand --- .../java/com/zenith/feature/world/Input.java | 123 +++++++++++++++++- 1 file changed, 120 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zenith/feature/world/Input.java b/src/main/java/com/zenith/feature/world/Input.java index c2644353..d2b3789e 100644 --- a/src/main/java/com/zenith/feature/world/Input.java +++ b/src/main/java/com/zenith/feature/world/Input.java @@ -2,12 +2,12 @@ import lombok.AccessLevel; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; @Data -@Builder @AllArgsConstructor(access = AccessLevel.PROTECTED) +@NoArgsConstructor public class Input { public boolean pressingForward; public boolean pressingBack; @@ -18,7 +18,11 @@ public class Input { public boolean sprinting; public boolean leftClick; public boolean rightClick; - public boolean clickMainHand; + public boolean clickMainHand = true; + + public static Builder builder() { + return new Builder(); + } public Input(Input in) { this(in.pressingForward, in.pressingBack, in.pressingLeft, in.pressingRight, in.jumping, in.sneaking, in.sprinting, in.leftClick, in.rightClick, in.clickMainHand); @@ -56,4 +60,117 @@ public void reset() { rightClick = false; clickMainHand = true; } + + public String log() { + String out = "Input:"; + // only log true values + if (pressingForward) { + out += " forward"; + } + if (pressingBack) { + out += " back"; + } + if (pressingLeft) { + out += " left"; + } + if (pressingRight) { + out += " right"; + } + if (jumping) { + out += " jump"; + } + if (sneaking) { + out += " sneak"; + } + if (sprinting) { + out += " sprint"; + } + + + // but if none are true, log that + if (out.equals("Input:")) { + out += " none"; + } + return out; + } + + public static final class Builder { + private boolean pressingForward; + private boolean pressingBack; + private boolean pressingLeft; + private boolean pressingRight; + private boolean jumping; + private boolean sneaking; + private boolean sprinting; + private boolean leftClick; + private boolean rightClick; + private boolean clickMainHand = true; + + private Builder() {} + + public Builder pressingForward(boolean pressingForward) { + this.pressingForward = pressingForward; + return this; + } + + public Builder pressingBack(boolean pressingBack) { + this.pressingBack = pressingBack; + return this; + } + + public Builder pressingLeft(boolean pressingLeft) { + this.pressingLeft = pressingLeft; + return this; + } + + public Builder pressingRight(boolean pressingRight) { + this.pressingRight = pressingRight; + return this; + } + + public Builder jumping(boolean jumping) { + this.jumping = jumping; + return this; + } + + public Builder sneaking(boolean sneaking) { + this.sneaking = sneaking; + return this; + } + + public Builder sprinting(boolean sprinting) { + this.sprinting = sprinting; + return this; + } + + public Builder leftClick(boolean leftClick) { + this.leftClick = leftClick; + return this; + } + + public Builder rightClick(boolean rightClick) { + this.rightClick = rightClick; + return this; + } + + public Builder clickMainHand(boolean clickMainHand) { + this.clickMainHand = clickMainHand; + return this; + } + + public Input build() { + Input input = new Input(); + input.setPressingForward(pressingForward); + input.setPressingBack(pressingBack); + input.setPressingLeft(pressingLeft); + input.setPressingRight(pressingRight); + input.setJumping(jumping); + input.setSneaking(sneaking); + input.setSprinting(sprinting); + input.setLeftClick(leftClick); + input.setRightClick(rightClick); + input.setClickMainHand(clickMainHand); + return input; + } + } }