From b28f0b7bb0cd10fc3318cd24709c22430aa16270 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sat, 4 Oct 2025 15:58:03 +1300 Subject: lot of shit --- .../arslaansmagichax/modules/Module.java | 44 ++++++++++++++++++++++ .../arslaansmagichax/modules/ModuleManager.java | 27 +++++++++++++ .../arslaansmagichax/modules/impl/Flight.java | 25 ++++++++++++ .../arslaansmagichax/modules/impl/NoFall.java | 24 ++++++++++++ .../arslaansmagichax/modules/impl/Waterwalk.java | 27 +++++++++++++ 5 files changed, 147 insertions(+) create mode 100644 src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/Module.java create mode 100644 src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java create mode 100644 src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java create mode 100644 src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/NoFall.java create mode 100644 src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Waterwalk.java (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules') 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 modules = new ArrayList<>(); + public static ModuleManager INSTANCE = new ModuleManager(); + public void register(Module module) { + modules.add(module); + } + + public static List getAllModules() { + return modules; + } + + public static List 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 -- cgit v1.2.3