Files
Purpur/patches/server/0077-Redstone-deactivates-spawners.patch
granny 4b1a082c94 Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@ce7f068 Correct typo in javadoc (#9944)
PaperMC/Paper@0a8c873 Call LivingEntity#onItemPickup before mutation (#9948)
PaperMC/Paper@e5274ee Fix spawners checking max nearby entities with correct type (#8945)
PaperMC/Paper@39dee1a More paper config cleanup (#9938)
PaperMC/Paper@581c743 Add API to retrieve an attribute modifier from a UUID (#9924)
PaperMC/Paper@8611796 Fix missing event call for entity teleport API (#9937)
PaperMC/Paper@250388d add getAdvancementProgress() to PlayerAdvancementCriterionGrantEvent (#9865)
2023-11-18 23:40:16 -08:00

35 lines
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: draycia <lonelyyordle@gmail.com>
Date: Tue, 14 Apr 2020 00:35:12 -0700
Subject: [PATCH] Redstone deactivates spawners
diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java
index 1279132e2fb3e8f64f062df0ac8b8197f9d8f343..fb933cc388acf26cebe1da692b9c5dd165f797ee 100644
--- a/src/main/java/net/minecraft/world/level/BaseSpawner.java
+++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java
@@ -71,6 +71,7 @@ public abstract class BaseSpawner {
}
public boolean isNearPlayer(Level world, BlockPos pos) {
+ if (world.purpurConfig.spawnerDeactivateByRedstone && world.hasNeighborSignal(pos)) return false; // Purpur
return world.hasNearbyAlivePlayerThatAffectsSpawning((double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, (double) this.requiredPlayerRange); // Paper - Affects Spawning API
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 51dd20665e5cdf1e76a63367d75890d4ae8f55b6..8f085e8ba40d3bd9fca27b18b9ee156bbffe6bc3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -352,6 +352,11 @@ public class PurpurWorldConfig {
}
}
+ public boolean spawnerDeactivateByRedstone = false;
+ private void spawnerSettings() {
+ spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
+ }
+
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;