summaryrefslogtreecommitdiff
path: root/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-10-04 15:58:03 +1300
committerArslaan Pathan <[email protected]>2025-10-04 15:58:03 +1300
commitb28f0b7bb0cd10fc3318cd24709c22430aa16270 (patch)
tree07c33ae8c984d2285e6dc15568ef76668347a52f /src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules
parentb03b9a7014f49b763abd02e91d99be68b48b6c07 (diff)
downloadarslaansmagichax-b28f0b7bb0cd10fc3318cd24709c22430aa16270.tar.xz
arslaansmagichax-b28f0b7bb0cd10fc3318cd24709c22430aa16270.zip
lot of shit
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/Module.java44
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java27
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java25
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/NoFall.java24
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Waterwalk.java27
5 files changed, 147 insertions, 0 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/Module.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/Module.java
new file mode 100644
index 0000000..8982f49
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/Module.java
@@ -0,0 +1,44 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules;
+
+import net.minecraft.client.MinecraftClient;
+
+public abstract class Module {
+ private final String name;
+ private final String description;
+ public MinecraftClient mc;
+
+ private boolean enabled = false;
+
+ public Module(String name, String description) {
+ this.name = name;
+ this.description = description;
+ this.mc = MinecraftClient.getInstance();
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void toggle() {
+ enabled = !enabled;
+ if (enabled) onEnable();
+ else onDisable();
+ }
+
+ public void setEnabled(boolean state) {
+ if (enabled != state) toggle();
+ }
+
+ protected void onEnable() {}
+ protected void onDisable() {}
+
+ public void tick() {}
+} \ No newline at end of file
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
new file mode 100644
index 0000000..2cea608
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
@@ -0,0 +1,27 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+public class ModuleManager {
+ private static List<Module> modules = new ArrayList<>();
+ public static ModuleManager INSTANCE = new ModuleManager();
+ public void register(Module module) {
+ modules.add(module);
+ }
+
+ public static List<Module> getAllModules() {
+ return modules;
+ }
+
+ public static List<Module> getEnabledModules() {
+ return modules.stream().filter(Module::isEnabled).collect(Collectors.toList());
+ }
+
+ public static void tick() {
+ for (Module module : modules) {
+ module.tick();
+ }
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
new file mode 100644
index 0000000..4c49a26
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
@@ -0,0 +1,25 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+
+public class Flight extends Module {
+ public Flight() {
+ super("Flight", "Enables creative flight in survival.");
+ }
+
+ @Override
+ protected void onEnable() {
+ if (mc.player != null) {
+ mc.player.getAbilities().allowFlying = true;
+ mc.player.getAbilities().flying = true;
+ }
+ }
+
+ @Override
+ protected void onDisable() {
+ if (mc.player != null) {
+ mc.player.getAbilities().allowFlying = false;
+ mc.player.getAbilities().flying = false;
+ }
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/NoFall.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/NoFall.java
new file mode 100644
index 0000000..9fe8725
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/NoFall.java
@@ -0,0 +1,24 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket;
+
+public class NoFall extends Module {
+ public NoFall() {
+ super("NoFall", "Negates fall damage.");
+ }
+
+ @Override
+ public void tick() {
+ if (this.isEnabled()) {
+ if (mc.player != null) {
+ if (!mc.player.isOnGround() && mc.player.fallDistance > 3) {
+ // magic hax
+ PlayerMoveC2SPacket packet = new PlayerMoveC2SPacket.Full(mc.player.getX(), mc.player.getY() + 0.000000001, mc.player.getZ(),
+ mc.player.getYaw(), mc.player.getPitch(), false, mc.player.horizontalCollision);
+ mc.player.networkHandler.sendPacket(packet);
+ }
+ }
+ }
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Waterwalk.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Waterwalk.java
new file mode 100644
index 0000000..43ab16e
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Waterwalk.java
@@ -0,0 +1,27 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.block.Blocks;
+import net.minecraft.util.math.BlockPos;
+
+public class Waterwalk extends Module {
+ public Waterwalk() {
+ super("Waterwalk", "Allows you to walk on water.");
+ }
+
+ @Override
+ public void tick() {
+ if (!this.isEnabled() || mc.player == null) return;
+
+ BlockPos blockBelow = mc.player.getBlockPos().down();
+
+ if (mc.world.getBlockState(blockBelow).isOf(Blocks.WATER)) {
+ if (mc.player.getVelocity().y < 0) {
+ mc.player.setVelocity(mc.player.getVelocity().x, 0.0, mc.player.getVelocity().z);
+
+ if (!mc.player.isJumping()) mc.player.setPos(mc.player.getX(), Math.floor(mc.player.getY()), mc.player.getZ());
+ }
+ mc.player.setOnGround(true);
+ }
+ }
+} \ No newline at end of file