diff --git a/api/src/main/java/net/islandearth/rpgregions/utils/RegenUtils.java b/api/src/main/java/net/islandearth/rpgregions/utils/RegenUtils.java index 86aec48..27328c2 100644 --- a/api/src/main/java/net/islandearth/rpgregions/utils/RegenUtils.java +++ b/api/src/main/java/net/islandearth/rpgregions/utils/RegenUtils.java @@ -14,6 +14,7 @@ import com.sk89q.worldedit.regions.CuboidRegion; import com.sk89q.worldedit.session.ClipboardHolder; import com.sk89q.worldedit.world.World; import com.sk89q.worldguard.WorldGuard; +import com.sk89q.worldguard.protection.managers.RegionManager; import com.sk89q.worldguard.protection.regions.ProtectedRegion; import io.lumine.xikage.mythicmobs.MythicMobs; import io.lumine.xikage.mythicmobs.mobs.MythicMob; @@ -38,12 +39,15 @@ import java.util.concurrent.ThreadLocalRandom; public class RegenUtils { public static boolean regenerate(ConfiguredRegion region) { + if (region == null) return false; Regenerate regenerate = region.getRegenerate(); if (regenerate != null) { IRPGRegionsAPI plugin = RPGRegionsAPI.getAPI(); IntegrationType integrationType = IntegrationType.valueOf(plugin.getConfig().getString("settings.integration.name").toUpperCase()); if (integrationType == IntegrationType.WORLDGUARD) { - ProtectedRegion protectedRegion = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(region.getWorld())).getRegion(region.getId()); + RegionManager regionManager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(region.getWorld())); + if (regionManager == null) return false; + ProtectedRegion protectedRegion = regionManager.getRegion(region.getId()); Location min = new Location(region.getWorld(), protectedRegion.getMinimumPoint().getBlockX(), protectedRegion.getMinimumPoint().getBlockY(), protectedRegion.getMinimumPoint().getBlockZ()); Location max = new Location(region.getWorld(), protectedRegion.getMaximumPoint().getBlockX(), protectedRegion.getMaximumPoint().getBlockY(), protectedRegion.getMaximumPoint().getBlockZ()); if (!regenerate.isLoadChunks() && !region.getWorld().isChunkLoaded(min.getBlockX() >> 4, min.getBlockZ() >> 4)