diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..f0257c5
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..98412d6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+/bin/
+spigot
+.vscode
+target
\ No newline at end of file
diff --git a/Harbor/.project b/.project
similarity index 65%
rename from Harbor/.project
rename to .project
index eab6d28..036d78c 100644
--- a/Harbor/.project
+++ b/.project
@@ -10,8 +10,14 @@
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+ org.eclipse.m2e.core.maven2Nature
org.eclipse.jdt.core.javanature
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..0c43133
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+encoding//src/main/java=UTF-8
+encoding/=UTF-8
+encoding/src=UTF-8
diff --git a/.settings/org.eclipse.jdt.apt.core.prefs b/.settings/org.eclipse.jdt.apt.core.prefs
new file mode 100644
index 0000000..d4313d4
--- /dev/null
+++ b/.settings/org.eclipse.jdt.apt.core.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.apt.aptEnabled=false
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..5592a0a
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.processAnnotations=disabled
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/Harbor/.classpath b/Harbor/.classpath
deleted file mode 100644
index 745a1a7..0000000
--- a/Harbor/.classpath
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Harbor/.gitignore b/Harbor/.gitignore
deleted file mode 100644
index ae3c172..0000000
--- a/Harbor/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/bin/
diff --git a/Harbor/.settings/org.eclipse.jdt.core.prefs b/Harbor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index bb35fa0..0000000
--- a/Harbor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,11 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/Harbor/src/techtoolbox/Harbor/ActionBarMessage.java b/Harbor/src/techtoolbox/Harbor/ActionBarMessage.java
deleted file mode 100644
index f581649..0000000
--- a/Harbor/src/techtoolbox/Harbor/ActionBarMessage.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package techtoolbox.Harbor;
-
-import org.bukkit.Bukkit;
-
-public class ActionBarMessage implements Runnable {
- @Override
- public void run() {
-<<<<<<< HEAD
- for (int i = 0; Main.worlds.size() > i; i++) {
- if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() > 0) && ((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() < (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size())) {
- Main.sendActionbar("playersInBed", Bukkit.getServer().getWorlds().get(i));
- }
- else if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() == (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size()) && ((Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size() > 1)) {
- Main.sendActionbar("everyoneSleeping", Bukkit.getServer().getWorlds().get(i));
-=======
- try {
- for (int i = 0; Main.worlds.size() > i; i++) {
- if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() > 0) && ((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() < (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size())) {
- Main.sendActionbar("playersInBed", Bukkit.getServer().getWorlds().get(i), null);
- }
- else if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() == (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size()) && ((Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size() > 1)) {
- Main.sendActionbar("everyoneSleeping", Bukkit.getServer().getWorlds().get(i), null);
- }
->>>>>>> Update 1.4.4, I guess.
- }
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar.java
deleted file mode 100644
index abb8ea1..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.entity.Player;
-
-public interface Actionbar {
-
- public void sendActionbar(Player player, String message);
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_10_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_10_R1.java
deleted file mode 100644
index 87a7b7b..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_10_R1.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_10_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_10_R1.IChatBaseComponent;
-import net.minecraft.server.v1_10_R1.IChatBaseComponent.ChatSerializer;
-import net.minecraft.server.v1_10_R1.PacketPlayOutChat;
-
-public class Actionbar_1_10_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_11_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_11_R1.java
deleted file mode 100644
index ab7c38d..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_11_R1.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_11_R1.IChatBaseComponent;
-import net.minecraft.server.v1_11_R1.IChatBaseComponent.ChatSerializer;
-import net.minecraft.server.v1_11_R1.PacketPlayOutChat;
-
-public class Actionbar_1_11_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_12_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_12_R1.java
deleted file mode 100644
index a63dccf..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_12_R1.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_12_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_12_R1.ChatMessageType;
-import net.minecraft.server.v1_12_R1.IChatBaseComponent;
-import net.minecraft.server.v1_12_R1.PacketPlayOutChat;
-
-public class Actionbar_1_12_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
-
- IChatBaseComponent titleComponent = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, ChatMessageType.GAME_INFO);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R1.java
deleted file mode 100644
index bedd929..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R1.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_13_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_13_R1.IChatBaseComponent;
-import net.minecraft.server.v1_13_R1.PacketPlayOutTitle;
-
-public class Actionbar_1_13_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutTitle titlePacket = new PacketPlayOutTitle(PacketPlayOutTitle.EnumTitleAction.ACTIONBAR, titleComponent);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R1.java
deleted file mode 100644
index b019f49..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R1.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_8_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_8_R1.ChatSerializer;
-import net.minecraft.server.v1_8_R1.IChatBaseComponent;
-import net.minecraft.server.v1_8_R1.PacketPlayOutChat;
-
-public class Actionbar_1_8_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R2.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R2.java
deleted file mode 100644
index 8d0d000..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R2.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_8_R2.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_8_R2.IChatBaseComponent;
-import net.minecraft.server.v1_8_R2.IChatBaseComponent.ChatSerializer;
-import net.minecraft.server.v1_8_R2.PacketPlayOutChat;
-
-public class Actionbar_1_8_R2 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R3.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R3.java
deleted file mode 100644
index eeae5da..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_8_R3.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_8_R3.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_8_R3.IChatBaseComponent;
-import net.minecraft.server.v1_8_R3.IChatBaseComponent.ChatSerializer;
-import net.minecraft.server.v1_8_R3.PacketPlayOutChat;
-
-
-public class Actionbar_1_8_R3 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_9_R1.java b/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_9_R1.java
deleted file mode 100644
index c287af3..0000000
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_9_R1.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package techtoolbox.Harbor.Actionbar;
-
-import org.bukkit.ChatColor;
-import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
-import org.bukkit.entity.Player;
-
-import net.minecraft.server.v1_9_R1.IChatBaseComponent;
-import net.minecraft.server.v1_9_R1.IChatBaseComponent.ChatSerializer;
-import net.minecraft.server.v1_9_R1.PacketPlayOutChat;
-
-
-public class Actionbar_1_9_R1 implements Actionbar {
-
- @Override
- public void sendActionbar(Player player, String message) {
- IChatBaseComponent titleComponent = ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
- PacketPlayOutChat titlePacket = new PacketPlayOutChat(titleComponent, (byte)2);
- ((CraftPlayer) player).getHandle().playerConnection.sendPacket(titlePacket);
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Command.java b/Harbor/src/techtoolbox/Harbor/Command.java
deleted file mode 100644
index 295abb4..0000000
--- a/Harbor/src/techtoolbox/Harbor/Command.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package techtoolbox.Harbor;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.command.CommandExecutor;
-import org.bukkit.command.CommandSender;
-
-public class Command implements CommandExecutor {
- @Override
- public boolean onCommand(CommandSender sender, org.bukkit.command.Command cmd, String label, String[] args) {
- if (args.length < 1) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.miscellaneous.prefix") + "&7Version " + Main.version + " by TechToolbox."));
- }
- else if (args[0].equalsIgnoreCase("reload")) {
- if (sender.hasPermission("harbor.admin")) {
- try {
- Main.bypassers.clear();
- Main.plugin.reloadConfig();
- Bukkit.getServer().getPluginManager().disablePlugin(Main.plugin);
- Bukkit.getServer().getPluginManager().enablePlugin(Main.plugin);
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.miscellaneous.prefix") + Main.plugin.getConfig().getString("messages.miscellaneous.reloaded")));
- }
- catch (Exception e) {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.miscellaneous.prefix") + Main.plugin.getConfig().getString("messages.miscellaneous.reloadError")));
- if (!Main.plugin.getConfig().getBoolean("features.debug")) {
- e.printStackTrace();
- }
- }
- }
- else {
- sender.sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.miscellaneous.prefix") + Main.plugin.getConfig().getString("messages.miscellaneous.permission")));
- }
- }
- else if (args[0].equalsIgnoreCase("test")) {
- System.out.println(Main.worlds.size());
- System.out.println(Main.bypassers.size());
- }
- return true;
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Listeners/BedEnterEvent.java b/Harbor/src/techtoolbox/Harbor/Listeners/BedEnterEvent.java
deleted file mode 100644
index 1c67527..0000000
--- a/Harbor/src/techtoolbox/Harbor/Listeners/BedEnterEvent.java
+++ /dev/null
@@ -1,131 +0,0 @@
-package techtoolbox.Harbor.Listeners;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerBedEnterEvent;
-import org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
-
-import techtoolbox.Harbor.Main;
-
-public class BedEnterEvent implements Listener {
-
- String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
-
- @EventHandler(priority = EventPriority.HIGH)
- public void onPlayerBedEnterEvent(PlayerBedEnterEvent event) {
-
- // Sleep blocking feature
- if (Main.plugin.getConfig().getBoolean("features.blockSleep")) {
- if (Main.plugin.getConfig().getString("messages.chat.blocked").length() > 0) {
- event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.blocked")));
- }
- Main.sendActionbar("sleepingBlocked", null, event.getPlayer());
- event.setCancelled(true);
- }
- else {
- // TEMPORARY SOLUTION FOR 1.13.2: CHECK IF BEDENTERRESULT WORKS, IF NOT THEN RUN 1.13.1 CODE
- try {
- if (event.getBedEnterResult() == BedEnterResult.OK) {
- Main.bypassers.clear();
- if (Main.plugin.getConfig().getBoolean("features.bypass")) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (player.hasPermission("harbor.bypass")) {
- Main.bypassers.add(player.getName());
- }
- }
- }
-
- if (!Main.plugin.getConfig().getBoolean("features.bypass") || !event.getPlayer().hasPermission("harbor.bypass")) {
- try {
- Main.worlds.put(event.getPlayer().getWorld(), Integer.valueOf((Main.worlds.get(event.getPlayer().getWorld())).intValue() + 1));
- }
- catch (Exception exception) {
- // Create value if it doesn't exist already
- Main.worlds.put(event.getPlayer().getWorld(), 1);
- }
-
- // Chat messages
- if (Main.plugin.getConfig().getBoolean("messages.chat.chat") && (Main.plugin.getConfig().getString("messages.chat.sleeping").length() != 0)) {
- Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.sleeping")
- .replace("[sleeping]", String.valueOf(Main.worlds.get(event.getPlayer().getWorld())))
- .replace("[online]", String.valueOf(event.getPlayer().getWorld().getPlayers().size() - Main.bypassers.size()))
- .replace("[player]", event.getPlayer().getName())
- .replace("[needed]", String.valueOf(Math.max(0, Math.round(event.getPlayer().getWorld().getPlayers().size() * Float.parseFloat(Main.plugin.getConfig().getString("values.percent")) - Main.bypassers.size() - (Main.worlds.get(event.getPlayer().getWorld())).intValue()))))));
- }
-
- // Skip night feature
- if (Main.plugin.getConfig().getBoolean("features.skipNight") && ((Main.worlds.get(event.getPlayer().getWorld())).intValue() >= event.getPlayer().getWorld().getPlayers().size() * Float.parseFloat(Main.plugin.getConfig().getString("values.percent")) - Main.bypassers.size()) && (event.getPlayer().getWorld().getPlayers().size() > 1)) {
- Bukkit.getServer().getWorld(event.getPlayer().getWorld().getName()).setTime(1000L);
-
- // Weather clear feature
- if (Main.plugin.getConfig().getBoolean("features.clearWeather")) {
- event.getPlayer().getWorld().setStorm(false);
- event.getPlayer().getWorld().setThundering(false);
- }
-
- // Night skipped message
- if (Main.plugin.getConfig().getBoolean("messages.chat.chat") && (Main.plugin.getConfig().getString("messages.chat.skipped").length() != 0)) {
- Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.skipped")));
- }
- }
- }
- else if (Main.plugin.getConfig().getString("messages.chat.bypass").length() != 0) {
- event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.bypass")));
- }
- }
- }
- catch (NoSuchMethodError e){
- Main.bypassers.clear();
- if (Main.plugin.getConfig().getBoolean("features.bypass")) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (player.hasPermission("harbor.bypass")) {
- Main.bypassers.add(player.getName());
- }
- }
- }
-
- if (!event.getPlayer().hasPermission("harbor.bypass")) {
- try {
- Main.worlds.put(event.getPlayer().getWorld(), Integer.valueOf((Main.worlds.get(event.getPlayer().getWorld())).intValue() + 1));
- }
- catch (Exception exception) {
- // Create value if it doesn't exist already
- Main.worlds.put(event.getPlayer().getWorld(), 1);
- }
-
- // Chat messages
- if (Main.plugin.getConfig().getBoolean("messages.chat.chat") && (Main.plugin.getConfig().getString("messages.chat.sleeping").length() != 0)) {
- Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.sleeping")
- .replace("[sleeping]", String.valueOf(Main.worlds.get(event.getPlayer().getWorld())))
- .replace("[online]", String.valueOf(event.getPlayer().getWorld().getPlayers().size() - Main.bypassers.size()))
- .replace("[player]", event.getPlayer().getName())
- .replace("[needed]", String.valueOf(Math.max(0, Math.round(event.getPlayer().getWorld().getPlayers().size() * Float.parseFloat(Main.plugin.getConfig().getString("values.percent")) - Main.bypassers.size() - (Main.worlds.get(event.getPlayer().getWorld())).intValue()))))));
- }
-
- // Skip night feature
- if (Main.plugin.getConfig().getBoolean("features.skipNight") && ((Main.worlds.get(event.getPlayer().getWorld())).intValue() >= event.getPlayer().getWorld().getPlayers().size() * Float.parseFloat(Main.plugin.getConfig().getString("values.percent")) - Main.bypassers.size()) && (event.getPlayer().getWorld().getPlayers().size() > 1)) {
- Bukkit.getServer().getWorld(event.getPlayer().getWorld().getName()).setTime(1000L);
-
- // Weather clear feature
- if (Main.plugin.getConfig().getBoolean("features.clearWeather")) {
- event.getPlayer().getWorld().setStorm(false);
- event.getPlayer().getWorld().setThundering(false);
- }
-
- // Night skipped message
- if (Main.plugin.getConfig().getBoolean("messages.chat.chat") && (Main.plugin.getConfig().getString("messages.chat.skipped").length() != 0)) {
- Bukkit.getServer().broadcastMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.skipped")));
- }
- }
- }
- else if (Main.plugin.getConfig().getString("messages.chat.bypass").length() != 0) {
- event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', Main.plugin.getConfig().getString("messages.chat.bypass")));
- }
- }
- }
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Listeners/BedLeaveEvent.java b/Harbor/src/techtoolbox/Harbor/Listeners/BedLeaveEvent.java
deleted file mode 100644
index 4bb1f3d..0000000
--- a/Harbor/src/techtoolbox/Harbor/Listeners/BedLeaveEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package techtoolbox.Harbor.Listeners;
-
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.EventPriority;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerBedLeaveEvent;
-
-import techtoolbox.Harbor.Main;
-
-public class BedLeaveEvent implements Listener {
-
- @EventHandler(priority = EventPriority.HIGH)
- public void onPlayerBedLeave(PlayerBedLeaveEvent event) {
- Main.bypassers.clear();
- if (Main.plugin.getConfig().getBoolean("features.bypass")) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (player.hasPermission("harbor.bypass")) {
- Main.bypassers.add(player.getName());
- }
- }
- }
-
- if (!Main.plugin.getConfig().getBoolean("features.bypass") || !event.getPlayer().hasPermission("harbor.bypass")) {
- Main.worlds.put(event.getPlayer().getWorld(), Integer.valueOf((Main.worlds.get(event.getPlayer().getWorld())).intValue() - 1));
- }
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Listeners/JoinEvent.java b/Harbor/src/techtoolbox/Harbor/Listeners/JoinEvent.java
deleted file mode 100644
index cdc0e99..0000000
--- a/Harbor/src/techtoolbox/Harbor/Listeners/JoinEvent.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package techtoolbox.Harbor.Listeners;
-
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerJoinEvent;
-
-import techtoolbox.Harbor.Main;
-
-public class JoinEvent implements Listener {
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent event) {
- Main.bypassers.clear();
- if (Main.plugin.getConfig().getBoolean("features.bypass")) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (player.hasPermission("harbor.bypass")) {
- Main.bypassers.add(player.getName());
- }
- }
- }
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Listeners/QuitEvent.java b/Harbor/src/techtoolbox/Harbor/Listeners/QuitEvent.java
deleted file mode 100644
index 630c915..0000000
--- a/Harbor/src/techtoolbox/Harbor/Listeners/QuitEvent.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package techtoolbox.Harbor.Listeners;
-
-import org.bukkit.Bukkit;
-import org.bukkit.entity.Player;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerQuitEvent;
-
-import techtoolbox.Harbor.Main;
-
-public class QuitEvent implements Listener{
- @EventHandler
- public void onPlayerQuit(PlayerQuitEvent event) {
- Main.bypassers.clear();
- if (Main.plugin.getConfig().getBoolean("features.bypass")) {
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- if (player.hasPermission("harbor.bypass")) {
- Main.bypassers.add(player.getName());
- }
- }
- }
- }
-}
diff --git a/Harbor/src/techtoolbox/Harbor/Main.java b/Harbor/src/techtoolbox/Harbor/Main.java
deleted file mode 100644
index dd6e8bb..0000000
--- a/Harbor/src/techtoolbox/Harbor/Main.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package techtoolbox.Harbor;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-
-import org.bukkit.Bukkit;
-import org.bukkit.ChatColor;
-import org.bukkit.World;
-import org.bukkit.entity.Player;
-import org.bukkit.event.Listener;
-import org.bukkit.plugin.java.JavaPlugin;
-
-import techtoolbox.Harbor.Actionbar.Actionbar;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_10_R1;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_11_R1;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_12_R1;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_13_R1;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_13_R2;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_8_R1;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_8_R2;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_8_R3;
-import techtoolbox.Harbor.Actionbar.Actionbar_1_9_R1;
-import techtoolbox.Harbor.Listeners.BedEnterEvent;
-import techtoolbox.Harbor.Listeners.BedLeaveEvent;
-import techtoolbox.Harbor.Listeners.JoinEvent;
-import techtoolbox.Harbor.Listeners.QuitEvent;
-
-public class Main extends JavaPlugin implements Listener {
- public static Main plugin;
- public static String version = "1.4.4";
- public static HashMap worlds = new HashMap();
- public static ArrayList bypassers = new ArrayList();
- public static Actionbar actionbar;
-
- public void onEnable() {
- plugin = this;
- saveDefaultConfig();
- getCommand("harbor").setExecutor(new Command());
- Bukkit.getPluginManager().registerEvents(new JoinEvent(), this);
- Bukkit.getPluginManager().registerEvents(new QuitEvent(), this);
- Bukkit.getPluginManager().registerEvents(new BedEnterEvent(), this);
- Bukkit.getPluginManager().registerEvents(new BedLeaveEvent(), this);
-
- // Fill up worlds list
- if (getConfig().getBoolean("features.bypass")) {
- for (int i = 0; Bukkit.getServer().getWorlds().size() > i; i++) {
- worlds.put(Bukkit.getServer().getWorlds().get(i), Integer.valueOf(0));
- }
- }
-
- // Start actionbar message check
- if (getConfig().getBoolean("messages.actionbar.actionbar")) {
- Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new ActionBarMessage(), 0L, getConfig().getInt("values.check") * 20);
- }
-
- // Set up actionbar NMS
- if (setupActionbar()) {
- Bukkit.getPluginManager().registerEvents(this, this);
- } else {
- String version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
- Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', getConfig().getString("messages.miscellaneous.incompatible").replace("[version]", version)));
- Bukkit.getPluginManager().disablePlugin(this);
- }
- }
-
- public void onDisable() {
- // Knock players out of bed
- for (Player player : Bukkit.getServer().getOnlinePlayers()) {
- player.damage(0.000001);
- }
- }
-
- public static void sendActionbar(String type, World world, Player player) {
- if (type.equals("playersInBed")) {
- for (Player p : world.getPlayers()) {
- actionbar.sendActionbar(p, plugin.getConfig().getString("messages.actionbar.sleeping")
- .replace("[sleeping]", String.valueOf(worlds.get(world)))
- .replace("[online]", String.valueOf(world.getPlayers().size() - bypassers.size()))
- .replace("[needed]", String.valueOf(Math.max(0, Math.round(world.getPlayers().size() * Float.parseFloat(plugin.getConfig().getString("values.percent")) - bypassers.size() - ((Integer)worlds.get(world)).intValue())))));
- }
- }
- else if (type.equals("everyoneSleeping")) {
- for (Player p : world.getPlayers()) {
- actionbar.sendActionbar(p, plugin.getConfig().getString("messages.actionbar.everyone")
- .replace("[sleeping]", String.valueOf(worlds.get(world)))
- .replace("[online]", String.valueOf(world.getPlayers().size() - bypassers.size()))
- .replace("[needed]", String.valueOf(Math.max(0, Math.round(world.getPlayers().size() * Float.parseFloat(plugin.getConfig().getString("values.percent")) - bypassers.size() - ((Integer)worlds.get(world)).intValue())))));
- }
- }
- else if (type.equals("sleepingBlocked")) {
- actionbar.sendActionbar(player, plugin.getConfig().getString("messages.actionbar.blocked"));
- }
- }
-
- private boolean setupActionbar() {
- String version;
-
- try {
- version = Bukkit.getServer().getClass().getPackage().getName().split("\\.")[3];
- }
- catch (ArrayIndexOutOfBoundsException e) {
- if (plugin.getConfig().getBoolean("features.debug")) {
- e.printStackTrace();
- }
- return false;
- }
-
- Bukkit.getServer().getConsoleSender().sendMessage(ChatColor.translateAlternateColorCodes('&', plugin.getConfig().getString("messages.miscellaneous.prefix") + plugin.getConfig().getString("messages.miscellaneous.running").replace("[version]", version)));
-
- // Actionbar
- if (version.equals("v1_8_R1")) {
- actionbar = new Actionbar_1_8_R1();
- }else if (version.equals("v1_8_R2")) {
- actionbar = new Actionbar_1_8_R2();
- }else if (version.equals("v1_8_R3")) {
- actionbar = new Actionbar_1_8_R3();
- }else if (version.equals("v1_9_R1")) {
- actionbar = new Actionbar_1_9_R1();
- }else if (version.equals("v1_10_R1")) {
- actionbar = new Actionbar_1_10_R1();
- }else if (version.equals("v1_11_R1")) {
- actionbar = new Actionbar_1_11_R1();
- }else if (version.equals("v1_12_R1")) {
- actionbar = new Actionbar_1_12_R1();
- }else if (version.equals("v1_13_R1")) {
- actionbar = new Actionbar_1_13_R1();
- } else if (version.equals("v1_13_R2")) {
- actionbar = new Actionbar_1_13_R2();
- }
- return actionbar != null;
- }
-}
diff --git a/README.md b/README.md
index f662073..eb951d6 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
[discord-invite]: https://discord.gg/UACRzwe
# Harbor [![Discord](https://discordapp.com/api/guilds/285623631042707457/widget.png)][discord-invite] [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://github.com/nkomarn/Harbor/blob/master/LICENSE)
Harbor is a plugin that redefines sleep within your Spigot server!
+*Currently undergoing a rewrite for version 1.5.*
https://www.spigotmc.org/resources/harbor-a-sleep-enhancement-plugin.60088/
diff --git a/Harbor/config.yml b/config.yml
similarity index 97%
rename from Harbor/config.yml
rename to config.yml
index 04154f5..bb70dcf 100644
--- a/Harbor/config.yml
+++ b/config.yml
@@ -66,4 +66,4 @@ messages:
permission: "&7Insufficient permissions."
# Version identifier (do not change)
-version: 1.4.4
+version: 1.5
diff --git a/Harbor/plugin.yml b/plugin.yml
similarity index 73%
rename from Harbor/plugin.yml
rename to plugin.yml
index 1f3132c..d51cf20 100644
--- a/Harbor/plugin.yml
+++ b/plugin.yml
@@ -1,9 +1,9 @@
name: Harbor
-version: 1.4.4
-main: techtoolbox.Harbor.Main
+version: 1.5
+main: mykyta.Harbor.Harbor
description: Ahoy, matey! Harbor is a Spigot plugin that redefines how sleep works in your server, making it easier for all the online players to get in bed quick and skip through the night!
-author: TechToolbox
-website: https://techtoolbox.tk
+author: Mykyta (TechToolbox)
+website: https://mykyta.tk
commands:
harbor:
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..69db059
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,61 @@
+
+ 4.0.0
+ mykyta.Harbor
+ Harbor
+ 1.5
+
+ 1.8
+ 1.8
+ UTF-8
+ ${project.basedir}/spigot
+
+
+
+ spigotmc.org
+ spigot-1.13.2
+ system
+ ${spigot}/1.13.2.jar
+ 1.13.2
+
+
+ com.google.code.gson
+ gson
+ 2.8.5
+
+
+
+ /home/nkomarn/Documents/Spigot Servers/1.13.2/plugins/
+ ${basedir}/src/
+
+
+ .
+ true
+ ${basedir}
+
+ *.yml
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.0.2
+
+
+ maven-compiler-plugin
+ 3.5
+
+
+ 1.8
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.0.1
+
+
+
+
diff --git a/src/main/java/mykyta/Harbor/Actionbar/Actionbar.java b/src/main/java/mykyta/Harbor/Actionbar/Actionbar.java
new file mode 100644
index 0000000..ced4f4a
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Actionbar/Actionbar.java
@@ -0,0 +1,7 @@
+package mykyta.Harbor.Actionbar;
+
+import org.bukkit.entity.Player;
+
+public interface Actionbar {
+ public void sendActionbar(Player player, String message);
+}
\ No newline at end of file
diff --git a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R2.java b/src/main/java/mykyta/Harbor/Actionbar/Actionbar_1_13_R2.java
similarity index 92%
rename from Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R2.java
rename to src/main/java/mykyta/Harbor/Actionbar/Actionbar_1_13_R2.java
index 7abfeb7..ee3ee61 100644
--- a/Harbor/src/techtoolbox/Harbor/Actionbar/Actionbar_1_13_R2.java
+++ b/src/main/java/mykyta/Harbor/Actionbar/Actionbar_1_13_R2.java
@@ -1,4 +1,4 @@
-package techtoolbox.Harbor.Actionbar;
+package mykyta.Harbor.Actionbar;
import org.bukkit.ChatColor;
import org.bukkit.craftbukkit.v1_13_R2.entity.CraftPlayer;
@@ -8,7 +8,6 @@ import net.minecraft.server.v1_13_R2.IChatBaseComponent;
import net.minecraft.server.v1_13_R2.PacketPlayOutTitle;
public class Actionbar_1_13_R2 implements Actionbar {
-
@Override
public void sendActionbar(Player player, String message) {
IChatBaseComponent titleComponent = IChatBaseComponent.ChatSerializer.a("{\"text\": \"" + ChatColor.translateAlternateColorCodes('&', message) + "\"}");
diff --git a/src/main/java/mykyta/Harbor/Events/BedEnter.java b/src/main/java/mykyta/Harbor/Events/BedEnter.java
new file mode 100644
index 0000000..64d09ec
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Events/BedEnter.java
@@ -0,0 +1,32 @@
+package mykyta.Harbor.Events;
+
+import org.bukkit.ChatColor;
+import org.bukkit.event.EventHandler;
+import org.bukkit.event.EventPriority;
+import org.bukkit.event.Listener;
+import org.bukkit.event.player.PlayerBedEnterEvent;
+
+import mykyta.Harbor.Harbor;
+
+public class BedEnter implements Listener {
+
+ Harbor harbor;
+ public BedEnter(Harbor instance) {
+ harbor = instance;
+ }
+
+ @EventHandler(priority = EventPriority.HIGH)
+ public void onPlayerBedEnterEvent(PlayerBedEnterEvent event) {
+ // Prevent bed entry if "blockSleep" is enabled in the config
+ if (harbor.getConfig().getBoolean("features.blockSleep")) {
+ if (harbor.getConfig().getString("messages.chat.blocked").length() > 0) {
+ event.getPlayer().sendMessage(ChatColor.translateAlternateColorCodes('&', harbor.getConfig().getString("messages.chat.blocked")));
+ }
+ //Main.sendActionbar("sleepingBlocked", null, event.getPlayer())
+ event.setCancelled(true);
+ return;
+ }
+
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/mykyta/Harbor/Harbor.java b/src/main/java/mykyta/Harbor/Harbor.java
new file mode 100644
index 0000000..e004fbf
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Harbor.java
@@ -0,0 +1,21 @@
+package mykyta.Harbor;
+
+import org.bukkit.Bukkit;
+import org.bukkit.plugin.java.JavaPlugin;
+
+import mykyta.Harbor.Events.BedEnter;
+
+public class Harbor extends JavaPlugin {
+ Updater updater = new Updater();
+
+ public void onEnable() {
+ saveDefaultConfig();
+ Bukkit.getPluginManager().registerEvents(new BedEnter(this), this);
+ System.out.println("Checking for updates");
+ updater.check();
+ }
+
+ public void onDisable() {
+
+ }
+}
diff --git a/src/main/java/mykyta/Harbor/Task.java b/src/main/java/mykyta/Harbor/Task.java
new file mode 100644
index 0000000..1b34143
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Task.java
@@ -0,0 +1,25 @@
+package mykyta.Harbor;
+
+public class Task implements Runnable {
+
+ @Override
+ public void run() {
+
+ }
+ /* @Override
+ public void run() {
+ try {
+ for (int i = 0; Main.worlds.size() > i; i++) {
+ if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() > 0) && ((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() < (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size())) {
+ Main.sendActionbar("playersInBed", Bukkit.getServer().getWorlds().get(i));
+ }
+ else if (((Main.worlds.get(Bukkit.getServer().getWorlds().get(i))).intValue() == (Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size()) && ((Bukkit.getServer().getWorlds().get(i)).getPlayers().size() - Main.bypassers.size() > 1)) {
+ Main.sendActionbar("everyoneSleeping", Bukkit.getServer().getWorlds().get(i));
+ }
+ }
+ }
+ catch (Exception e) {
+ e.printStackTrace();
+ }
+ }*/
+}
\ No newline at end of file
diff --git a/src/main/java/mykyta/Harbor/Updater.java b/src/main/java/mykyta/Harbor/Updater.java
new file mode 100644
index 0000000..46b3670
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Updater.java
@@ -0,0 +1,72 @@
+package mykyta.Harbor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.ArrayList;
+
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+
+public class Updater {
+ /**
+ * Checks for an update using the Spiget API
+ * @see https://spiget.org/
+ */
+ public boolean check() {
+ try {
+ URL url = new URL("https://api.spiget.org/v2/resources/60088/versions");
+ URLConnection request = url.openConnection();
+ request.connect();
+
+ Util util = new Util();
+ ArrayList releases = new ArrayList();
+ JsonParser parser = new JsonParser();
+ JsonElement element = parser.parse(new InputStreamReader((InputStream) request.getContent()));
+ JsonArray versions = element.getAsJsonArray();
+
+ for (JsonElement version : versions) {
+ JsonObject id = version.getAsJsonObject();
+ releases.add(id.get("name").getAsString());
+ }
+
+ // TODO add super secret message for when the version is newer than the latest published one
+ if (util.version.equals(releases.get(releases.size() - 1))) {
+ System.out.println("Running latest version.");
+ return false;
+ }
+ else {
+ System.out.println("Running an outdated version! Latest is " + releases.get(releases.size() - 1));
+ return true;
+ }
+
+
+ /*
+ int current = Integer.parseInt(String.valueOf(util.version).replace(".", ""));
+ int latest = releases.get(releases.size() - 1);
+ System.out.println("Current version: " + current);
+ System.out.println("Latest release: " + latest);
+ if (util.version < latest) {
+ System.out.println("Update available! Version " + String.valueOf(latest));
+ return true;
+ }
+ else if (util.version < latest) {
+ System.out.println("Hmm... you're using some sort of time travel technology (your version is newer than the latest release). Welp, at least you don't have updates to worry about any time soon.");
+ return true;
+ }
+ else {
+ System.out.println("Using the latest version.");
+ return false;
+ } */
+ }
+ catch (IOException e) {
+ System.out.println("Failed to check for updates.");
+ return false;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/mykyta/Harbor/Util.java b/src/main/java/mykyta/Harbor/Util.java
new file mode 100644
index 0000000..6ccb8f0
--- /dev/null
+++ b/src/main/java/mykyta/Harbor/Util.java
@@ -0,0 +1,10 @@
+package mykyta.Harbor;
+
+import java.util.HashMap;
+
+import org.bukkit.World;
+
+public class Util {
+ public static HashMap worlds = new HashMap();
+ public String version = "1.5";
+}
\ No newline at end of file