Improved .aax by removing it and making .ghost
This commit is contained in:
@@ -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))
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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};
|
||||
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
48
src/main/java/cloudburst/rejects/commands/GhostCommand.java
Normal file
48
src/main/java/cloudburst/rejects/commands/GhostCommand.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user