From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Cryptite Date: Mon, 10 Apr 2023 08:46:54 -0500 Subject: [PATCH] AntiXray Bypass diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java index cab91880a08c6fdc545804911d295e0f24f4d983..f90f27d9d9a4043198c33d65efa7068b76b58818 100644 --- a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java +++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java @@ -163,6 +163,7 @@ public final class ChunkPacketBlockControllerAntiXray extends ChunkPacketBlockCo @Override public boolean shouldModify(ServerPlayer player, LevelChunk chunk) { + if (player.getBukkitEntity().hasAntiXrayBypass()) return false; // Slice return !usePermission || !player.getBukkitEntity().hasPermission("paper.antixray.bypass"); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 25e05ddac526df4ecc532db1c31dd60ddb7cc712..41b3d1377393e4d27da51d1f4ede0c625eef29eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -180,6 +180,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit private long lastSaveTime; // Paper end + private boolean antiXrayBypass; // Slice public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); @@ -2741,6 +2742,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end + // Slice start + public boolean hasAntiXrayBypass() { + return this.antiXrayBypass; + } + + @Override + public void toggleAntiXrayBypass(boolean bypass) { + this.antiXrayBypass = bypass; + } + // Slice end + @Override public void updateCommands() { if (this.getHandle().connection == null) return;