From 8ce5e9f17ff933b5bcd50ae5bcd7302b49b88c38 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Sat, 11 Jan 2025 18:14:52 -0800 Subject: [PATCH] Config for powered rail activation distance --- ...for-powered-rail-activation-distance.patch | 35 ------------------- .../level/block/PoweredRailBlock.java.patch | 11 ++++++ .../purpurmc/purpur/PurpurWorldConfig.java | 5 +++ 3 files changed, 16 insertions(+), 35 deletions(-) delete mode 100644 patches/server/0148-Config-for-powered-rail-activation-distance.patch create mode 100644 purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/PoweredRailBlock.java.patch diff --git a/patches/server/0148-Config-for-powered-rail-activation-distance.patch b/patches/server/0148-Config-for-powered-rail-activation-distance.patch deleted file mode 100644 index 4a8ff9ce6..000000000 --- a/patches/server/0148-Config-for-powered-rail-activation-distance.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Encode42 -Date: Thu, 25 Mar 2021 18:10:03 -0400 -Subject: [PATCH] Config for powered rail activation distance - - -diff --git a/net/minecraft/world/level/block/PoweredRailBlock.java b/net/minecraft/world/level/block/PoweredRailBlock.java -index b763361a8f0f1b46093d5dd9afe8dba0cadf9c78..bd14c08defe8afc5ceca59d16a5b1dbad178f594 100644 ---- a/net/minecraft/world/level/block/PoweredRailBlock.java -+++ b/net/minecraft/world/level/block/PoweredRailBlock.java -@@ -30,7 +30,7 @@ public class PoweredRailBlock extends BaseRailBlock { - } - - protected boolean findPoweredRailSignal(Level world, BlockPos pos, BlockState state, boolean flag, int distance) { -- if (distance >= 8) { -+ if (distance >= world.purpurConfig.railActivationRange) { // Purpur - return false; - } else { - int j = pos.getX(); -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c6d39361fe5f02de3119e2d2bfc603e096c03160..e85eb5d3dbf35c89295302db5431a7b3cb2d3ba1 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -577,6 +577,11 @@ public class PurpurWorldConfig { - powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); - } - -+ public int railActivationRange = 8; -+ private void railSettings() { -+ railActivationRange = getInt("blocks.powered-rail.activation-range", railActivationRange); -+ } -+ - public boolean respawnAnchorExplode = true; - public double respawnAnchorExplosionPower = 5.0D; - public boolean respawnAnchorExplosionFire = true; diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/PoweredRailBlock.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/PoweredRailBlock.java.patch new file mode 100644 index 000000000..2b31f8cfb --- /dev/null +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/level/block/PoweredRailBlock.java.patch @@ -0,0 +1,11 @@ +--- a/net/minecraft/world/level/block/PoweredRailBlock.java ++++ b/net/minecraft/world/level/block/PoweredRailBlock.java +@@ -34,7 +_,7 @@ + } + + protected boolean findPoweredRailSignal(Level level, BlockPos pos, BlockState state, boolean searchForward, int recursionCount) { +- if (recursionCount >= 8) { ++ if (recursionCount >= level.purpurConfig.railActivationRange) { // Purpur - Config for powered rail activation distance + return false; + } else { + int x = pos.getX(); diff --git a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index dcb50cefc..b4a0b8fb4 100644 --- a/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/purpur-server/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -569,6 +569,11 @@ public class PurpurWorldConfig { powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); } + public int railActivationRange = 8; + private void railSettings() { + railActivationRange = getInt("blocks.powered-rail.activation-range", railActivationRange); + } + public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true;