SubServers.Console & Re-add LogFilter API

SubServers Console is a simple bungeecord plugin that pops your
subservers out into their own console window. No configuration
required, one simple command: /popout
This commit is contained in:
ME1312 2017-01-09 14:37:57 -05:00
parent f0f5da7816
commit d59bb7d4cc
33 changed files with 1525 additions and 89 deletions

Binary file not shown.

Binary file not shown.

View File

@ -58,6 +58,8 @@
<li><a href="net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.html" title="class in net.ME1312.SubServers.Bungee.Event" target="classFrame">SubDataRecieveGenericInfoEvent</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network" target="classFrame">SubDataServer</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Library/SubEvent.html" title="interface in net.ME1312.SubServers.Bungee.Library" target="classFrame"><span class="interfaceName">SubEvent</span></a></li>
<li><a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host" target="classFrame"><span class="interfaceName">SubLogFilter</span></a></li>
<li><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">SubLogger</a></li>
<li><a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee" target="classFrame">SubPlugin</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.html" title="class in net.ME1312.SubServers.Bungee.Event" target="classFrame">SubRemoveServerEvent</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.html" title="class in net.ME1312.SubServers.Bungee.Event" target="classFrame">SubSendCommandEvent</a></li>

View File

@ -58,6 +58,8 @@
<li><a href="net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.html" title="class in net.ME1312.SubServers.Bungee.Event">SubDataRecieveGenericInfoEvent</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Library/SubEvent.html" title="interface in net.ME1312.SubServers.Bungee.Library"><span class="interfaceName">SubEvent</span></a></li>
<li><a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="interfaceName">SubLogFilter</span></a></li>
<li><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></li>
<li><a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee">SubPlugin</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.html" title="class in net.ME1312.SubServers.Bungee.Event">SubRemoveServerEvent</a></li>
<li><a href="net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.html" title="class in net.ME1312.SubServers.Bungee.Event">SubSendCommandEvent</a></li>

View File

@ -233,7 +233,7 @@
<dd>
<div class="block">Network Client Class</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/Client.html#Client-net.ME1312.SubServers.Bungee.SubPlugin-java.net.Socket-">Client(SubPlugin, Socket)</a></span> - Constructor for class net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/Client.html" title="class in net.ME1312.SubServers.Bungee.Network">Client</a></dt>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/Client.html#Client-net.ME1312.SubServers.Bungee.Network.SubDataServer-java.net.Socket-">Client(SubDataServer, Socket)</a></span> - Constructor for class net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/Client.html" title="class in net.ME1312.SubServers.Bungee.Network">Client</a></dt>
<dd>
<div class="block">Network Client</div>
</dd>
@ -715,6 +715,12 @@
<dd>
<div class="block">Get a List by Handle</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#getLogger--">getLogger()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubServer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#getLogger--">getLogger()</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 Process Logger</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.html#getLong-java.lang.String-">getLong(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">Get a Long by Handle</div>
@ -749,6 +755,12 @@
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.html#getName--">getName()</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/Internal/InternalSubLogger.html#getName--">getName()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#getName--">getName()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>
<div class="block">Gets the Name of the task logging</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.html#getObject-java.lang.String-">getObject(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">Get a Object by Handle</div>
@ -1227,8 +1239,12 @@
<dd>
<div class="block">Check if object is a List</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#isLogging--">isLogging()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#isLogging--">isLogging()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubServer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#isLogging--">isLogging()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#isLogging--">isLogging()</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">If the Server is Logging</div>
@ -1311,6 +1327,10 @@
<dd>
<div class="block">Link a SubData Client to this Object</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html#log-java.util.logging.Level-java.lang.String-">log(Level, String)</a></span> - Method in interface net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a></dt>
<dd>
<div class="block">Determine if this message should be logged</div>
</dd>
</dl>
<a name="I:M">
<!-- -->
@ -1581,6 +1601,12 @@
<dd>
<div class="block">Read Everything from Reader</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">registerFilter(SubLogFilter)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">registerFilter(SubLogFilter)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>
<div class="block">Register Filter</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html#registerPacket-net.ME1312.SubServers.Bungee.Network.PacketIn-java.lang.String-">registerPacket(PacketIn, String)</a></span> - Static method in class net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a></dt>
<dd>
<div class="block">Register PacketIn to the Network</div>
@ -1775,11 +1801,13 @@
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.html#start-java.util.UUID-java.lang.String...-">start(UUID, String...)</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/Internal/InternalSubLogger.html#start--">start()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>
<div class="block">Start the Logger</div>
</dd>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#start-java.util.UUID-">start(UUID)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubServer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#start--">start()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>
<div class="block">Start Logger</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#start-java.util.UUID-">start(UUID)</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">Starts the Server</div>
@ -1803,11 +1831,13 @@
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.html#stop-java.util.UUID-java.lang.String...-">stop(UUID, String...)</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/Internal/InternalSubLogger.html#stop--">stop()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>
<div class="block">Stop the Logger</div>
</dd>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#stop-java.util.UUID-">stop(UUID)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubServer</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#stop--">stop()</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>
<div class="block">Stop Logger</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubServer.html#stop-java.util.UUID-">stop(UUID)</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">Stops the Server</div>
@ -1890,6 +1920,16 @@
<dd>
<div class="block">SubEvent Layout Class</div>
</dd>
<dt><a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogFilter</span></a> - Interface in <a href="net/ME1312/SubServers/Bungee/Host/package-summary.html">net.ME1312.SubServers.Bungee.Host</a></dt>
<dd>
<div class="block">SubServer Log Filter Layout Class</div>
</dd>
<dt><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogger</span></a> - Class in <a href="net/ME1312/SubServers/Bungee/Host/package-summary.html">net.ME1312.SubServers.Bungee.Host</a></dt>
<dd>
<div class="block">SubLogger Layout Class</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#SubLogger--">SubLogger()</a></span> - Constructor for class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">SubPlugin</span></a> - Class in <a href="net/ME1312/SubServers/Bungee/package-summary.html">net.ME1312.SubServers.Bungee</a></dt>
<dd>
<div class="block">Main Plugin Class</div>
@ -2036,6 +2076,12 @@
<dd>
<div class="block">Creates a File.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">unregisterFilter(SubLogFilter)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">unregisterFilter(SubLogFilter)</a></span> - Method in class net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></dt>
<dd>
<div class="block">Unregister Filter</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html#unregisterPacket-net.ME1312.SubServers.Bungee.Network.PacketIn-">unregisterPacket(PacketIn)</a></span> - Static method in class net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a></dt>
<dd>
<div class="block">Unregister PacketIn from the Network</div>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -98,17 +98,22 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">net.ME1312.SubServers.Bungee.Host.SubLogger</a></li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Bungee.Host.Internal.InternalSubLogger</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">InternalSubLogger</span>
extends java.lang.Object</pre>
extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></pre>
<div class="block">Internal Process Logger Class</div>
</li>
</ul>
@ -151,15 +156,37 @@ extends java.lang.Object</pre>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#start--">start</a></span>()</code>
<div class="block">Start the Logger</div>
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#getName--">getName</a></span>()</code>
<div class="block">Gets the Name of the task logging</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#isLogging--">isLogging</a></span>()</code>&nbsp;</td>
</tr>
<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/Host/Internal/InternalSubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">registerFilter</a></span>(<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</code>
<div class="block">Register Filter</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#start--">start</a></span>()</code>
<div class="block">Start Logger</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#stop--">stop</a></span>()</code>
<div class="block">Stop the Logger</div>
<div class="block">Stop Logger</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">unregisterFilter</a></span>(<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</code>
<div class="block">Unregister Filter</div>
</td>
</tr>
</table>
@ -219,17 +246,91 @@ extends java.lang.Object</pre>
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()</pre>
<div class="block">Start the Logger</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#start--">SubLogger</a></code></span></div>
<div class="block">Start Logger</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#start--">start</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
</dl>
</li>
</ul>
<a name="stop--">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop the Logger</div>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#stop--">SubLogger</a></code></span></div>
<div class="block">Stop Logger</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#stop--">stop</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
</dl>
</li>
</ul>
<a name="registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerFilter</h4>
<pre>public&nbsp;void&nbsp;registerFilter(<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">SubLogger</a></code></span></div>
<div class="block">Register Filter</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">registerFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Filter</dd>
</dl>
</li>
</ul>
<a name="unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterFilter</h4>
<pre>public&nbsp;void&nbsp;unregisterFilter(<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">SubLogger</a></code></span></div>
<div class="block">Unregister Filter</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">unregisterFilter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Filter</dd>
</dl>
</li>
</ul>
<a name="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#getName--">SubLogger</a></code></span></div>
<div class="block">Gets the Name of the task logging</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#getName--">getName</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Log Task Name</dd>
</dl>
</li>
</ul>
<a name="isLogging--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isLogging</h4>
<pre>public&nbsp;boolean&nbsp;isLogging()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#isLogging--">isLogging</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></code></dd>
</dl>
</li>
</ul>
</li>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10};
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -199,84 +199,90 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><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/Internal/InternalSubServer.html#getLogger--">getLogger</a></span>()</code>
<div class="block">Get Process Logger</div>
</td>
</tr>
<tr id="i4" 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/Internal/InternalSubServer.html#getStopCommand--">getStopCommand</a></span>()</code>
<div class="block">Grab the Command to Stop the Server</div>
</td>
</tr>
<tr id="i4" class="altColor">
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#isEnabled--">isEnabled</a></span>()</code>
<div class="block">If the Server is Enabled</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#isLogging--">isLogging</a></span>()</code>
<div class="block">If the Server is Logging</div>
</td>
</tr>
<tr id="i6" class="altColor">
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#isRunning--">isRunning</a></span>()</code>
<div class="block">If the Server is Running</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#isTemporary--">isTemporary</a></span>()</code>
<div class="block">If the Server is Temporary</div>
</td>
</tr>
<tr id="i8" class="altColor">
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.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="i9" class="rowColor">
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#setEnabled-boolean-">setEnabled</a></span>(boolean&nbsp;value)</code>
<div class="block">Set if the Server is Enabled</div>
</td>
</tr>
<tr id="i10" class="altColor">
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#setLogging-boolean-">setLogging</a></span>(boolean&nbsp;value)</code>
<div class="block">Set if the Server is Logging</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.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="i12" class="altColor">
<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/Internal/InternalSubServer.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="i13" class="rowColor">
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.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="i14" class="altColor">
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.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="i15" class="rowColor">
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#waitFor--">waitFor</a></span>()</code>
<div class="block">Waits for the Server to Stop</div>
</td>
</tr>
<tr id="i16" class="altColor">
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.html#willAutoRestart--">willAutoRestart</a></span>()</code>
<div class="block">If the Server will Auto Restart on unexpected shutdowns</div>
@ -574,6 +580,21 @@ extends <a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.h
</dl>
</li>
</ul>
<a name="getLogger--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogger</h4>
<pre>public&nbsp;<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a>&nbsp;getLogger()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getLogger--">SubServer</a></code></span></div>
<div class="block">Get Process Logger</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html#getLogger--">getLogger</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>
</dl>
</li>
</ul>
<a name="getDirectory--">
<!-- -->
</a>

View File

@ -97,12 +97,16 @@
<li type="circle">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"><span class="typeNameLink">InternalHost</span></a></li>
</ul>
</li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.Internal.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal"><span class="typeNameLink">InternalSubLogger</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubCreator</span></a>
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.Host.Internal.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal"><span class="typeNameLink">InternalSubCreator</span></a></li>
</ul>
</li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogger</span></a>
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.Host.Internal.<a href="../../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal"><span class="typeNameLink">InternalSubLogger</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>

View File

@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" target="_top">Frames</a></li>
@ -327,7 +327,7 @@ not permitted.)</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" target="_top">Frames</a></li>

View File

@ -0,0 +1,231 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SubLogFilter (SubServers.Bungee)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SubLogFilter (SubServers.Bungee)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" title="enum in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" target="_top">Frames</a></li>
<li><a href="SubLogFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">net.ME1312.SubServers.Bungee.Host</div>
<h2 title="Interface SubLogFilter" class="title">Interface SubLogFilter</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">SubLogFilter</span></pre>
<div class="block">SubServer Log Filter Layout Class</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<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/Host/SubLogFilter.html#log-java.util.logging.Level-java.lang.String-">log</a></span>(java.util.logging.Level&nbsp;level,
java.lang.String&nbsp;message)</code>
<div class="block">Determine if this message should be logged</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="log-java.util.logging.Level-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>log</h4>
<pre>boolean&nbsp;log(java.util.logging.Level&nbsp;level,
java.lang.String&nbsp;message)</pre>
<div class="block">Determine if this message should be logged</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>level</code> - Log Level</dd>
<dd><code>message</code> - Message to Log</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>If this message should be logged</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" title="enum in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" target="_top">Frames</a></li>
<li><a href="SubLogFilter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

View File

@ -0,0 +1,365 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SubLogger (SubServers.Bungee)</title>
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SubLogger (SubServers.Bungee)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubLogger.html" target="_top">Frames</a></li>
<li><a href="SubLogger.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">net.ME1312.SubServers.Bungee.Host</div>
<h2 title="Class SubLogger" class="title">Class SubLogger</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Bungee.Host.SubLogger</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal">InternalSubLogger</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">SubLogger</span>
extends java.lang.Object</pre>
<div class="block">SubLogger Layout Class</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#SubLogger--">SubLogger</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" 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/SubLogger.html#getName--">getName</a></span>()</code>
<div class="block">Gets the Name of the task logging</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#isLogging--">isLogging</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">registerFilter</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</code>
<div class="block">Register Filter</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#start--">start</a></span>()</code>
<div class="block">Start Logger</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#stop--">stop</a></span>()</code>
<div class="block">Stop Logger</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html#unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">unregisterFilter</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</code>
<div class="block">Unregister Filter</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SubLogger--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SubLogger</h4>
<pre>public&nbsp;SubLogger()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getName</h4>
<pre>public abstract&nbsp;java.lang.String&nbsp;getName()</pre>
<div class="block">Gets the Name of the task logging</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Log Task Name</dd>
</dl>
</li>
</ul>
<a name="start--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>public abstract&nbsp;void&nbsp;start()</pre>
<div class="block">Start Logger</div>
</li>
</ul>
<a name="stop--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public abstract&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop Logger</div>
</li>
</ul>
<a name="isLogging--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isLogging</h4>
<pre>public abstract&nbsp;boolean&nbsp;isLogging()</pre>
</li>
</ul>
<a name="registerFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerFilter</h4>
<pre>public abstract&nbsp;void&nbsp;registerFilter(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</pre>
<div class="block">Register Filter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Filter</dd>
</dl>
</li>
</ul>
<a name="unregisterFilter-net.ME1312.SubServers.Bungee.Host.SubLogFilter-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>unregisterFilter</h4>
<pre>public abstract&nbsp;void&nbsp;unregisterFilter(<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a>&nbsp;filter)</pre>
<div class="block">Unregister Filter</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - Filter</dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Bungee/Host/SubLogger.html" target="_top">Frames</a></li>
<li><a href="SubLogger.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":10,"i14":6,"i15":10,"i16":6,"i17":10,"i18":6,"i19":6,"i20":6};
var methods = {"i0":10,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":10,"i15":6,"i16":10,"i17":6,"i18":10,"i19":6,"i20":6,"i21":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";
@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" title="enum in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
@ -196,102 +196,108 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
</td>
</tr>
<tr id="i4" 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="i5" 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#getStopCommand--">getStopCommand</a></span>()</code>
<div class="block">Grab the Command to Stop the Server</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<tr id="i6" 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="i6" class="altColor">
<tr id="i7" 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="i7" class="rowColor">
<tr id="i8" 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="i8" class="altColor">
<tr id="i9" 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="i9" class="rowColor">
<tr id="i10" 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="i10" class="altColor">
<tr id="i11" 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="i11" class="rowColor">
<tr id="i12" 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="i12" class="altColor">
<tr id="i13" 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="i13" class="rowColor">
<tr id="i14" class="altColor">
<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="i14" 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#start-java.util.UUID-">start</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Starts the Server</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<tr id="i16" class="altColor">
<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="i16" 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#stop-java.util.UUID-">stop</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Stops the Server</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<tr id="i18" class="altColor">
<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="i18" class="altColor">
<tr id="i19" 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#terminate-java.util.UUID-">terminate</a></span>(java.util.UUID&nbsp;player)</code>
<div class="block">Terminates the Server</div>
</td>
</tr>
<tr id="i19" 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#waitFor--">waitFor</a></span>()</code>
<div class="block">Waits for the Server to Stop</div>
</td>
</tr>
<tr id="i20" class="altColor">
<tr id="i21" 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#willAutoRestart--">willAutoRestart</a></span>()</code>
<div class="block">If the Server will Auto Restart on unexpected shutdowns</div>
@ -590,6 +596,16 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
</dl>
</li>
</ul>
<a name="getLogger--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogger</h4>
<pre>public abstract&nbsp;<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a>&nbsp;getLogger()</pre>
<div class="block">Get Process Logger</div>
</li>
</ul>
<a name="getDirectory--">
<!-- -->
</a>
@ -701,7 +717,7 @@ extends <a href="../../../../../net/ME1312/SubServers/Bungee/Host/Server.html" t
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.ServerType.html" title="enum in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">

View File

@ -10,12 +10,17 @@
<body>
<h1 class="bar"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/package-summary.html" target="classFrame">net.ME1312.SubServers.Bungee.Host</a></h1>
<div class="indexContainer">
<h2 title="Interfaces">Interfaces</h2>
<ul title="Interfaces">
<li><a href="SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host" target="classFrame"><span class="interfaceName">SubLogFilter</span></a></li>
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="Executable.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">Executable</a></li>
<li><a href="Host.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">Host</a></li>
<li><a href="Server.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">Server</a></li>
<li><a href="SubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">SubCreator</a></li>
<li><a href="SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">SubLogger</a></li>
<li><a href="SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host" target="classFrame">SubServer</a></li>
</ul>
<h2 title="Enums">Enums</h2>

View File

@ -73,6 +73,23 @@
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host">SubLogFilter</a></td>
<td class="colLast">
<div class="block">SubServer Log Filter Layout Class</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
@ -105,6 +122,12 @@
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host">SubLogger</a></td>
<td class="colLast">
<div class="block">SubLogger Layout Class</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></td>
<td class="colLast">
<div class="block">SubServer Layout Class</div>

View File

@ -91,9 +91,14 @@
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../net/ME1312/SubServers/Bungee/Host/Executable.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Executable</span></a> (implements java.io.Serializable)</li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../net/ME1312/SubServers/Bungee/Host/Host.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">Host</span></a> (implements net.ME1312.SubServers.Bungee.Library.<a href="../../../../../net/ME1312/SubServers/Bungee/Library/ExtraDataHandler.html" title="interface in net.ME1312.SubServers.Bungee.Library">ExtraDataHandler</a>)</li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubCreator.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubCreator</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogger</span></a></li>
</ul>
</li>
</ul>
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="../../../../../net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogFilter</span></a></li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object

View File

@ -107,7 +107,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">Client</span>
<pre>public class <span class="typeNameLabel">Client</span>
extends java.lang.Object</pre>
<div class="block">Network Client Class</div>
</li>
@ -128,7 +128,7 @@ extends java.lang.Object</pre>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Network/Client.html#Client-net.ME1312.SubServers.Bungee.SubPlugin-java.net.Socket-">Client</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee">SubPlugin</a>&nbsp;plugin,
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Bungee/Network/Client.html#Client-net.ME1312.SubServers.Bungee.Network.SubDataServer-java.net.Socket-">Client</a></span>(<a href="../../../../../net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a>&nbsp;subdata,
java.net.Socket&nbsp;client)</code>
<div class="block">Network Client</div>
</td>
@ -213,19 +213,19 @@ extends java.lang.Object</pre>
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="Client-net.ME1312.SubServers.Bungee.SubPlugin-java.net.Socket-">
<a name="Client-net.ME1312.SubServers.Bungee.Network.SubDataServer-java.net.Socket-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>Client</h4>
<pre>public&nbsp;Client(<a href="../../../../../net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee">SubPlugin</a>&nbsp;plugin,
<pre>public&nbsp;Client(<a href="../../../../../net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a>&nbsp;subdata,
java.net.Socket&nbsp;client)
throws java.io.IOException</pre>
<div class="block">Network Client</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plugin</code> - SubPlugin</dd>
<dd><code>subdata</code> - SubData Direct Server</dd>
<dd><code>client</code> - Socket to Bind</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code></dd>

View File

@ -137,7 +137,6 @@
<li type="circle">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"><span class="typeNameLink">InternalHost</span></a></li>
</ul>
</li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal"><span class="typeNameLink">InternalSubLogger</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/Launch.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">Launch</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Network.Packet.<a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketAuthorization.html" title="class in net.ME1312.SubServers.Bungee.Network.Packet"><span class="typeNameLink">PacketAuthorization</span></a> (implements net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketIn.html" title="interface in net.ME1312.SubServers.Bungee.Network">PacketIn</a>, net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Bungee.Network">PacketOut</a>)</li>
<li type="circle">net.ME1312.SubServers.Bungee.Network.Packet.<a href="net/ME1312/SubServers/Bungee/Network/Packet/PacketCommandServer.html" title="class in net.ME1312.SubServers.Bungee.Network.Packet"><span class="typeNameLink">PacketCommandServer</span></a> (implements net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketIn.html" title="interface in net.ME1312.SubServers.Bungee.Network">PacketIn</a>, net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Bungee.Network">PacketOut</a>)</li>
@ -171,6 +170,11 @@
</ul>
</li>
<li type="circle">net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network"><span class="typeNameLink">SubDataServer</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogger</span></a>
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.Host.Internal.<a href="net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.html" title="class in net.ME1312.SubServers.Bungee.Host.Internal"><span class="typeNameLink">InternalSubLogger</span></a></li>
</ul>
</li>
<li type="circle">java.lang.Throwable (implements java.io.Serializable)
<ul>
<li type="circle">java.lang.Exception
@ -208,6 +212,7 @@
<li type="circle">net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketIn.html" title="interface in net.ME1312.SubServers.Bungee.Network"><span class="typeNameLink">PacketIn</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Network.<a href="net/ME1312/SubServers/Bungee/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Bungee.Network"><span class="typeNameLink">PacketOut</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/SubEvent.html" title="interface in net.ME1312.SubServers.Bungee.Library"><span class="typeNameLink">SubEvent</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Host.<a href="net/ME1312/SubServers/Bungee/Host/SubLogFilter.html" title="interface in net.ME1312.SubServers.Bungee.Host"><span class="typeNameLink">SubLogFilter</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/Util.ExceptionRunnable.html" title="interface in net.ME1312.SubServers.Bungee.Library"><span class="typeNameLink">Util.ExceptionRunnable</span></a></li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>

View File

@ -1,5 +1,5 @@
Manifest-Version: 1.0
Class-Path: BungeeCord.jar
Main-Class: net.ME1312.SubServers.Bungee.Launch
Implementation-Version: 2.11.2e
Specification-Version: 0
Implementation-Version: 2.11.2f
Specification-Version: 1

View File

@ -61,8 +61,8 @@ public class InternalSubCreator extends SubCreator {
try {
generateSpigotYAML(dir);
generateProperties(dir, port);
generateClient(dir, name, type);
System.out.println(host.getName() + "/Creator > Copying Plugins...");
generateClient(dir, name, type);
copyFolder(new UniversalFile(host.plugin.dir, "SubServers:Plugin Templates:Spigot Plugins"), new UniversalFile(dir, "plugins"));
} catch (Exception e) {
e.printStackTrace();

View File

@ -1,19 +1,25 @@
package net.ME1312.SubServers.Bungee.Host.Internal;
import net.ME1312.SubServers.Bungee.Host.SubLogFilter;
import net.ME1312.SubServers.Bungee.Host.SubLogger;
import net.ME1312.SubServers.Bungee.Library.Container;
import net.md_5.bungee.api.ProxyServer;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Internal Process Logger Class
*/
public class InternalSubLogger {
private Process process;
public class InternalSubLogger extends SubLogger {
protected Process process;
private String name;
private Container<Boolean> log;
private List<SubLogFilter> filters = new ArrayList<SubLogFilter>();
private File file;
private PrintWriter writer = null;
private boolean started = false;
@ -35,9 +41,7 @@ public class InternalSubLogger {
this.file = file;
}
/**
* Start the Logger
*/
@Override
public void start() {
started = true;
if (file != null && writer == null) {
@ -61,9 +65,10 @@ public class InternalSubLogger {
if (!line.startsWith(">")) {
if (log.get()) {
String msg = line;
Level level;
// REGEX Formatting
String type = "INFO";
String type = "";
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)").matcher(msg);
while (matcher.find()) {
type = matcher.group(3).toUpperCase();
@ -73,20 +78,24 @@ public class InternalSubLogger {
// Determine LOG LEVEL
switch (type) {
case "INFO":
case "MESSAGE":
ProxyServer.getInstance().getLogger().info(name + " > " + msg);
break;
case "WARNING":
case "WARN":
ProxyServer.getInstance().getLogger().warning(name + " > " + msg);
level = Level.WARNING;
break;
case "SEVERE":
case "ERROR":
case "ERR":
ProxyServer.getInstance().getLogger().severe(name + " > " + msg);
level = Level.SEVERE;
break;
default:
level = Level.INFO;
}
// Filter Message
boolean allow = true;
for (SubLogFilter filter : filters) if (allow) allow = filter.log(level, msg);
if (allow) ProxyServer.getInstance().getLogger().log(level, name + " > " + msg);
}
// Log to FILE
@ -107,15 +116,23 @@ public class InternalSubLogger {
}
}
/**
* Stop the Logger
*/
@Override
public void stop() {
if (out != null) out.interrupt();
if (err != null) err.interrupt();
destroy();
}
@Override
public void registerFilter(SubLogFilter filter) {
filters.add(filter);
}
@Override
public void unregisterFilter(SubLogFilter filter) {
filters.remove(filter);
}
private void destroy() {
if (started) {
started = false;
@ -129,4 +146,14 @@ public class InternalSubLogger {
}
}
}
@Override
public String getName() {
return name;
}
@Override
public boolean isLogging() {
return log.get();
}
}

View File

@ -2,6 +2,7 @@ package net.ME1312.SubServers.Bungee.Host.Internal;
import net.ME1312.SubServers.Bungee.Event.*;
import net.ME1312.SubServers.Bungee.Host.Executable;
import net.ME1312.SubServers.Bungee.Host.SubLogger;
import net.ME1312.SubServers.Bungee.Library.Container;
import net.ME1312.SubServers.Bungee.Library.Exception.InvalidServerException;
import net.ME1312.SubServers.Bungee.Host.Host;
@ -25,6 +26,7 @@ public class InternalSubServer extends SubServer {
private Executable executable;
private String stopcmd;
private Process process;
private InternalSubLogger logger;
private Thread thread;
private BufferedWriter command;
private boolean restart;
@ -60,6 +62,7 @@ public class InternalSubServer extends SubServer {
this.executable = executable;
this.stopcmd = stopcmd;
this.process = null;
this.logger = new InternalSubLogger(null, getName(), this.log, null);
this.thread = null;
this.command = null;
this.restart = restart;
@ -74,8 +77,8 @@ public class InternalSubServer extends SubServer {
try {
process = Runtime.getRuntime().exec(executable.toString(), null, directory);
System.out.println("SubServers > Now starting " + getName());
final InternalSubLogger read = new InternalSubLogger(process, getName(), log, null);
read.start();
logger.process = process;
logger.start();
command = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
process.waitFor();
@ -210,6 +213,11 @@ public class InternalSubServer extends SubServer {
log.set(value);
}
@Override
public SubLogger getLogger() {
return logger;
}
@Override
public String getDirectory() {
return dir;

View File

@ -0,0 +1,18 @@
package net.ME1312.SubServers.Bungee.Host;
import java.util.logging.Level;
/**
* SubServer Log Filter Layout Class
*/
public interface SubLogFilter {
/**
* Determine if this message should be logged
*
* @param level Log Level
* @param message Message to Log
* @return If this message should be logged
*/
boolean log(Level level, String message);
}

View File

@ -0,0 +1,40 @@
package net.ME1312.SubServers.Bungee.Host;
/**
* SubLogger Layout Class
*/
public abstract class SubLogger {
/**
* Gets the Name of the task logging
*
* @return Log Task Name
*/
public abstract String getName();
/**
* Start Logger
*/
public abstract void start();
/**
* Stop Logger
*/
public abstract void stop();
public abstract boolean isLogging();
/**
* Register Filter
*
* @param filter Filter
*/
public abstract void registerFilter(SubLogFilter filter);
/**
* Unregister Filter
*
* @param filter Filter
*/
public abstract void unregisterFilter(SubLogFilter filter);
}

View File

@ -144,6 +144,10 @@ public abstract class SubServer extends Server {
*/
public abstract void setLogging(boolean value);
/**
* Get Process Logger
*/
public abstract SubLogger getLogger();
/**
* Get the Server Directory

View File

@ -3,6 +3,7 @@ package net.ME1312.SubServers.Bungee;
import net.ME1312.SubServers.Bungee.Library.Container;
import net.ME1312.SubServers.Bungee.Library.Util;
import javax.swing.*;
import java.security.Security;
import java.text.SimpleDateFormat;
import java.util.Calendar;
@ -21,6 +22,8 @@ public final class Launch {
*/
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
System.setProperty("apple.laf.useScreenMenuBar", "true");
final Container<Boolean> bungee = new Container<Boolean>(false);
if (Util.isException(() -> {
if (Class.forName("net.md_5.bungee.BungeeCord") != null) bungee.set(true);

View File

@ -20,33 +20,33 @@ import java.util.TimerTask;
/**
* Network Client Class
*/
public final class Client {
public class Client {
private Socket socket;
private InetSocketAddress address;
private ClientHandler handler;
private PrintWriter writer;
private Timer authorized;
private SubPlugin plugin;
private SubDataServer subdata;
private Client instance;
/**
* Network Client
*
* @param plugin SubPlugin
* @param subdata SubData Direct Server
* @param client Socket to Bind
*/
public Client(SubPlugin plugin, Socket client) throws IOException {
this.plugin = plugin;
public Client(SubDataServer subdata, Socket client) throws IOException {
this.subdata = subdata;
socket = client;
writer = new PrintWriter(client.getOutputStream(), true);
address = new InetSocketAddress(client.getInetAddress(), client.getPort());
instance = this;
authorized = new Timer("auth" + client.getRemoteSocketAddress().toString());
authorized = new Timer("__subdata_auth_" + client.getRemoteSocketAddress().toString());
authorized.schedule(new TimerTask() {
@Override
public void run() {
if (!socket.isClosed()) try {
plugin.subdata.removeClient(instance);
subdata.removeClient(instance);
} catch (IOException e) {
e.printStackTrace();
}
@ -73,7 +73,7 @@ public final class Client {
} catch (Throwable e) {
new InvocationTargetException(e, "Exception while executing PacketIn").printStackTrace();
}
}
} else sendPacket(new PacketAuthorization(-1, "Unauthorized"));
}
} catch (IllegalPacketException e) {
e.printStackTrace();
@ -82,14 +82,14 @@ public final class Client {
}
}
try {
plugin.subdata.removeClient(instance);
subdata.removeClient(instance);
} catch (IOException e1) {
e1.printStackTrace();
}
} catch (Exception e) {
if (!(e instanceof SocketException)) e.printStackTrace();
try {
plugin.subdata.removeClient(instance);
subdata.removeClient(instance);
} catch (IOException e1) {
e1.printStackTrace();
}

View File

@ -104,7 +104,7 @@ public final class SubDataServer {
*/
public Client addClient(Socket socket) throws IOException {
if (allowedAddresses.contains(socket.getInetAddress())) {
Client client = new Client(plugin, socket);
Client client = new Client(this, socket);
System.out.println("SubData > " + client.getAddress().toString() + " has connected");
clients.put(client.getAddress(), client);
return client;

View File

@ -0,0 +1,4 @@
name: SubServers-Console
main: net.ME1312.SubServers.Console.ConsolePlugin
version: 2.11.2a
author: ME1312

View File

@ -0,0 +1,60 @@
package net.ME1312.SubServers.Console;
import net.ME1312.SubServers.Bungee.Event.SubStartEvent;
import net.ME1312.SubServers.Bungee.Event.SubStoppedEvent;
import net.ME1312.SubServers.Bungee.Library.Config.YAMLConfig;
import net.ME1312.SubServers.Bungee.SubPlugin;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.event.EventHandler;
import net.md_5.bungee.event.EventPriority;
import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
public class ConsolePlugin extends Plugin implements Listener {
public HashMap<String, ConsoleWindow> current = new HashMap<String, ConsoleWindow>();
public YAMLConfig config;
@Override
public void onEnable() {
try {
getDataFolder().mkdirs();
config = new YAMLConfig(new File(getDataFolder(), "config.yml"));
if (!config.get().getKeys().contains("Enabled-Servers")) {
config.get().set("Enabled-Servers", Collections.emptyList());
config.save();
}
getProxy().getPluginManager().registerListener(this, this);
getProxy().getPluginManager().registerCommand(this, new PopoutCommand(this, "popout"));
} catch (IOException e) {
e.printStackTrace();
}
}
@EventHandler(priority = EventPriority.HIGHEST)
public void onServerStart(SubStartEvent event) {
if (!event.isCancelled() && config.get().getStringList("Enabled-Servers").contains(event.getServer().getName().toLowerCase())) {
ConsoleWindow window = new ConsoleWindow(event.getServer());
current.put(event.getServer().getName().toLowerCase(), window);
window.open();
}
}
@EventHandler
public void onServerStop(SubStoppedEvent event) {
if (current.keySet().contains(event.getServer().getName().toLowerCase())) {
current.get(event.getServer().getName().toLowerCase()).close();
current.remove(event.getServer().getName().toLowerCase());
}
}
@Override
public SubPlugin getProxy() {
return (SubPlugin) super.getProxy();
}
}

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="net.ME1312.SubServers.Console.ConsoleWindow">
<grid id="27dc6" binding="window" layout-manager="GridLayoutManager" row-count="2" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
<margin top="0" left="0" bottom="0" right="0"/>
<constraints>
<xy x="20" y="20" width="806" height="400"/>
</constraints>
<properties>
<background color="-12236470"/>
</properties>
<clientProperties>
<html.disable class="java.lang.Boolean" value="false"/>
</clientProperties>
<border type="none" title="SubServers 2 Console" title-justification="2" title-position="3">
<font/>
<title-color color="-1"/>
</border>
<children>
<component id="18cff" class="javax.swing.JTextField" binding="input">
<constraints>
<grid row="1" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="7" anchor="8" fill="1" indent="0" use-parent-layout="false">
<preferred-size width="150" height="-1"/>
</grid>
</constraints>
<properties>
<background color="-14144467"/>
<editable value="true"/>
<font name="Courier" size="14"/>
<foreground color="-14144467"/>
<horizontalAlignment value="10"/>
<text value=""/>
<toolTipText value="Write a command here..."/>
</properties>
<clientProperties>
<html.disable class="java.lang.Boolean" value="true"/>
</clientProperties>
</component>
<scrollpane id="d684e" binding="scroll">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="7" hsize-policy="7" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
</constraints>
<properties>
<foreground color="-14144467"/>
</properties>
<border type="none"/>
<children>
<component id="71cb5" class="javax.swing.JTextArea" binding="log">
<constraints/>
<properties>
<background color="-14144467"/>
<editable value="false"/>
<enabled value="true"/>
<font name="Courier" size="12"/>
<foreground color="-14144467"/>
<lineWrap value="false"/>
</properties>
<clientProperties>
<html.disable class="java.lang.Boolean" value="true"/>
</clientProperties>
</component>
</children>
</scrollpane>
</children>
</grid>
</form>

View File

@ -0,0 +1,310 @@
package net.ME1312.SubServers.Console;
import net.ME1312.SubServers.Bungee.Host.SubLogFilter;
import net.ME1312.SubServers.Bungee.Host.SubServer;
import javax.swing.*;
import javax.swing.text.DefaultCaret;
import javax.swing.text.DefaultEditorKit;
import javax.swing.text.JTextComponent;
import javax.swing.text.TextAction;
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Collections;
import java.util.LinkedList;
import java.util.logging.Level;
public class ConsoleWindow extends JFrame implements SubLogFilter {
private JPanel window;
private JTextField input;
private TextFieldPopup popup;
private JTextArea log;
private JScrollPane scroll;
private boolean open;
private SubServer server;
public ConsoleWindow(SubServer server) {
this.server = server;
this.open = false;
JMenuBar jMenu = new JMenuBar();
JMenu menu = new JMenu("View");
JMenuItem item = new JMenuItem("Scroll to Top");
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_UP, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
item.addActionListener(event -> scroll.getVerticalScrollBar().setValue(0));
menu.add(item);
item = new JMenuItem("Scroll to Bottom");
item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
item.addActionListener(event -> scroll.getVerticalScrollBar().setValue(scroll.getVerticalScrollBar().getMaximum() - scroll.getVerticalScrollBar().getVisibleAmount()));
menu.add(item);
menu.addSeparator();
item = new JMenuItem("Reset Text Size");
item.addActionListener(event -> log.setFont(new Font(log.getFont().getName(), log.getFont().getStyle(), 12)));
menu.add(item);
item = new JMenuItem("Bigger Text");
item.setAccelerator(KeyStroke.getKeyStroke('=', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() + KeyEvent.SHIFT_MASK, true));
item.addActionListener(event -> log.setFont(new Font(log.getFont().getName(), log.getFont().getStyle(), log.getFont().getSize() + 2)));
menu.add(item);
item = new JMenuItem("Smaller Text");
item.setAccelerator(KeyStroke.getKeyStroke('-', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
item.addActionListener(event -> log.setFont(new Font(log.getFont().getName(), log.getFont().getStyle(), log.getFont().getSize() - 2)));
menu.add(item);
jMenu.add(menu);
setJMenuBar(jMenu);
setContentPane(window);
pack();
setTitle(server.getName() + " \u2014 SubServers 2");
setSize(1024, 576);
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - getWidth()) / 2);
int y = (int) ((dimension.getHeight() - getHeight()) / 2);
setLocation(x, y);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
close();
}
});
scroll.setBorder(BorderFactory.createLineBorder(new Color(40, 44, 45)));
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
new SmartScroller(scroll, SmartScroller.VERTICAL, SmartScroller.END);
log.setText("\n");
log.setForeground(Color.WHITE);
log.setBorder(BorderFactory.createLineBorder(new Color(40, 44, 45)));
new TextFieldPopup(log, false);
input.setForeground(Color.WHITE);
input.setBorder(BorderFactory.createLineBorder(new Color(40, 44, 45)));
popup = new TextFieldPopup(input, true);
input.addActionListener(event -> {
if (input.getText().length() > 0 && !input.getText().equals("/")) server.command((input.getText().startsWith("/"))?input.getText().substring(1):input.getText());
popup.commands.add(input.getText());
popup.current = 0;
popup.last = true;
input.setText("/");
});
input.setText("/");
}
@Override
public boolean log(Level level, String message) {
log.setText(log.getText() + ' ' + new SimpleDateFormat("hh:mm:ss").format(Calendar.getInstance().getTime()) + " [" + level.getLocalizedName() + "] " + message + " \n");
return false;
}
public SubServer getServer() {
return server;
}
public void open() {
if (!open) {
server.getLogger().registerFilter(this);
setVisible(true);
toFront();
this.open = true;
}
}
public void close() {
if (open) {
this.open = false;
server.getLogger().unregisterFilter(this);
setVisible(false);
}
}
private class TextFieldPopup extends JPanel {
protected LinkedList<String> commands = new LinkedList<String>();
protected int current = 0;
protected boolean last = true;
public TextFieldPopup(JTextComponent field, boolean writable) {
JPopupMenu menu = new JPopupMenu();
if (writable) {
Action backward = new TextAction("Previous Command") {
public void actionPerformed(ActionEvent e) {
JTextComponent field = getFocusedComponent();
LinkedList<String> list = new LinkedList<String>(commands);
Collections.reverse(list);
if (list.size() > current) {
if (!last) current++;
last = true;
field.setText(list.get(current++));
}
}
};
menu.add(backward);
Action forward = new TextAction("Next Command") {
public void actionPerformed(ActionEvent e) {
JTextComponent field = getFocusedComponent();
LinkedList<String> list = new LinkedList<String>(commands);
Collections.reverse(list);
if (current > 0) {
if (last) current--;
last = false;
field.setText(list.get(--current));
} else field.setText("/");
}
};
menu.add(forward);
menu.addSeparator();
Action cut = new DefaultEditorKit.CutAction();
cut.putValue(Action.NAME, "Cut");
cut.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('X', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
menu.add(cut);
}
Action copy = new DefaultEditorKit.CopyAction();
copy.putValue(Action.NAME, "Copy");
copy.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('C', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
menu.add(copy);
if (writable) {
Action paste = new DefaultEditorKit.PasteAction();
paste.putValue(Action.NAME, "Paste");
paste.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('V', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
menu.add(paste);
}
Action selectAll = new TextAction("Select All") {
public void actionPerformed(ActionEvent e) {
JTextComponent field = getFocusedComponent();
field.selectAll();
field.requestFocusInWindow();
}
};
selectAll.putValue(Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke('A', Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(), true));
menu.add(selectAll);
field.setComponentPopupMenu(menu);
}
}
private class SmartScroller implements AdjustmentListener {
public final static int HORIZONTAL = 0;
public final static int VERTICAL = 1;
public final static int START = 0;
public final static int END = 1;
private int viewportPosition;
private JScrollBar scrollBar;
private boolean adjustScrollBar = true;
private int previousValue = -1;
private int previousMaximum = -1;
public SmartScroller(JScrollPane scrollPane)
{
this(scrollPane, VERTICAL, END);
}
public SmartScroller(JScrollPane scrollPane, int viewportPosition)
{
this(scrollPane, VERTICAL, viewportPosition);
}
public SmartScroller(JScrollPane scrollPane, int scrollDirection, int viewportPosition)
{
if (scrollDirection != HORIZONTAL
&& scrollDirection != VERTICAL)
throw new IllegalArgumentException("invalid scroll direction specified");
if (viewportPosition != START
&& viewportPosition != END)
throw new IllegalArgumentException("invalid viewport position specified");
this.viewportPosition = viewportPosition;
if (scrollDirection == HORIZONTAL)
scrollBar = scrollPane.getHorizontalScrollBar();
else
scrollBar = scrollPane.getVerticalScrollBar();
scrollBar.addAdjustmentListener( this );
// Turn off automatic scrolling for text components
Component view = scrollPane.getViewport().getView();
if (view instanceof JTextComponent)
{
JTextComponent textComponent = (JTextComponent)view;
DefaultCaret caret = (DefaultCaret)textComponent.getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
}
}
@Override
public void adjustmentValueChanged(final AdjustmentEvent e)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
checkScrollBar(e);
}
});
}
/*
* Analyze every adjustment event to determine when the viewport
* needs to be repositioned.
*/
private void checkScrollBar(AdjustmentEvent e)
{
// The scroll bar listModel contains information needed to determine
// whether the viewport should be repositioned or not.
JScrollBar scrollBar = (JScrollBar)e.getSource();
BoundedRangeModel listModel = scrollBar.getModel();
int value = listModel.getValue();
int extent = listModel.getExtent();
int maximum = listModel.getMaximum();
boolean valueChanged = previousValue != value;
boolean maximumChanged = previousMaximum != maximum;
// Check if the user has manually repositioned the scrollbar
if (valueChanged && !maximumChanged)
{
if (viewportPosition == START)
adjustScrollBar = value != 0;
else
adjustScrollBar = value + extent >= maximum;
}
// Reset the "value" so we can reposition the viewport and
// distinguish between a user scroll and a program scroll.
// (ie. valueChanged will be false on a program scroll)
if (adjustScrollBar && viewportPosition == END)
{
// Scroll the viewport to the end.
scrollBar.removeAdjustmentListener( this );
value = maximum - extent;
scrollBar.setValue( value );
scrollBar.addAdjustmentListener( this );
}
if (adjustScrollBar && viewportPosition == START)
{
// Keep the viewport at the same relative viewportPosition
scrollBar.removeAdjustmentListener( this );
value = value + maximum - previousMaximum;
scrollBar.setValue( value );
scrollBar.addAdjustmentListener( this );
}
previousValue = value;
previousMaximum = maximum;
}
}
}

View File

@ -0,0 +1,71 @@
package net.ME1312.SubServers.Console;
import net.ME1312.SubServers.Bungee.Host.SubServer;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;
import net.md_5.bungee.command.ConsoleCommandSender;
import java.util.List;
import java.util.Map;
public class PopoutCommand extends Command {
private ConsolePlugin plugin;
private String label;
public PopoutCommand(ConsolePlugin plugin, String command) {
super(command);
this.plugin = plugin;
this.label = command;
}
@Override
public void execute(CommandSender sender, String[] args) {
if (sender instanceof ConsoleCommandSender) {
if (args.length > 0) {
Map<String, SubServer> servers = plugin.getProxy().api.getSubServers();
if (servers.keySet().contains(args[0].toLowerCase())) {
boolean success = false;
if (servers.get(args[0].toLowerCase()).isRunning()) {
ConsoleWindow window = new ConsoleWindow(servers.get(args[0].toLowerCase()));
plugin.current.put(args[0].toLowerCase(), window);
window.open();
System.out.println("SubConsole > Opening Window...");
success = true;
}
try {
if (args.length > 1) {
if (args[1].equalsIgnoreCase("true")) {
List<String> list = plugin.config.get().getStringList("Enabled-Servers");
list.add(args[0].toLowerCase());
plugin.config.get().set("Enabled-Servers", list);
plugin.config.save();
if (!success) System.out.println("SubConsole > " + servers.get(args[0].toLowerCase()).getName() + " was added to the enabled list");
success = true;
} else if (args[1].equalsIgnoreCase("false")) {
List<String> list = plugin.config.get().getStringList("Enabled-Servers");
list.remove(args[0].toLowerCase());
plugin.config.get().set("Enabled-Servers", list);
if (!success) System.out.println("SubConsole > " + servers.get(args[0].toLowerCase()).getName() + " was removed from the enabled list");
success = true;
}
}
} catch (Exception e) {
e.printStackTrace();
}
if (!success) System.out.println("SubConsole > That SubServer is not running right now.");
} else {
System.out.println("SubConsole > There is no SubServer with that name.");
}
} else {
System.out.println("SubConsole > Usage: /" + label + " <SubServer> [Remember]");
}
} else {
String str = label;
for (String arg : args) str += ' ' + arg;
((ProxiedPlayer) sender).chat(str);
}
}
}