Redstone deactivates spawners

This commit is contained in:
draycia
2025-01-07 18:01:35 -08:00
committed by granny
parent cafc3de487
commit 59a50ce623
3 changed files with 15 additions and 34 deletions

View File

@@ -0,0 +1,10 @@
--- a/net/minecraft/world/level/BaseSpawner.java
+++ b/net/minecraft/world/level/BaseSpawner.java
@@ -52,6 +_,7 @@
}
public boolean isNearPlayer(Level level, BlockPos pos) {
+ if (level.purpurConfig.spawnerDeactivateByRedstone && level.hasNeighborSignal(pos)) return false; // Purpur - Redstone deactivates spawners
return level.hasNearbyAlivePlayerThatAffectsSpawning(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, this.requiredPlayerRange); // Paper - Affects Spawning API
}

View File

@@ -336,6 +336,11 @@ public class PurpurWorldConfig {
}
}
public boolean spawnerDeactivateByRedstone = false;
private void spawnerSettings() {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}
public boolean turtleEggsBreakFromExpOrbs = false;
public boolean turtleEggsBreakFromItems = false;
public boolean turtleEggsBreakFromMinecarts = false;