diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/artifacts/Maintenance_BungeeCord.xml b/.idea/artifacts/Maintenance_BungeeCord.xml
new file mode 100644
index 0000000..a9ff41b
--- /dev/null
+++ b/.idea/artifacts/Maintenance_BungeeCord.xml
@@ -0,0 +1,11 @@
+
+
+ $PROJECT_DIR$/1.0.3
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
new file mode 100644
index 0000000..a04e4e5
--- /dev/null
+++ b/.idea/discord.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..15a15b2
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..0548357
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..37762a1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/Maintenance - BungeeCord.iml b/Maintenance - BungeeCord.iml
new file mode 100644
index 0000000..62d474d
--- /dev/null
+++ b/Maintenance - BungeeCord.iml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/out/production/Maintenance - BungeeCord/bungee.yml b/out/production/Maintenance - BungeeCord/bungee.yml
new file mode 100644
index 0000000..dfa0c84
--- /dev/null
+++ b/out/production/Maintenance - BungeeCord/bungee.yml
@@ -0,0 +1,6 @@
+name: Maintenance
+version: 1.0.3
+author: TntTastisch
+main: de.TntTastisch.Spigot.Maintenance
+commands:
+ maintenance:
\ No newline at end of file
diff --git a/out/production/Maintenance - BungeeCord/config.yml b/out/production/Maintenance - BungeeCord/config.yml
new file mode 100644
index 0000000..cd0f7c0
--- /dev/null
+++ b/out/production/Maintenance - BungeeCord/config.yml
@@ -0,0 +1,23 @@
+# Use %reason% for the Mainteance-Reason.
+Maintenance:
+ enable: false
+ prefix: '&8[&4Maintenance&8] &7'
+ permissions: 'maintenance.use'
+ noperms: '&cYou have no rights to this command.'
+ reloaded: '&7The configuration was &asuccessfully &7reloaded.'
+ maintenancejoin: 'maintenance.bypass'
+ reason: '&7Cunstruction'
+ noreason: '&cPlease specify a maintenance reason!'
+Messages:
+ Version: '&4Maintenance'
+ MaintenanceKickMessage: '&8>> &4ServerNetwork.com &8<<\n&7This network is now under maintenance\n\n&7Reason&8: %reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com'
+ MaintenanceMessage: '&8>> &4ServerNetwork.com &8<<\n&7This network is currently under maintenance\n\n&7Reason&8: %reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com'
+ Enabled: '&7The maintenancemode was successfully &aenabled&7 for %reason%'
+ Disabled: '&7The maintenancemode was successfully &cdisabled&7.'
+ alreadyEnable: '&cThe maintenancemode is currently &aenabled&7.'
+ alreadyDisabled: '&cThe maintenancemode is currently &cdisabled&7.'
+MOTD:
+ FirstMOTD: '&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]'
+ SecondMOTD: '&aWe are online again &8| &4Maintenance by TntTastisch'
+ MaintenanceFirstMOTD: '&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]'
+ MaintenanceSecondMOTD: '&&8[&c!&8] &7This network is currently under &4maintenance&7!'
\ No newline at end of file
diff --git a/src/bungee.yml b/src/bungee.yml
new file mode 100644
index 0000000..dfa0c84
--- /dev/null
+++ b/src/bungee.yml
@@ -0,0 +1,6 @@
+name: Maintenance
+version: 1.0.3
+author: TntTastisch
+main: de.TntTastisch.Spigot.Maintenance
+commands:
+ maintenance:
\ No newline at end of file
diff --git a/src/config.yml b/src/config.yml
new file mode 100644
index 0000000..cd0f7c0
--- /dev/null
+++ b/src/config.yml
@@ -0,0 +1,23 @@
+# Use %reason% for the Mainteance-Reason.
+Maintenance:
+ enable: false
+ prefix: '&8[&4Maintenance&8] &7'
+ permissions: 'maintenance.use'
+ noperms: '&cYou have no rights to this command.'
+ reloaded: '&7The configuration was &asuccessfully &7reloaded.'
+ maintenancejoin: 'maintenance.bypass'
+ reason: '&7Cunstruction'
+ noreason: '&cPlease specify a maintenance reason!'
+Messages:
+ Version: '&4Maintenance'
+ MaintenanceKickMessage: '&8>> &4ServerNetwork.com &8<<\n&7This network is now under maintenance\n\n&7Reason&8: %reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com'
+ MaintenanceMessage: '&8>> &4ServerNetwork.com &8<<\n&7This network is currently under maintenance\n\n&7Reason&8: %reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com'
+ Enabled: '&7The maintenancemode was successfully &aenabled&7 for %reason%'
+ Disabled: '&7The maintenancemode was successfully &cdisabled&7.'
+ alreadyEnable: '&cThe maintenancemode is currently &aenabled&7.'
+ alreadyDisabled: '&cThe maintenancemode is currently &cdisabled&7.'
+MOTD:
+ FirstMOTD: '&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]'
+ SecondMOTD: '&aWe are online again &8| &4Maintenance by TntTastisch'
+ MaintenanceFirstMOTD: '&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]'
+ MaintenanceSecondMOTD: '&&8[&c!&8] &7This network is currently under &4maintenance&7!'
\ No newline at end of file
diff --git a/src/de/TntTastisch/Spigot/Maintenance.java b/src/de/TntTastisch/Spigot/Maintenance.java
new file mode 100644
index 0000000..7671af5
--- /dev/null
+++ b/src/de/TntTastisch/Spigot/Maintenance.java
@@ -0,0 +1,204 @@
+package de.TntTastisch.Spigot;
+
+import de.TntTastisch.Spigot.commands.MaintenanceCMD;
+import de.TntTastisch.Spigot.listener.ServerPingListener;
+import net.md_5.bungee.BungeeCord;
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.ProxyServer;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+import net.md_5.bungee.api.plugin.Command;
+import net.md_5.bungee.api.plugin.Listener;
+import net.md_5.bungee.api.plugin.Plugin;
+import net.md_5.bungee.api.plugin.PluginManager;
+import net.md_5.bungee.conf.Configuration;
+import net.md_5.bungee.config.ConfigurationProvider;
+import net.md_5.bungee.config.YamlConfiguration;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.concurrent.TimeUnit;
+
+public class Maintenance extends Plugin implements Listener {
+
+ public static boolean maintenance;
+
+
+ public static String prefix;
+ public static String permissions;
+ public static String noperms;
+ public static String reloaded;
+ public static String version;
+ public static String maintenancejoin;
+ public static String reason;
+ public static String noreason;
+
+ public static String MaintenanceKickMessage;
+ public static String MaintenanceMessage;
+ public static String Enabled;
+ public static String Disabled;
+ public static String alreadyEnabled;
+ public static String alreadyDisabled;
+
+ public static String FirstMOTD;
+ public static String SecondMOTD;
+ public static String MaintenanceFirstMOTD;
+ public static String MaintenanceSecondMOTD;
+
+ public static File file;
+ public static net.md_5.bungee.config.Configuration config;
+
+
+ @Override
+ public void onEnable() {
+ loadConfiguration();
+ PluginManager pluginManager = BungeeCord.getInstance().getPluginManager();
+
+ pluginManager.registerCommand(this, new MaintenanceCMD());
+ pluginManager.registerListener(this, new ServerPingListener());
+
+
+
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[]===========[ Maintenance ]===========[]"));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §aThis Plugin was successfully activated."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §aAuthor: TntTastisch."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §aVersion: " + getDescription().getVersion() + "."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[]===========[ Maintenance ]===========[]"));
+ }
+
+ @Override
+ public void onDisable() {
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[]===========[ Maintenance ]===========[]"));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §cThis Plugin was successfully deactivated."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §cAuthor: TntTastisch."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[] §cVersion: " + getDescription().getVersion() + "."));
+ BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("[]===========[ Maintenance ]===========[]"));
+ }
+
+ public void loadConfiguration() {
+ if(!getDataFolder().exists()){
+ getDataFolder().mkdir();
+ }
+
+ file = new File(getDataFolder().getPath(), "config.yml");
+
+ try {
+ if(!file.exists()) {
+ file.createNewFile();
+ }
+ config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(file);
+ } catch (IOException e) {
+
+ e.printStackTrace();
+ }
+
+ if(!config.contains("Maintenance.enable")) {
+ config.set("Maintenance.enable", false);
+ }
+
+ if(!config.contains("Maintenance.prefix")) {
+ config.set("Maintenance.prefix", "&8[&4Maintenance&8] &7");
+ }
+
+ if(!config.contains("Maintenance.permissions")) {
+ config.set("Maintenance.permissions", "maintenance.use");
+ }
+
+ if(!config.contains("Maintenance.noperms")) {
+ config.set("Maintenance.noperms", "&cYou have no rights to this command.");
+ }
+
+ if(!config.contains("Maintenance.reloaded")) {
+ config.set("Maintenance.reloaded", "&7The configuration was &asuccessfully &7reloaded.");
+ }
+
+ if(!config.contains("Maintenance.maintenancejoin")) {
+ config.set("Maintenance.maintenancejoin", "maintenance.bypass");
+ }
+
+ if(!config.contains("Maintenance.reason")) {
+ config.set("Maintenance.reason", "&7Cunstruction");
+ }
+
+ if(!config.contains("Maintenance.noreason")) {
+ config.set("Maintenance.noreason", "&cPlease specify a maintenance reason!");
+ }
+
+ if(!config.contains("Messages.Version")) {
+ config.set("Messages.Version", "&4Maintenance");
+ }
+
+ if(!config.contains("Messages.MaintenanceKickMessage")) {
+ config.set("Messages.MaintenanceKickMessage", "&8>> &4ServerNetwork.com &8<<\n&7This network is now under maintenance\n\n&7Reason&8: &e%reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com");
+ }
+
+ if(!config.contains("Messages.MaintenanceMessage")) {
+ config.set("Messages.MaintenanceMessage", "&8>> &4ServerNetwork.com &8<<\n&7This network is currently under maintenance\n\n&7Reason&8: &e%reason%\n\n&7You want to contact us?\n&7TeamSpeak &8>> &ets.yourservernetwork.com\n&7Homepage &8>> &ewww.yourservernetwork.com");
+ }
+
+ if(!config.contains("Messages.Enabled")) {
+ config.set("Messages.Enabled", "&7The maintenancemode was successfully &aenabled&7 for %reason%");
+ }
+
+ if(!config.contains("Messages.Disabled")) {
+ config.set("Messages.Disabled", "&7The maintenancemode was successfully &cdisabled&7.");
+ }
+
+ if(!config.contains("Messages.alreadyEnable")) {
+ config.set("Messages.alreadyEnable", "&cThe maintenancemode is currently &aenabled&7.");
+ }
+
+ if(!config.contains("Messages.alreadyDisabled")) {
+ config.set("Messages.alreadyDisabled", "&cThe maintenancemode is currently &cdisabled&7.");
+ }
+
+ if(!config.contains("MOTD.FirstMOTD")) {
+ config.set("MOTD.FirstMOTD", "&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]");
+ }
+
+ if(!config.contains("MOTD.SecondMOTD")) {
+ config.set("MOTD.SecondMOTD", "&aWe are online again &8| &4Maintenance by TntTastisch");
+ }
+
+ if(!config.contains("MOTD.MaintenanceFirstMOTD")) {
+ config.set("MOTD.MaintenanceFirstMOTD", "&4ServerNetwork.com &8- &fServer Network &8[&e1.8-1.12&8]");
+ }
+
+ if(!config.contains("MOTD.MaintenanceSecondMOTD")) {
+ config.set("MOTD.MaintenanceSecondMOTD", "&8[&c!&8] &7This network is currently under &4maintenance&7!");
+ }
+
+
+
+ maintenance = config.getBoolean("Maintenance.enable");
+
+ prefix = config.getString("Maintenance.prefix").replaceAll("&", "§");
+ permissions = config.getString("Maintenance.permissions").replaceAll("&", "§");
+ noperms = config.getString("Maintenance.noperms").replaceAll("&", "§");
+ reloaded = config.getString("Maintenance.reloaded").replaceAll("&", "§");
+ version = config.getString("Messages.Version").replaceAll("&", "§");
+ maintenancejoin = config.getString("Maintenance.maintenancejoin").replaceAll("&", "§");
+ reason = config.getString("Maintenance.reason").replaceAll("&", "§");
+ noreason = config.getString("Maintenance.noreason").replaceAll("&", "§");
+
+ MaintenanceKickMessage = config.getString("Messages.MaintenanceKickMessage").replaceAll("&", "§").replace("%reason%", reason);
+ MaintenanceMessage = config.getString("Messages.MaintenanceMessage").replaceAll("&", "§").replace("%reason%", reason);
+ Enabled = config.getString("Messages.Enabled").replaceAll("&", "§").replace("%reason%", reason);
+ Disabled = config.getString("Messages.Disabled").replaceAll("&", "§");
+ alreadyEnabled = config.getString("Messages.alreadyEnable").replaceAll("&", "§");
+ alreadyDisabled = config.getString("Messages.alreadyDisabled").replaceAll("&", "§");
+
+ FirstMOTD = config.getString("MOTD.FirstMOTD").replaceAll("&", "§");
+ SecondMOTD = config.getString("MOTD.SecondMOTD").replaceAll("&", "§");
+ MaintenanceFirstMOTD = config.getString("MOTD.MaintenanceFirstMOTD").replaceAll("&", "§");
+ MaintenanceSecondMOTD = config.getString("MOTD.MaintenanceSecondMOTD").replaceAll("&", "§");
+
+ try {
+ ConfigurationProvider.getProvider(YamlConfiguration.class).save(config, file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ }
+
+}
diff --git a/src/de/TntTastisch/Spigot/commands/MaintenanceCMD.java b/src/de/TntTastisch/Spigot/commands/MaintenanceCMD.java
new file mode 100644
index 0000000..d0cffc3
--- /dev/null
+++ b/src/de/TntTastisch/Spigot/commands/MaintenanceCMD.java
@@ -0,0 +1,152 @@
+package de.TntTastisch.Spigot.commands;
+
+import de.TntTastisch.Spigot.Maintenance;
+import net.md_5.bungee.BungeeCord;
+import net.md_5.bungee.api.CommandSender;
+import net.md_5.bungee.api.ProxyServer;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+import net.md_5.bungee.api.plugin.Command;
+import net.md_5.bungee.config.ConfigurationProvider;
+import net.md_5.bungee.config.YamlConfiguration;
+import sun.applet.Main;
+
+import java.io.ByteArrayOutputStream;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.nio.charset.MalformedInputException;
+import java.util.concurrent.TimeUnit;
+
+public class MaintenanceCMD extends Command {
+
+ public MaintenanceCMD() {
+ super("maintenance");
+ }
+
+ @Override
+ public void execute(CommandSender commandSender, String[] strings) {
+ if (commandSender.hasPermission(Maintenance.permissions)) {
+
+
+ if (strings.length == 0) {
+ commandSender.sendMessage(new TextComponent("§8§m============§r§8[ §4§lMaintenance §8]§8§m============"));
+ commandSender.sendMessage(new TextComponent("§8>> §e/maintenance reload"));
+ commandSender.sendMessage(new TextComponent("§8>> §e/maintenance "));
+ commandSender.sendMessage(new TextComponent("§8>> §e/maintenance off"));
+ commandSender.sendMessage(new TextComponent("§8§m============§r§8[ §4§lMaintenance §8]§8§m============"));
+
+ } else if (strings.length == 1) {
+
+ if (strings[0].equalsIgnoreCase("reload")) {
+ try {
+ Maintenance.config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(Maintenance.file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ Maintenance.maintenance = Maintenance.config.getBoolean("Maintenance.enable");
+
+ Maintenance.prefix = Maintenance.config.getString("Maintenance.prefix").replaceAll("&", "§");
+ Maintenance.permissions = Maintenance.config.getString("Maintenance.permissions").replaceAll("&", "§");
+ Maintenance.noperms = Maintenance.config.getString("Maintenance.noperms").replaceAll("&", "§");
+ Maintenance.reloaded = Maintenance.config.getString("Maintenance.reloaded").replaceAll("&", "§");
+ Maintenance.version = Maintenance.config.getString("Messages.Version").replaceAll("&", "§");
+ Maintenance.maintenancejoin = Maintenance.config.getString("Maintenance.maintenancejoin").replaceAll("&", "§");
+ Maintenance.reason = Maintenance.config.getString("Maintenance.reason").replaceAll("&", "§");
+ Maintenance.noreason = Maintenance.config.getString("Maintenance.noreason").replaceAll("&", "§");
+
+ Maintenance.MaintenanceKickMessage = Maintenance.config.getString("Messages.MaintenanceKickMessage").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.MaintenanceMessage = Maintenance.config.getString("Messages.MaintenanceMessage").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.Enabled = Maintenance.config.getString("Messages.Enabled").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.Disabled = Maintenance.config.getString("Messages.Disabled").replaceAll("&", "§");
+ Maintenance.alreadyEnabled = Maintenance.config.getString("Messages.alreadyEnable").replaceAll("&", "§");
+ Maintenance.alreadyDisabled = Maintenance.config.getString("Messages.alreadyDisabled").replaceAll("&", "§");
+
+ Maintenance.FirstMOTD = Maintenance.config.getString("MOTD.FirstMOTD").replaceAll("&", "§");
+ Maintenance.SecondMOTD = Maintenance.config.getString("MOTD.SecondMOTD").replaceAll("&", "§");
+ Maintenance.MaintenanceFirstMOTD = Maintenance.config.getString("MOTD.MaintenanceFirstMOTD").replaceAll("&", "§");
+ Maintenance.MaintenanceSecondMOTD = Maintenance.config.getString("MOTD.MaintenanceSecondMOTD").replaceAll("&", "§");
+
+ commandSender.sendMessage(Maintenance.prefix + Maintenance.reloaded);
+
+ } else if (strings[0].equalsIgnoreCase("off")) {
+ if (!Maintenance.config.getBoolean("Maintenance.enable") == false) {
+ Maintenance.config.set("Maintenance.enable", false);
+ Maintenance.maintenance = false;
+ try {
+ ConfigurationProvider.getProvider(YamlConfiguration.class).save(Maintenance.config, Maintenance.file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ ProxyServer.getInstance().broadcast(new TextComponent(Maintenance.prefix + Maintenance.Disabled));
+ } else {
+ commandSender.sendMessage(Maintenance.prefix + Maintenance.alreadyDisabled);
+ }
+ } else {
+ String reason = strings[0];
+ if (reason != null) {
+ if (!Maintenance.config.getBoolean("Maintenance.enable") == true) {
+
+ Maintenance.config.set("Maintenance.enable", true);
+ Maintenance.config.set("Maintenance.reason", reason);
+ Maintenance.maintenance = true;
+
+ try {
+ ConfigurationProvider.getProvider(YamlConfiguration.class).save(Maintenance.config, Maintenance.file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ try {
+ Maintenance.config = ConfigurationProvider.getProvider(YamlConfiguration.class).load(Maintenance.file);
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ Maintenance.maintenance = Maintenance.config.getBoolean("Maintenance.enable");
+
+ Maintenance.prefix = Maintenance.config.getString("Maintenance.prefix").replaceAll("&", "§");
+ Maintenance.permissions = Maintenance.config.getString("Maintenance.permissions").replaceAll("&", "§");
+ Maintenance.noperms = Maintenance.config.getString("Maintenance.noperms").replaceAll("&", "§");
+ Maintenance.reloaded = Maintenance.config.getString("Maintenance.reloaded").replaceAll("&", "§");
+ Maintenance.version = Maintenance.config.getString("Messages.Version").replaceAll("&", "§");
+ Maintenance.maintenancejoin = Maintenance.config.getString("Maintenance.maintenancejoin").replaceAll("&", "§");
+ Maintenance.reason = Maintenance.config.getString("Maintenance.reason").replaceAll("&", "§");
+ Maintenance.noreason = Maintenance.config.getString("Maintenance.noreason").replaceAll("&", "§");
+
+ Maintenance.MaintenanceKickMessage = Maintenance.config.getString("Messages.MaintenanceKickMessage").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.MaintenanceMessage = Maintenance.config.getString("Messages.MaintenanceMessage").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.Enabled = Maintenance.config.getString("Messages.Enabled").replaceAll("&", "§").replace("%reason%", Maintenance.reason);
+ Maintenance.Disabled = Maintenance.config.getString("Messages.Disabled").replaceAll("&", "§");
+ Maintenance.alreadyEnabled = Maintenance.config.getString("Messages.alreadyEnable").replaceAll("&", "§");
+ Maintenance.alreadyDisabled = Maintenance.config.getString("Messages.alreadyDisabled").replaceAll("&", "§");
+
+ Maintenance.FirstMOTD = Maintenance.config.getString("MOTD.FirstMOTD").replaceAll("&", "§");
+ Maintenance.SecondMOTD = Maintenance.config.getString("MOTD.SecondMOTD").replaceAll("&", "§");
+ Maintenance.MaintenanceFirstMOTD = Maintenance.config.getString("MOTD.MaintenanceFirstMOTD").replaceAll("&", "§");
+ Maintenance.MaintenanceSecondMOTD = Maintenance.config.getString("MOTD.MaintenanceSecondMOTD").replaceAll("&", "§");
+
+
+ for (ProxiedPlayer all : ProxyServer.getInstance().getPlayers()) {
+ if (!all.hasPermission(Maintenance.maintenancejoin) || !all.hasPermission(Maintenance.permissions)) {
+
+ all.disconnect(new TextComponent(Maintenance.MaintenanceKickMessage));
+
+ }
+ }
+
+
+ ProxyServer.getInstance().broadcast(new TextComponent(Maintenance.prefix + Maintenance.Enabled));
+ } else {
+ commandSender.sendMessage(Maintenance.prefix + Maintenance.alreadyEnabled);
+ }
+ } else {
+ commandSender.sendMessage(Maintenance.prefix + Maintenance.noreason);
+ }
+ }
+ }
+ } else {
+ commandSender.sendMessage(Maintenance.prefix + Maintenance.noperms);
+ }
+ }
+}
diff --git a/src/de/TntTastisch/Spigot/listener/ServerPingListener.java b/src/de/TntTastisch/Spigot/listener/ServerPingListener.java
new file mode 100644
index 0000000..81aa5c8
--- /dev/null
+++ b/src/de/TntTastisch/Spigot/listener/ServerPingListener.java
@@ -0,0 +1,40 @@
+package de.TntTastisch.Spigot.listener;
+
+import de.TntTastisch.Spigot.Maintenance;
+import net.md_5.bungee.api.ServerPing;
+import net.md_5.bungee.api.chat.TextComponent;
+import net.md_5.bungee.api.connection.ProxiedPlayer;
+import net.md_5.bungee.api.event.*;
+import net.md_5.bungee.api.plugin.Listener;
+import net.md_5.bungee.event.EventHandler;
+
+public class ServerPingListener implements Listener {
+
+ @SuppressWarnings("deprecation")
+ @EventHandler
+ public void onPing(ProxyPingEvent e) {
+ ServerPing ping = e.getResponse();
+ ServerPing.Players players = ping.getPlayers();
+ ServerPing.Protocol protocol = ping.getVersion();
+ if (Maintenance.config.getBoolean("Maintenance.enable")) {
+ protocol.setProtocol(2);
+ ping.setDescription(Maintenance.MaintenanceFirstMOTD + "\n" + Maintenance.MaintenanceSecondMOTD);
+ protocol.setName(Maintenance.version);
+ ping.setVersion(protocol);
+ ping.setPlayers(players);
+ } else if (!Maintenance.maintenance) {
+ ping.setDescription(Maintenance.FirstMOTD + "\n" + Maintenance.SecondMOTD);
+ }
+ }
+
+ @EventHandler
+ public void onLogin(PostLoginEvent event) {
+ ProxiedPlayer player = event.getPlayer();
+
+ if (Maintenance.maintenance) {
+ if (!(player.hasPermission(Maintenance.permissions) || player.hasPermission(Maintenance.maintenancejoin))) {
+ player.disconnect(new TextComponent(Maintenance.MaintenanceMessage));
+ }
+ }
+ }
+}