summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
author alemi <me@alemi.dev>2023-02-19 20:20:31 +0100
committer alemi <me@alemi.dev>2023-02-19 20:20:31 +0100
commit627150b57049aa321c8d4dfe17824c7867ef6bc9 (patch)
tree36f37fa97a0fa314667f6e378e3a2929db7a50db /src/main
parentbad0ff82c93c81f372889b3236f07b255514721c (diff)
feat: initial boatfly, but kinda broken
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/ftbsc/bscv/BoSCoVicino.java1
-rw-r--r--src/main/java/ftbsc/bscv/modules/motion/BoatFly.java59
2 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/ftbsc/bscv/BoSCoVicino.java b/src/main/java/ftbsc/bscv/BoSCoVicino.java
index 60735c3..c5c397c 100644
--- a/src/main/java/ftbsc/bscv/BoSCoVicino.java
+++ b/src/main/java/ftbsc/bscv/BoSCoVicino.java
@@ -72,6 +72,7 @@ public class BoSCoVicino implements ICommons {
BoSCoVicino.mods.add(new AutoFish(cfg, dp).done(cfg));
BoSCoVicino.mods.add(new AutoTool(cfg, dp).done(cfg));
BoSCoVicino.mods.add(new Freecam(cfg, dp).done(cfg));
+ BoSCoVicino.mods.add(new BoatFly(cfg, dp).done(cfg));
BoSCoVicino.spec = cfg.build();
diff --git a/src/main/java/ftbsc/bscv/modules/motion/BoatFly.java b/src/main/java/ftbsc/bscv/modules/motion/BoatFly.java
new file mode 100644
index 0000000..3724c72
--- /dev/null
+++ b/src/main/java/ftbsc/bscv/modules/motion/BoatFly.java
@@ -0,0 +1,59 @@
+package ftbsc.bscv.modules.motion;
+
+import com.mojang.brigadier.CommandDispatcher;
+import com.mojang.brigadier.arguments.DoubleArgumentType;
+
+import ftbsc.bscv.ICommons;
+import ftbsc.bscv.modules.Module;
+import ftbsc.bscv.tools.Keyboard;
+import net.minecraft.command.CommandSource;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.BoatEntity;
+import net.minecraft.util.math.vector.Vector2f;
+import net.minecraftforge.common.ForgeConfigSpec;
+import net.minecraftforge.event.TickEvent;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+
+public class BoatFly extends Module implements ICommons {
+
+ public final ForgeConfigSpec.ConfigValue<Double> speed;
+ public final ForgeConfigSpec.ConfigValue<Double> rise;
+
+ public BoatFly(ForgeConfigSpec.Builder builder, CommandDispatcher<CommandSource> dispatcher) {
+ super("BoatFly", Group.MOTION, builder, dispatcher);
+
+ this.speed = this.option(
+ "speed", "magnitude of boat movement", 1.,
+ DoubleArgumentType.doubleArg(), Double.class,
+ builder, dispatcher
+ );
+
+ this.rise = this.option(
+ "rise", "vertical speed", 0.5,
+ DoubleArgumentType.doubleArg(), Double.class,
+ builder, dispatcher
+ );
+ }
+
+ @SubscribeEvent
+ public void onTick(TickEvent.ClientTickEvent event) {
+ // if (event.phase == Phase.END) return;
+ if (MC.player == null) {
+ this.disable();
+ return;
+ }
+ Entity vehicle = MC.player.getVehicle();
+ if (vehicle == null) return;
+ if (vehicle instanceof BoatEntity) {
+
+ }
+
+ if (Keyboard.isMoving()) {
+ Vector2f motion = MC.player.input.getMoveVector();
+ double rise = MC.options.keyJump.isDown() ? this.rise.get() : 0.;
+ double speed = this.speed.get();
+ vehicle.setDeltaMovement(motion.x * speed, rise, motion.y * speed);
+ }
+ }
+
+}