From 423efca73da8d79c9f0be47fbbf92aaeb2debecd Mon Sep 17 00:00:00 2001 From: Cryptite Date: Sun, 6 Nov 2022 19:06:58 -0600 Subject: [PATCH] AntiXray bypassing --- build.gradle.kts | 6 +-- patches/api/0012-AntiXray-Bypass.patch | 21 ++++++++++ patches/server/0026-AntiXray-Bypass.patch | 48 +++++++++++++++++++++++ 3 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 patches/api/0012-AntiXray-Bypass.patch create mode 100644 patches/server/0026-AntiXray-Bypass.patch diff --git a/build.gradle.kts b/build.gradle.kts index 3ff3b4f37..9fd9502fe 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -78,7 +78,6 @@ tasks.generateDevelopmentBundle { libraryRepositories.set( listOf( "https://repo.maven.apache.org/maven2/", - "https://ysera.dyndns.org:444/releases", // This should be a repo hosting your API (in this example, 'com.example.paperfork:slice-api'), paperMavenPublicUrl ) ) @@ -90,9 +89,8 @@ allprojects { publishing { repositories { maven { - name = "Ysera" - url = uri("https://ysera.dyndns.org:444/releases") - // See Gradle docs for how to provide credentials to PasswordCredentials + name = "jitpack" + url = uri("https://jitpack.io") // https://docs.gradle.org/current/samples/sample_publishing_credentials.html credentials(PasswordCredentials::class) } diff --git a/patches/api/0012-AntiXray-Bypass.patch b/patches/api/0012-AntiXray-Bypass.patch new file mode 100644 index 000000000..463b8d02d --- /dev/null +++ b/patches/api/0012-AntiXray-Bypass.patch @@ -0,0 +1,21 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Cryptite +Date: Sun, 6 Nov 2022 08:29:18 -0600 +Subject: [PATCH] AntiXray Bypass + + +diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java +index 6cd0b10d1dc4506cfb1e4db5e1260cb705566cec..b102687a9c6920b78d284f0531d2d80d6bf86a96 100644 +--- a/src/main/java/org/bukkit/entity/Player.java ++++ b/src/main/java/org/bukkit/entity/Player.java +@@ -2493,6 +2493,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + */ + boolean hasResourcePack(); + ++ // Slice start ++ void toggleAntiXrayBypass(boolean bypass); ++ // Slice end ++ + /** + * Gets a copy of this players profile + * @return The players profile object diff --git a/patches/server/0026-AntiXray-Bypass.patch b/patches/server/0026-AntiXray-Bypass.patch new file mode 100644 index 000000000..d6343137c --- /dev/null +++ b/patches/server/0026-AntiXray-Bypass.patch @@ -0,0 +1,48 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Cryptite +Date: Sun, 6 Nov 2022 08:29:18 -0600 +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 8e2baa21f71e7105a8e72cba4ded6aa99370fca0..b295dcb214d54cd049e0b8e59c02b165714eacdd 100644 +--- a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java ++++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java +@@ -161,6 +161,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 df22a1407f3d1e93f0f1d50b5dbec3df12b106d2..2e7c1a99697c31f005a62b5d663708c9d4bc85df 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -174,6 +174,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); +@@ -2432,6 +2433,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;