9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2026-01-04 15:41:40 +00:00
Files
Leaf/patches/server/0064-Configurable-fix-tripwire-dupe.patch
2024-02-22 01:10:49 -05:00

69 lines
5.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Date: Sun, 18 Feb 2024 16:00:43 -0500
Subject: [PATCH] Configurable fix tripwire dupe
diff --git a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java
index c615d528610168c4ad52730079f3525ab211b89e..89b3f124e4e77ca5c77fd9620cf6799ca3795a0d 100644
--- a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java
@@ -91,7 +91,7 @@ public class TripWireBlock extends Block {
public void onRemove(BlockState state, Level world, BlockPos pos, BlockState newState, boolean moved) {
if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent adjacent tripwires from updating
if (!moved && !state.is(newState.getBlock())) {
- this.updateSource(world, pos, (BlockState) state.setValue(TripWireBlock.POWERED, true), world.galeConfig().gameplayMechanics.fixes.tripwireDuping); // Paper - fix tripwire state inconsistency // Gale - Leaf - make tripwire duping fix configurable
+ this.updateSource(world, pos, (BlockState) state.setValue(TripWireBlock.POWERED, true), true); // Paper - fix tripwire state inconsistency // Gale - Leaf - make tripwire duping fix configurable // Leaf - Configurable fix tripwire dupe
}
}
diff --git a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
index 7f2dcf6a9e69779e6f898284b58fb1e32902000c..d7a36437fa95345bef958cb8c6112fc53be50360 100644
--- a/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/TripWireHookBlock.java
@@ -162,7 +162,7 @@ public class TripWireHookBlock extends Block {
boolean flag7 = (Boolean) iblockdata2.getValue(TripWireBlock.POWERED);
flag5 |= flag6 && flag7;
- if (k != i || !tripWireBeingRemoved || !flag6) // Paper - fix tripwire state inconsistency; don't update the tripwire again if being removed and not disarmed
+ if (!org.dreeam.leaf.LeafConfig.fixTripwireDupe || k != i || !tripWireBeingRemoved || !flag6) // Paper - fix tripwire state inconsistency; don't update the tripwire again if being removed and not disarmed // Leaf - Configurable fix tripwire dupe
aiblockdata[k] = iblockdata2;
if (k == i) {
world.scheduleTick(pos, block, 10);
@@ -195,7 +195,7 @@ public class TripWireHookBlock extends Block {
TripWireHookBlock.emitState(world, pos, flag4, flag5, flag2, flag3);
if (!beingRemoved) { // Paper - fix tripwire state inconsistency
- if (world.getBlockState(pos).getBlock() == Blocks.TRIPWIRE_HOOK) // Paper - Validate tripwire hook placement before update
+ if (!org.dreeam.leaf.LeafConfig.fixTripwireDupe || world.getBlockState(pos).getBlock() == Blocks.TRIPWIRE_HOOK) // Paper - Validate tripwire hook placement before update // Leaf - Configurable fix tripwire dupe
world.setBlock(pos, (BlockState) iblockdata3.setValue(TripWireHookBlock.FACING, enumdirection), 3);
if (flag1) {
TripWireHookBlock.notifyNeighbors(block, world, pos, enumdirection);
diff --git a/src/main/java/org/dreeam/leaf/LeafConfig.java b/src/main/java/org/dreeam/leaf/LeafConfig.java
index 94a949eb530588cdeaef31a209d3463609f88555..5e362d086d64ec19dd9bffd680cc82d20164c570 100644
--- a/src/main/java/org/dreeam/leaf/LeafConfig.java
+++ b/src/main/java/org/dreeam/leaf/LeafConfig.java
@@ -329,4 +329,9 @@ public class LeafConfig {
snowballCanKnockback = getBoolean("playerKnockback.snowball-knockback-players", snowballCanKnockback, "Make snowball can knockback players");
eggCanKnockback = getBoolean("playerKnockback.egg-knockback-players", eggCanKnockback, "Make egg can knockback players");
}
+
+ public static boolean fixTripwireDupe = true;
+ private static void tripwireDupe() {
+ fixTripwireDupe = getBoolean("gameplay.fix-tripwire-dupe", fixTripwireDupe);
+ }
}
diff --git a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
index 704791c80d42a653c8e02440d46cd96e6adb5fb5..8226f1f9b21e97c882248bc7227861381b1e5a2f 100644
--- a/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
+++ b/src/main/java/org/galemc/gale/configuration/GaleWorldConfiguration.java
@@ -109,7 +109,7 @@ public class GaleWorldConfiguration extends ConfigurationPart {
public class Fixes extends ConfigurationPart {
public boolean sandDuping = true; // Gale - Purpur - make sand duping fix configurable
- public boolean tripwireDuping = true; // Gale - Leaf - make tripwire duping fix configurable
+ //public boolean tripwireDuping = true; // Gale - Leaf - make tripwire duping fix configurable // Leaf - Move to leaf config
public boolean broadcastCritAnimationsAsTheEntityBeingCritted = false; // Gale - MultiPaper - broadcast crit animations as the entity being critted
public boolean keepMooshroomRotationAfterShearing = true; // Gale - Purpur - fix cow rotation when shearing mooshroom
public boolean checkCanChangeDimensionsBeforeUseEndGateway = false; // Gale - Purpur - end gateway should check if entity can use portal