Improved .aax by removing it and making .ghost
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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