From 3b5370a18caac02ebdce7d5112a1c9f638982ce5 Mon Sep 17 00:00:00 2001 From: Sutton Hathorn Date: Wed, 22 May 2019 16:50:12 -0400 Subject: [PATCH 1/2] Update to support 1.14.1-R0.1 Bukkit API --- pom.xml | 12 +++++++++--- .../java/com/wimbli/WorldBorder/BorderData.java | 14 ++++++++++++-- .../java/com/wimbli/WorldBorder/WBListener.java | 5 ++++- src/main/resources/plugin.yml | 2 +- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/pom.xml b/pom.xml index 5d44fe3..c20ba63 100644 --- a/pom.xml +++ b/pom.xml @@ -35,14 +35,14 @@ org.spigotmc spigot-api - 1.13.1-R0.1-SNAPSHOT + 1.14.1-R0.1-SNAPSHOT provided org.bukkit bukkit - 1.13.1-R0.1-SNAPSHOT + 1.14.1-R0.1-SNAPSHOT provided @@ -57,7 +57,13 @@ paperlib 1.0.2 compile - + + + com.googlecode.json-simple + json-simple + 1.1.1 + compile + diff --git a/src/main/java/com/wimbli/WorldBorder/BorderData.java b/src/main/java/com/wimbli/WorldBorder/BorderData.java index 5fb88f3..ef7eeba 100644 --- a/src/main/java/com/wimbli/WorldBorder/BorderData.java +++ b/src/main/java/com/wimbli/WorldBorder/BorderData.java @@ -327,8 +327,18 @@ public class BorderData safeOpenBlocks.add(Material.WALL_TORCH); safeOpenBlocks.add(Material.REDSTONE_WIRE); safeOpenBlocks.add(Material.WHEAT); - safeOpenBlocks.add(Material.SIGN); - safeOpenBlocks.add(Material.WALL_SIGN); + safeOpenBlocks.add(Material.OAK_SIGN); + safeOpenBlocks.add(Material.SPRUCE_SIGN); + safeOpenBlocks.add(Material.BIRCH_SIGN); + safeOpenBlocks.add(Material.JUNGLE_SIGN); + safeOpenBlocks.add(Material.ACACIA_SIGN); + safeOpenBlocks.add(Material.DARK_OAK_SIGN); + safeOpenBlocks.add(Material.OAK_WALL_SIGN); + safeOpenBlocks.add(Material.SPRUCE_WALL_SIGN); + safeOpenBlocks.add(Material.BIRCH_WALL_SIGN); + safeOpenBlocks.add(Material.JUNGLE_WALL_SIGN); + safeOpenBlocks.add(Material.ACACIA_WALL_SIGN); + safeOpenBlocks.add(Material.DARK_OAK_WALL_SIGN); safeOpenBlocks.add(Material.LADDER); safeOpenBlocks.add(Material.LEVER); safeOpenBlocks.add(Material.LIGHT_WEIGHTED_PRESSURE_PLATE); diff --git a/src/main/java/com/wimbli/WorldBorder/WBListener.java b/src/main/java/com/wimbli/WorldBorder/WBListener.java index e232fe4..5629415 100644 --- a/src/main/java/com/wimbli/WorldBorder/WBListener.java +++ b/src/main/java/com/wimbli/WorldBorder/WBListener.java @@ -75,6 +75,8 @@ public class WBListener implements Listener * Check if there is a fill task running, and if yes, if it's for the * world that the unload event refers to and if the chunk should be * kept in memory because generation still needs it. + * + * setCancelled deprecated in 1.14.1-R0.1 Bukkit API */ @EventHandler public void onChunkUnload(ChunkUnloadEvent e) @@ -85,7 +87,8 @@ public class WBListener implements Listener if (e.getWorld() == Config.fillTask.getWorld() && Config.fillTask.chunkOnUnloadPreventionList(chunk.getX(), chunk.getZ())) { - e.setCancelled(true); + Config.logWarn("Unloading a chunk we still need!"); + //e.setCancelled(true); } } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 0f83a1f..ebf06ec 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: WorldBorder author: Brettflan description: Efficient, feature-rich plugin for limiting the size of your worlds. version: 1.9.9 (beta) -api-version: 1.13 +api-version: 1.14 main: com.wimbli.WorldBorder.WorldBorder softdepend: - dynmap From ecaed8578e55a4f051e8b50dfba8df63913414bf Mon Sep 17 00:00:00 2001 From: Sutton Hathorn Date: Wed, 22 May 2019 17:16:19 -0400 Subject: [PATCH 2/2] Use setChunkForceLoaded to keep needed chunks loaded --- src/main/java/com/wimbli/WorldBorder/WorldFillTask.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/wimbli/WorldBorder/WorldFillTask.java b/src/main/java/com/wimbli/WorldBorder/WorldFillTask.java index 5e73ebf..248f9a7 100644 --- a/src/main/java/com/wimbli/WorldBorder/WorldFillTask.java +++ b/src/main/java/com/wimbli/WorldBorder/WorldFillTask.java @@ -234,7 +234,10 @@ public class WorldFillTask implements Runnable if (worldData.doesChunkExist(dependency.forX, dependency.forZ)) chunksToUnload.add(new CoordXZ(dependency.neededX, dependency.neededZ)); else + { + world.setChunkForceLoaded(dependency.neededX, dependency.neededZ, true); newPreventUnload.add(dependency); + } } preventUnload = newPreventUnload; @@ -247,6 +250,7 @@ public class WorldFillTask implements Runnable for (CoordXZ unload: chunksToUnload) { if (!chunkOnUnloadPreventionList(unload.x, unload.z)) + world.setChunkForceLoaded(unload.x, unload.z, false); world.unloadChunkRequest(unload.x, unload.z); } @@ -443,6 +447,7 @@ public class WorldFillTask implements Runnable preventUnload = null; for (UnloadDependency entry: tempPreventUnload) { + world.setChunkForceLoaded(entry.neededX, entry.neededZ, false); world.unloadChunkRequest(entry.neededX, entry.neededZ); } }