diff --git a/pom.xml b/pom.xml index 1bcfd30..a5dc809 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 xyz.nkomarn Harbor - 1.5.1 + 1.5.2 UTF-8 diff --git a/src/main/java/xyz/nkomarn/Harbor/Harbor.java b/src/main/java/xyz/nkomarn/Harbor/Harbor.java index 8e00e65..506339b 100644 --- a/src/main/java/xyz/nkomarn/Harbor/Harbor.java +++ b/src/main/java/xyz/nkomarn/Harbor/Harbor.java @@ -21,7 +21,7 @@ import java.util.stream.Stream; public class Harbor extends JavaPlugin { public static Harbor instance; - public static String version = "1.5.1"; + public static String version = "1.5.2"; public static boolean debug = false; public static boolean enabled = false; public static boolean prerelease = false; @@ -50,7 +50,9 @@ public class Harbor extends JavaPlugin { }); }); - if (enabled) Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Timer(), 0L, config.getInteger("values.clock") * 20); + int interval = config.getInteger("values.clock"); + if (enabled) Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, + new Timer(), 0L, interval * 20); if (getConfig().getBoolean("debug")) debug = true; if (enabled && this.getConfig().getBoolean("features.notifier")) { if (debug) Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', @@ -65,6 +67,6 @@ public class Harbor extends JavaPlugin { } public void onDisable() { - + // Nothing lol } } diff --git a/src/main/java/xyz/nkomarn/Harbor/nms/NMSUtils.java b/src/main/java/xyz/nkomarn/Harbor/nms/NMSUtils.java index 7d9a314..47dd068 100644 --- a/src/main/java/xyz/nkomarn/Harbor/nms/NMSUtils.java +++ b/src/main/java/xyz/nkomarn/Harbor/nms/NMSUtils.java @@ -25,17 +25,17 @@ public class NMSUtils { Harbor.enabled = false; } if (Harbor.debug) Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', c.getString("messages.miscellaneous.prefix") + c.getString("messages.miscellaneous.running").replace("[version]", v))); - if (v.equals("v1_8_R1")) {nms = new NMS_1_8_R1();} - else if (v.equals("v1_8_R2")) {nms = new NMS_1_8_R2();} - else if (v.equals("v1_8_R3")) {nms = new NMS_1_8_R3();} - else if (v.equals("v1_9_R1")) {nms = new NMS_1_9_R1();} - else if (v.equals("v1_9_R2")) {nms = new NMS_1_9_R2();} - else if (v.equals("v1_10_R1")) {nms = new NMS_1_10_R1();} - else if (v.equals("v1_11_R1")) {nms = new NMS_1_11_R1();} - else if (v.equals("v1_12_R1")) {nms = new NMS_1_12_R1();} - else if (v.equals("v1_13_R1")) {nms = new NMS_1_13_R1();} - else if (v.equals("v1_13_R2")) {nms = new NMS_1_13_R2();} - else if (v.equals("v1_14_R1")) {nms = new NMS_1_14_R1();} + if (v.equals("v1_8_R1")) {nms = new NMS_1_8_R1(); Harbor.enabled = true;} + else if (v.equals("v1_8_R2")) {nms = new NMS_1_8_R2(); Harbor.enabled = true;} + else if (v.equals("v1_8_R3")) {nms = new NMS_1_8_R3(); Harbor.enabled = true;} + else if (v.equals("v1_9_R1")) {nms = new NMS_1_9_R1(); Harbor.enabled = true;} + else if (v.equals("v1_9_R2")) {nms = new NMS_1_9_R2(); Harbor.enabled = true;} + else if (v.equals("v1_10_R1")) {nms = new NMS_1_10_R1(); Harbor.enabled = true;} + else if (v.equals("v1_11_R1")) {nms = new NMS_1_11_R1(); Harbor.enabled = true;} + else if (v.equals("v1_12_R1")) {nms = new NMS_1_12_R1(); Harbor.enabled = true;} + else if (v.equals("v1_13_R1")) {nms = new NMS_1_13_R1(); Harbor.enabled = true;} + else if (v.equals("v1_13_R2")) {nms = new NMS_1_13_R2(); Harbor.enabled = true;} + else if (v.equals("v1_14_R1")) {nms = new NMS_1_14_R1(); Harbor.enabled = true;} else { Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', c.getString("messages.miscellaneous.prefix") + "This version of Harbor is incompatible with your server version. As such, Harbor will be disabled.")); Bukkit.getPluginManager().disablePlugin(Harbor.instance); diff --git a/src/main/java/xyz/nkomarn/Harbor/task/Timer.java b/src/main/java/xyz/nkomarn/Harbor/task/Timer.java index 2246821..af5c6bc 100644 --- a/src/main/java/xyz/nkomarn/Harbor/task/Timer.java +++ b/src/main/java/xyz/nkomarn/Harbor/task/Timer.java @@ -18,15 +18,17 @@ public class Timer implements Runnable { public void run() { try { Bukkit.getServer().getWorlds().forEach(w -> { + if (n.getSleeping(w) > 0 && n.getNeeded(w) != 0) { + w.getPlayers().forEach(p -> nms.sendActionbar(p, c.getString("messages.actionbar.sleeping"), w)); + } + else if (n.getSleeping(w) > 0 && n.getNeeded(w) == 0) { + w.getPlayers().forEach(p -> nms.sendActionbar(p, c.getString("messages.actionbar.everyone"), w)); + } + if (w.getTime() >= 12516 && w.getTime() <= 12535 && c.getBoolean("messages.title.title")) w.getPlayers().forEach(p -> nms.sendTitle(p, c.getString("messages.title.evening.top"), c.getString("messages.title.evening.bottom"))); if (n.getSleeping(w) > 0 && n.getNeeded(w) == 0) n.skip(w); - if (n.getSleeping(w) > 0 && n.getSleeping(w) < n.getNeeded(w)) - w.getPlayers().forEach(p -> nms.sendActionbar(p, c.getString("messages.actionbar.sleeping"), w)); - else if (n.getSleeping(w) == n.getNeeded(w) && n.getSleeping(w) > 0) - w.getPlayers().forEach(p -> nms.sendActionbar(p, c.getString("messages.actionbar.everyone"), w)); - if (c.getBoolean("features.afk")) w.getPlayers().forEach(p -> { if (TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis() - Counters.activity.get(p)) >= c.getInteger("values.timeout")) { if (Counters.sleeping.get(w).contains(p)) { diff --git a/src/main/java/xyz/nkomarn/Harbor/util/Counters.java b/src/main/java/xyz/nkomarn/Harbor/util/Counters.java index 29d697f..ae0ecf7 100644 --- a/src/main/java/xyz/nkomarn/Harbor/util/Counters.java +++ b/src/main/java/xyz/nkomarn/Harbor/util/Counters.java @@ -61,7 +61,7 @@ public class Counters { return a; } - public boolean isExcluded(Player p) { + private boolean isExcluded(Player p) { boolean s = false; if (c.getBoolean("features.ignore")) if (p.getGameMode() == GameMode.SURVIVAL) s = false; else s = true; if (c.getBoolean("features.bypass")) if (p.hasPermission("harbor.bypass")) s = true; else s = false; @@ -73,10 +73,12 @@ public class Counters { if (c.getBoolean("features.skip") && Math.max(0, this.getNeeded(w) - this.getExcluded(w).size()) == 0) { w.setTime(1000L); - // Set weather to clear TODO ASYNC NO BAD DON'T ASYNC CAUSE 1.14 API CHANGE BAD + // Synchronously set weather to clear if (c.getBoolean("features.weather")) { - w.setStorm(false); - w.setThundering(false); + Bukkit.getScheduler().runTask(Harbor.instance, () -> { + w.setStorm(false); + w.setThundering(false); + }); } // Display messages diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index ddee2ae..7f33499 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -104,5 +104,5 @@ gui: sleeping: "Sleeping Players | Page [page]" # Spooky controls (don't change) -version: 1.5.1 +version: 1.5.2 debug: false