From 1c3710da93e107012b244da256ed5535ffbe70ed Mon Sep 17 00:00:00 2001 From: Dqu1J Date: Sun, 16 Feb 2025 16:27:43 +0000 Subject: [PATCH 1/4] Fix `disable-tripwire-updates` option not cancelling tripwire hook updates (#12127) --- .../world/level/block/TripWireHookBlock.java.patch | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch index b2b90b416ab4..3c8a5214f963 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch @@ -1,6 +1,11 @@ --- a/net/minecraft/world/level/block/TripWireHookBlock.java +++ b/net/minecraft/world/level/block/TripWireHookBlock.java -@@ -127,10 +_,10 @@ +@@ -123,14 +_,15 @@ + public static void calculateState( + Level level, BlockPos pos, BlockState hookState, boolean attaching, boolean shouldNotifyNeighbours, int searchRange, @Nullable BlockState state + ) { ++ if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwire from updating + Optional optionalValue = hookState.getOptionalValue(FACING); if (optionalValue.isPresent()) { Direction direction = optionalValue.get(); boolean flag = hookState.getOptionalValue(ATTACHED).orElse(false); From b0090699a8c9dd45b23584c42e9b4972443ee90c Mon Sep 17 00:00:00 2001 From: Dqu1J Date: Mon, 17 Feb 2025 18:20:35 +0000 Subject: [PATCH 2/4] =?UTF-8?q?Requested=20changes=20=E2=80=94=20only=20ca?= =?UTF-8?q?ncel=20tripwire=20updates=20(#12127)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../level/block/TripWireHookBlock.java.patch | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch index 3c8a5214f963..24e59eca6585 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch @@ -1,11 +1,6 @@ --- a/net/minecraft/world/level/block/TripWireHookBlock.java +++ b/net/minecraft/world/level/block/TripWireHookBlock.java -@@ -123,14 +_,15 @@ - public static void calculateState( - Level level, BlockPos pos, BlockState hookState, boolean attaching, boolean shouldNotifyNeighbours, int searchRange, @Nullable BlockState state - ) { -+ if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwire from updating - Optional optionalValue = hookState.getOptionalValue(FACING); +@@ -127,10 +_,10 @@ if (optionalValue.isPresent()) { Direction direction = optionalValue.get(); boolean flag = hookState.getOptionalValue(ATTACHED).orElse(false); @@ -68,3 +63,11 @@ if (flag != flag2) { for (int i2 = 1; i2 < i; i2++) { +@@ -188,6 +_,7 @@ + BlockState blockState2 = blockStates[i2]; + if (blockState2 != null) { + BlockState blockState3 = level.getBlockState(blockPos1); ++ if (blockState3.is(Blocks.TRIPWIRE) && io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwire from updating + if (blockState3.is(Blocks.TRIPWIRE) || blockState3.is(Blocks.TRIPWIRE_HOOK)) { + level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); + } From 152a1b01e3068674cadad4ab248e6ace0c27ad15 Mon Sep 17 00:00:00 2001 From: Dqu1J Date: Mon, 17 Feb 2025 18:49:50 +0000 Subject: [PATCH 3/4] =?UTF-8?q?Requested=20changes=20=E2=80=94=20move=20if?= =?UTF-8?q?=20statement=20(#12129)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../world/level/block/TripWireHookBlock.java.patch | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch index 24e59eca6585..43f30228a007 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch @@ -63,11 +63,12 @@ if (flag != flag2) { for (int i2 = 1; i2 < i; i2++) { -@@ -188,6 +_,7 @@ - BlockState blockState2 = blockStates[i2]; +@@ -189,7 +_,7 @@ if (blockState2 != null) { BlockState blockState3 = level.getBlockState(blockPos1); -+ if (blockState3.is(Blocks.TRIPWIRE) && io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwire from updating if (blockState3.is(Blocks.TRIPWIRE) || blockState3.is(Blocks.TRIPWIRE_HOOK)) { - level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); +- level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); ++ if (!blockState3.is(Blocks.TRIPWIRE) || !io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); // Paper - prevent tripwire from updating } + } + } From 27f3a6fc5798982adab7159af4ab32324d032ecf Mon Sep 17 00:00:00 2001 From: Bjarne Koll Date: Mon, 17 Feb 2025 19:56:12 +0100 Subject: [PATCH 4/4] Move cheaper check first --- .../minecraft/world/level/block/TripWireHookBlock.java.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch index 43f30228a007..909de7ef6cdf 100644 --- a/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch +++ b/paper-server/patches/sources/net/minecraft/world/level/block/TripWireHookBlock.java.patch @@ -68,7 +68,7 @@ BlockState blockState3 = level.getBlockState(blockPos1); if (blockState3.is(Blocks.TRIPWIRE) || blockState3.is(Blocks.TRIPWIRE_HOOK)) { - level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); -+ if (!blockState3.is(Blocks.TRIPWIRE) || !io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); // Paper - prevent tripwire from updating ++ if (!io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates || !blockState3.is(Blocks.TRIPWIRE)) level.setBlock(blockPos1, blockState2.trySetValue(ATTACHED, Boolean.valueOf(flag2)), 3); // Paper - prevent tripwire from updating } } }