diff --git a/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java b/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java index 0f58dfc0..4079ca4b 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/features/autostart/AutostartListener.java @@ -79,6 +79,9 @@ public class AutostartListener implements Listener { @EventHandler public void onEntityExplode(EntityExplodeEvent event) { + if (regionStartTime.isEmpty()) { + return; + } event.blockList().forEach(block -> { Region region = Region.getRegion(block.getLocation()); if (!regionStartTime.containsKey(region)) return; diff --git a/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java b/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java index 8a174ba8..8f086715 100644 --- a/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java +++ b/BauSystem_Main/src/de/steamwar/bausystem/region/Region.java @@ -37,10 +37,7 @@ import yapion.hierarchy.types.YAPIONValue; import java.io.File; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.function.Predicate; import static de.steamwar.bausystem.region.RegionUtils.paste; @@ -51,22 +48,14 @@ public class Region { private static final List REGION_LIST = new ArrayList<>(); public static Region getRegion(Location location) { - String s = Thread.currentThread().getStackTrace()[2].toString(); - if (!s.contains("sidebar")) { - System.out.println(s +" " + location); - } - for (Region region : REGION_LIST) { - if (region.inRegion(location, region.minPoint, region.maxPoint)) { - return region; - } - } - return GlobalRegion.instance; + return REGION_LIST.stream() + .filter(r -> r.inRegion(location, r.minPoint, r.maxPoint)) + .findFirst() + .orElse(GlobalRegion.instance); } public static void setGlobal(Flag flagType, Flag.Value value) { - for (Region region : REGION_LIST) { - region.set(flagType, value); - } + REGION_LIST.forEach(region -> region.set(flagType, value)); } YAPIONObject regionData;