SubServers, Host, & Client Beta v2.12b;2/2.12c;2/2.12b;2

Servers can now be incompatable with each other.
This commit is contained in:
ME1312 2017-07-21 16:45:41 -04:00
parent f2589b649c
commit e058b3f655
34 changed files with 416 additions and 88 deletions

Binary file not shown.

Binary file not shown.

View File

@ -414,10 +414,20 @@
<dd>
<div class="block">Encrypts a stream of data.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Container.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/Container.html" title="class in net.ME1312.SubServers.Bungee.Library">Container</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/NamedContainer.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Bungee.Library">NamedContainer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.Version.<a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-net.ME1312.SubServers.Bungee.Library.Version.Version-">equals(Version)</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.Version.<a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a></dt>
<dd>
<div class="block">See if Versions are Equal</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">equals(Version, Version)</a></span> - Static method in class net.ME1312.SubServers.Bungee.Library.Version.<a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a></dt>
<dd>
<div class="block">See if Versions are Equal</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html#event-net.ME1312.SubServers.Bungee.Event.SubAddServerEvent-">event(SubAddServerEvent)</a></span> - Method in class net.ME1312.SubServers.Bungee.Network.Packet.<a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html" title="class in net.ME1312.SubServers.Bungee.Network.Packet">PacketOutRunEvent</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html#event-net.ME1312.SubServers.Bungee.Event.SubCreateEvent-">event(SubCreateEvent)</a></span> - Method in class net.ME1312.SubServers.Bungee.Network.Packet.<a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html" title="class in net.ME1312.SubServers.Bungee.Network.Packet">PacketOutRunEvent</a></dt>
@ -752,7 +762,7 @@
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">getCommandHistory()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></dt>
<dd>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubCreator.ServerTemplate.html#getConfigOptions--">getConfigOptions()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubCreator.ServerTemplate.html" title="class in net.ME1312.SubServers.Bungee.Host">SubCreator.ServerTemplate</a></dt>
<dd>
@ -770,6 +780,10 @@
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.html#getCreator--">getCreator()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalHost</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#getCurrentIncompatibilities--">getCurrentIncompatibilities()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></dt>
<dd>
<div class="block">Get incompatibility issues this server currently has</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.LogMessage.html#getDate--">getDate()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.LogMessage.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger.LogMessage</a></dt>
<dd>
<div class="block">Get the date this message was logged</div>
@ -926,6 +940,10 @@
<dd>
<div class="block">Get the Item Icon for this Template</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#getIncompatibilities--">getIncompatibilities()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></dt>
<dd>
<div class="block">Get all listed incompatibilities for this Server</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/SubAPI.html#getInstance--">getInstance()</a></span> - Static method in class net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/SubAPI.html" title="class in net.ME1312.SubServers.Bungee">SubAPI</a></dt>
<dd>
<div class="block">Gets the SubAPI Methods</div>
@ -1568,6 +1586,10 @@
<dd>
<div class="block">Gets the Cancelled Status</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#isCompatible-net.ME1312.SubServers.Bungee.Host.SubServer-">isCompatible(SubServer)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></dt>
<dd>
<div class="block">Checks if a Server is compatible</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.html#isDouble-java.lang.String-">isDouble(String)</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.Config.<a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.html" title="class in net.ME1312.SubServers.Bungee.Library.Config">YAMLSection</a></dt>
<dd>
<div class="block">Check if object is a Double by Handle</div>
@ -1596,10 +1618,6 @@
<dd>
<div class="block">If the Server is Enabled</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html#isEqual-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">isEqual(Version, Version)</a></span> - Static method in class net.ME1312.SubServers.Bungee.Library.Version.<a href="net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a></dt>
<dd>
<div class="block">See if Versions are Equal</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Util.html#isException-net.ME1312.SubServers.Bungee.Library.Util.ExceptionRunnable-">isException(Util.ExceptionRunnable)</a></span> - Static method in class net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/Util.html" title="class in net.ME1312.SubServers.Bungee.Library">Util</a></dt>
<dd>
<div class="block">Determines if an Exception will occur</div>
@ -2688,6 +2706,10 @@
<dd>
<div class="block">Get Executable File</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#toggleCompatibility-net.ME1312.SubServers.Bungee.Host.SubServer...-">toggleCompatibility(SubServer...)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></dt>
<dd>
<div class="block">Toggles compatibility with other Servers</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html#toJSON--">toJSON()</a></span> - Method in class net.ME1312.SubServers.Bungee.Library.Config.<a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html" title="class in net.ME1312.SubServers.Bungee.Library.Config">YAMLConfig</a></dt>
<dd>
<div class="block">Converts Config Contents to JSON</div>

View File

@ -209,7 +209,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.LinkedList&lt;<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/External/ExternalSubServer.html#getCommandHistory--">getCommandHistory</a></span>()</code>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
</td>
</tr>
<tr id="i3" class="rowColor">
@ -338,7 +338,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;net.ME1312.SubServers.Bungee.Host.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#command-java.lang.String-">command</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#edit-net.ME1312.SubServers.Bungee.Library.Config.YAMLSection-">edit</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getFullPath--">getFullPath</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start--">start</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop--">stop</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate--">terminate</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toString--">toString</a></code></li>
<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#command-java.lang.String-">command</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#edit-net.ME1312.SubServers.Bungee.Library.Config.YAMLSection-">edit</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCurrentIncompatibilities--">getCurrentIncompatibilities</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getFullPath--">getFullPath</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getIncompatibilities--">getIncompatibilities</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isCompatible-net.ME1312.SubServers.Bungee.Host.SubServer-">isCompatible</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start--">start</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop--">stop</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate--">terminate</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toggleCompatibility-net.ME1312.SubServers.Bungee.Host.SubServer...-">toggleCompatibility</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Bungee.Host.Server">
@ -681,7 +681,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<h4>getCommandHistory</h4>
<pre>public&nbsp;java.util.LinkedList&lt;<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;&nbsp;getCommandHistory()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">SubServer</a></code></span></div>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">getCommandHistory</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></code></dd>

View File

@ -211,7 +211,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<tr id="i2" class="altColor">
<td class="colFirst"><code>java.util.LinkedList&lt;<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#getCommandHistory--">getCommandHistory</a></span>()</code>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
</td>
</tr>
<tr id="i3" class="rowColor">
@ -340,7 +340,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;net.ME1312.SubServers.Bungee.Host.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#command-java.lang.String-">command</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#edit-net.ME1312.SubServers.Bungee.Library.Config.YAMLSection-">edit</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getFullPath--">getFullPath</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start--">start</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop--">stop</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate--">terminate</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toString--">toString</a></code></li>
<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#command-java.lang.String-">command</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#edit-net.ME1312.SubServers.Bungee.Library.Config.YAMLSection-">edit</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCurrentIncompatibilities--">getCurrentIncompatibilities</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getFullPath--">getFullPath</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getIncompatibilities--">getIncompatibilities</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isCompatible-net.ME1312.SubServers.Bungee.Host.SubServer-">isCompatible</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start--">start</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop--">stop</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate--">terminate</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toggleCompatibility-net.ME1312.SubServers.Bungee.Host.SubServer...-">toggleCompatibility</a>, <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toString--">toString</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Bungee.Host.Server">
@ -687,7 +687,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
<h4>getCommandHistory</h4>
<pre>public&nbsp;java.util.LinkedList&lt;<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;&nbsp;getCommandHistory()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">SubServer</a></code></span></div>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">getCommandHistory</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></code></dd>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":6,"i2":6,"i3":10,"i4":6,"i5":6,"i6":10,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":10,"i21":6,"i22":10,"i23":6,"i24":10,"i25":6,"i26":10,"i27":6,"i28":6};
var methods = {"i0":10,"i1":6,"i2":6,"i3":10,"i4":6,"i5":10,"i6":6,"i7":10,"i8":6,"i9":10,"i10":6,"i11":6,"i12":6,"i13":10,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":10,"i24":6,"i25":10,"i26":6,"i27":10,"i28":6,"i29":10,"i30":10,"i31":6,"i32":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -220,146 +220,170 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract java.util.LinkedList&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCommandHistory--">getCommandHistory</a></span>()</code>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getCurrentIncompatibilities--">getCurrentIncompatibilities</a></span>()</code>
<div class="block">Get incompatibility issues this server currently has</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Executable.html" title="class in net.ME1312.SubServers.Bungee.Host">Executable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getExecutable--">getExecutable</a></span>()</code>
<div class="block">Get the Server's Executable String</div>
</td>
</tr>
<tr id="i6" class="altColor">
<tr id="i7" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getFullPath--">getFullPath</a></span>()</code>
<div class="block">Get the Full Server Directory Path</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<tr id="i8" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Host.html" title="class in net.ME1312.SubServers.Bungee.Host">Host</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getHost--">getHost</a></span>()</code>
<div class="block">Grabs the Host of the Server</div>
</td>
</tr>
<tr id="i8" class="altColor">
<tr id="i9" class="rowColor">
<td class="colFirst"><code>java.util.List&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getIncompatibilities--">getIncompatibilities</a></span>()</code>
<div class="block">Get all listed incompatibilities for this Server</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>abstract <a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getLogger--">getLogger</a></span>()</code>
<div class="block">Get Process Logger</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getPath--">getPath</a></span>()</code>
<div class="block">Get the Server Directory Path</div>
</td>
</tr>
<tr id="i10" class="altColor">
<tr id="i12" class="altColor">
<td class="colFirst"><code>abstract java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getStopCommand--">getStopCommand</a></span>()</code>
<div class="block">Grab the Command to Stop the Server</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isCompatible-net.ME1312.SubServers.Bungee.Host.SubServer-">isCompatible</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&nbsp;server)</code>
<div class="block">Checks if a Server is compatible</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isEnabled--">isEnabled</a></span>()</code>
<div class="block">If the Server is Enabled</div>
</td>
</tr>
<tr id="i12" class="altColor">
<tr id="i15" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isLogging--">isLogging</a></span>()</code>
<div class="block">If the Server is Logging</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<tr id="i16" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isRunning--">isRunning</a></span>()</code>
<div class="block">If the Server is Running</div>
</td>
</tr>
<tr id="i14" class="altColor">
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#isTemporary--">isTemporary</a></span>()</code>
<div class="block">If the Server is Temporary</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<tr id="i18" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#setAutoRestart-boolean-">setAutoRestart</a></span>(boolean&nbsp;value)</code>
<div class="block">Set if the Server will Auto Restart on unexpected shutdowns</div>
</td>
</tr>
<tr id="i16" class="altColor">
<tr id="i19" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;value)</code>
<div class="block">Set if the Server is Enabled</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<tr id="i20" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#setLogging-boolean-">setLogging</a></span>(boolean&nbsp;value)</code>
<div class="block">Set if the Server is Logging</div>
</td>
</tr>
<tr id="i18" class="altColor">
<tr id="i21" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#setStopCommand-java.lang.String-">setStopCommand</a></span>(java.lang.String&nbsp;value)</code>
<div class="block">Set the Command that Stops the Server</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<tr id="i22" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#setTemporary-boolean-">setTemporary</a></span>(boolean&nbsp;value)</code>
<div class="block">Set If the Server is Temporary (will start server if not running)</div>
</td>
</tr>
<tr id="i20" class="altColor">
<tr id="i23" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start--">start</a></span>()</code>
<div class="block">Starts the Server</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<tr id="i24" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#start-java.util.UUID-">start</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Starts the Server</div>
</td>
</tr>
<tr id="i22" class="altColor">
<tr id="i25" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop--">stop</a></span>()</code>
<div class="block">Stops the Server</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<tr id="i26" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#stop-java.util.UUID-">stop</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Stops the Server</div>
</td>
</tr>
<tr id="i24" class="altColor">
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate--">terminate</a></span>()</code>
<div class="block">Terminates the Server</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<tr id="i28" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#terminate-java.util.UUID-">terminate</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Terminates the Server</div>
</td>
</tr>
<tr id="i26" class="altColor">
<tr id="i29" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toggleCompatibility-net.ME1312.SubServers.Bungee.Host.SubServer...-">toggleCompatibility</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>...&nbsp;server)</code>
<div class="block">Toggles compatibility with other Servers</div>
</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<tr id="i31" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#waitFor--">waitFor</a></span>()</code>
<div class="block">Waits for the Server to Stop</div>
</td>
</tr>
<tr id="i28" class="altColor">
<tr id="i32" class="altColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#willAutoRestart--">willAutoRestart</a></span>()</code>
<div class="block">If the Server will Auto Restart on unexpected shutdowns</div>
@ -709,7 +733,7 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
<li class="blockList">
<h4>getCommandHistory</h4>
<pre>public abstract&nbsp;java.util.LinkedList&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.LoggedCommand.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer.LoggedCommand</a>&gt;&nbsp;getCommandHistory()</pre>
<div class="block">Gets all the commands that were sent to this SubServer successfully</div>
<div class="block">Gets all the commands that were sent to this Server successfully</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Command History</dd>
@ -814,6 +838,64 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
</dl>
</li>
</ul>
<a name="toggleCompatibility-net.ME1312.SubServers.Bungee.Host.SubServer...-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toggleCompatibility</h4>
<pre>public&nbsp;void&nbsp;toggleCompatibility(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>...&nbsp;server)</pre>
<div class="block">Toggles compatibility with other Servers</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>server</code> - SubServers to toggle</dd>
</dl>
</li>
</ul>
<a name="isCompatible-net.ME1312.SubServers.Bungee.Host.SubServer-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompatible</h4>
<pre>public&nbsp;boolean&nbsp;isCompatible(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&nbsp;server)</pre>
<div class="block">Checks if a Server is compatible</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>server</code> - Server to check</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Compatible Status</dd>
</dl>
</li>
</ul>
<a name="getIncompatibilities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIncompatibilities</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&gt;&nbsp;getIncompatibilities()</pre>
<div class="block">Get all listed incompatibilities for this Server</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Incompatibility List</dd>
</dl>
</li>
</ul>
<a name="getCurrentIncompatibilities--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCurrentIncompatibilities</h4>
<pre>public&nbsp;java.util.List&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a>&gt;&nbsp;getCurrentIncompatibilities()</pre>
<div class="block">Get incompatibility issues this server currently has</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Current Incompatibility List</dd>
</dl>
</li>
</ul>
<a name="isTemporary--">
<!-- -->
</a>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -156,12 +156,16 @@ extends java.lang.Object</pre>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;object)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html" title="type parameter in Container">V</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html#get--">get</a></span>()</code>
<div class="block">Grabs the Object</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html#set-V-">set</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html" title="type parameter in Container">V</a>&nbsp;value)</code>
<div class="block">Overwrite the Object</div>
@ -173,7 +177,7 @@ extends java.lang.Object</pre>
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
<code>getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
@ -232,7 +236,7 @@ extends java.lang.Object</pre>
</a><a name="set-V-">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>set</h4>
<pre>public&nbsp;void&nbsp;set(<a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html" title="type parameter in Container">V</a>&nbsp;value)</pre>
@ -243,6 +247,19 @@ extends java.lang.Object</pre>
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;object)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var methods = {"i0":10,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -159,12 +159,16 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.h
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;object)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html" title="type parameter in NamedContainer">T</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html#name--">name</a></span>()</code>
<div class="block">Gets the name of the Container</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html#rename-T-">rename</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html" title="type parameter in NamedContainer">T</a>&nbsp;name)</code>
<div class="block">Renames the Container</div>
@ -183,7 +187,7 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.h
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
<code>getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
@ -244,7 +248,7 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.h
</a><a name="rename-T-">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>rename</h4>
<pre>public&nbsp;void&nbsp;rename(<a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html" title="type parameter in NamedContainer">T</a>&nbsp;name)</pre>
@ -255,6 +259,19 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.h
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;object)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html#equals-java.lang.Object-">equals</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../net/ME1312/SubServers/Bungee/Library/Container.html" title="class in net.ME1312.SubServers.Bungee.Library">Container</a>&lt;<a href="../../../../../net/ME1312/SubServers/Bungee/Library/NamedContainer.html" title="type parameter in NamedContainer">V</a>&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":10,"i3":9,"i4":10};
var methods = {"i0":9,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -176,18 +176,22 @@ implements java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../..
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-java.lang.Object-">equals</a></span>(java.lang.Object&nbsp;object)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-net.ME1312.SubServers.Bungee.Library.Version.Version-">equals</a></span>(<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;version)</code>
<div class="block">See if Versions are Equal</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<tr id="i4" class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html#isEqual-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">isEqual</a></span>(<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver1,
<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver2)</code>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html#equals-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">equals</a></span>(<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver1,
<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver2)</code>
<div class="block">See if Versions are Equal</div>
</td>
</tr>
<tr id="i4" class="altColor">
<tr id="i5" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
@ -197,7 +201,7 @@ implements java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../..
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
<code>getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
@ -262,6 +266,19 @@ implements java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../..
</dl>
</li>
</ul>
<a name="equals-java.lang.Object-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre>public&nbsp;boolean&nbsp;equals(java.lang.Object&nbsp;object)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>equals</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></dd>
</dl>
</li>
</ul>
<a name="equals-net.ME1312.SubServers.Bungee.Library.Version.Version-">
<!-- -->
</a>
@ -293,14 +310,14 @@ implements java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../..
</dl>
</li>
</ul>
<a name="isEqual-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">
<a name="equals-net.ME1312.SubServers.Bungee.Library.Version.Version-net.ME1312.SubServers.Bungee.Library.Version.Version-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEqual</h4>
<pre>public static&nbsp;boolean&nbsp;isEqual(<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver1,
<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver2)</pre>
<h4>equals</h4>
<pre>public static&nbsp;boolean&nbsp;equals(<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver1,
<a href="../../../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a>&nbsp;ver2)</pre>
<div class="block">See if Versions are Equal</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>

View File

@ -2,4 +2,4 @@ Manifest-Version: 1.0
Class-Path: BungeeCord.jar
Main-Class: net.ME1312.SubServers.Bungee.Launch
Implementation-Version: 2.12b
Specification-Version: 1
Specification-Version: 2

View File

@ -70,6 +70,7 @@ public class ExternalHost extends Host implements ClientHandler {
@Override
public void setSubData(Client client) {
this.client = new NamedContainer<Boolean, Client>(false, client);
if (client != null && (client.getHandler() == null || !equals(client.getHandler()))) client.setHandler(this);
}
protected void queue(PacketOut... packet) {

View File

@ -69,7 +69,7 @@ public class ExternalSubServer extends SubServer {
@Override
public boolean start(UUID player) {
if (isEnabled() && !running) {
if (isEnabled() && !running && getCurrentIncompatibilities().size() == 0) {
SubStartEvent event = new SubStartEvent(player, this);
host.plugin.getPluginManager().callEvent(event);
if (!event.isCancelled()) {

View File

@ -395,7 +395,7 @@ public abstract class Host implements ExtraDataHandler {
hinfo.put("display", getDisplayName());
JSONObject servers = new JSONObject();
for (SubServer server : getSubServers().values()) {
servers.put(server.getName(), server.toString());
servers.put(server.getName(), new JSONObject(server.toString()));
}
hinfo.put("servers", servers);
if (this instanceof ClientHandler && ((ClientHandler) this).getSubData() != null) hinfo.put("subdata", ((ClientHandler) this).getSubData().getAddress().toString());

View File

@ -17,7 +17,9 @@ import net.ME1312.SubServers.Bungee.SubPlugin;
import org.json.JSONObject;
import java.io.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.UUID;
import java.util.jar.JarFile;
@ -145,7 +147,7 @@ public class InternalSubServer extends SubServer {
@Override
public boolean start(UUID player) {
if (isEnabled() && !(thread != null && thread.isAlive())) {
if (isEnabled() && !(thread != null && thread.isAlive()) && getCurrentIncompatibilities().size() == 0) {
SubStartEvent event = new SubStartEvent(player, this);
host.plugin.getPluginManager().callEvent(event);
if (!event.isCancelled()) {

View File

@ -42,6 +42,7 @@ public class Server extends BungeeServerInfo implements ClientHandler, ExtraData
@Override
public void setSubData(Client client) {
this.client = client;
if (client != null && (client.getHandler() == null || !equals(client.getHandler()))) client.setHandler(this);
}
/**

View File

@ -2,21 +2,22 @@ package net.ME1312.SubServers.Bungee.Host;
import net.ME1312.SubServers.Bungee.Library.Config.YAMLSection;
import net.ME1312.SubServers.Bungee.Library.Exception.InvalidServerException;
import net.ME1312.SubServers.Bungee.Library.NamedContainer;
import net.ME1312.SubServers.Bungee.Library.Util;
import net.ME1312.SubServers.Bungee.SubAPI;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import org.json.JSONObject;
import java.io.File;
import java.net.InetSocketAddress;
import java.util.Calendar;
import java.util.Date;
import java.util.LinkedList;
import java.util.UUID;
import java.util.*;
/**
* SubServer Layout Class
*/
public abstract class SubServer extends Server {
private List<NamedContainer<String, String>> incompatibilities = new ArrayList<NamedContainer<String, String>>();
/**
* Command Storage Class
*/
@ -250,7 +251,7 @@ public abstract class SubServer extends Server {
public abstract SubLogger getLogger();
/**
* Gets all the commands that were sent to this SubServer successfully
* Gets all the commands that were sent to this Server successfully
*
* @return Command History
*/
@ -307,6 +308,70 @@ public abstract class SubServer extends Server {
*/
public abstract void setAutoRestart(boolean value);
/**
* Toggles compatibility with other Servers
*
* @param server SubServers to toggle
*/
public void toggleCompatibility(SubServer... server) {
for (SubServer s : server) {
if (!equals(s)) {
NamedContainer<String, String> info = new NamedContainer<String, String>(s.getHost().getName(), s.getName());
if (isCompatible(s)) {
incompatibilities.add(info);
if (s.isCompatible(this)) toggleCompatibility(this);
} else {
incompatibilities.remove(info);
if (!s.isCompatible(this)) toggleCompatibility(this);
}
}
}
}
/**
* Checks if a Server is compatible
*
* @param server Server to check
* @return Compatible Status
*/
public boolean isCompatible(SubServer server) {
return !incompatibilities.contains(new NamedContainer<String, String>(server.getHost().getName(), server.getName()));
}
/**
* Get all listed incompatibilities for this Server
*
* @return Incompatibility List
*/
public List<SubServer> getIncompatibilities() {
List<SubServer> servers = new ArrayList<SubServer>();
List<NamedContainer<String, String>> temp = new ArrayList<NamedContainer<String, String>>();
temp.addAll(incompatibilities);
for (NamedContainer<String, String> info : temp) {
try {
SubServer server = SubAPI.getInstance().getHost(info.name()).getSubServer(info.get());
if (server == null) throw new NullPointerException();
servers.add(server);
} catch (Throwable e) {
incompatibilities.remove(info);
}
}
return servers;
}
/**
* Get incompatibility issues this server currently has
*
* @return Current Incompatibility List
*/
public List<SubServer> getCurrentIncompatibilities() {
List<SubServer> servers = new ArrayList<SubServer>();
for (SubServer server : getIncompatibilities()) {
if (server.isRunning()) servers.add(server);
}
return servers;
}
/**
* If the Server is Temporary
*
@ -327,6 +392,9 @@ public abstract class SubServer extends Server {
sinfo.put("type", "SubServer");
sinfo.put("enabled", getHost().isEnabled() && isEnabled());
sinfo.put("running", isRunning());
List<String> incompatible = new ArrayList<String>();
for (SubServer server : getCurrentIncompatibilities()) incompatible.add(server.getName());
sinfo.put("incompatible", incompatible);
sinfo.put("temp", isTemporary());
return sinfo.toString();
}

View File

@ -55,7 +55,7 @@ public final class Launch {
} else {
System.out.println("");
System.out.println("*******************************************");
System.out.println("*** Warning: this build is Unofficial ***");
System.out.println("*** Warning: this build is unofficial ***");
System.out.println("*** ***");
System.out.println("*** Please report all issues to ME1312, ***");
System.out.println("*** NOT the Spigot Team. Thank You! ***");
@ -74,7 +74,7 @@ public final class Launch {
}
} else throw new Exception();
} catch (Exception e) {
System.out.println("*** Problem checking BungeeCord Version ***");
System.out.println("*** Problem checking BungeeCord version ***");
System.out.println("*** BungeeCord.jar could be outdated. ***");
System.out.println("*** ***");
System.out.println("*** Errors may arise on older versions! ***");

View File

@ -34,4 +34,17 @@ public class Container<V> {
public void set(V value) {
obj = value;
}
@Override
public boolean equals(Object object) {
if (object instanceof Container) {
if (obj == null || ((Container) object).get() == null) {
return obj == ((Container) object).get();
} else {
return obj.equals(((Container) object).get());
}
} else {
return super.equals(object);
}
}
}

View File

@ -28,4 +28,5 @@ Servers:
Run-On-Launch: false
Auto-Restart: false
Restricted: false
Incompatible: []
Hidden: false

View File

@ -1,4 +1,4 @@
Version: '2.11.2m+'
Version: '2.12b+'
Lang:
'Bungee.Server.Current': '&6You are currently connected to $str$'
'Bungee.Server.Available': '&6You may connect to the following servers at this time:'
@ -35,6 +35,7 @@ Lang:
'Command.Start.Invalid': '&cSubServers \u00BB That Server is not a SubServer'
'Command.Start.Host-Disabled': '&cSubServers \u00BB That SubServer\u0027s Host is not enabled'
'Command.Start.Server-Disabled': '&cSubServers \u00BB That SubServer is not enabled'
'Command.Start.Server-Incompatible': '&cSubServers \u00BB That SubServer cannot start while these server(s) are running: &4$str$'
'Command.Start.Running': '&cSubServers \u00BB That SubServer is already running'
'Command.Stop': '&aSubServers \u00BB Stopping SubServer'
'Command.Stop.Unknown': '&cSubServers \u00BB There is no server with that name'
@ -109,6 +110,7 @@ Lang:
'Interface.SubServer-Menu.SubServer-External': '&7External Server'
'Interface.SubServer-Menu.SubServer-Temporary': '&9Temporary'
'Interface.SubServer-Menu.SubServer-Offline': '&6Offline'
'Interface.SubServer-Menu.SubServer-Incompatible': '&4Incompatible with $str$'
'Interface.SubServer-Menu.SubServer-Disabled': '&4Disabled'
'Interface.SubServer-Menu.No-SubServers': '&c&oThere are No SubServers'
'Interface.SubServer-Menu.Host-Menu': '&b&lHost Menu'

View File

@ -36,4 +36,17 @@ public class NamedContainer<T, V> extends Container<V> {
public void rename(T name) {
this.name = name;
}
@Override
public boolean equals(Object object) {
if (object instanceof NamedContainer) {
if (name == null || ((NamedContainer) object).name() == null) {
return name == ((NamedContainer) object).name() && super.equals(object);
} else {
return name.equals(((NamedContainer) object).name()) && super.equals(object);
}
} else {
return super.equals(object);
}
}
}

View File

@ -44,6 +44,15 @@ public class Version implements Serializable, Comparable<Version> {
return string;
}
@Override
public boolean equals(Object object) {
if (object instanceof Version) {
return equals((Version) object);
} else {
return super.equals(object);
}
}
/**
* See if Versions are Equal
*
@ -140,7 +149,7 @@ public class Version implements Serializable, Comparable<Version> {
* @param ver2 Version to Compare
* @return
*/
public static boolean isEqual(Version ver1, Version ver2) {
public static boolean equals(Version ver1, Version ver2) {
return compare(ver1, ver2) == 0;
}

View File

@ -200,9 +200,9 @@ public class Client {
* @param obj Handler
*/
public void setHandler(ClientHandler obj) {
if (handler != null) handler.setSubData(null);
if (handler != null && handler.getSubData() != null && equals(handler.getSubData())) handler.setSubData(null);
handler = obj;
handler.setSubData(this);
if (handler != null && (handler.getSubData() == null || !equals(handler.getSubData()))) handler.setSubData(this);
}
/**
@ -212,8 +212,7 @@ public class Client {
*/
public void disconnect() throws IOException {
if (!socket.isClosed()) getConnection().close();
if (handler != null) handler.setSubData(null);
if (handler != null && handler.getSubData() != null && equals(handler.getSubData())) setHandler(null);
handler = null;
}
}

View File

@ -11,6 +11,9 @@ import net.ME1312.SubServers.Bungee.SubPlugin;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
/**
* Download Server Info Packet
*/
@ -60,6 +63,12 @@ public class PacketDownloadServerInfo implements PacketIn, PacketOut {
info.put("stop-cmd", ((SubServer) server).getStopCommand());
info.put("auto-run", plugin.config.get().getSection("Servers").getSection(server.getName()).getKeys().contains("Run-On-Launch") && plugin.config.get().getSection("Servers").getSection(server.getName()).getBoolean("Run-On-Launch"));
info.put("auto-restart", ((SubServer) server).willAutoRestart());
List<String> incompatibleCurrent = new ArrayList<String>();
List<String> incompatible = new ArrayList<String>();
for (SubServer server : ((SubServer) this.server).getCurrentIncompatibilities()) incompatibleCurrent.add(server.getName());
for (SubServer server : ((SubServer) this.server).getIncompatibilities()) incompatible.add(server.getName());
info.put("incompatible", incompatibleCurrent);
info.put("incompatible-list", incompatible);
info.put("temp", ((SubServer) server).isTemporary());
} if (server != null) {
info.put("name", server.getName());

View File

@ -68,7 +68,14 @@ public class PacketStartServer implements PacketIn, PacketOut {
} else if (!((SubServer) servers.get(data.getString("server").toLowerCase())).isEnabled()) {
client.sendPacket(new PacketStartServer(5, "That SubServer is not enabled", (data.keySet().contains("id"))?data.getString("id"):null));
} else if (((SubServer) servers.get(data.getString("server").toLowerCase())).isRunning()) {
client.sendPacket(new PacketStartServer(6, "That SubServer is already running", (data.keySet().contains("id"))?data.getString("id"):null));
client.sendPacket(new PacketStartServer(6, "That SubServer is already running", (data.keySet().contains("id")) ? data.getString("id") : null));
} else if (((SubServer) servers.get(data.getString("server").toLowerCase())).getCurrentIncompatibilities().size() != 0) {
String list = "";
for (SubServer server : ((SubServer) servers.get(data.getString("server").toLowerCase())).getCurrentIncompatibilities()) {
if (list.length() != 0) list += ", ";
list += server.getName();
}
client.sendPacket(new PacketStartServer(7, "Cannot start SubServer while these servers are running: " + list, (data.keySet().contains("id")) ? data.getString("id") : null));
} else {
if (((SubServer) servers.get(data.getString("server").toLowerCase())).start((data.keySet().contains("player"))?UUID.fromString(data.getString("player")):null)) {
client.sendPacket(new PacketStartServer(0, "Starting SubServer", (data.keySet().contains("id"))?data.getString("id"):null));

View File

@ -71,6 +71,13 @@ public final class SubCommand extends Command implements TabExecutor {
sender.sendMessage("SubServers > That SubServer is not enabled");
} else if (((SubServer) servers.get(args[1].toLowerCase())).isRunning()) {
sender.sendMessage("SubServers > That SubServer is already running");
} else if (((SubServer) servers.get(args[1].toLowerCase())).getCurrentIncompatibilities().size() != 0) {
String list = "";
for (SubServer server : ((SubServer) servers.get(args[1].toLowerCase())).getCurrentIncompatibilities()) {
if (list.length() != 0) list += ", ";
list += server.getName();
}
sender.sendMessages("That SubServer cannot start while these server(s) are running:", list);
} else {
((SubServer) servers.get(args[1].toLowerCase())).start();
}

View File

@ -81,7 +81,7 @@ public final class SubPlugin extends BungeeCord {
if (!(new UniversalFile(dir, "lang.yml").exists())) {
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
System.out.println("SubServers > Created ~/SubServers/lang.yml");
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.11.2m+"))) != 0) {
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.12b+"))) != 0) {
Files.move(new UniversalFile(dir, "lang.yml").toPath(), new UniversalFile(dir, "lang.old" + Math.round(Math.random() * 100000) + ".yml").toPath());
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
System.out.println("SubServers > Updated ~/SubServers/lang.yml");
@ -171,7 +171,6 @@ public final class SubPlugin extends BungeeCord {
p++;
legServers.put(name, new BungeeServerInfo(name, new InetSocketAddress(InetAddress.getByName(i + ".0.0.0"), p), "Some SubServer", false));
}
}
/**
@ -208,6 +207,7 @@ public final class SubPlugin extends BungeeCord {
config.get().getSection("Hosts").getSection(name).getRawString("Git-Bash"));
this.hosts.put(name.toLowerCase(), host);
if (config.get().getSection("Hosts").getSection(name).getKeys().contains("Display")) host.setDisplayName(config.get().getSection("Hosts").getSection(name).getString("Display"));
if (config.get().getSection("Hosts").getSection(name).getKeys().contains("Extra")) for (String extra : config.get().getSection("Hosts").getSection(name).getSection("Extra").getKeys()) host.addExtra(extra, config.get().getSection("Hosts").getSection(name).getSection("Extra").getObject(extra));
SubDataServer.allowConnection(host.getAddress());
hosts++;
} catch (Exception e) {
@ -224,6 +224,7 @@ public final class SubPlugin extends BungeeCord {
Integer.parseInt(bungee.get().getSection("servers").getSection(name).getRawString("address").split(":")[1]), bungee.get().getSection("servers").getSection(name).getColoredString("motd", '&'),
bungee.get().getSection("servers").getSection(name).getBoolean("hidden", false), bungee.get().getSection("servers").getSection(name).getBoolean("restricted"));
if (bungee.get().getSection("servers").getSection(name).getKeys().contains("display")) server.setDisplayName(bungee.get().getSection("servers").getSection(name).getString("display"));
if (bungee.get().getSection("servers").getSection(name).getKeys().contains("extra")) for (String extra : config.get().getSection("servers").getSection(name).getSection("extra").getKeys()) server.addExtra(extra, config.get().getSection("servers").getSection(name).getSection("extra").getObject(extra));
SubDataServer.allowConnection(server.getAddress().getAddress());
servers++;
} catch (Exception e) {
@ -245,11 +246,18 @@ public final class SubPlugin extends BungeeCord {
config.get().getSection("Servers").getSection(name).getRawString("Directory"), new Executable(config.get().getSection("Servers").getSection(name).getRawString("Executable")), config.get().getSection("Servers").getSection(name).getRawString("Stop-Command"),
config.get().getSection("Servers").getSection(name).getBoolean("Run-On-Launch"), config.get().getSection("Servers").getSection(name).getBoolean("Auto-Restart"), config.get().getSection("Servers").getSection(name).getBoolean("Hidden"), config.get().getSection("Servers").getSection(name).getBoolean("Restricted"), false);
if (config.get().getSection("Servers").getSection(name).getKeys().contains("Display")) server.setDisplayName(config.get().getSection("Servers").getSection(name).getString("Display"));
if (config.get().getSection("Servers").getSection(name).getKeys().contains("Extra")) for (String extra : config.get().getSection("Servers").getSection(name).getSection("Extra").getKeys()) server.addExtra(extra, config.get().getSection("Servers").getSection(name).getSection("Extra").getObject(extra));
subservers++;
} catch (Exception e) {
e.printStackTrace();
}
}
for (SubServer server : api.getSubServers().values()) {
for (String name : config.get().getSection("Servers").getSection(server.getName()).getRawStringList("Incompatible", new ArrayList<>())) {
SubServer other = api.getSubServer(name);
if (other != null && server.isCompatible(other)) server.toggleCompatibility(other);
}
}
running = true;
legServers.clear();
@ -298,8 +306,8 @@ public final class SubPlugin extends BungeeCord {
public Map<String, ServerInfo> getServers() {
HashMap<String, ServerInfo> servers = new HashMap<String, ServerInfo>();
if (!running) {
servers.putAll(super.getServers());
servers.putAll(legServers);
servers.putAll(super.getServers());
} else {
for (ServerInfo server : exServers.values()) servers.put(server.getName(), server);
for (Host host : this.hosts.values()) {

View File

@ -772,7 +772,7 @@ public class InternalUIRenderer extends UIRenderer {
lore.add(ChatColor.GRAY + subserver);
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Player-Count", '&').replace("$int$", new DecimalFormat("#,###").format(json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getJSONObject("players").keySet().size())));
blockMeta.setLore(lore);
} else if (json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getBoolean("enabled")) {
} else if (json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getBoolean("enabled") && json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getJSONArray("incompatible").length() == 0) {
block = new ItemStack(Material.STAINED_GLASS_PANE, 1, offline);
blockMeta = block.getItemMeta();
blockMeta.setDisplayName(ChatColor.YELLOW + json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getString("display"));
@ -788,7 +788,15 @@ public class InternalUIRenderer extends UIRenderer {
LinkedList<String> lore = new LinkedList<String>();
if (!subserver.equals(json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getString("display")))
lore.add(ChatColor.GRAY + subserver);
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
if (json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getJSONArray("incompatible").length() != 0) {
String list = "";
for (int ii = 0; ii < json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getJSONArray("incompatible").length(); ii++) {
if (list.length() != 0) list += ", ";
list += json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getJSONArray("incompatible").getString(ii);
}
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Incompatible", '&').replace("$str$", list));
}
if (!json.getJSONObject("hosts").getJSONObject(hosts.get(subserver)).getJSONObject("servers").getJSONObject(subserver).getBoolean("enabled")) lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
blockMeta.setLore(lore);
}
block.setItemMeta(blockMeta);
@ -934,7 +942,7 @@ public class InternalUIRenderer extends UIRenderer {
blockMeta = block.getItemMeta();
blockMeta.setDisplayName(ChatColor.GRAY+ChatColor.stripColor(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Admin.Start", '&')));
blockMeta.setLore(Arrays.asList(plugin.lang.getSection("Lang").getColoredString("Interface.Generic.Invalid-Permission", '&').replace("$str$", "subservers.subserver.start." + subserver.toLowerCase())));
} else if (!json.getJSONObject("server").getBoolean("enabled")) {
} else if (!json.getJSONObject("server").getBoolean("enabled") || json.getJSONObject("server").getJSONArray("incompatible").length() != 0) {
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.Start", '&')));
@ -984,7 +992,7 @@ public class InternalUIRenderer extends UIRenderer {
lore.add(ChatColor.GRAY + subserver);
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Player-Count", '&').replace("$int$", new DecimalFormat("#,###").format(json.getJSONObject("server").getJSONObject("players").keySet().size())));
blockMeta.setLore(lore);
} else if (json.getJSONObject("server").getBoolean("enabled")) {
} else if (json.getJSONObject("server").getBoolean("enabled") && json.getJSONObject("server").getJSONArray("incompatible").length() == 0) {
block = new ItemStack(Material.STAINED_GLASS_PANE, 1, (short) 4);
blockMeta = block.getItemMeta();
blockMeta.setDisplayName(ChatColor.YELLOW + json.getJSONObject("server").getString("display"));
@ -1000,7 +1008,15 @@ public class InternalUIRenderer extends UIRenderer {
LinkedList<String> lore = new LinkedList<String>();
if (!subserver.equals(json.getJSONObject("server").getString("display")))
lore.add(ChatColor.GRAY + subserver);
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
if (json.getJSONObject("server").getJSONArray("incompatible").length() != 0) {
String list = "";
for (int ii = 0; ii < json.getJSONObject("server").getJSONArray("incompatible").length(); ii++) {
if (list.length() != 0) list += ", ";
list += json.getJSONObject("server").getJSONArray("incompatible").getString(ii);
}
lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Incompatible", '&').replace("$str$", list));
}
if (!json.getJSONObject("server").getBoolean("enabled")) lore.add(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
blockMeta.setLore(lore);
}
block.setItemMeta(blockMeta);

View File

@ -121,7 +121,7 @@ public final class SubDataClient {
}
JSONObject json = new JSONObject(decoded);
for (PacketIn packet : decodePacket(json)) {
Bukkit.getScheduler().runTask(plugin, () -> {
if (plugin.isEnabled()) Bukkit.getScheduler().runTask(plugin, () -> {
try {
packet.execute((json.keySet().contains("c")) ? json.getJSONObject("c") : null);
} catch (Throwable e) {

View File

@ -123,7 +123,7 @@ public final class SubCommand implements CommandExecutor {
hoverm.add(hover);
}
hover = new net.md_5.bungee.api.chat.TextComponent(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Player-Count", '&').replace("$int$", new DecimalFormat("#,###").format(servers.get(server).getJSONObject("players").keySet().size())));
} else if (servers.get(server).getBoolean("enabled")) {
} else if (servers.get(server).getBoolean("enabled") && servers.get(server).getJSONArray("incompatible").length() == 0) {
message.setColor(net.md_5.bungee.api.ChatColor.YELLOW);
hover.setColor(net.md_5.bungee.api.ChatColor.YELLOW);
hoverm.add(hover);
@ -136,13 +136,24 @@ public final class SubCommand implements CommandExecutor {
} else {
message.setColor(net.md_5.bungee.api.ChatColor.RED);
hover.setColor(net.md_5.bungee.api.ChatColor.RED);
hoverm.add(hover);
if (!server.equals(servers.get(server).getString("display"))) {
hoverm.add(hover);
hover = new net.md_5.bungee.api.chat.TextComponent(server + '\n');
hover.setColor(net.md_5.bungee.api.ChatColor.GRAY);
hoverm.add(hover);
}
hover = new net.md_5.bungee.api.chat.TextComponent(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
if (servers.get(server).getJSONArray("incompatible").length() != 0) {
hoverm.add(hover);
String list = "";
for (int ii = 0; ii < servers.get(server).getJSONArray("incompatible").length(); ii++) {
if (list.length() != 0) list += ", ";
list += servers.get(server).getJSONArray("incompatible").getString(ii);
}
hover = new net.md_5.bungee.api.chat.TextComponent(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Incompatible", '&').replace("$str$", list));
}
if (!servers.get(server).getBoolean("enabled")) {
hoverm.add(hover);
hover = new net.md_5.bungee.api.chat.TextComponent(plugin.lang.getSection("Lang").getColoredString("Interface.SubServer-Menu.SubServer-Disabled", '&'));
}
}
}
hoverm.add(hover);
@ -215,6 +226,9 @@ public final class SubCommand implements CommandExecutor {
case 6:
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start.Running", '&'));
break;
case 7:
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start.Server-Incompatible", '&').replace("$str$", json.getString("m").split(":\\s")[1]));
break;
case 0:
case 1:
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start", '&'));

View File

@ -27,7 +27,7 @@ public final class SubPlugin extends JavaPlugin {
public UIHandler gui = null;
public final Version version;
public final Version bversion = new Version(1);
public final Version bversion = new Version(2);
public final SubAPI api = new SubAPI(this);
public SubPlugin() {

View File

@ -47,7 +47,7 @@ public final class ExHost {
public SubDataClient subdata = null;
public final Version version = new Version("2.12c");
public final Version bversion = new Version(1);
public final Version bversion = new Version(2);
public final SubAPI api = new SubAPI(this);
private boolean running;

View File

@ -89,6 +89,9 @@ public class SubCommand {
case 6:
host.log.message.println("That SubServer is already running");
break;
case 7:
host.log.message.println("That SubServer cannot start while these server(s) are running:", json.getString("m").split(":\\s")[1]);
break;
case 0:
case 1:
host.log.message.println("Server was started successfully");