diff --git a/patches/server/0003-Sakura-Configuration-Files.patch b/patches/server/0003-Sakura-Configuration-Files.patch index 04bd94c..58eed98 100644 --- a/patches/server/0003-Sakura-Configuration-Files.patch +++ b/patches/server/0003-Sakura-Configuration-Files.patch @@ -595,10 +595,10 @@ index 0000000000000000000000000000000000000000..94dd734ca4049354f925af1736bda57c +} diff --git a/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java new file mode 100644 -index 0000000000000000000000000000000000000000..7c579c28294452e107aa32eae3d07fde49087436 +index 0000000000000000000000000000000000000000..1bfc36c5dcd3310f91e337112f54b6c5f4b3b560 --- /dev/null +++ b/src/main/java/me/samsuik/sakura/configuration/WorldConfiguration.java -@@ -0,0 +1,236 @@ +@@ -0,0 +1,242 @@ +package me.samsuik.sakura.configuration; + +import com.mojang.logging.LogUtils; @@ -734,6 +734,12 @@ index 0000000000000000000000000000000000000000..7c579c28294452e107aa32eae3d07fde + public boolean redstoneCache = false; + public boolean fluidsBreakRedstone = true; + } ++ ++ @Comment( ++ "Allow TNT duplication while `allow-piston-duplication` is disabled.\n" + ++ "This exists so servers can enable TNT duplication without reintroducing the other forms of piston duplication." ++ ) ++ public boolean allowTNTDuplication = false; + } + + public Players players; diff --git a/patches/server/0081-Configure-TNT-duplication.patch b/patches/server/0081-Configure-TNT-duplication.patch new file mode 100644 index 0000000..9bc0980 --- /dev/null +++ b/patches/server/0081-Configure-TNT-duplication.patch @@ -0,0 +1,23 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Samsuik +Date: Mon, 11 Nov 2024 19:20:44 +0000 +Subject: [PATCH] Configure TNT duplication + +Adds a configuration option to enable TNT duplication. + +diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java +index 4550217fdc3e804649b9c7e5e129680cae3ee0a5..496d7b439e98aac68554208fa9247fe4b525caab 100644 +--- a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java +@@ -448,6 +448,11 @@ public class PistonBaseBlock extends DirectionalBlock { + for (j = list.size() - 1; j >= 0; --j) { + // Paper start - fix a variety of piston desync dupes + boolean allowDesync = io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPistonDuplication; ++ // Sakura start - configure tnt duplication ++ if (world.sakuraConfig().technical.allowTNTDuplication && list1.get(j).is(Blocks.TNT)) { ++ allowDesync = true; ++ } ++ // Sakura end - configure tnt duplication + BlockPos oldPos = blockposition3 = (BlockPos) list.get(j); + iblockdata1 = allowDesync ? world.getBlockState(oldPos) : null; + // Paper end - fix a variety of piston desync dupes