diff --git a/patches/server/0001-Kaiiju-Rebranding.patch b/patches/server/0001-Kaiiju-Rebranding.patch index 66cbd63..e9c05d4 100644 --- a/patches/server/0001-Kaiiju-Rebranding.patch +++ b/patches/server/0001-Kaiiju-Rebranding.patch @@ -133,10 +133,10 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..52fc6bb99f6024273c7438d01314b576 stringbuilder.append(CrashReport.DATE_TIME_FORMATTER.format(ZonedDateTime.now())); stringbuilder.append("\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 61a7d2728c6f4b936dc8f1031950374f2c35cac7..44e014e98bfbbae40e882ca2f80446e9c1062800 100644 +index f5721f6d719b7055fdccc81d5e67ed758e90cb10..0696ad97437726fd6a13badfe7db0617dfbfb1ad 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -998,7 +998,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop +Date: Fri, 31 Mar 2023 01:13:35 +0300 +Subject: [PATCH] Kaiiju Exploit Configuration + + +diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java +index 7da7e0aeb5eac9ac73a3570e716f1ceb11fd7027..75f9fc471069507168ad23092bc77e0d1597fd1d 100644 +--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java ++++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java +@@ -192,4 +192,7 @@ public class KaiijuConfig { + } + return builder.build(); + } ++ ++ private static void exploitSettings() { ++ } + } +diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java +index dd4c3ca77acb3aeefc69b8eb948b8b202ff87a19..0555d436e38c388578e563a9120ebfe5334ae2c2 100644 +--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java ++++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java +@@ -122,4 +122,7 @@ public class KaiijuWorldConfig { + final Map value = getMap("world-settings." + worldName + "." + path, null); + return value.isEmpty() ? fallback : value; + } ++ ++ private void exploitSettings() { ++ } + } +\ No newline at end of file diff --git a/patches/server/0004-Purpur-Exploit-Toggleable-Sand-Duping.patch b/patches/server/0004-Purpur-Exploit-Toggleable-Sand-Duping.patch new file mode 100644 index 0000000..4093255 --- /dev/null +++ b/patches/server/0004-Purpur-Exploit-Toggleable-Sand-Duping.patch @@ -0,0 +1,43 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Sofiane H. Djerbi" <46628754+kugge@users.noreply.github.com> +Date: Fri, 31 Mar 2023 01:21:52 +0300 +Subject: [PATCH] Purpur Exploit Toggleable Sand Duping + + +diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java +index 0555d436e38c388578e563a9120ebfe5334ae2c2..410bb2832140648ab0b59a35545a27f7d78c7222 100644 +--- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java ++++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java +@@ -123,6 +123,9 @@ public class KaiijuWorldConfig { + return value.isEmpty() ? fallback : value; + } + ++ public boolean fixSandDuping = true; ++ + private void exploitSettings() { ++ fixSandDuping = getBoolean("exploit.fix-sand-duping", fixSandDuping); + } + } +\ No newline at end of file +diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +index c8d125955754e27da54d95fb5b1cea39ca54b618..f0a15acb604bb636bd49c0ce931053541986797d 100644 +--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java ++++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +@@ -131,7 +131,7 @@ public class FallingBlockEntity extends Entity { + @Override + public void tick() { + // Paper start - fix sand duping +- if (this.isRemoved()) { ++ if (this.level.kaiijuConfig.fixSandDuping && this.isRemoved()) { // Kaiiju + return; + } + // Paper end - fix sand duping +@@ -148,7 +148,7 @@ public class FallingBlockEntity extends Entity { + this.move(MoverType.SELF, this.getDeltaMovement()); + + // Paper start - fix sand duping +- if (this.isRemoved()) { ++ if (this.level.kaiijuConfig.fixSandDuping && this.isRemoved()) { // Kaiiju + return; + } + // Paper end - fix sand duping diff --git a/patches/server/0003-Kaiiju-RegionFormat-Configuration.patch b/patches/server/0005-Kaiiju-RegionFormat-Configuration.patch similarity index 84% rename from patches/server/0003-Kaiiju-RegionFormat-Configuration.patch rename to patches/server/0005-Kaiiju-RegionFormat-Configuration.patch index 5cb526c..6c25179 100644 --- a/patches/server/0003-Kaiiju-RegionFormat-Configuration.patch +++ b/patches/server/0005-Kaiiju-RegionFormat-Configuration.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Kaiiju RegionFormat Configuration diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java -index 7da7e0aeb5eac9ac73a3570e716f1ceb11fd7027..b86c90cc3601e666998cfa12f44515f605bb53eb 100644 +index 75f9fc471069507168ad23092bc77e0d1597fd1d..6af036b2d11aa74bb4a371c03bd2e637f49ed166 100644 --- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java +++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuConfig.java -@@ -192,4 +192,10 @@ public class KaiijuConfig { - } - return builder.build(); +@@ -195,4 +195,10 @@ public class KaiijuConfig { + + private static void exploitSettings() { } + + public static boolean regionFormatDebug = false; @@ -20,7 +20,7 @@ index 7da7e0aeb5eac9ac73a3570e716f1ceb11fd7027..b86c90cc3601e666998cfa12f44515f6 + } } diff --git a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java -index dd4c3ca77acb3aeefc69b8eb948b8b202ff87a19..b194f4dbebcbbf5bb4e026a0169e2d24806b46ec 100644 +index 410bb2832140648ab0b59a35545a27f7d78c7222..421d21d3f1126101e66d54894a39b657de7d1590 100644 --- a/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java +++ b/src/main/java/dev/kaiijumc/kaiiju/KaiijuWorldConfig.java @@ -4,9 +4,11 @@ import org.apache.commons.lang.BooleanUtils; @@ -35,9 +35,9 @@ index dd4c3ca77acb3aeefc69b8eb948b8b202ff87a19..b194f4dbebcbbf5bb4e026a0169e2d24 import static dev.kaiijumc.kaiiju.KaiijuConfig.log; -@@ -122,4 +124,23 @@ public class KaiijuWorldConfig { - final Map value = getMap("world-settings." + worldName + "." + path, null); - return value.isEmpty() ? fallback : value; +@@ -128,4 +130,23 @@ public class KaiijuWorldConfig { + private void exploitSettings() { + fixSandDuping = getBoolean("exploit.fix-sand-duping", fixSandDuping); } + + public List regionFormatList = Arrays.asList("ANVIL", "LINEAR"); @@ -61,10 +61,10 @@ index dd4c3ca77acb3aeefc69b8eb948b8b202ff87a19..b194f4dbebcbbf5bb4e026a0169e2d24 } \ No newline at end of file diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 3d9ae7eb37e98fb139240ca253e7de7adeb07b8d..10b4b4202f6b4cae702a3c66123be06358a4cdc3 100644 +index 0696ad97437726fd6a13badfe7db0617dfbfb1ad..a7233bcc99e9bf148348ebb36bbb15b2eadb381f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -896,7 +896,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop