mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Redstone deactivates spawners
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
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/net/minecraft/world/level/BaseSpawner.java b/net/minecraft/world/level/BaseSpawner.java
|
|
||||||
index 7de66aa435dd36899b80f4ecc64480680e474d94..79a8e5dd1d189c4eaf93999925ea0790eb6ce368 100644
|
|
||||||
--- a/net/minecraft/world/level/BaseSpawner.java
|
|
||||||
+++ b/net/minecraft/world/level/BaseSpawner.java
|
|
||||||
@@ -59,6 +59,7 @@ public abstract class BaseSpawner {
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isNearPlayer(Level world, BlockPos pos) {
|
|
||||||
+ if (world.purpurConfig.spawnerDeactivateByRedstone && world.hasNeighborSignal(pos)) return false; // Purpur - Redstone deactivates spawners
|
|
||||||
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 83af43e5f1d3e80170104771b2d38526d1ab3e3a..be44e9597b595f8a4b63a9a198f63e7db411b6ce 100644
|
|
||||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
|
||||||
@@ -347,6 +347,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;
|
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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 turtleEggsBreakFromExpOrbs = false;
|
||||||
public boolean turtleEggsBreakFromItems = false;
|
public boolean turtleEggsBreakFromItems = false;
|
||||||
public boolean turtleEggsBreakFromMinecarts = false;
|
public boolean turtleEggsBreakFromMinecarts = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user