summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-10-09 12:04:21 +1300
committerArslaan Pathan <[email protected]>2025-10-09 12:04:21 +1300
commite28913e8c1013008f149fb6dd99f8ff2c1ca2665 (patch)
tree2e767f5d0ec2bd0a8b11c185fd32b8c21b032bb0 /src
parent6eebfc2a7d6a9c59295ebbab572aff91c0ac7051 (diff)
downloadarslaansmagichax-e28913e8c1013008f149fb6dd99f8ff2c1ca2665.tar.xz
arslaansmagichax-e28913e8c1013008f149fb6dd99f8ff2c1ca2665.zip
new modules, module improvements, G U N THE POWER WOLOLO, clickgui improvements
Diffstat (limited to 'src')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java4
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java4
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java7
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GUN.java13
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GravityModifier.java31
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Jetpack.java32
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Speed.java7
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Spider.java7
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/ClickGUIScreen.java5
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/CheckBox.java23
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/ModeBox.java24
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/Slider.java44
12 files changed, 185 insertions, 16 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
index 868ad89..93b296c 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/ArslaansMagicHaxClient.java
@@ -23,6 +23,8 @@ public class ArslaansMagicHaxClient implements ClientModInitializer {
public static Spider spider = new Spider();
public static Speed speed = new Speed();
public static Fullbright fullbright = new Fullbright();
+ public static Jetpack jetpack = new Jetpack();
+ public static GravityModifier gravityModifier = new GravityModifier();
@Override
public void onInitializeClient() {
@@ -47,6 +49,8 @@ public class ArslaansMagicHaxClient implements ClientModInitializer {
ModuleManager.INSTANCE.register(spider);
ModuleManager.INSTANCE.register(speed);
ModuleManager.INSTANCE.register(fullbright);
+ ModuleManager.INSTANCE.register(jetpack);
+ ModuleManager.INSTANCE.register(gravityModifier);
ModuleManager.INSTANCE.registerHUD();
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
index d967274..80176e0 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/ModuleManager.java
@@ -35,12 +35,12 @@ public class ModuleManager {
boolean isPressed = InputUtil.isKeyPressed(client.getWindow().getHandle(), key);
boolean wasPressed = previousKeyState.getOrDefault(module, false);
- // Only toggle on **key down** event (edge detection)
if (isPressed && !wasPressed) {
+ boolean wasEnabled = module.isEnabled(); // use !wasEnabled in the chat message for edge cases e.g. modules that toggle themselves off on enable
module.toggle();
if (!Objects.equals(module.getName(), "ClickGUI")) {
client.player.sendMessage(Text.literal(
- "Toggled module " + module.getName() + " to " + (module.isEnabled() ? "ON" : "OFF")
+ "Toggled module " + module.getName() + " to " + (!wasEnabled ? "ON" : "OFF")
), false);
}
}
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
index 50c4b5e..e48d9a6 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Flight.java
@@ -2,6 +2,7 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.text.Text;
import org.lwjgl.glfw.GLFW;
public class Flight extends Module {
@@ -10,6 +11,12 @@ public class Flight extends Module {
}
@Override
+ protected void onEnable() {
+ if (mc.player == null) return;
+ mc.player.sendMessage(Text.literal("[Flight] It is recommended to use this hack in combination with NoFall."), false);
+ }
+
+ @Override
public void tick() {
if (!this.isEnabled() || mc.player == null) return;
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GUN.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GUN.java
index 44d3544..5080bc6 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GUN.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GUN.java
@@ -3,6 +3,10 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.ArslaansMagicHaxClient;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.minecraft.sound.SoundEvent;
+import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
+import net.minecraft.util.Identifier;
public class GUN extends Module {
public GUN() {
@@ -11,9 +15,18 @@ public class GUN extends Module {
@Override
protected void onEnable() {
+ ArslaansMagicHaxClient.clickGUI.setEnabled(false);
ArslaansMagicHaxClient.noAttackCooldown.setEnabled(true);
ArslaansMagicHaxClient.criticals.setEnabled(true);
ArslaansMagicHaxClient.autoClicker.setEnabled(true);
this.setEnabled(false);
+ if (mc.player != null) {
+ mc.player.sendMessage(Text.literal("[G U N] Enabled NoAttackCooldown, Criticals, AutoClicker"), false);
+ mc.player.sendMessage(Text.literal("[G U N] Disabled ClickGUI & self (this is a macro module)"), false);
+ mc.inGameHud.setTitle(Text.literal("G U N").formatted(Formatting.RED));
+ mc.inGameHud.setSubtitle(Text.literal("THE POWER").formatted(Formatting.YELLOW));
+ mc.player.sendMessage(Text.literal("Tip: when using G U N, if there is no anticheat set AutoClicker mode to NoDelay"), true);
+ mc.player.playSound(SoundEvent.of(Identifier.of("minecraft:entity.evoker.prepare_wololo")), 100, 1);
+ }
}
}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GravityModifier.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GravityModifier.java
new file mode 100644
index 0000000..c01e1e7
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/GravityModifier.java
@@ -0,0 +1,31 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.NumberSetting;
+import net.minecraft.text.Text;
+import net.minecraft.util.math.Vec3d;
+import org.lwjgl.glfw.GLFW;
+
+public class GravityModifier extends Module {
+ private NumberSetting gravity = new NumberSetting("Modifier", -1, 1, 0, 0.01);
+
+ public GravityModifier() {
+ super("Gravity Modifier", "Changes gravity.", GLFW.GLFW_KEY_GRAVE_ACCENT, Category.MOVEMENT);
+ addSetting(gravity);
+ }
+
+ @Override
+ protected void onEnable() {
+ if (mc.player != null) mc.player.sendMessage(Text.literal("[Gravity Modifier] It is recommended to use this hack with NoFall."), false);
+ }
+
+ @Override
+ public void tick() {
+ if (!this.isEnabled() || mc.player == null) return;
+
+ Vec3d velocity = mc.player.getVelocity();
+ Vec3d newVelocity = new Vec3d(velocity.x, velocity.y + gravity.getValue(), velocity.z);
+ mc.player.setVelocity(newVelocity);
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Jetpack.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Jetpack.java
new file mode 100644
index 0000000..f1b87a2
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Jetpack.java
@@ -0,0 +1,32 @@
+package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
+
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.NumberSetting;
+import net.minecraft.text.Text;
+import net.minecraft.util.math.Vec3d;
+
+public class Jetpack extends Module {
+ private NumberSetting speed = new NumberSetting("Thrust Speed", 1, 10, 1, 1);
+
+ public Jetpack() {
+ super("Jetpack", "Turns your jump key into a jetpack.", -1, Category.MOVEMENT);
+ addSetting(speed);
+ }
+
+ @Override
+ protected void onEnable() {
+ if (mc.player == null) return;
+ mc.player.sendMessage(Text.literal("[Jetpack] It is recommended to use this hack in combination with NoFall."), false);
+ }
+
+ @Override
+ public void tick() {
+ if (!this.isEnabled() || mc.player == null) return;
+
+ if (mc.options.jumpKey.isPressed()) {
+ mc.player.setVelocity(new Vec3d(mc.player.getVelocity().x, 0.42 * speed.getValue(), mc.player.getVelocity().z));
+ mc.player.fallDistance = 0;
+ }
+ }
+}
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Speed.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Speed.java
index c70c19b..cbb6092 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Speed.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Speed.java
@@ -4,6 +4,7 @@ import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.BooleanSetting;
import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.NumberSetting;
+import net.minecraft.text.Text;
public class Speed extends Module {
private final NumberSetting speed = new NumberSetting("Speed", 0.1, 2.0, 0.4, 0.05);
@@ -20,6 +21,12 @@ public class Speed extends Module {
}
@Override
+ protected void onEnable() {
+ if (mc.player == null) return;
+ mc.player.sendMessage(Text.literal("[Speed] It is recommended to use this hack in combination with NoFall."), false);
+ }
+
+ @Override
public void tick() {
if (!isEnabled() || mc.player == null) return;
if (!enableWhileSneaking.isEnabled() && mc.player.isSneaking()) return;
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Spider.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Spider.java
index 9ba3e5c..6721e60 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Spider.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/modules/impl/Spider.java
@@ -3,11 +3,18 @@ package net.justlearning.arslaan3102.arslaansmagichax.modules.impl;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Category;
import net.justlearning.arslaan3102.arslaansmagichax.modules.Module;
import net.justlearning.arslaan3102.arslaansmagichax.modules.settings.NumberSetting;
+import net.minecraft.text.Text;
import net.minecraft.util.math.Vec3d;
public class Spider extends Module {
private NumberSetting climbSpeed = new NumberSetting("Climb Speed", 0, 1, 0.2, 0.1);
+ @Override
+ protected void onEnable() {
+ if (mc.player == null) return;
+ mc.player.sendMessage(Text.literal("[Spider] It is recommended to use this hack in combination with NoFall."), false);
+ }
+
public Spider() {
super("Spider", "Allows you to climb walls like a spider.", -1, Category.MOVEMENT);
addSetting(climbSpeed);
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/ClickGUIScreen.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/ClickGUIScreen.java
index 7c66877..7e55d7d 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/ClickGUIScreen.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/ClickGUIScreen.java
@@ -68,6 +68,11 @@ public class ClickGUIScreen extends Screen {
}
@Override
+ public boolean shouldPause() {
+ return false;
+ }
+
+ @Override
public void close() {
super.close();
ArslaansMagicHaxClient.clickGUI.setEnabled(false);
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/CheckBox.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/CheckBox.java
index e6e3ef7..ed97028 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/CheckBox.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/CheckBox.java
@@ -20,10 +20,27 @@ public class CheckBox extends Component {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float deltaTicks) {
- int alpha = isHovered(mouseX, mouseY) ? 230 : 160;
- context.fill(parent.parent.x, parent.parent.y + parent.offset + offset, parent.parent.x + parent.parent.width, parent.parent.y + parent.offset + offset + parent.parent.height, new Color(30, 30, 47, alpha).getRGB());
+ String displayText = booleanSetting.getName() + ": " + booleanSetting.isEnabled();
+ int textWidth = mc.textRenderer.getWidth(displayText);
+ int padding = 5;
+ int boxWidth = Math.max(parent.parent.width, textWidth + (padding * 2));
- context.drawTextWithShadow(mc.textRenderer, Text.literal(booleanSetting.getName() + ": " + booleanSetting.isEnabled()), parent.parent.x + 5, parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2, Color.white.getRGB());
+ int alpha = isHovered(mouseX, mouseY) ? 230 : 160;
+ context.fill(
+ parent.parent.x,
+ parent.parent.y + parent.offset + offset,
+ parent.parent.x + boxWidth,
+ parent.parent.y + parent.offset + offset + parent.parent.height,
+ new Color(30, 30, 47, alpha).getRGB()
+ );
+
+ context.drawTextWithShadow(
+ mc.textRenderer,
+ Text.literal(displayText),
+ parent.parent.x + padding,
+ parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2,
+ Color.white.getRGB()
+ );
}
@Override
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/ModeBox.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/ModeBox.java
index 651cab1..40272bc 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/ModeBox.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/ModeBox.java
@@ -19,10 +19,28 @@ public class ModeBox extends Component {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float deltaTicks) {
- int alpha = isHovered(mouseX, mouseY) ? 230 : 160;
- context.fill(parent.parent.x, parent.parent.y + parent.offset + offset, parent.parent.x + parent.parent.width, parent.parent.y + parent.offset + offset + parent.parent.height, new Color(30, 30, 47, alpha).getRGB());
+ String displayText = modeSetting.getName() + ": " + modeSetting.getMode();
+ int textWidth = mc.textRenderer.getWidth(displayText);
+
+ int padding = 5;
+ int boxWidth = Math.max(parent.parent.width, textWidth + padding * 2);
- context.drawTextWithShadow(mc.textRenderer, Text.literal(modeSetting.getName() + ": " + modeSetting.getMode()), parent.parent.x + 5, parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2, Color.white.getRGB());
+ int alpha = isHovered(mouseX, mouseY) ? 230 : 160;
+ context.fill(
+ parent.parent.x,
+ parent.parent.y + parent.offset + offset,
+ parent.parent.x + boxWidth,
+ parent.parent.y + parent.offset + offset + parent.parent.height,
+ new Color(30, 30, 47, alpha).getRGB()
+ );
+
+ context.drawTextWithShadow(
+ mc.textRenderer,
+ Text.literal(displayText),
+ parent.parent.x + padding, // left padding
+ parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2,
+ Color.white.getRGB()
+ );
}
@Override
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/Slider.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/Slider.java
index ea39ac6..968a2d1 100644
--- a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/Slider.java
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/screens/clickgui/setting/Slider.java
@@ -23,24 +23,52 @@ public class Slider extends Component {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float deltaTicks) {
+ String displayText = numberSetting.getName() + ": " + numberSetting.getValue();
+ int defaultPadding = 5;
+ int boxWidth = parent.parent.width;
+
int alpha = isHovered(mouseX, mouseY) ? 230 : 160;
- context.fill(parent.parent.x, parent.parent.y + parent.offset + offset, parent.parent.x + parent.parent.width, parent.parent.y + parent.offset + offset + parent.parent.height, new Color(30, 30, 47, alpha).getRGB());
- double diff = Math.min(parent.parent.width, Math.max(0, mouseX - parent.parent.x));
- int renderWidth = (int) (parent.parent.width * (numberSetting.getValue() - numberSetting.getMin()) / (numberSetting.getMax() - numberSetting.getMin()));
+ context.fill(
+ parent.parent.x,
+ parent.parent.y + parent.offset + offset,
+ parent.parent.x + boxWidth,
+ parent.parent.y + parent.offset + offset + parent.parent.height,
+ new Color(30, 30, 47, alpha).getRGB()
+ );
+
+ double diff = Math.min(boxWidth, Math.max(0, mouseX - parent.parent.x));
+ int renderWidth = (int) (boxWidth * (numberSetting.getValue() - numberSetting.getMin()) / (numberSetting.getMax() - numberSetting.getMin()));
- context.fill(parent.parent.x, parent.parent.y + parent.offset + offset, parent.parent.x + renderWidth, parent.parent.y + parent.offset + offset + parent.parent.height, new Color(252, 210, 77, 255).getRGB());
+ context.fill(
+ parent.parent.x,
+ parent.parent.y + parent.offset + offset,
+ parent.parent.x + renderWidth,
+ parent.parent.y + parent.offset + offset + parent.parent.height,
+ new Color(252, 210, 77, 255).getRGB()
+ );
if (sliding) {
if (diff == 0) {
numberSetting.setValue(numberSetting.getMin());
+ } else {
+ numberSetting.setValue(roundToPlace((diff / boxWidth) * (numberSetting.getMax() - numberSetting.getMin()) + numberSetting.getMin(), 1));
}
- else {
- numberSetting.setValue(roundToPlace((diff / parent.parent.width) * (numberSetting.getMax() - numberSetting.getMin()) + numberSetting.getMin(), 1));
- }
}
- context.drawTextWithShadow(mc.textRenderer, Text.literal(numberSetting.getName() + ": " + numberSetting.getValue()), parent.parent.x + 5, parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2, Color.white.getRGB());
+ int textWidth = mc.textRenderer.getWidth(displayText);
+ int leftPadding = defaultPadding;
+ if (textWidth + 2 * defaultPadding > boxWidth) {
+ leftPadding = Math.max(2, boxWidth - textWidth - 2);
+ }
+
+ context.drawTextWithShadow(
+ mc.textRenderer,
+ Text.literal(displayText),
+ parent.parent.x + leftPadding,
+ parent.parent.y + parent.offset + offset + (parent.parent.height - mc.textRenderer.fontHeight) / 2,
+ Color.white.getRGB()
+ );
}
@Override