From 83415cb8731966343879393bbd92dab758f8d27f Mon Sep 17 00:00:00 2001 From: ME1312 Date: Tue, 27 Dec 2016 11:03:19 -0500 Subject: [PATCH] SubServers 2 Beta 5 --- Artifacts/SubServers.Bungee.jar | Bin 185694 -> 181742 bytes Artifacts/SubServers.Client.Bukkit.jar | Bin 156005 -> 155877 bytes .../Bungee/Event/SubEditServerEvent.java | 67 --- .../ME1312/SubServers/Bungee/Host/Host.java | 26 -- .../Bungee/Host/Internal/InternalHost.java | 16 - .../Host/Internal/InternalSubCreator.java | 4 +- .../Host/Internal/InternalSubServer.java | 188 --------- .../SubServers/Bungee/Host/SubServer.java | 26 -- .../Bungee/Library/Files/bungee.yml | 2 +- .../Bungee/Library/Files/config.yml | 12 +- .../SubServers/Bungee/Library/Files/lang.yml | 13 +- .../Packet/PacketDownloadHostInfo.java | 1 - .../Packet/PacketDownloadServerInfo.java | 1 - .../ME1312/SubServers/Bungee/SubPlugin.java | 4 +- SubServers.Client/Bukkit/src/config.yml | 4 +- .../Client/Bukkit/Graphic/Renderer.java | 10 + .../Client/Bukkit/Graphic/UIListener.java | 81 +++- .../Client/Bukkit/Graphic/UIRenderer.java | 384 ++++++++++++------ .../SubServers/Client/Bukkit/SubCommand.java | 15 +- .../SubServers/Client/Bukkit/SubPlugin.java | 24 +- 20 files changed, 370 insertions(+), 508 deletions(-) delete mode 100644 SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubEditServerEvent.java create mode 100644 SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/Renderer.java diff --git a/Artifacts/SubServers.Bungee.jar b/Artifacts/SubServers.Bungee.jar index b7e6aa79bb10ee53a3fe55fde84565dc7ea28242..8c11aced19a10b01ce1cc0910c5b144b8a153a63 100644 GIT binary patch delta 42391 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�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 delta 46252 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 F{{TMA+=u`G delta 42362 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

-{Wr_A!w%$XA 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 changes; - - /** - * Server Edit Event - * - * @param player Player Starting Server - * @param server Server Being Changed - * @param change Pending Changes - */ - public SubEditServerEvent(UUID player, SubServer server, NamedContainer... change) { - this.player = player; - this.server = server; - this.changes = Arrays.asList(change); - } - - /** - * Gets the Server to be Added - * @return The Server to be Added - */ - public Server getServer() { return server; } - - /** - * Gets the player that triggered the Event - * @return The Player that triggered this Event or null if Console - */ - public UUID getPlayer() { return player; } - - /** - * Gets the Changes to made by this Edit - * @return Pending Changes - */ - public List> getChanges() { - return changes; - } - - /** - * Gets the Cancelled Status - * @return Cancelled Status - */ - public boolean isCancelled() { - return cancelled; - } - - /** - * Sets the Cancelled Status - */ - public void setCancelled(boolean value) { - cancelled = value; - } -} diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java index f676881f..b139eabc 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java @@ -58,13 +58,6 @@ public abstract class Host { */ public abstract String getDirectory(); - /** - * Get if the Host can be Edited - * - * @return Editable Status - */ - public abstract boolean isEditable(); - /** * Get the Name of this Host * @@ -150,25 +143,6 @@ public abstract class Host { */ public abstract int command(UUID player, String command, String... servers); - /** - * Applies edits to the Host - * - * @param player Player Editing - * @param change Change(s) to be applied - * @return Success Status - */ - public abstract int edit(UUID player, NamedContainer... change); - - /** - * Applies edits to the SubServer - * - * @param change Change(s) to be applied - * @return Success Status - */ - public int edit(NamedContainer... change) { - return edit(null, change); - } - /** * Gets the SubCreator Instance for this Host * diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java index 5c7d3e0f..f66c6e90 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java @@ -56,11 +56,6 @@ public class InternalHost extends Host { return directory; } - @Override - public boolean isEditable() { - return true; - } - @Override public String getName() { return name; @@ -102,17 +97,6 @@ public class InternalHost extends Host { return i; } - @Override - public int edit(UUID player, NamedContainer... changes) { - int i = 0; - for (NamedContainer change : changes) { - switch (change.name().toLowerCase()) { - // TODO SubEditor - } - } - return i; - } - @Override public SubCreator getCreator() { return creator; diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java index 8e8b8754..3a644215 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java @@ -471,7 +471,7 @@ public class InternalSubCreator extends SubCreator { if (process2.exitValue() == 0) { if (host.plugin.exServers.keySet().contains(name.toLowerCase())) host.plugin.exServers.remove(name.toLowerCase()); - host.addSubServer(player, name, true, port, "&aThis is a SubServer", true, dir.getPath(), exec, "stop", true, false, false, false, false); + host.addSubServer(player, name, true, port, "&aThis is a SubServer", true, new UniversalFile(".:" + name).getPath(), exec, "stop", true, false, false, false, false); YAMLSection server = new YAMLSection(); server.set("Enabled", true); @@ -479,7 +479,7 @@ public class InternalSubCreator extends SubCreator { server.set("Port", port); server.set("Motd", "&aThis is a SubServer"); server.set("Log", true); - server.set("Directory", dir.getPath()); + server.set("Directory", new UniversalFile(".:" + name)); server.set("Executable", exec.toString()); server.set("Stop-Command", "stop"); server.set("Run-On-Launch", false); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java index efc7366a..de09c5dc 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java @@ -16,7 +16,6 @@ import java.util.UUID; public class InternalSubServer extends SubServer { private InternalHost host; - private String name; private boolean enabled; private Container log; private File directory; @@ -32,7 +31,6 @@ public class InternalSubServer extends SubServer { public InternalSubServer(Host host, String name, boolean enabled, int port, String motd, boolean log, String directory, Executable executable, String stopcmd, boolean start, boolean restart, boolean hidden, boolean restricted, boolean temporary) throws InvalidServerException { super(host, name, port, motd, hidden, restricted); this.host = (InternalHost) host; - this.name = name; this.enabled = enabled; this.log = new Container(log); this.directory = new File(host.getDirectory(), directory); @@ -157,182 +155,6 @@ public class InternalSubServer extends SubServer { } else return false; } - @Override - public int edit(UUID player, NamedContainer... changes) { - int i = 0; - SubEditServerEvent eEvent = new SubEditServerEvent(player, this, changes); - host.plugin.getPluginManager().callEvent(eEvent); - if (!eEvent.isCancelled()) { - for (NamedContainer change : changes) { - try { - boolean running = isRunning(); - switch (change.name().toLowerCase()) { - case "host": - if (change.get() instanceof String) { - InternalHost oldhost = host; - Host newhost = host.plugin.hosts.get(((String) change.get()).toLowerCase()); - if (newhost != null) { - if (running) allowrestart = false; - if (host.removeSubServer(player, getName())) { - if (newhost.addSubServer(player, getName(), isEnabled(), getAddress().getPort(), getMotd(), isLogging(), directory.getPath(), executable, getStopCommand(), running, willAutoRestart(), isHidden(), isRestricted(), isTemporary()) != null) { - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Host", newhost.getName()); - host.plugin.config.save(); - } - i++; - } else { - oldhost.servers.put(getName().toLowerCase(), this); - if (running) start(player); - } - } - } - } - break; - case "name": - if (change.get() instanceof String) { - host.servers.remove(getName().toLowerCase()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").set((String) change.get(), host.plugin.config.get().getSection("Servers").getSection(getName())); - host.plugin.config.get().getSection("Servers").remove(getName()); - host.plugin.config.save(); - } - name = (String) change.get(); - host.servers.put(((String) change.get()).toLowerCase(), this); - i++; - } - break; - case "enabled": - if (change.get() instanceof Boolean) { - setEnabled((Boolean) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Enabled", isEnabled()); - host.plugin.config.save(); - } - i++; - } - break; - case "log": - if (change.get() instanceof Boolean) { - setLogging((Boolean) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Log", isLogging()); - host.plugin.config.save(); - } - i++; - } - break; - case "dir": - if (change.get() instanceof String) { - directory = new File((String) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Directory", directory.getPath()); - host.plugin.config.save(); - } - i++; - } else if (change.get() instanceof File) { - directory = (File) change.get(); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Directory", directory.getPath()); - host.plugin.config.save(); - } - i++; - } - break; - case "exec": - if (change.get() instanceof String) { - executable = new Executable((String) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Executable", executable.toString()); - host.plugin.config.save(); - } - i++; - } else if (change.get() instanceof Executable) { - executable = (Executable) change.get(); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Executable", executable.toString()); - host.plugin.config.save(); - } - i++; - } - break; - case "running": - if (change.get() instanceof Boolean) { - if (running) { - if (!((Boolean) change.get())) stop(player); - } else { - if (((Boolean) change.get())) start(player); - } - i++; - } - break; - case "stop-cmd": - if (change.get() instanceof String) { - setStopCommand((String) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Stop-Command", getStopCommand()); - host.plugin.config.save(); - } - i++; - } - break; - case "auto-run": - if (change.get() instanceof Boolean) { - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Run-On-Launch", change.get()); - host.plugin.config.save(); - i++; - } - } - break; - case "auto-restart": - if (change.get() instanceof Boolean) { - setAutoRestart((Boolean) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Auto-Restart", willAutoRestart()); - host.plugin.config.save(); - } - i++; - } - break; - case "restricted": - if (change.get() instanceof Boolean) { - setRestricted((Boolean) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Restricted", isRestricted()); - host.plugin.config.save(); - } - i++; - } - break; - case "hidden": - if (change.get() instanceof Boolean) { - setHidden((Boolean) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Hidden", isHidden()); - host.plugin.config.save(); - } - i++; - } - break; - case "motd": - if (change.get() instanceof String) { - setMotd((String) change.get()); - if (host.plugin.config.get().getSection("Servers").getKeys().contains(getName())) { - host.plugin.config.get().getSection("Servers").getSection(getName()).set("Motd", getMotd()); - host.plugin.config.save(); - } - i++; - } - break; - } - } catch (Throwable e) { - e.printStackTrace(); - } - } - } - return i; - } - @Override public void waitFor() throws InterruptedException { while (thread != null && thread.isAlive()) { @@ -340,11 +162,6 @@ public class InternalSubServer extends SubServer { } } - @Override - public String getName() { - return name; - } - @Override public boolean isRunning() { return process != null && process.isAlive(); @@ -365,11 +182,6 @@ public class InternalSubServer extends SubServer { enabled = value; } - @Override - public boolean isEditable() { - return host.isEditable() && !isRunning(); - } - @Override public boolean isLogging() { return log.get(); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java index 9205c944..16dbeff2 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java @@ -97,25 +97,6 @@ public abstract class SubServer extends Server { return command(null, command); } - /** - * Applies edits to the SubServer - * - * @param player Player Editing - * @param change Change(s) to be applied - * @return Success Status - */ - public abstract int edit(UUID player, NamedContainer... change); - - /** - * Applies edits to the SubServer - * - * @param change Change(s) to be applied - * @return Success Status - */ - public int edit(NamedContainer... change) { - return edit(null, change); - } - /** * Waits for the Server to Stop * @@ -151,13 +132,6 @@ public abstract class SubServer extends Server { */ public abstract void setEnabled(boolean value); - /** - * Get if the SubServer can be Edited - * - * @return Editable Status - */ - public abstract boolean isEditable(); - /** * If the Server is Logging * diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/bungee.yml b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/bungee.yml index 3b37c232..46c8fe4d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/bungee.yml +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/bungee.yml @@ -1,6 +1,6 @@ ip_forward: true network_compression_threshold: 256 -stats: undefined +stats: 'undefined' permissions: default: - bungeecord.command.server diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml index 438d9799..ede38d3a 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/config.yml @@ -3,11 +3,11 @@ Settings: Log-Creator: true SubData: Address: '127.0.0.1:4391' - Password: 'password123' + Password: '' Allowed-Connections: [] Hosts: - '~Built-In': + '~': Enabled: true Driver: 'BUILT-IN' Address: '127.0.0.1' @@ -15,13 +15,13 @@ Hosts: Git-Bash: 'C:\Program Files\Git' Servers: - 'Server_1': + 'Example': Enabled: false - Host: '~Built-In' - Port: 25566 + Host: '~' + Port: 25567 Motd: '&aThis is a SubServer' Log: true - Directory: './Server_1' + Directory: './Example' Executable: 'java -Djline.terminal=jline.UnsupportedTerminal -jar Spigot.jar' Stop-Command: 'stop' Run-On-Launch: false diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/lang.yml b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/lang.yml index f67952e2..93e3df7d 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/lang.yml +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Files/lang.yml @@ -78,8 +78,7 @@ Lang: 'Interface.Host-Admin.Creator': '&eCreate a SubServer' 'Interface.Host-Admin.Creator-Busy': '&4SubCreator is already running' 'Interface.Host-Admin.SubServers': '&aView SubServers' - 'Interface.Host-Admin.Editor': '&eEdit Host' - 'Interface.Host-Admin.Editor-Unavailable': '&4This Host cannot be edited' + 'Interface.Host-Admin.Plugins': '&bPlugins...' 'Interface.Host-Creator.Title': 'Host/$str$/Create' 'Interface.Host-Creator.Edit-Name': 'Change Name' 'Interface.Host-Creator.Edit-Name.Title': '&eSubCreator\n&6Enter a Name for this Server' @@ -110,7 +109,8 @@ Lang: 'Interface.Host-Creator.Edit-RAM.Invalid-Title': '&eSubCreator\n&cInvalid Ram Amount' 'Interface.Host-Creator.Submit': '&eCreate SubServer' 'Interface.Host-Creator.Form-Incomplete': '&4Buttons above must be green' - 'Interface.Host-Editor.Title': 'Host/$str$/Edit' + 'Interface.Host-Plugin.Title': 'Host/$str$/Plugins' + 'Interface.Host-Plugin.No-Plugins': '&c&oThere are No Plugins Available' 'Interface.Host-SubServer.Title': 'Host/$str$/SubServers' 'Interface.SubServer-Menu.Title': 'SubServer Menu' 'Interface.SubServer-Menu.SubServer-Player-Count': '&2$int$ Player(s) Online' @@ -130,7 +130,6 @@ Lang: 'Interface.SubServer-Admin.Command': '&eSend a Command to the SubServer' 'Interface.SubServer-Admin.Command.Title': '&eSubServers\n&6Enter a Command to send via Chat' 'Interface.SubServer-Admin.Command.Message': '&eSubServers \u00BB Enter a Command to send via Chat' - 'Interface.SubServer-Admin.Teleport': '&bTeleport to Server' - 'Interface.SubServer-Admin.Editor': '&eEdit SubServer' - 'Interface.SubServer-Admin.Editor-Unavailable': '&4This SubServer cannot be edited' - 'Interface.SubServer-Editor.Title': 'SubServer/$str$/Edit' \ No newline at end of file + 'Interface.SubServer-Admin.Plugins': '&bPlugins...' + 'Interface.SubServer-Plugin.Title': 'SubServer/$str$/Plugins' + 'Interface.SubServer-Plugin.No-Plugins': '&c&oThere are No Plugins Available' \ No newline at end of file diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadHostInfo.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadHostInfo.java index 3378a7e4..f8fd9c75 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadHostInfo.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadHostInfo.java @@ -36,7 +36,6 @@ public class PacketDownloadHostInfo implements PacketIn, PacketOut { info.put("name", host.getName()); info.put("enabled", host.isEnabled()); - info.put("editable", host.isEditable()); info.put("address", host.getAddress().toString()); info.put("dir", host.getDirectory()); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadServerInfo.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadServerInfo.java index b58708f1..879423af 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadServerInfo.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadServerInfo.java @@ -34,7 +34,6 @@ public class PacketDownloadServerInfo implements PacketIn, PacketOut { if (server != null && server instanceof SubServer) { info.put("host", ((SubServer) server).getHost().getName()); info.put("enabled", ((SubServer) server).isEnabled() && ((SubServer) server).getHost().isEnabled()); - info.put("editable", ((SubServer) server).isEditable()); info.put("log", ((SubServer) server).isLogging()); info.put("dir", plugin.config.get().getSection("Servers").getSection(server.getName()).getString("Directory")); info.put("exec", plugin.config.get().getSection("Servers").getSection(server.getName()).getString("Executable")); diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java index 34e9ec7d..c13facf4 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/SubPlugin.java @@ -37,7 +37,7 @@ public final class SubPlugin extends BungeeCord { public HashMap exLang = new HashMap(); public SubDataServer subdata = null; public final Version version = new Version("2.11.2a"); - protected Version bversion = new Version(4); + protected Version bversion = new Version(5); protected boolean running = false; public final SubAPI api = new SubAPI(this); @@ -98,7 +98,7 @@ public final class SubPlugin extends BungeeCord { } catch (NullPointerException e) {} brText.close(); - if (!Version.equalsIgnoreCase("2.11.0a+")) { + if (!Version.equalsIgnoreCase("2.11.2a+")) { Files.move(new UniversalFile(dir, "build.sh").toPath(), new UniversalFile(dir, "build.old" + Math.round(Math.random() * 100000) + ".sh").toPath()); Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/build.sh", new UniversalFile(dir, "build.sh").getPath()); System.out.println("SubServers > Updated ~/SubServers/build.sh"); diff --git a/SubServers.Client/Bukkit/src/config.yml b/SubServers.Client/Bukkit/src/config.yml index 0ea7cf08..c7bff674 100644 --- a/SubServers.Client/Bukkit/src/config.yml +++ b/SubServers.Client/Bukkit/src/config.yml @@ -2,6 +2,6 @@ Settings: Version: '2.11.2a+' Use-Title-Messages: true SubData: - Name: 'Server_1' + Name: 'undefined' Address: '127.0.0.1:4391' - Password: 'password123' \ No newline at end of file + Password: '' \ No newline at end of file diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/Renderer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/Renderer.java new file mode 100644 index 00000000..33a2e55d --- /dev/null +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/Renderer.java @@ -0,0 +1,10 @@ +package net.ME1312.SubServers.Client.Bukkit.Graphic; + +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +public interface Renderer { + void open(Player player, String object); + ItemStack getIcon(); + boolean isEnabled(String object); +} diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIListener.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIListener.java index 931eee59..df99bfe9 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIListener.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIListener.java @@ -181,7 +181,33 @@ public class UIListener implements Listener { } }); } - + } + } else if (event.getClickedInventory().getTitle().startsWith(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.Title", '&').split("\\$str\\$")[0]) && // Host Plugin + (plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.Title", '&').split("\\$str\\$").length == 1 || + event.getClickedInventory().getTitle().endsWith(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.Title", '&').split("\\$str\\$")[1]))) { + if (event.getCurrentItem() != null && event.getCurrentItem().getType() != Material.AIR && event.getCurrentItem().hasItemMeta()) { + String item = event.getCurrentItem().getItemMeta().getDisplayName(); + if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back-Arrow", '&'))) { + player.closeInventory(); + gui.hostPlugin(gui.lastPage - 1, gui.lastVistedObject); + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Next-Arrow", '&'))) { + player.closeInventory(); + gui.hostPlugin(gui.lastPage + 1, gui.lastVistedObject); + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back", '&'))) { + player.closeInventory(); + gui.back(); + } else { + player.closeInventory(); + Renderer plugin = null; + for (Renderer renderer : UIRenderer.hostPlugins.values()) { + if (item.equals(renderer.getIcon().getItemMeta().getDisplayName())) plugin = renderer; + } + if (plugin == null) { + gui.reopen(); + } else { + plugin.open(player, gui.lastVistedObject); + } + } } } else if (event.getClickedInventory().getTitle().equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.Title", '&')) || // SubServer Menu event.getClickedInventory().getTitle().startsWith(plugin.lang.getSection("Lang").getColoredString("Interface.Host-SubServer.Title", '&').split("\\$str\\$")[0]) && @@ -192,10 +218,10 @@ public class UIListener implements Listener { if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back-Arrow", '&'))) { player.closeInventory(); - gui.subserverMenu(gui.lastPage - 1, null); + gui.subserverMenu(gui.lastPage - 1, gui.lastVistedObject); } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Next-Arrow", '&'))) { player.closeInventory(); - gui.subserverMenu(gui.lastPage + 1, null); + gui.subserverMenu(gui.lastPage + 1, gui.lastVistedObject); } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.Host-Menu", '&'))) { player.closeInventory(); gui.hostMenu(1); @@ -221,14 +247,12 @@ public class UIListener implements Listener { if (player.hasPermission("subservers.host.create.*") || player.hasPermission("subservers.host.create." + gui.lastVistedObject.toLowerCase())) { gui.hostCreator(new UIRenderer.CreatorOptions(gui.lastVistedObject)); } else gui.reopen(); - } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Editor", '&'))) { - player.closeInventory(); - if (player.hasPermission("subservers.host.edit.*") || player.hasPermission("subservers.host.edit." + gui.lastVistedObject.toLowerCase())) { - gui.hostEditor(new UIRenderer.HostEditorOptions(gui.lastVistedObject)); - } else gui.reopen(); } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.SubServers", '&'))) { player.closeInventory(); gui.subserverMenu(1, gui.lastVistedObject); + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Plugins", '&'))) { + player.closeInventory(); + gui.hostPlugin(1, gui.lastVistedObject); } } } else if (event.getClickedInventory().getTitle().startsWith(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Title", '&').split("\\$str\\$")[0]) && // SubServer Admin @@ -240,11 +264,6 @@ public class UIListener implements Listener { if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back", '&'))) { player.closeInventory(); gui.back(); - } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Editor", '&'))) { - player.closeInventory(); - if (player.hasPermission("subservers.subserver.edit.*") || player.hasPermission("subservers.subserver.edit." + gui.lastVistedObject.toLowerCase())) { - gui.subserverEditor(new UIRenderer.SubServerEditorOptions(gui.lastVistedObject)); - } else gui.reopen(); } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Start", '&'))) { player.closeInventory(); if (player.hasPermission("subservers.subserver.start.*") || player.hasPermission("subservers.subserver.start." + gui.lastVistedObject.toLowerCase())) { @@ -314,14 +333,36 @@ public class UIListener implements Listener { })); }); } else gui.reopen(); - } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Teleport", '&'))) { + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Plugins", '&'))) { player.closeInventory(); - if (player.hasPermission("subservers.server.teleport.*") || player.hasPermission("subservers.server.teleport." + gui.lastVistedObject.toLowerCase())) { - gui.setDownloading(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Downloading.Response", '&')); - plugin.subdata.sendPacket(new PacketTeleportPlayer(player.getUniqueId(), gui.lastVistedObject, UUID.randomUUID().toString(), json -> { - if (json.getInt("r") != 0) gui.reopen(); - })); - } else gui.reopen(); + gui.subserverPlugin(1, gui.lastVistedObject); + } + } + } else if (event.getClickedInventory().getTitle().startsWith(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.Title", '&').split("\\$str\\$")[0]) && // SubServer Plugin + (plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.Title", '&').split("\\$str\\$").length == 1 || + event.getClickedInventory().getTitle().endsWith(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.Title", '&').split("\\$str\\$")[1]))) { + if (event.getCurrentItem() != null && event.getCurrentItem().getType() != Material.AIR && event.getCurrentItem().hasItemMeta()) { + String item = event.getCurrentItem().getItemMeta().getDisplayName(); + if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back-Arrow", '&'))) { + player.closeInventory(); + gui.subserverPlugin(gui.lastPage - 1, gui.lastVistedObject); + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Next-Arrow", '&'))) { + player.closeInventory(); + gui.subserverPlugin(gui.lastPage + 1, gui.lastVistedObject); + } else if (item.equals(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back", '&'))) { + player.closeInventory(); + gui.back(); + } else { + player.closeInventory(); + Renderer plugin = null; + for (Renderer renderer : UIRenderer.subserverPlugins.values()) { + if (item.equals(renderer.getIcon().getItemMeta().getDisplayName())) plugin = renderer; + } + if (plugin == null) { + gui.reopen(); + } else { + plugin.open(player, gui.lastVistedObject); + } } } } diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java index 6edf486c..65e020ed 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/Graphic/UIRenderer.java @@ -21,6 +21,8 @@ import java.text.DecimalFormat; import java.util.*; public class UIRenderer { + protected static HashMap hostPlugins = new HashMap(); + protected static HashMap subserverPlugins = new HashMap(); private List windowHistory = new LinkedList(); protected Options lastUsedOptions = null; protected String lastVistedObject = null; @@ -216,6 +218,26 @@ public class UIRenderer { } } + /** + * Add Host Plugin + * + * @param handle Handle to bind + * @param renderer Renderer + */ + public static void addHostPlugin(String handle, Renderer renderer) { + hostPlugins.put(handle, renderer); + } + + /** + * Add SubServer Plugin + * + * @param handle Handle to bind + * @param renderer Renderer + */ + public static void addSubServerPlugin(String handle, Renderer renderer) { + subserverPlugins.put(handle, renderer); + } + /** * Opens the Host Menu * @@ -384,34 +406,16 @@ public class UIRenderer { } block.setItemMeta(blockMeta); inv.setItem(1, block); + inv.setItem(2, block); + inv.setItem(3, block); inv.setItem(10, block); + inv.setItem(11, block); + inv.setItem(12, block); block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 5); blockMeta = block.getItemMeta(); blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.SubServers", '&')); block.setItemMeta(blockMeta); - inv.setItem(2, block); - inv.setItem(3, block); - inv.setItem(11, block); - inv.setItem(12, block); - - if (!(Bukkit.getPlayer(player).hasPermission("subservers.host.edit.*") || Bukkit.getPlayer(player).hasPermission("subservers.host.edit." + host.toLowerCase()))) { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Editor", '&'))); - blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Invalid-Permission", '&').replace("$str$", "subservers.host.edit." + host.toLowerCase()))); - } else if (!json.getJSONObject("host").getBoolean("editable")) { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Editor", '&'))); - blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Editor-Unavailable", '&'))); - } else { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 1); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Editor", '&')); - - } - block.setItemMeta(blockMeta); inv.setItem(5, block); inv.setItem(6, block); inv.setItem(7, block); @@ -419,6 +423,17 @@ public class UIRenderer { inv.setItem(15, block); inv.setItem(16, block); + if (!json.getJSONObject("host").getBoolean("enabled")) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Plugins", '&'))); + } else { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 11); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Admin.Plugins", '&')); + } + inv.setItem(27, block); + inv.setItem(28, block); if (json.getJSONObject("host").getBoolean("enabled")) { block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 11); @@ -731,37 +746,116 @@ public class UIRenderer { } /** - * Opens Host/<name>/Edit + * Opens Host/<name>/Plugins * - * @param options Host Editor Options + * @param host Host Name */ - public void hostEditor(final HostEditorOptions options) { - lastUsedOptions = options; - if (!options.init()) { - windowHistory.add(() -> hostEditor(options)); - lastVistedObject = options.getHost(); - } - } - public static class HostEditorOptions extends Options { - private String host; + public void hostPlugin(final Integer page, final String host) { + setDownloading(ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.Title", '&').replace("$str$", host))); + plugin.subdata.sendPacket(new PacketDownloadHostInfo(host, UUID.randomUUID().toString(), (json) -> { + windowHistory.add(() -> hostPlugin(page, host)); + if (!json.getBoolean("valid")) { + if (hasHistory()) back(); + } else { + setDownloading(null); + lastVistedObject = host; + lastPage = page; + List renderers = new ArrayList(); + for (String renderer : renderers) { + if (subserverPlugins.get(renderer).isEnabled(host)) renderers.add(renderer); + } + Collections.sort(renderers); - /** - * Grabs a raw HostCreatorOptions instance - * - * @param host Host Name - */ - public HostEditorOptions(String host) { - this.host = host; - } + ItemStack block; + ItemMeta blockMeta; + ItemStack div = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 15); + ItemMeta divMeta = div.getItemMeta(); + divMeta.setDisplayName(ChatColor.RESET.toString()); + div.setItemMeta(divMeta); - /** - * Gets the Host Name - * - * @return Host Name - */ - public String getHost() { - return this.host; - } + int i = 0; + int min = ((page - 1) * 36); + int max = (min + 35); + int count = (renderers.size() == 0)?27:((renderers.size() - min - 1 >= max)?36:renderers.size() - min); + int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9; + + Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.Title", '&').replace("$str$", host)); + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); + block.setItemMeta(divMeta); + while (i < area) { + inv.setItem(i, block); + i++; + } + ItemStack adiv = block; + i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0); + + boolean even = (count & 1) == 0 && count < 9; + + for (String renderer : renderers) { + if (renderers.indexOf(renderer) >= min && renderers.indexOf(renderer) <= max) { + if (even && (i == 4 || i == 13 || i == 22 || i == 31)) inv.setItem(i++, adiv); + + inv.setItem(i, hostPlugins.get(renderer).getIcon()); + + count--; + if (count < 9 && (i == 8 || i == 17 || i == 26)) { + i += (int) Math.floor((9 - count) / 2) + 1; + even = (count & 1) == 0; + } else { + i++; + } + } + } + + if (renderers.size() == 0) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Host-Plugin.No-Plugins", '&')); + block.setItemMeta(blockMeta); + inv.setItem(12, block); + inv.setItem(13, block); + inv.setItem(14, block); + } + + i = inv.getSize() - 18; + while (i < inv.getSize()) { + inv.setItem(i, div); + i++; + } + i = inv.getSize() - 9; + + if (min != 0) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back-Arrow", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i++, block); + } else i += 2; + i++; + if (hasHistory()) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i++, block); + inv.setItem(i++, block); + i++; + } + if (renderers.size() - 1 > max) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Next-Arrow", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i, block); + } + + Bukkit.getPlayer(player).openInventory(inv); + open = true; + } + })); } /** @@ -994,20 +1088,6 @@ public class UIRenderer { inv.setItem(14, block); inv.setItem(15, block); inv.setItem(16, block); - - if (!(Bukkit.getPlayer(player).hasPermission("subservers.server.teleport.*") || Bukkit.getPlayer(player).hasPermission("subservers.server.teleport." + subserver.toLowerCase()))) { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Teleport", '&'))); - blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Invalid-Permission", '&').replace("$str$", "subservers.server.teleport." + subserver.toLowerCase()))); - } else { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 11); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Teleport", '&')); - } - block.setItemMeta(blockMeta); - inv.setItem(27, block); - inv.setItem(28, block); } else { if (!(Bukkit.getPlayer(player).hasPermission("subservers.subserver.start.*") || Bukkit.getPlayer(player).hasPermission("subservers.subserver.start." + subserver.toLowerCase()))) { block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); @@ -1024,38 +1104,27 @@ public class UIRenderer { blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Start", '&')); } block.setItemMeta(blockMeta); - inv.setItem(1, block); - inv.setItem(2, block); inv.setItem(3, block); - inv.setItem(10, block); - inv.setItem(11, block); - inv.setItem(12, block); - - if (!(Bukkit.getPlayer(player).hasPermission("subservers.subserver.edit.*") || Bukkit.getPlayer(player).hasPermission("subservers.subserver.edit." + subserver.toLowerCase()))) { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Editor", '&'))); - blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Invalid-Permission", '&').replace("$str$", "subservers.subserver.edit." + subserver.toLowerCase()))); - } else if (!json.getJSONObject("server").getBoolean("editable")) { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Editor", '&'))); - blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Editor-Unavailable", '&'))); - } else { - block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 1); - blockMeta = block.getItemMeta(); - blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Editor", '&')); - - } - block.setItemMeta(blockMeta); + inv.setItem(4, block); inv.setItem(5, block); - inv.setItem(6, block); - inv.setItem(7, block); + inv.setItem(12, block); + inv.setItem(13, block); inv.setItem(14, block); - inv.setItem(15, block); - inv.setItem(16, block); } + if (!json.getJSONObject("server").getBoolean("enabled")) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Plugins", '&'))); + } else { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 11); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Plugins", '&')); + } + block.setItemMeta(blockMeta); + inv.setItem(27, block); + inv.setItem(28, block); + if (json.getJSONObject("server").getBoolean("temp")) { block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 11); blockMeta = block.getItemMeta(); @@ -1099,38 +1168,115 @@ public class UIRenderer { } /** - * Opens SubServer/<name>/Edit + * Opens SubServer/<name>/Plugins * - * @param options SubServerEditorOptions + * @param subserver SubServer Name */ - public void subserverEditor(final SubServerEditorOptions options) { - lastUsedOptions = options; - if (!options.init()) { - windowHistory.add(() -> subserverEditor(options)); - lastVistedObject = options.getSubserver(); - } - } - public static class SubServerEditorOptions extends Options { - private List history = new LinkedList(); - private String subserver; - private boolean init = false; + public void subserverPlugin(final Integer page, final String subserver) { + setDownloading(ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.Title", '&').replace("$str$", subserver))); + plugin.subdata.sendPacket(new PacketDownloadServerInfo(subserver, UUID.randomUUID().toString(), json -> { + windowHistory.add(() -> subserverPlugin(page, subserver)); + if (!json.getString("type").equals("subserver")) { + if (hasHistory()) back(); + } else { + setDownloading(null); + lastVistedObject = subserver; + lastPage = page; + List renderers = new ArrayList(); + for (String renderer : renderers) { + if (subserverPlugins.get(renderer).isEnabled(subserver)) renderers.add(renderer); + } + Collections.sort(renderers); - /** - * Grabs a raw SubServerEditorOptions instance - * - * @param subserver SubServer Name - */ - public SubServerEditorOptions(String subserver) { - this.subserver = subserver; - } + ItemStack block; + ItemMeta blockMeta; + ItemStack div = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 15); + ItemMeta divMeta = div.getItemMeta(); + divMeta.setDisplayName(ChatColor.RESET.toString()); + div.setItemMeta(divMeta); - /** - * Gets the SubServer Name - * - * @return SubServer Name - */ - public String getSubserver() { - return this.subserver; - } + int i = 0; + int min = ((page - 1) * 36); + int max = (min + 35); + int count = (renderers.size() == 0)?27:((renderers.size() - min - 1 >= max)?36:renderers.size() - min); + int area = (count % 9 == 0) ? count : (int) (Math.floor(count / 9) + 1) * 9; + + Inventory inv = Bukkit.createInventory(null, 18 + area, plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.Title", '&').replace("$str$", subserver)); + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 7); + block.setItemMeta(divMeta); + while (i < area) { + inv.setItem(i, block); + i++; + } + ItemStack adiv = block; + i = (int) ((count < 9) ? Math.floor((9 - count) / 2) : 0); + + boolean even = (count & 1) == 0 && count < 9; + + for (String renderer : renderers) { + if (renderers.indexOf(renderer) >= min && renderers.indexOf(renderer) <= max) { + if (even && (i == 4 || i == 13 || i == 22 || i == 31)) inv.setItem(i++, adiv); + + inv.setItem(i, subserverPlugins.get(renderer).getIcon()); + + count--; + if (count < 9 && (i == 8 || i == 17 || i == 26)) { + i += (int) Math.floor((9 - count) / 2) + 1; + even = (count & 1) == 0; + } else { + i++; + } + } + } + + if (renderers.size() == 0) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Plugin.No-Plugins", '&')); + block.setItemMeta(blockMeta); + inv.setItem(12, block); + inv.setItem(13, block); + inv.setItem(14, block); + } + + i = inv.getSize() - 18; + while (i < inv.getSize()) { + inv.setItem(i, div); + i++; + } + i = inv.getSize() - 9; + + if (min != 0) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back-Arrow", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i++, block); + } else i += 2; + i++; + if (hasHistory()) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 14); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Back", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i++, block); + inv.setItem(i++, block); + i++; + } + if (renderers.size() - 1 > max) { + block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4); + blockMeta = block.getItemMeta(); + blockMeta.setDisplayName(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Next-Arrow", '&')); + block.setItemMeta(blockMeta); + inv.setItem(i++, block); + inv.setItem(i, block); + } + + Bukkit.getPlayer(player).openInventory(inv); + open = true; + } + })); } } \ No newline at end of file diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubCommand.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubCommand.java index b619ac8b..a8c6cdcb 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubCommand.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubCommand.java @@ -181,6 +181,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start.Running", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start", '&')); break; default: @@ -211,6 +212,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Stop.Not-Running", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Stop", '&')); break; default: @@ -240,6 +242,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Terminate.Not-Running", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Terminate", '&')); break; default: @@ -278,6 +281,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Command.Not-Running", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Command", '&')); break; default: @@ -326,6 +330,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Creator.Invalid-Memory", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Creator", '&')); break; default: @@ -356,8 +361,8 @@ public final class SubCommand implements CommandExecutor { case "host/creator": if (sender.hasPermission("subservers.host.create.*") || sender.hasPermission("subservers.host.create." + args[2].toLowerCase())) plugin.gui.getRenderer((Player) sender).hostCreator(new UIRenderer.CreatorOptions(args[2])); break; - case "host/editor": - if (sender.hasPermission("subservers.host.edit.*") || sender.hasPermission("subservers.host.edit." + args[2].toLowerCase())) plugin.gui.getRenderer((Player) sender).hostEditor(new UIRenderer.HostEditorOptions(args[2])); + case "host/plugins": + plugin.gui.getRenderer((Player) sender).hostPlugin(Integer.parseInt(args[2]), args[3]); break; case "subserver": if (args.length > 3) plugin.gui.getRenderer((Player) sender).subserverMenu(Integer.parseInt(args[2]), args[3]); @@ -367,8 +372,8 @@ public final class SubCommand implements CommandExecutor { case "subserver/": plugin.gui.getRenderer((Player) sender).subserverAdmin(args[2]); break; - case "subserver/editor": - if (sender.hasPermission("subservers.subserver.edit.*") || sender.hasPermission("subservers.subserver.edit." + args[2].toLowerCase())) plugin.gui.getRenderer((Player) sender).subserverEditor(new UIRenderer.SubServerEditorOptions(args[2])); + case "subserver/plugins": + plugin.gui.getRenderer((Player) sender).subserverPlugin(Integer.parseInt(args[2]), args[3]); break; } } catch (Throwable e) {} @@ -398,6 +403,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Teleport.Offline", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Teleport", '&')); break; default: @@ -425,6 +431,7 @@ public final class SubCommand implements CommandExecutor { sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Teleport.Offline", '&')); break; case 0: + case 1: sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Teleport", '&')); break; default: diff --git a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java index 2b8b28ce..44d8ec40 100644 --- a/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java +++ b/SubServers.Client/Bukkit/src/net/ME1312/SubServers/Client/Bukkit/SubPlugin.java @@ -4,6 +4,7 @@ import net.ME1312.SubServers.Client.Bukkit.Graphic.UIListener; import net.ME1312.SubServers.Client.Bukkit.Library.Config.YAMLConfig; import net.ME1312.SubServers.Client.Bukkit.Library.Config.YAMLSection; import net.ME1312.SubServers.Client.Bukkit.Library.UniversalFile; +import net.ME1312.SubServers.Client.Bukkit.Library.Util; import net.ME1312.SubServers.Client.Bukkit.Library.Version.Version; import net.ME1312.SubServers.Client.Bukkit.Network.SubDataClient; import org.bukkit.Bukkit; @@ -21,7 +22,7 @@ public final class SubPlugin extends JavaPlugin { public UIListener gui = null; public Version version; - protected Version bversion = new Version(4); + protected Version bversion = new Version(5); //public final SubAPI api = new SubAPI(this); @@ -32,12 +33,12 @@ public final class SubPlugin extends JavaPlugin { Bukkit.getLogger().info("SubServers > Loading SubServers v" + version.toString() + " Libraries... "); getDataFolder().mkdirs(); if (!(new UniversalFile(getDataFolder(), "config.yml").exists())) { - copyFromJar("config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); + Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); Bukkit.getLogger().info("SubServers > Created ~/plugins/SubServers/config.yml"); } else if ((new Version((new YAMLConfig(new UniversalFile(getDataFolder(), "config.yml"))).get().getSection("Settings").getString("Version", "0")).compareTo(new Version("2.11.0a+"))) != 0) { Files.move(new UniversalFile(getDataFolder(), "config.yml").toPath(), new UniversalFile(getDataFolder(), "config.old" + Math.round(Math.random() * 100000) + ".yml").toPath()); - copyFromJar("config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); + Util.copyFromJar(SubPlugin.class.getClassLoader(), "config.yml", new UniversalFile(getDataFolder(), "config.yml").getPath()); Bukkit.getLogger().info("SubServers > Updated ~/plugins/SubServers/config.yml"); } pluginconf = new YAMLConfig(new UniversalFile(getDataFolder(), "config.yml")); @@ -65,21 +66,4 @@ public final class SubPlugin extends JavaPlugin { e.printStackTrace(); } } - - private void copyFromJar(String resource, String destination) { - InputStream resStreamIn = SubPlugin.class.getClassLoader().getResourceAsStream(resource); - File resDestFile = new File(destination); - try { - OutputStream resStreamOut = new FileOutputStream(resDestFile); - int readBytes; - byte[] buffer = new byte[4096]; - while ((readBytes = resStreamIn.read(buffer)) > 0) { - resStreamOut.write(buffer, 0, readBytes); - } - resStreamOut.close(); - resStreamIn.close(); - } catch (Exception ex) { - ex.printStackTrace(); - } - } }