From 8540016f9fdebe762ed2ca36b1f9432bcf66a397 Mon Sep 17 00:00:00 2001 From: mathiascode Date: Thu, 27 Feb 2020 19:26:17 +0200 Subject: [PATCH] Unload force-loaded chunks --- .../extras/modules/block/BlockCheck.java | 29 ++++++++++++++++++- .../extras/modules/server/ServerCommand.java | 3 -- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/main/java/pw/kaboom/extras/modules/block/BlockCheck.java b/src/main/java/pw/kaboom/extras/modules/block/BlockCheck.java index 635b481..fa9501d 100644 --- a/src/main/java/pw/kaboom/extras/modules/block/BlockCheck.java +++ b/src/main/java/pw/kaboom/extras/modules/block/BlockCheck.java @@ -1,10 +1,11 @@ package pw.kaboom.extras.modules.block; +import org.bukkit.Chunk; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; - import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.SignChangeEvent; +import org.bukkit.event.world.ChunkUnloadEvent; public final class BlockCheck implements Listener { @EventHandler @@ -22,6 +23,32 @@ public final class BlockCheck implements Listener { } } + @EventHandler + void onChunkUnload(final ChunkUnloadEvent event) { + for (Chunk chunk : event.getChunk().getWorld().getForceLoadedChunks()) { + chunk.setForceLoaded(false); + } + } + + /*@EventHandler + void onPlayerPortal(final PlayerPortalEvent event) { + event.setCancelled(true); + event.getPlayer().teleportAsync(event.getTo()); + event.getPortalTravelAgent().findOrCreate(event.getTo()); + }*/ + + /*@EventHandler + void onPortalCreate(final PortalCreateEvent event) { + if (CreateReason.OBC_DESTINATION.equals(event.getReason())) { + event.setCancelled(true); + + for (Block block : event.getBlocks()) { + + System.out.println(block.getLocation().toString()); + } + } + }*/ + @EventHandler void onSignChange(final SignChangeEvent event) { try { diff --git a/src/main/java/pw/kaboom/extras/modules/server/ServerCommand.java b/src/main/java/pw/kaboom/extras/modules/server/ServerCommand.java index 4bfdf21..6ccd1ca 100644 --- a/src/main/java/pw/kaboom/extras/modules/server/ServerCommand.java +++ b/src/main/java/pw/kaboom/extras/modules/server/ServerCommand.java @@ -42,9 +42,6 @@ public final class ServerCommand implements Listener { if ("randomTickSpeed".equalsIgnoreCase(arr[i + 2]) && Double.parseDouble(arr[i + 3]) > 6) { return command.replaceFirst("(?i)" + "randomTickSpeed " + arr[i + 3], "randomTickSpeed 6"); - } else if ("spawnRadius".equalsIgnoreCase(arr[i + 2]) - && Double.parseDouble(arr[i + 3]) > 100) { - return command.replaceFirst("(?i)" + "spawnRadius " + arr[i + 3], "spawnRadius 100"); } } else if ("give".equalsIgnoreCase(arr[i + 1])) { if (Double.parseDouble(arr[arr.length - 1]) > 64) {