Improved .aax by removing it and making .ghost

This commit is contained in:
Cloudburst
2021-06-14 17:47:05 +02:00
parent 43b58a4cda
commit ecb79397c0
8 changed files with 51 additions and 147 deletions

View File

@@ -42,7 +42,7 @@ Also includes unmerged PRs.
- SpawnProofer - SpawnProofer
## Commands ## 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)) - `.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` - `.save-skin`
- `.heads` - `.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)) - `.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 ## 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)) - 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)) - CPS HUD (Ported from [AuroraKeystrokes](https://github.com/LambdAurora/AuroraKeystrokes/tree/1.16/src/main/java/me/lambdaurora/keystrokes))

View File

@@ -63,7 +63,7 @@ public class MeteorRejectsAddon extends MeteorAddon {
modules.add(new SpawnProofer()); modules.add(new SpawnProofer());
Commands commands = Commands.get(); Commands commands = Commands.get();
commands.add(new AntiAntiXrayCommand()); commands.add(new GhostCommand());
commands.add(new GiveCommand()); commands.add(new GiveCommand());
commands.add(new SaveSkinCommand()); commands.add(new SaveSkinCommand());
commands.add(new HeadsCommand()); commands.add(new HeadsCommand());

View File

@@ -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<RefreshingJob> jobs = new ArrayList<>();
public static void scanForFake(int rad, long delayInMS) {
RefreshingJob rfj = new RefreshingJob(new Runner(rad, delayInMS));
jobs.add(rfj);
}
}

View File

@@ -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};
}

View File

@@ -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;
}
}

View File

@@ -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();
}
}
}
}
}
}

View File

@@ -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<CommandSource> builder) {
builder.executes(ctx -> {
AntiAntiXray.scanForFake(Config.rad, Config.delay);
info("Refreshing blocks");
return SINGLE_SUCCESS;
});
}
}

View File

@@ -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<CommandSource> 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);
}
}
}