From 4519d5f64a6e3f5962ac498723f939a979495144 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Thu, 31 May 2018 03:07:12 +0200 Subject: [PATCH] Added /primerestart And started using new plugin updater #34 --- .../java/buttondevteam/core/MainPlugin.java | 1 + .../buttondevteam/core/PlayerListener.java | 4 +++ .../core/PrimeRestartCommand.java | 33 +++++++++++++++++++ ButtonCore/src/main/resources/plugin.yml | 2 ++ deploy.sh | 2 +- 5 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 ButtonCore/src/main/java/buttondevteam/core/PrimeRestartCommand.java diff --git a/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java b/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java index faba91e..03ba171 100755 --- a/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java +++ b/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java @@ -39,6 +39,7 @@ public class MainPlugin extends JavaPlugin { saveConfig(); TBMCChatAPI.AddCommand(this, UpdatePluginCommand.class); TBMCChatAPI.AddCommand(this, ScheduledRestartCommand.class); + TBMCChatAPI.AddCommand(this, PrimeRestartCommand.class); TBMCCoreAPI.RegisterEventsForExceptions(new PlayerListener(), this); TBMCCoreAPI.RegisterUserClass(TBMCPlayerBase.class); TBMCChatAPI.RegisterChatChannel(Channel.GlobalChat = new Channel("§fOOC§f", Color.White, "ooc", null)); diff --git a/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java b/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java index cb6e14b..97def0f 100755 --- a/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java +++ b/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java @@ -19,6 +19,10 @@ public class PlayerListener implements Listener { @EventHandler(priority = EventPriority.NORMAL) public void OnPlayerLeave(PlayerQuitEvent event) { TBMCPlayerBase.quitPlayer(event.getPlayer()); + if (PrimeRestartCommand.isPlsrestart() && Bukkit.getOnlinePlayers().size() <= 1) { + Bukkit.broadcastMessage("§cNobody is online anymore. Restarting."); + Bukkit.spigot().restart(); + } } @EventHandler(priority = EventPriority.HIGHEST) diff --git a/ButtonCore/src/main/java/buttondevteam/core/PrimeRestartCommand.java b/ButtonCore/src/main/java/buttondevteam/core/PrimeRestartCommand.java new file mode 100644 index 0000000..f1e5bef --- /dev/null +++ b/ButtonCore/src/main/java/buttondevteam/core/PrimeRestartCommand.java @@ -0,0 +1,33 @@ +package buttondevteam.core; + +import buttondevteam.lib.chat.CommandClass; +import buttondevteam.lib.chat.TBMCCommandBase; +import lombok.Getter; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.command.CommandSender; + +@CommandClass(path = "primerestart", modOnly = true) +public class PrimeRestartCommand extends TBMCCommandBase { + @Override + public boolean OnCommand(CommandSender sender, String alias, String[] args) { + if (Bukkit.getOnlinePlayers().size() > 0) { + sender.sendMessage("§bPlayers online, restart delayed."); + Bukkit.broadcastMessage(ChatColor.DARK_RED + "The server will restart as soon as nobody is online."); + plsrestart = true; + } else { + sender.sendMessage("§bNobody is online. Restarting now."); + Bukkit.broadcastMessage("§cNobody is online. Restarting server."); + Bukkit.spigot().restart(); + } + return true; + } + + @Getter + private static boolean plsrestart = false; + + @Override + public String[] GetHelpText(String alias) { + return new String[0]; + } +} diff --git a/ButtonCore/src/main/resources/plugin.yml b/ButtonCore/src/main/resources/plugin.yml index 889e397..e60f586 100755 --- a/ButtonCore/src/main/resources/plugin.yml +++ b/ButtonCore/src/main/resources/plugin.yml @@ -7,3 +7,5 @@ commands: description: Update a TBMC plugin schrestart: description: Schedules a restart for a given time. + primerestart: + description: Restarts the server as soon as nobody is online. diff --git a/deploy.sh b/deploy.sh index 74bdab7..d608167 100755 --- a/deploy.sh +++ b/deploy.sh @@ -6,5 +6,5 @@ if [ $1 = 'production' ]; then echo Production mode echo $UPLOAD_KEY > upload_key chmod 400 upload_key -yes | scp -B -i upload_key -o StrictHostKeyChecking=no $FILENAME travis@server.figytuna.com:/minecraft/main/plugins +yes | scp -B -i upload_key -o StrictHostKeyChecking=no $FILENAME travis@server.figytuna.com:/minecraft/main/TBMC/pluginupdates fi