From 3c4a9f4ec6c261eae8d1e467eb62429b681be5d0 Mon Sep 17 00:00:00 2001 From: DonKisser <itsmetomtom@protonmail.com> Date: Thu, 26 Dec 2024 14:37:32 +0100 Subject: [PATCH] Added new module AttributeSwap.java made from the description by this video https://youtu.be/q99eqD_fBqo --- .../java/pwn/noobs/trouserstreak/Trouser.java | 1 + .../trouserstreak/modules/AttributeSwap.java | 45 +++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 src/main/java/pwn/noobs/trouserstreak/modules/AttributeSwap.java diff --git a/src/main/java/pwn/noobs/trouserstreak/Trouser.java b/src/main/java/pwn/noobs/trouserstreak/Trouser.java index 92587691..d8b34ce7 100644 --- a/src/main/java/pwn/noobs/trouserstreak/Trouser.java +++ b/src/main/java/pwn/noobs/trouserstreak/Trouser.java @@ -68,6 +68,7 @@ public void onInitialize() { Modules.get().add(new BoatKill()); Modules.get().add(new InstantKill()); Modules.get().add(new LecternCrash()); + Modules.get().add(new AttributeSwap()); //Modules.get().add(new -----> And much more <-----()); Modules.get().add(new BookAndQuillDupe()); diff --git a/src/main/java/pwn/noobs/trouserstreak/modules/AttributeSwap.java b/src/main/java/pwn/noobs/trouserstreak/modules/AttributeSwap.java new file mode 100644 index 00000000..0f22a536 --- /dev/null +++ b/src/main/java/pwn/noobs/trouserstreak/modules/AttributeSwap.java @@ -0,0 +1,45 @@ +package pwn.noobs.trouserstreak.modules; + +import pwn.noobs.trouserstreak.Trouser; +import meteordevelopment.meteorclient.events.entity.player.AttackEntityEvent; +import meteordevelopment.meteorclient.events.world.TickEvent; +import meteordevelopment.meteorclient.settings.BoolSetting; +import meteordevelopment.meteorclient.settings.IntSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.meteorclient.utils.player.InvUtils; +import meteordevelopment.orbit.EventHandler; + +public class AttributeSwap extends Module { + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + private final Setting<Integer> targetSlot = sgGeneral.add(new IntSetting.Builder().name("target-slot").description("The hotbar slot to swap to when attacking.").sliderRange(0, 8).defaultValue(0).build()); + private final Setting<Boolean> swapBack = sgGeneral.add(new BoolSetting.Builder().name("swap-back").description("Swap back to the original slot after a short delay.").defaultValue(true).build()); + private final Setting<Integer> delay = sgGeneral.add(new IntSetting.Builder().name("swap-back-delay").description("Delay in ticks before swapping back to the previous slot.").sliderRange(1, 20).defaultValue(1).visible(swapBack::get).build()); + private int prevSlot = -1; + private int dDelay = 0; + public AttributeSwap() { + super(Trouser.Main, "Attribute Swap", "Tries the Atrribute Swap bug"); + } + @EventHandler + private void onAttack(AttackEntityEvent event) { + if (mc.player == null || mc.world == null) return; + if (swapBack.get()) { + prevSlot = mc.player.getInventory().selectedSlot; + } + InvUtils.swap(targetSlot.get(), false); + if (swapBack.get() && prevSlot != -1) { + dDelay = delay.get(); + } + } + @EventHandler + private void onTick(TickEvent.Pre event) { + if (dDelay > 0) { + dDelay--; + if (dDelay == 0 && prevSlot != -1) { + InvUtils.swap(prevSlot, false); + prevSlot = -1; + } + } + } +}