From fdb0669176120263362b204f0d6950422e3c017a Mon Sep 17 00:00:00 2001 From: BuildTools Date: Sun, 22 Sep 2019 20:56:14 -0600 Subject: [PATCH] Fix raids and patrols not respecting natual spawning --- .../java/com/songoda/skyblock/listeners/Entity.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/songoda/skyblock/listeners/Entity.java b/src/main/java/com/songoda/skyblock/listeners/Entity.java index d58b19e3..7f5736c9 100644 --- a/src/main/java/com/songoda/skyblock/listeners/Entity.java +++ b/src/main/java/com/songoda/skyblock/listeners/Entity.java @@ -42,6 +42,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashSet; import java.util.List; +import java.util.Optional; import java.util.Set; import java.util.UUID; @@ -697,7 +698,7 @@ public class Entity implements Listener { return; SpawnReason reason = event.getSpawnReason(); - Set reasons = Sets.newHashSet(SpawnReason.NATURAL, SpawnReason.JOCKEY, SpawnReason.MOUNT, SpawnReason.valueOf("RAID"), SpawnReason.valueOf("PATROL")); + Set reasons = Sets.newHashSet(SpawnReason.NATURAL, SpawnReason.JOCKEY, SpawnReason.MOUNT, getSpawnReason("RAID"), getSpawnReason("PATROL")); // Check that the reason of this event is not any of these above. if (!reasons.stream().filter(r -> r != null).anyMatch(r -> r == reason)) return; @@ -723,4 +724,12 @@ public class Entity implements Listener { event.setCancelled(true); // For other plugin API reasons. } + private SpawnReason getSpawnReason(String reason) { + try { + return SpawnReason.valueOf(reason); + } catch (Exception e) { + return null; + } + } + }