diff --git a/README.md b/README.md index 8b57901..a6c1a8b 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Also includes unmerged PRs. - SpawnProofer ## Commands -- `.anti-anti-xray` +- `.ghost` (Ported from [AntiGhost](https://github.com/gbl/AntiGhost/blob/fabric_1_16/src/main/java/de/guntram/mcmod/antighost/AntiGhost.java)) - `.give` (Some preset were taken from [BleackHack](https://github.com/BleachDrinker420/BleachHack/blob/master/BleachHack-Fabric-1.17/src/main/java/bleach/hack/command/commands/CmdGive.java)) - `.save-skin` - `.heads` @@ -52,6 +52,6 @@ Also includes unmerged PRs. - `.terrain-export` (Ported from [BleachHack](https://github.com/BleachDrinker420/BleachHack/blob/master/BleachHack-Fabric-1.17/src/main/java/bleach/hack/command/commands/CmdTerrain.java)) ## Other -- "Meteor Rounded" (taken from an [unmerged pr](https://github.com/MeteorDevelopment/meteor-client/pull/619)) +- "Meteor Rounded" theme (taken from an [unmerged pr](https://github.com/MeteorDevelopment/meteor-client/pull/619)) - Apple, Exp & Crystal HUD (taken from an [unmerged pr](https://github.com/MeteorDevelopment/meteor-client/pull/757)) - CPS HUD (Ported from [AuroraKeystrokes](https://github.com/LambdAurora/AuroraKeystrokes/tree/1.16/src/main/java/me/lambdaurora/keystrokes)) diff --git a/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java b/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java index 66ad391..8dff8c9 100644 --- a/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java +++ b/src/main/java/cloudburst/rejects/MeteorRejectsAddon.java @@ -63,7 +63,7 @@ public class MeteorRejectsAddon extends MeteorAddon { modules.add(new SpawnProofer()); Commands commands = Commands.get(); - commands.add(new AntiAntiXrayCommand()); + commands.add(new GhostCommand()); commands.add(new GiveCommand()); commands.add(new SaveSkinCommand()); commands.add(new HeadsCommand()); diff --git a/src/main/java/cloudburst/rejects/aax/AntiAntiXray.java b/src/main/java/cloudburst/rejects/aax/AntiAntiXray.java deleted file mode 100644 index fa376ca..0000000 --- a/src/main/java/cloudburst/rejects/aax/AntiAntiXray.java +++ /dev/null @@ -1,16 +0,0 @@ -package cloudburst.rejects.aax; - -import java.util.ArrayList; -import java.util.List; - -import cloudburst.rejects.aax.Etc.*; - -public class AntiAntiXray { - public static List jobs = new ArrayList<>(); - - public static void scanForFake(int rad, long delayInMS) { - RefreshingJob rfj = new RefreshingJob(new Runner(rad, delayInMS)); - jobs.add(rfj); - } - -} \ No newline at end of file diff --git a/src/main/java/cloudburst/rejects/aax/Etc/Config.java b/src/main/java/cloudburst/rejects/aax/Etc/Config.java deleted file mode 100644 index 74b0927..0000000 --- a/src/main/java/cloudburst/rejects/aax/Etc/Config.java +++ /dev/null @@ -1,19 +0,0 @@ -package cloudburst.rejects.aax.Etc; - -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; - -import java.io.IOException; - -public class Config { - public static int rad = 5; - public static long delay = 1000; - public static boolean scanAll = false; - public static boolean auto = false; - public static int mtreshold = 5; - public static Block[] checkblocks = {Blocks.OBSIDIAN, Blocks.CLAY, Blocks.MOSSY_COBBLESTONE, - Blocks.DIAMOND_ORE, Blocks.REDSTONE_ORE, Blocks.IRON_ORE, Blocks.COAL_ORE, Blocks.LAPIS_ORE, - Blocks.GOLD_ORE, Blocks.EMERALD_ORE, Blocks.NETHER_QUARTZ_ORE}; - - -} diff --git a/src/main/java/cloudburst/rejects/aax/Etc/RefreshingJob.java b/src/main/java/cloudburst/rejects/aax/Etc/RefreshingJob.java deleted file mode 100644 index 96fcb30..0000000 --- a/src/main/java/cloudburst/rejects/aax/Etc/RefreshingJob.java +++ /dev/null @@ -1,19 +0,0 @@ -package cloudburst.rejects.aax.Etc; - -public class RefreshingJob { - public Runner refresher; - public Thread runner; - public boolean done = false; - - public RefreshingJob(Runner refresher) { - this.refresher = refresher; - this.runner = new Thread(refresher); - this.runner.start(); - - } - - public void cancel() { - refresher.isRunning = false; - done = true; - } -} \ No newline at end of file diff --git a/src/main/java/cloudburst/rejects/aax/Etc/Runner.java b/src/main/java/cloudburst/rejects/aax/Etc/Runner.java deleted file mode 100644 index 37d27bb..0000000 --- a/src/main/java/cloudburst/rejects/aax/Etc/Runner.java +++ /dev/null @@ -1,66 +0,0 @@ -package cloudburst.rejects.aax.Etc; - - -import net.minecraft.block.Block; -import net.minecraft.client.MinecraftClient; -import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; -import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket.Action; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Direction; - -public class Runner implements Runnable { - boolean isRunning = true; - long delay; - int rad; - - public Runner(int rad, long delay) { - this.rad = rad; - this.delay = delay; - } - - @Override - public void run() { - MinecraftClient mc = MinecraftClient.getInstance(); - BlockPos pos = mc.player.getBlockPos(); - - - // Blocks that aren't ores but still needs to be checked - Block[] blocks2check = Config.checkblocks; - - for (int cx = -rad; cx <= rad; cx++) { - for (int cy = -rad; cy <= rad; cy++) { - for (int cz = -rad; cz <= rad; cz++) { - if (!isRunning) break; - BlockPos current = new BlockPos(pos.getX() + cx, pos.getY() + cy, pos.getZ() + cz); - if (mc.world.getBlockState(current).getBlock() == null) continue; - Block block = mc.world.getBlockState(current).getBlock(); - - boolean good = Config.scanAll; // cool for else man - - // only check if block is a ore or in blocks2check (obsidian for example) - for (Block block1 : blocks2check) { - if (block.equals(block1)) { - good = true; - break; - } - } - - if (!good) { - continue; - } - - - PlayerActionC2SPacket packet = new PlayerActionC2SPacket(Action.ABORT_DESTROY_BLOCK, current, Direction.UP); - - mc.getNetworkHandler().sendPacket(packet); - - try { - Thread.sleep(delay); - } catch (InterruptedException ignored) { - ignored.printStackTrace(); - } - } - } - } - } -} \ No newline at end of file diff --git a/src/main/java/cloudburst/rejects/commands/AntiAntiXrayCommand.java b/src/main/java/cloudburst/rejects/commands/AntiAntiXrayCommand.java deleted file mode 100644 index bedab78..0000000 --- a/src/main/java/cloudburst/rejects/commands/AntiAntiXrayCommand.java +++ /dev/null @@ -1,24 +0,0 @@ -package cloudburst.rejects.commands; - -import cloudburst.rejects.aax.AntiAntiXray; -import cloudburst.rejects.aax.Etc.Config; -import com.mojang.brigadier.builder.LiteralArgumentBuilder; -import minegame159.meteorclient.systems.commands.Command; -import net.minecraft.command.CommandSource; - -import static com.mojang.brigadier.Command.SINGLE_SUCCESS; - -public class AntiAntiXrayCommand extends Command { - public AntiAntiXrayCommand() { - super("anti-anti-xray", "Circumvent antixray plugin", "aax"); - } - - @Override - public void build(LiteralArgumentBuilder builder) { - builder.executes(ctx -> { - AntiAntiXray.scanForFake(Config.rad, Config.delay); - info("Refreshing blocks"); - return SINGLE_SUCCESS; - }); - } -} diff --git a/src/main/java/cloudburst/rejects/commands/GhostCommand.java b/src/main/java/cloudburst/rejects/commands/GhostCommand.java new file mode 100644 index 0000000..deade18 --- /dev/null +++ b/src/main/java/cloudburst/rejects/commands/GhostCommand.java @@ -0,0 +1,48 @@ +package cloudburst.rejects.commands; + +import com.mojang.brigadier.builder.LiteralArgumentBuilder; +import minegame159.meteorclient.systems.commands.Command; + +import net.minecraft.client.network.ClientPlayNetworkHandler; +import net.minecraft.command.CommandSource; +import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; + +import static com.mojang.brigadier.Command.SINGLE_SUCCESS; + +import com.mojang.brigadier.arguments.IntegerArgumentType; + +public class GhostCommand extends Command { + public GhostCommand() { + super("ghost", "Remove ghost blocks & bypass AntiXray", "aax", "anti-anti-xray"); + } + + @Override + public void build(LiteralArgumentBuilder builder) { + builder.executes(ctx -> { + execute(4); + return SINGLE_SUCCESS; + }); + builder.then(argument("radius", IntegerArgumentType.integer(1)).executes(ctx -> { + int radius = IntegerArgumentType.getInteger(ctx, "radius"); + execute(radius); + return SINGLE_SUCCESS; + })); + } + + private void execute(int radius) { + ClientPlayNetworkHandler conn = mc.getNetworkHandler(); + if (conn == null) + return; + BlockPos pos = mc.player.getBlockPos(); + for (int dx = -radius; dx <= radius; dx++) + for (int dy = -radius; dy <= radius; dy++) + for (int dz = -radius; dz <= radius; dz++) { + PlayerActionC2SPacket packet = new PlayerActionC2SPacket( + PlayerActionC2SPacket.Action.ABORT_DESTROY_BLOCK, + new BlockPos(pos.getX() + dx, pos.getY() + dy, pos.getZ() + dz), Direction.UP); + conn.sendPacket(packet); + } + } +}