SubServers, Host, & Client v2.12.1a

This commit is contained in:
ME1312 2017-08-15 05:58:48 -04:00
parent 3ac1c8dec3
commit ac1df7a30a
31 changed files with 1111 additions and 46 deletions

Binary file not shown.

Binary file not shown.

View File

@ -2274,6 +2274,8 @@
<dd>
<div class="block">Renames the Container</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/SubPlugin.html#resetSudo-net.ME1312.SubServers.Bungee.Event.SubStoppedEvent-">resetSudo(SubStoppedEvent)</a></span> - Method in class net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee">SubPlugin</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/JSONCallback.html#run-org.json.JSONObject-">run(JSONObject)</a></span> - Method in interface net.ME1312.SubServers.Bungee.Library.<a href="net/ME1312/SubServers/Bungee/Library/JSONCallback.html" title="interface in net.ME1312.SubServers.Bungee.Library">JSONCallback</a></dt>
<dd>
<div class="block">Run the Callback</div>
@ -2688,6 +2690,8 @@
<dd>
<div class="block">Server Shell Exit Event</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/SubPlugin.html#sudo">sudo</a></span> - Variable in class net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee">SubPlugin</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.html#superSection--">superSection()</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">Go up a level in the config (or null if this is the top layer)</div>

View File

@ -17,7 +17,7 @@
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10};
var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@ -115,10 +115,15 @@ var activeTableTab = "activeTableTab";
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>net.md_5.bungee.api.plugin.Listener</dd>
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">SubPlugin</span>
extends net.md_5.bungee.BungeeCord</pre>
extends net.md_5.bungee.BungeeCord
implements net.md_5.bungee.api.plugin.Listener</pre>
<div class="block">Main Plugin Class</div>
</li>
</ul>
@ -179,6 +184,10 @@ extends net.md_5.bungee.BungeeCord</pre>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html#subdata">subdata</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html#sudo">sudo</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../net/ME1312/SubServers/Bungee/Library/Version/Version.html" title="class in net.ME1312.SubServers.Bungee.Library.Version">Version</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html#version">version</a></span></code>&nbsp;</td>
</tr>
@ -212,11 +221,15 @@ extends net.md_5.bungee.BungeeCord</pre>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html#resetSudo-net.ME1312.SubServers.Bungee.Event.SubStoppedEvent-">resetSudo</a></span>(<a href="../../../../net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.html" title="class in net.ME1312.SubServers.Bungee.Event">SubStoppedEvent</a>&nbsp;e)</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/SubPlugin.html#startListeners--">startListeners</a></span>()</code>
<div class="block">Load Hosts, Servers, SubServers, and SubData Direct</div>
</td>
</tr>
<tr id="i2" class="altColor">
<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/SubPlugin.html#stopListeners--">stopListeners</a></span>()</code>
<div class="block">Reset all changes made by startListeners</div>
@ -330,6 +343,15 @@ extends net.md_5.bungee.BungeeCord</pre>
<pre>public&nbsp;<a href="../../../../net/ME1312/SubServers/Bungee/Network/SubDataServer.html" title="class in net.ME1312.SubServers.Bungee.Network">SubDataServer</a> subdata</pre>
</li>
</ul>
<a name="sudo">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sudo</h4>
<pre>public&nbsp;<a href="../../../../net/ME1312/SubServers/Bungee/Host/SubServer.html" title="class in net.ME1312.SubServers.Bungee.Host">SubServer</a> sudo</pre>
</li>
</ul>
<a name="version">
<!-- -->
</a>
@ -400,7 +422,7 @@ extends net.md_5.bungee.BungeeCord</pre>
<a name="stopListeners--">
<!-- -->
</a>
<ul class="blockListLast">
<ul class="blockList">
<li class="blockList">
<h4>stopListeners</h4>
<pre>public&nbsp;void&nbsp;stopListeners()</pre>
@ -413,6 +435,15 @@ extends net.md_5.bungee.BungeeCord</pre>
</dl>
</li>
</ul>
<a name="resetSudo-net.ME1312.SubServers.Bungee.Event.SubStoppedEvent-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>resetSudo</h4>
<pre>public&nbsp;void&nbsp;resetSudo(<a href="../../../../net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.html" title="class in net.ME1312.SubServers.Bungee.Event">SubStoppedEvent</a>&nbsp;e)</pre>
</li>
</ul>
</li>
</ul>
</li>

View File

@ -91,7 +91,7 @@
<ul>
<li type="circle">net.md_5.bungee.BungeeCord
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.<a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">SubPlugin</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.<a href="../../../../net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">SubPlugin</span></a> (implements net.md_5.bungee.api.plugin.Listener)</li>
</ul>
</li>
</ul>

View File

@ -173,7 +173,7 @@
<ul>
<li type="circle">net.md_5.bungee.BungeeCord
<ul>
<li type="circle">net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">SubPlugin</span></a></li>
<li type="circle">net.ME1312.SubServers.Bungee.<a href="net/ME1312/SubServers/Bungee/SubPlugin.html" title="class in net.ME1312.SubServers.Bungee"><span class="typeNameLink">SubPlugin</span></a> (implements net.md_5.bungee.api.plugin.Listener)</li>
</ul>
</li>
</ul>

View File

@ -90,6 +90,7 @@
<li><a href="net/ME1312/SubServers/Host/API/Event/SubStoppedEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">SubStoppedEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubTask.html" title="class in net.ME1312.SubServers.Host.API" target="classFrame">SubTask</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Log/SystemLogger.html" title="class in net.ME1312.SubServers.Host.Library.Log" target="classFrame">SystemLogger</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library" target="classFrame">TextColor</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library" target="classFrame">UniversalFile</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Util.html" title="class in net.ME1312.SubServers.Host.Library" target="classFrame">Util</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Util.ExceptionRunnable.html" title="interface in net.ME1312.SubServers.Host.Library" target="classFrame"><span class="interfaceName">Util.ExceptionRunnable</span></a></li>

View File

@ -90,6 +90,7 @@
<li><a href="net/ME1312/SubServers/Host/API/Event/SubStoppedEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubStoppedEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubTask.html" title="class in net.ME1312.SubServers.Host.API">SubTask</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Log/SystemLogger.html" title="class in net.ME1312.SubServers.Host.Library.Log">SystemLogger</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library">UniversalFile</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Util.html" title="class in net.ME1312.SubServers.Host.Library">Util</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Util.ExceptionRunnable.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="interfaceName">Util.ExceptionRunnable</span></a></li>

View File

@ -575,6 +575,8 @@
<dd>
<div class="block">Gets the Server Socket</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#getColorChar--">getColorChar()</a></span> - Static method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html#getCommand--">getCommand()</a></span> - Method in class net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">CommandPreProcessEvent</a></dt>
<dd>
<div class="block">Gets the full Command String</div>
@ -1005,6 +1007,8 @@
<dd>
<div class="block">Get a UUID List by Handle</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#getValue--">getValue()</a></span> - Method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html#getValue--">getValue()</a></span> - Method in enum net.ME1312.SubServers.Host.Network.Packet.<a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html" title="enum in net.ME1312.SubServers.Host.Network.Packet">PacketExUpdateServer.UpdateType</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Config/YAMLSection.html#getValues--">getValues()</a></span> - Method in class net.ME1312.SubServers.Host.Library.Config.<a href="net/ME1312/SubServers/Host/Library/Config/YAMLSection.html" title="class in net.ME1312.SubServers.Host.Library.Config">YAMLSection</a></dt>
@ -1633,6 +1637,8 @@
<dd>
<div class="block">New PacketTeleportPlayer (Out)</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#parseColor-char-java.lang.String-">parseColor(char, String)</a></span> - Static method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/Command.html#plugin--">plugin()</a></span> - Method in class net.ME1312.SubServers.Host.API.<a href="net/ME1312/SubServers/Host/API/Command.html" title="class in net.ME1312.SubServers.Host.API">Command</a></dt>
<dd>
<div class="block">Gets the Plugin that registering this Command</div>
@ -1891,6 +1897,8 @@
<dd>
<div class="block">Stop SubServers.Host</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#stripColor-java.lang.String-">stripColor(String)</a></span> - Static method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Network/AES.StrongEncryptionNotAvailableException.html#StrongEncryptionNotAvailableException-int-">StrongEncryptionNotAvailableException(int)</a></span> - Constructor for exception net.ME1312.SubServers.Host.Network.<a href="net/ME1312/SubServers/Host/Network/AES.StrongEncryptionNotAvailableException.html" title="class in net.ME1312.SubServers.Host.Network">AES.StrongEncryptionNotAvailableException</a></dt>
<dd>&nbsp;</dd>
<dt><a href="net/ME1312/SubServers/Host/API/Event/SubAddServerEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubAddServerEvent</span></a> - Class in <a href="net/ME1312/SubServers/Host/API/Event/package-summary.html">net.ME1312.SubServers.Host.API.Event</a></dt>
@ -2076,6 +2084,8 @@
<dd>
<div class="block">Terminates the Server</div>
</dd>
<dt><a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">TextColor</span></a> - Enum in <a href="net/ME1312/SubServers/Host/Library/package-summary.html">net.ME1312.SubServers.Host.Library</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Executable/Executable.html#toFile--">toFile()</a></span> - Method in class net.ME1312.SubServers.Host.Executable.<a href="net/ME1312/SubServers/Host/Executable/Executable.html" title="class in net.ME1312.SubServers.Host.Executable">Executable</a></dt>
<dd>
<div class="block">Get Executable File</div>
@ -2100,6 +2110,8 @@
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/Event.html#toString--">toString()</a></span> - Method in class net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#toString--">toString()</a></span> - Method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Version/Version.html#toString--">toString()</a></span> - Method in class net.ME1312.SubServers.Host.Library.Version.<a href="net/ME1312/SubServers/Host/Library/Version/Version.html" title="class in net.ME1312.SubServers.Host.Library.Version">Version</a></dt>
<dd>&nbsp;</dd>
</dl>
@ -2172,6 +2184,10 @@
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum net.ME1312.SubServers.Host.Network.Packet.<a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html" title="enum in net.ME1312.SubServers.Host.Network.Packet">PacketExUpdateServer.UpdateType</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
@ -2185,6 +2201,11 @@
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/TextColor.html#values--">values()</a></span> - Static method in enum net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html#values--">values()</a></span> - Static method in enum net.ME1312.SubServers.Host.Network.Packet.<a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html" title="enum in net.ME1312.SubServers.Host.Network.Packet">PacketExUpdateServer.UpdateType</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in

View File

@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/JSONCallback.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Host/Library/NamedContainer.html" target="_top">Frames</a></li>
@ -283,7 +283,7 @@ extends <a href="../../../../../net/ME1312/SubServers/Host/Library/Container.htm
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/JSONCallback.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Host/Library/NamedContainer.html" target="_top">Frames</a></li>

View File

@ -0,0 +1,649 @@
<!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>TextColor (SubServers.Host)</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="TextColor (SubServers.Host)";
}
}
catch(err) {
}
//-->
var methods = {"i0":9,"i1":10,"i2":9,"i3":9,"i4":10,"i5":9,"i6":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete 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/Host/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Host/Library/TextColor.html" target="_top">Frames</a></li>
<li><a href="TextColor.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><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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.Host.Library</div>
<h2 title="Enum TextColor" class="title">Enum TextColor</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>java.lang.Enum&lt;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>&gt;</li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Host.Library.TextColor</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>java.io.Serializable, java.lang.Comparable&lt;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>&gt;</dd>
</dl>
<hr>
<br>
<pre>public enum <span class="typeNameLabel">TextColor</span>
extends java.lang.Enum&lt;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>&gt;</pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum.constant.summary">
<!-- -->
</a>
<h3>Enum Constant Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Enum Constant and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#AQUA">AQUA</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#BLACK">BLACK</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#BLUE">BLUE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#BOLD">BOLD</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_AQUA">DARK_AQUA</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_BLUE">DARK_BLUE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_GRAY">DARK_GRAY</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_GREEN">DARK_GREEN</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_PURPLE">DARK_PURPLE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#DARK_RED">DARK_RED</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#GOLD">GOLD</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#GRAY">GRAY</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#GREEN">GREEN</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#ITALIC">ITALIC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#LIGHT_PURPLE">LIGHT_PURPLE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#MAGIC">MAGIC</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#RED">RED</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#RESET">RESET</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#STRIKETHROUGH">STRIKETHROUGH</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#UNDERLINE">UNDERLINE</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#WHITE">WHITE</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#YELLOW">YELLOW</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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>static char</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#getColorChar--">getColorChar</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#getValue--">getValue</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#parseColor-char-java.lang.String-">parseColor</a></span>(char&nbsp;character,
java.lang.String&nbsp;str)</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static java.lang.String</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#stripColor-java.lang.String-">stripColor</a></span>(java.lang.String&nbsp;str)</code>&nbsp;</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/Host/Library/TextColor.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String&nbsp;name)</code>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html#values--">values</a></span>()</code>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Enum</h3>
<code>compareTo, equals, getDeclaringClass, hashCode, name, ordinal, valueOf</code></li>
</ul>
<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>getClass, notify, notifyAll, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ ENUM CONSTANT DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="enum.constant.detail">
<!-- -->
</a>
<h3>Enum Constant Detail</h3>
<a name="AQUA">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>AQUA</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> AQUA</pre>
</li>
</ul>
<a name="BLACK">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BLACK</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> BLACK</pre>
</li>
</ul>
<a name="BLUE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BLUE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> BLUE</pre>
</li>
</ul>
<a name="BOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>BOLD</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> BOLD</pre>
</li>
</ul>
<a name="DARK_AQUA">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_AQUA</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_AQUA</pre>
</li>
</ul>
<a name="DARK_BLUE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_BLUE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_BLUE</pre>
</li>
</ul>
<a name="DARK_GRAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_GRAY</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_GRAY</pre>
</li>
</ul>
<a name="DARK_GREEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_GREEN</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_GREEN</pre>
</li>
</ul>
<a name="DARK_PURPLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_PURPLE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_PURPLE</pre>
</li>
</ul>
<a name="DARK_RED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DARK_RED</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> DARK_RED</pre>
</li>
</ul>
<a name="GOLD">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GOLD</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> GOLD</pre>
</li>
</ul>
<a name="GRAY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GRAY</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> GRAY</pre>
</li>
</ul>
<a name="GREEN">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GREEN</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> GREEN</pre>
</li>
</ul>
<a name="ITALIC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ITALIC</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> ITALIC</pre>
</li>
</ul>
<a name="LIGHT_PURPLE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LIGHT_PURPLE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> LIGHT_PURPLE</pre>
</li>
</ul>
<a name="MAGIC">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAGIC</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> MAGIC</pre>
</li>
</ul>
<a name="RED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RED</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> RED</pre>
</li>
</ul>
<a name="RESET">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RESET</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> RESET</pre>
</li>
</ul>
<a name="STRIKETHROUGH">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>STRIKETHROUGH</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> STRIKETHROUGH</pre>
</li>
</ul>
<a name="UNDERLINE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>UNDERLINE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> UNDERLINE</pre>
</li>
</ul>
<a name="WHITE">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>WHITE</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> WHITE</pre>
</li>
</ul>
<a name="YELLOW">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>YELLOW</h4>
<pre>public static final&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a> YELLOW</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="values--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>values</h4>
<pre>public static&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>[]&nbsp;values()</pre>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared. This method may be used to iterate
over the constants as follows:
<pre>
for (TextColor c : TextColor.values())
&nbsp; System.out.println(c);
</pre></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an array containing the constants of this enum type, in the order they are declared</dd>
</dl>
</li>
</ul>
<a name="valueOf-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueOf</h4>
<pre>public static&nbsp;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>&nbsp;valueOf(java.lang.String&nbsp;name)</pre>
<div class="block">Returns the enum constant of this type with the specified name.
The string must match <i>exactly</i> an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>name</code> - the name of the enum constant to be returned.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the enum constant with the specified name</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Enum&lt;<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a name="getValue--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;java.lang.String&nbsp;getValue()</pre>
</li>
</ul>
<a name="getColorChar--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getColorChar</h4>
<pre>public static&nbsp;char&nbsp;getColorChar()</pre>
</li>
</ul>
<a name="parseColor-char-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseColor</h4>
<pre>public static&nbsp;java.lang.String&nbsp;parseColor(char&nbsp;character,
java.lang.String&nbsp;str)</pre>
</li>
</ul>
<a name="stripColor-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>stripColor</h4>
<pre>public static&nbsp;java.lang.String&nbsp;stripColor(java.lang.String&nbsp;str)</pre>
</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/Host/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?net/ME1312/SubServers/Host/Library/TextColor.html" target="_top">Frames</a></li>
<li><a href="TextColor.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><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
<li>Field&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

@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/Util.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
@ -366,7 +366,7 @@ extends java.io.File</pre>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../net/ME1312/SubServers/Host/Library/Util.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">

View File

@ -24,6 +24,10 @@
<li><a href="UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library" target="classFrame">UniversalFile</a></li>
<li><a href="Util.html" title="class in net.ME1312.SubServers.Host.Library" target="classFrame">Util</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">
<li><a href="TextColor.html" title="enum in net.ME1312.SubServers.Host.Library" target="classFrame">TextColor</a></li>
</ul>
</div>
</body>
</html>

View File

@ -138,6 +138,21 @@
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library">TextColor</a></td>
<td class="colLast">&nbsp;</td>
</tr>
</tbody>
</table>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->

View File

@ -100,6 +100,18 @@
<li type="circle">net.ME1312.SubServers.Host.Library.<a href="../../../../../net/ME1312/SubServers/Host/Library/Util.ExceptionRunnable.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Util.ExceptionRunnable</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Library.<a href="../../../../../net/ME1312/SubServers/Host/Library/Util.ReturnRunnable.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">Util.ReturnRunnable</span></a>&lt;R&gt;</li>
</ul>
<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li type="circle">net.ME1312.SubServers.Host.Library.<a href="../../../../../net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">TextColor</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">

View File

@ -232,6 +232,7 @@
<li type="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
<ul>
<li type="circle">net.ME1312.SubServers.Host.Executable.<a href="net/ME1312/SubServers/Host/Executable/SubCreator.ServerType.html" title="enum in net.ME1312.SubServers.Host.Executable"><span class="typeNameLink">SubCreator.ServerType</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/TextColor.html" title="enum in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">TextColor</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Network.<a href="net/ME1312/SubServers/Host/Network/SubDataClient.Encryption.html" title="enum in net.ME1312.SubServers.Host.Network"><span class="typeNameLink">SubDataClient.Encryption</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Network.Packet.<a href="net/ME1312/SubServers/Host/Network/Packet/PacketExUpdateServer.UpdateType.html" title="enum in net.ME1312.SubServers.Host.Network.Packet"><span class="typeNameLink">PacketExUpdateServer.UpdateType</span></a></li>
</ul>

View File

@ -1,5 +1,5 @@
Manifest-Version: 1.0
Class-Path: BungeeCord.jar
Main-Class: net.ME1312.SubServers.Bungee.Launch
Implementation-Version: 2.12d
Specification-Version: 1
Implementation-Version: 2.12.1a
Specification-Version: 0

View File

@ -5,6 +5,7 @@ import net.ME1312.SubServers.Bungee.Host.SubLogger;
import net.ME1312.SubServers.Bungee.Library.Container;
import net.ME1312.SubServers.Bungee.Library.Util;
import net.ME1312.SubServers.Bungee.Network.Packet.PacketInExLogMessage;
import net.ME1312.SubServers.Bungee.SubAPI;
import net.md_5.bungee.api.ProxyServer;
import java.io.File;
@ -85,6 +86,7 @@ public class ExternalSubLogger extends SubLogger {
*
* @param line Message
*/
@SuppressWarnings("deprecation")
public void log(String line) {
if (started) {
String msg = line;
@ -92,12 +94,12 @@ public class ExternalSubLogger extends SubLogger {
// REGEX Formatting
String type = "";
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg);
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg.replaceAll("\u001B\\[[;\\d]*m", ""));
while (matcher.find()) {
type = matcher.group(3).toUpperCase();
}
msg = msg.replaceAll("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)", "");
msg = msg.substring(msg.length() - msg.replaceAll("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)", "").length());
// Determine LOG LEVEL
switch (type) {
@ -115,18 +117,18 @@ public class ExternalSubLogger extends SubLogger {
}
// Filter Message
boolean allow = true;
boolean allow = log.get() && (SubAPI.getInstance().getInternals().sudo == null || SubAPI.getInstance().getInternals().sudo == getHandler());
List<SubLogFilter> filters = new ArrayList<SubLogFilter>();
filters.addAll(this.filters);
for (SubLogFilter filter : filters)
try {
if (allow) allow = filter.log(level, msg);
allow = (filter.log(level, msg) && allow);
} catch (Throwable e) {
new InvocationTargetException(e, "Exception while running SubLogger Event").printStackTrace();
}
// Log to CONSOLE
if (log.get() && allow) ProxyServer.getInstance().getLogger().log(level, name + " > " + msg);
if (allow) ProxyServer.getInstance().getLogger().log(level, name + " > " + msg);
// Log to MEMORY
messages.add(new LogMessage(level, msg));

View File

@ -5,6 +5,7 @@ import net.ME1312.SubServers.Bungee.Host.SubLogger;
import net.ME1312.SubServers.Bungee.Library.Container;
import net.ME1312.SubServers.Bungee.Library.NamedContainer;
import net.ME1312.SubServers.Bungee.Library.Util;
import net.ME1312.SubServers.Bungee.SubAPI;
import net.md_5.bungee.api.ProxyServer;
import java.io.*;
@ -72,6 +73,7 @@ public class InternalSubLogger extends SubLogger {
}
}
@SuppressWarnings("deprecation")
private void start(InputStream in, boolean isErr) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(in));
@ -83,7 +85,7 @@ public class InternalSubLogger extends SubLogger {
// REGEX Formatting
String type = "";
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg);
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg.replaceAll("\u001B\\[[;\\d]*m", ""));
while (matcher.find()) {
type = matcher.group(3).toUpperCase();
}
@ -106,18 +108,18 @@ public class InternalSubLogger extends SubLogger {
}
// Filter Message
boolean allow = true;
boolean allow = log.get() && (SubAPI.getInstance().getInternals().sudo == null || SubAPI.getInstance().getInternals().sudo == getHandler());
List<SubLogFilter> filters = new ArrayList<SubLogFilter>();
filters.addAll(this.filters);
for (SubLogFilter filter : filters)
try {
if (allow) allow = filter.log(level, msg);
allow = (filter.log(level, msg) && allow);
} catch (Throwable e) {
new InvocationTargetException(e, "Exception while running SubLogger Event").printStackTrace();
}
// Log to CONSOLE
if (log.get() && allow) ProxyServer.getInstance().getLogger().log(level, name + " > " + msg);
if (allow) ProxyServer.getInstance().getLogger().log(level, name + " > " + msg);
// Log to MEMORY
messages.add(new LogMessage(level, msg));

View File

@ -90,8 +90,15 @@ public final class Launch {
if (!options.has("noconsole")) {
String line;
while (plugin.isRunning && (line = plugin.getConsoleReader().readLine(">")) != null) {
if (!plugin.getPluginManager().dispatchCommand(net.md_5.bungee.command.ConsoleCommandSender.class.cast(net.md_5.bungee.command.ConsoleCommandSender.class.getMethod("getInstance").invoke(null)), line)) {
plugin.getConsole().sendMessage(net.md_5.bungee.api.ChatColor.RED + "Command not found");
if (plugin.sudo == null) {
if (!plugin.getPluginManager().dispatchCommand(net.md_5.bungee.command.ConsoleCommandSender.class.cast(net.md_5.bungee.command.ConsoleCommandSender.class.getMethod("getInstance").invoke(null)), line)) {
plugin.getConsole().sendMessage(net.md_5.bungee.api.ChatColor.RED + "Command not found");
}
} else if (line.equals("exit")) {
plugin.sudo = null;
System.out.println("SubServers > Reverting to the BungeeCord Console");
} else {
plugin.sudo.command(line);
}
}
}

View File

@ -1,4 +1,4 @@
Version: '2.12b+'
Version: '2.12.1a+'
Lang:
'Bungee.Server.Current': '&6You are currently connected to $str$'
'Bungee.Server.Available': '&6You may connect to the following servers at this time:'
@ -6,7 +6,7 @@ Lang:
'Bungee.Server.Hover': '$int$ player(s)\n&oClick to connect to the server'
'Bungee.Server.Divider': '&6, '
'Bungee.Server.Invalid': '&cThe specified server does not exist.'
'Bungee.List.Format': '&a[$str$] &e($int$): '
'Bungee.List.Format': '&a[$str$] &e($int$)&r: '
'Bungee.List.List': '&f$str$'
'Bungee.List.Divider': '&f, '
'Bungee.List.Total': 'Total players online: $int$'
@ -19,6 +19,7 @@ Lang:
'Command.Help.Help': ' &7Help:&f $str$'
'Command.Help.List': ' &7List:&f $str$'
'Command.Help.Version': ' &7Version:&f $str$'
'Command.Help.Info': ' &Info:&f $str$'
'Command.Help.Terminate': ' &7Teleport to Server:&f $str$'
'Command.Help.Host.Create': ' &7Create Server:&f $str$'
'Command.Help.Server.Teleport': ' &7Teleport to Server:&f $str$'
@ -30,6 +31,11 @@ Lang:
'Command.List.Host-Header': '&7SubServers \u00BB Host List:'
'Command.List.Server-Header': '&7SubServers \u00BB Server List:'
'Command.List.Divider': '&7, '
'Command.Info': '&7SubServers \u00BB Info on &f$str$&7:'
'Command.Info.Unknown': '&cSubServers \u00BB There is no server with that name'
'Command.Info.Invalid': '&cSubServers \u00BB That Server is not a SubServer'
'Command.Info.Format': '- &f$str$&7: &r'
'Command.Info.List': ' - $str$'
'Command.Start': '&aSubServers \u00BB Starting SubServer'
'Command.Start.Unknown': '&cSubServers \u00BB There is no server with that name'
'Command.Start.Invalid': '&cSubServers \u00BB That Server is not a SubServer'

View File

@ -48,16 +48,44 @@ public final class SubCommand extends Command implements TabExecutor {
sender.sendMessage("SubServers > SubServers.Bungee is running version " + plugin.version.toString() + ((plugin.bversion != null)?" BETA "+plugin.bversion.toString():""));
} else if (args[0].equalsIgnoreCase("list")) {
List<String> hosts = new ArrayList<String>();
for (Host host : plugin.hosts.values()) {
hosts.add(host.getDisplayName() + ((host.getName().equals(host.getDisplayName()))?"":" (" + host.getName() + ')'));
for (Host host : plugin.hosts.values()) {
hosts.add(host.getDisplayName() + ((host.getName().equals(host.getDisplayName())) ? "" : " (" + host.getName() + ')'));
}
List<String> servers = new ArrayList<String>();
for (Server server : plugin.api.getServers().values()) {
servers.add(server.getDisplayName() + ((server.getName().equals(server.getDisplayName()))?"":" (" + server.getName() + ')'));
servers.add(server.getDisplayName() + ((server.getName().equals(server.getDisplayName())) ? "" : " (" + server.getName() + ')'));
}
sender.sendMessages(
"SubServers > Host List:", hosts.toString().substring(1, hosts.toString().length() - 1),
"SubServers > Server List:", servers.toString().substring(1, servers.toString().length() - 1));
} else if (args[0].equalsIgnoreCase("info") || args[0].equalsIgnoreCase("status")) {
if (args.length > 1) {
Map<String, Server> servers = plugin.api.getServers();
if (!servers.keySet().contains(args[1].toLowerCase())) {
sender.sendMessage("SubServers > There is no server with that name");
} else if (!(servers.get(args[1].toLowerCase()) instanceof SubServer)) {
sender.sendMessage("SubServers > That Server is not a SubServer");
} else {
SubServer server = (SubServer) servers.get(args[1].toLowerCase());
sender.sendMessage("SubServers > Info on " + server.getDisplayName() + ':');
if (!server.getName().equals(server.getDisplayName())) sender.sendMessage(" - Real Name: " + server.getName());
sender.sendMessage(" - Host: " + server.getHost().getDisplayName() + ((!server.getHost().getName().equals(server.getHost().getDisplayName()))?" ("+server.getHost().getName()+')':""));
sender.sendMessage(" - Enabled: " + ((server.isEnabled())?"yes":"no"));
if (server.isTemporary()) sender.sendMessage(" - Temporary: yes");
sender.sendMessage(" - Running: " + ((server.isRunning())?"yes":"no"));
sender.sendMessage(" - Logging: " + ((server.isLogging())?"yes":"no"));
sender.sendMessage(" - Auto Restart: " + ((server.willAutoRestart())?"yes":"no"));
sender.sendMessage(" - Hidden: " + ((server.isHidden())?"yes":"no"));
if (server.getIncompatibilities().size() > 0) {
List<SubServer> current = server.getCurrentIncompatibilities();
sender.sendMessage(" - Incompatibilities:");
for (SubServer other : server.getIncompatibilities()) sender.sendMessage(" - " + other.getDisplayName() + ((current.contains(other))?"*":"") + ((!other.getName().equals(other.getDisplayName()))?" ("+other.getName()+')':""));
}
}
} else {
sender.sendMessage("SubServers > Usage: " + label + " " + args[0].toLowerCase() + " <SubServer>");
}
} else if (args[0].equalsIgnoreCase("start")) {
if (args.length > 1) {
Map<String, Server> servers = plugin.api.getServers();
@ -141,6 +169,22 @@ public final class SubCommand extends Command implements TabExecutor {
} else {
sender.sendMessage("SubServers > Usage: " + label + " " + args[0].toLowerCase() + " <SubServer> <Command> [Args...]");
}
} else if (args[0].equalsIgnoreCase("sudo") || args[0].equalsIgnoreCase("screen")) {
if (args[0].length() > 1) {
Map<String, Server> servers = plugin.api.getServers();
if (!args[1].equals("*") && !servers.keySet().contains(args[1].toLowerCase())) {
sender.sendMessage("SubServers > There is no server with that name");
} else if (!args[1].equals("*") && !(servers.get(args[1].toLowerCase()) instanceof SubServer)) {
sender.sendMessage("SubServers > That Server is not a SubServer");
} else if (!args[1].equals("*") && !((SubServer) servers.get(args[1].toLowerCase())).isRunning()) {
sender.sendMessage("SubServers > That SubServer is not running");
} else {
plugin.sudo = (SubServer) servers.get(args[1].toLowerCase());
System.out.println("SubServers > Now forwarding commands to " + plugin.sudo.getDisplayName() + ". Type \"exit\" to return.");
}
} else {
sender.sendMessage("SubServers > Usage: " + label + " " + args[0].toLowerCase() + " <SubServer>");
}
} else if (args[0].equalsIgnoreCase("create")) {
if (args.length > 5) {
if (plugin.api.getSubServers().keySet().contains(args[1].toLowerCase()) || SubCreator.isReserved(args[1])) {
@ -202,7 +246,7 @@ public final class SubCommand extends Command implements TabExecutor {
public Iterable<String> onTabComplete(CommandSender sender, String[] args) {
String last = (args.length > 0)?args[args.length - 1].toLowerCase():"";
if (args.length <= 1) {
List<String> cmds = Arrays.asList("help", "list", "version", "start", "stop", "kill", "terminate", "cmd", "command", "create");
List<String> cmds = Arrays.asList("help", "list", "info", "status", "version", "start", "stop", "kill", "terminate", "cmd", "command", "create");
if (last.length() == 0) {
return cmds;
} else {
@ -213,7 +257,8 @@ public final class SubCommand extends Command implements TabExecutor {
return list;
}
} else {
if (args[0].equals("start") ||
if (args[0].equals("info") || args[0].equals("status") ||
args[0].equals("start") ||
args[0].equals("stop") ||
args[0].equals("kill") || args[0].equals("terminate")) {
if (args.length == 2) {
@ -301,14 +346,16 @@ public final class SubCommand extends Command implements TabExecutor {
" Help: /sub help",
" List: /sub list",
" Version: /sub version",
" Server Status: /sub info <SubServer>",
" Start Server: /sub start <SubServer>",
" Stop Server: /sub stop <SubServer>",
" Terminate Server: /sub kill <SubServer>",
" Command Server: /sub cmd <SubServer> <Command> [Args...]",
" Sudo Server: /sub sudo <SubServer>",
" Create Server: /sub create <Name> <Host> <Template> <Version> <Port>",
" Remove Server: /sub delete <SubServer>",
"",
" To see BungeeCord Supplied Commands, please visit:",
" To see BungeeCord supplied commands, please visit:",
" https://www.spigotmc.org/wiki/bungeecord-commands/"
};
}

View File

@ -1,5 +1,6 @@
package net.ME1312.SubServers.Bungee;
import net.ME1312.SubServers.Bungee.Event.SubStoppedEvent;
import net.ME1312.SubServers.Bungee.Host.Executable;
import net.ME1312.SubServers.Bungee.Host.Server;
import net.ME1312.SubServers.Bungee.Library.Config.YAMLConfig;
@ -15,6 +16,8 @@ import net.ME1312.SubServers.Bungee.Network.SubDataServer;
import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.BungeeServerInfo;
import net.md_5.bungee.api.config.ServerInfo;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.event.EventHandler;
import org.json.JSONObject;
import java.io.*;
@ -32,7 +35,7 @@ import java.util.zip.ZipInputStream;
/**
* Main Plugin Class
*/
public final class SubPlugin extends BungeeCord {
public final class SubPlugin extends BungeeCord implements Listener {
protected final HashMap<String, Class<? extends Host>> hostDrivers = new HashMap<String, Class<? extends Host>>();
public final HashMap<String, Host> hosts = new HashMap<String, Host>();
public final HashMap<String, Server> exServers = new HashMap<String, Server>();
@ -44,6 +47,7 @@ public final class SubPlugin extends BungeeCord {
public YAMLConfig lang;
public HashMap<String, String> exLang = new HashMap<String, String>();
public SubDataServer subdata = null;
public SubServer sudo = null;
public final Version version = new Version(SubPlugin.class.getPackage().getImplementationVersion());
public final Version bversion = (SubPlugin.class.getPackage().getSpecificationVersion().equals("0"))?null:new Version(SubPlugin.class.getPackage().getSpecificationVersion());
@ -81,7 +85,7 @@ public final class SubPlugin extends BungeeCord {
if (!(new UniversalFile(dir, "lang.yml").exists())) {
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
System.out.println("SubServers > Created ~/SubServers/lang.yml");
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.12b+"))) != 0) {
} else if ((new Version((new YAMLConfig(new UniversalFile(dir, "lang.yml"))).get().getString("Version", "0")).compareTo(new Version("2.12.1a+"))) != 0) {
Files.move(new UniversalFile(dir, "lang.yml").toPath(), new UniversalFile(dir, "lang.old" + Math.round(Math.random() * 100000) + ".yml").toPath());
Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/lang.yml", new UniversalFile(dir, "lang.yml").getPath());
System.out.println("SubServers > Updated ~/SubServers/lang.yml");
@ -159,6 +163,7 @@ public final class SubPlugin extends BungeeCord {
hostDrivers.put("built-in", net.ME1312.SubServers.Bungee.Host.Internal.InternalHost.class);
hostDrivers.put("network", net.ME1312.SubServers.Bungee.Host.External.ExternalHost.class);
getPluginManager().registerListener(null, this);
getPluginManager().registerCommand(null, new SubCommand.BungeeServer(this, "server"));
getPluginManager().registerCommand(null, new SubCommand.BungeeList(this, "glist"));
getPluginManager().registerCommand(null, new SubCommand(this, "subservers"));
@ -367,4 +372,12 @@ public final class SubPlugin extends BungeeCord {
super.stopListeners();
}
@EventHandler
public void resetSudo(SubStoppedEvent e) {
if (sudo == e.getServer()) {
sudo = null;
System.out.println("SubServers > Reverting to the BungeeCord Console");
}
}
}

View File

@ -205,6 +205,39 @@ public final class SubCommand implements CommandExecutor {
sender.sendMessage(new String[]{plugin.lang.getSection("Lang").getColoredString("Command.List.Host-Header", '&'), hostm, plugin.lang.getSection("Lang").getColoredString("Command.List.Server-Header", '&'), serverm});
}
}));
} else if (args[0].equalsIgnoreCase("info") || args[0].equalsIgnoreCase("status")) {
if (args.length > 1) {
plugin.subdata.sendPacket(new PacketDownloadServerInfo(args[1].toLowerCase(), json -> {
switch (json.getString("type").toLowerCase()) {
case "invalid":
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Info.Unknown", '&'));
break;
case "subserver":
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Info", '&').replace("$str$", json.getJSONObject("server").getString("display")));
if (!json.getJSONObject("server").getString("name").equals(json.getJSONObject("server").getString("display")))
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Real Name") + ChatColor.AQUA + json.getJSONObject("server").getString("name"));
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Host") + ChatColor.AQUA + json.getJSONObject("server").getString("host"));
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Enabled") + ((json.getJSONObject("server").getBoolean("enabled"))?ChatColor.GREEN+"yes":ChatColor.DARK_RED+"no"));
if (json.getJSONObject("server").getBoolean("temp")) sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Temporary") + ChatColor.GREEN+"yes");
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Running") + ((json.getJSONObject("server").getBoolean("running"))?ChatColor.GREEN+"yes":ChatColor.DARK_RED+"no"));
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Logging") + ((json.getJSONObject("server").getBoolean("log"))?ChatColor.GREEN+"yes":ChatColor.DARK_RED+"no"));
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Auto Restart") + ((json.getJSONObject("server").getBoolean("auto-restart"))?ChatColor.GREEN+"yes":ChatColor.DARK_RED+"no"));
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Hidden") + ((json.getJSONObject("server").getBoolean("hidden"))?ChatColor.GREEN+"yes":ChatColor.DARK_RED+"no"));
if (json.getJSONObject("server").getJSONArray("incompatible-list").length() > 0) {
List<String> current = new ArrayList<String>();
for (int i = 0; i < json.getJSONObject("server").getJSONArray("incompatible").length(); i++) current.add(json.getJSONObject("server").getJSONArray("incompatible").getString(i).toLowerCase());
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.Format", '&').replace("$str$", "Incompatibilities"));
for (int i = 0; i < json.getJSONObject("server").getJSONArray("incompatible-list").length(); i++)
sender.sendMessage(" " + plugin.lang.getSection("Lang").getColoredString("Command.Info.List", '&').replace("$str$", ((current.contains(json.getJSONObject("server").getJSONArray("incompatible-list").getString(i).toLowerCase()))?ChatColor.DARK_RED:ChatColor.RED) + json.getJSONObject("server").getJSONArray("incompatible-list").getString(i)));
}
break;
default:
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Start.Invalid", '&'));
}
}));
} else {
sender.sendMessage(plugin.lang.getSection("Lang").getColoredString("Command.Generic.Usage", '&').replace("$str$", label.toLowerCase() + " " + args[0].toLowerCase() + " <SubServer>"));
}
} else if (args[0].equalsIgnoreCase("start")) {
if (sender.hasPermission("subservers.subserver.start.*") || sender.hasPermission("subservers.subserver.start." + args[1].toLowerCase())) {
if (args.length > 1) {
@ -514,6 +547,7 @@ public final class SubCommand implements CommandExecutor {
plugin.lang.getSection("Lang").getColoredString("Command.Help.Help", '&').replace("$str$", label.toLowerCase() + " help"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.List", '&').replace("$str$", label.toLowerCase() + " list"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.Version", '&').replace("$str$", label.toLowerCase() + " version"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.Info", '&').replace("$str$", label.toLowerCase() + " info <SubServer>"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.SubServer.Start", '&').replace("$str$", label.toLowerCase() + " start <SubServer>"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.SubServer.Stop", '&').replace("$str$", label.toLowerCase() + " stop <SubServer>"),
plugin.lang.getSection("Lang").getColoredString("Command.Help.SubServer.Terminate", '&').replace("$str$", label.toLowerCase() + " kill <SubServer>"),

View File

@ -1,6 +1,6 @@
name: 'SubServers-Client-Bukkit'
main: 'net.ME1312.SubServers.Client.Bukkit.SubPlugin'
version: '2.12c'
version: '2.12.1a'
authors: [ME1312]
softdepend: [Vault, TitleManager]
website: 'http://www.ME1312.net/'

View File

@ -47,8 +47,8 @@ public final class ExHost {
public YAMLSection lang = null;
public SubDataClient subdata = null;
public final Version version = new Version("2.12e");
public final Version bversion = new Version(1);
public final Version version = new Version("2.12.1a");
public final Version bversion = null;
public final SubAPI api = new SubAPI(this);
private boolean running;

View File

@ -78,7 +78,7 @@ public class SubLogger {
// REGEX Formatting
String type = "";
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg);
Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARNING|WARN|ERROR|ERR|SEVERE)\\]?:?(?:\\s*>)?\\s*)").matcher(msg.replaceAll("\u001B\\[[;\\d]*m", ""));
while (matcher.find()) {
type = matcher.group(3).toUpperCase();
}

View File

@ -11,7 +11,10 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import javax.xml.parsers.DocumentBuilderFactory;
import jline.TerminalFactory;
import jline.console.ConsoleReader;
import jline.console.CursorBuffer;
import org.fusesource.jansi.AnsiConsole;
import org.w3c.dom.NodeList;
/**
@ -84,31 +87,59 @@ public final class Launch {
}
private static void syncConsole(final Process process) throws Exception {
AnsiConsole.systemInstall();
ConsoleReader console = new ConsoleReader();
console.setExpandEvents(false);
try {
String line;
new Thread(() -> {
try {
String line1;
ConsoleReader console = new ConsoleReader();
String line;
BufferedWriter cmd = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
while (process.isAlive() && (line1 = console.readLine()) != null) {
if (line1.equals("")) continue;
cmd.write(line1);
while (process.isAlive() && (line = console.readLine(">")) != null) {
if (line.equals("")) continue;
cmd.write(line);
cmd.newLine();
cmd.flush();
}
}
catch (Exception e) {
} catch (Exception e) {
e.printStackTrace();
}
}).start();
new Thread(() -> {
try {
String line;
BufferedReader obr = new BufferedReader(new InputStreamReader(process.getErrorStream()));
while (process.isAlive() && (line = obr.readLine()) != null) {
stashLine(console);
if (System.getProperty("subservers.host.log.color", "true").equalsIgnoreCase("true")) {
console.println(ConsoleColor.parseColor(line) + ConsoleColor.RESET);
} else {
console.println(ConsoleColor.stripColor(line.replaceAll("\u001B\\[[;\\d]*m", "")));
}
unstashLine(console);
console.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
}).start();
String line;
BufferedReader obr = new BufferedReader(new InputStreamReader(process.getInputStream()));
while (process.isAlive() && (line = obr.readLine()) != null) {
System.out.println(line);
stashLine(console);
if (System.getProperty("subservers.host.log.color", "true").equalsIgnoreCase("true")) {
console.println(ConsoleColor.parseColor(line) + ConsoleColor.RESET);
} else {
console.println(ConsoleColor.stripColor(line.replaceAll("\u001B\\[[;\\d]*m", "")));
}
unstashLine(console);
console.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
AnsiConsole.systemUninstall();
System.out.println();
}
private static void extractJar(File jarFile, File dir) throws Exception {
@ -210,4 +241,84 @@ public final class Launch {
}
return extension;
}
private static CursorBuffer stashed;
private static void stashLine(ConsoleReader console) {
stashed = console.getCursorBuffer().copy();
try {
console.getOutput().write("\u001b[1G\u001b[K");
console.flush();
} catch (IOException e) {
// ignore
}
}
private static void unstashLine(ConsoleReader console) {
try {
console.resetPromptLine(console.getPrompt(),
stashed.toString(), stashed.cursor);
} catch (IOException e) {
// ignore
}
}
private enum ConsoleColor {
AQUA('b', "[0;36;1m"),
BLACK('0', "[0;30;22m"),
BLUE('9', "[0;34;1m"),
BOLD('l', "[21m"),
DARK_AQUA('3', "[0;36;22m"),
DARK_BLUE('1', "[0;34;22m"),
DARK_GRAY('8', "[0;30;1m"),
DARK_GREEN('2', "[0;32;22m"),
DARK_PURPLE('5', "[0;35;22m"),
DARK_RED('4', "[0;31;22m"),
GOLD('6', "[0;33;22m"),
GRAY('7', "[0;37;22m"),
GREEN('a', "[0;32;1m"),
ITALIC('o', "[3m"),
LIGHT_PURPLE('d', "[0;35;1m"),
MAGIC('k', "[5m"),
RED('c', "[0;31;1m"),
RESET('r', "[m"),
STRIKETHROUGH('m', "[9m"),
UNDERLINE('n', "[4m"),
WHITE('f', "[0;37;1m"),
YELLOW('e', "[0;33;1m");
private final Character color;
private final String value;
ConsoleColor(Character color, String value) {
this.color = color;
this.value = value;
}
@Override
public String toString() {
return getConsoleString();
}
public String getValue() {
return "\u00A7" + color;
}
public String getConsoleString() {
return "\u001B" + value;
}
public static String parseColor(String str) {
for (ConsoleColor color : Arrays.asList(ConsoleColor.values())) {
str = str.replace(color.getValue(), color.getConsoleString());
}
return str;
}
public static String stripColor(String str) {
for (ConsoleColor color : Arrays.asList(ConsoleColor.values())) {
str = str.replace(color.getValue(), "");
}
return str;
}
}
}

View File

@ -0,0 +1,59 @@
package net.ME1312.SubServers.Host.Library;
import java.util.Arrays;
public enum TextColor {
AQUA('b'),
BLACK('0'),
BLUE('9'),
BOLD('l'),
DARK_AQUA('3'),
DARK_BLUE('1'),
DARK_GRAY('8'),
DARK_GREEN('2'),
DARK_PURPLE('5'),
DARK_RED('4'),
GOLD('6'),
GRAY('7'),
GREEN('a'),
ITALIC('o'),
LIGHT_PURPLE('d'),
MAGIC('k'),
RED('c'),
RESET('r'),
STRIKETHROUGH('m'),
UNDERLINE('n'),
WHITE('f'),
YELLOW('e');
private final Character value;
TextColor(Character value) {
this.value = value;
}
@Override
public String toString() {
return getValue();
}
public String getValue() {
return "\u00A7" + value;
}
public static char getColorChar() {
return '\u00A7';
}
public static String parseColor(char character, String str) {
str = str.replace(character, '\u00A7');
return str;
}
public static String stripColor(String str) {
for (TextColor color : Arrays.asList(TextColor.values())) {
str = str.replace(color.getValue(), "");
}
return str;
}
}

View File

@ -67,6 +67,51 @@ public class SubCommand {
"Example:",
" /list"
).register("list");
new Command(null) {
@Override
public void command(String handle, String[] args) {
if (args.length > 0) {
host.subdata.sendPacket(new PacketDownloadServerInfo(args[0].toLowerCase(), json -> {
switch (json.getString("type").toLowerCase()) {
case "invalid":
host.log.message.println("There is no server with that name");
break;
case "subserver":
host.log.message.println("Info on " + json.getJSONObject("server").getString("display") + ':');
if (!json.getJSONObject("server").getString("name").equals(json.getJSONObject("server").getString("display"))) host.log.message.println(" - Real Name: " + json.getJSONObject("server").getString("name"));
host.log.message.println(" - Host: " + json.getJSONObject("server").getString("host"));
host.log.message.println(" - Enabled: " + ((json.getJSONObject("server").getBoolean("enabled"))?"yes":"no"));
if (json.getJSONObject("server").getBoolean("temp")) host.log.message.println(" - Temporary: yes");
host.log.message.println(" - Running: " + ((json.getJSONObject("server").getBoolean("running"))?"yes":"no"));
host.log.message.println(" - Logging: " + ((json.getJSONObject("server").getBoolean("log"))?"yes":"no"));
host.log.message.println(" - Auto Restart: " + ((json.getJSONObject("server").getBoolean("auto-restart"))?"yes":"no"));
host.log.message.println(" - Hidden: " + ((json.getJSONObject("server").getBoolean("hidden"))?"yes":"no"));
if (json.getJSONObject("server").getJSONArray("incompatible-list").length() > 0) {
List<String> current = new ArrayList<String>();
for (int i = 0; i < json.getJSONObject("server").getJSONArray("incompatible").length(); i++) current.add(json.getJSONObject("server").getJSONArray("incompatible").getString(i).toLowerCase());
host.log.message.println(" - Incompatibilities:");
for (int i = 0; i < json.getJSONObject("server").getJSONArray("incompatible-list").length(); i++)
host.log.message.println(" - " + json.getJSONObject("server").getJSONArray("incompatible-list").getString(i) + ((current.contains(json.getJSONObject("server").getJSONArray("incompatible-list").getString(i).toLowerCase()))?"*":""));
}
break;
default:
host.log.message.println("That Server is not a SubServer");
}
}));
} else {
host.log.message.println("Usage: " + handle + " <SubServer>");
}
}
}.description("Gets information about a SubServer").help(
"This command will print a list of information about",
"the specified SubServer.",
"",
"The <SubServer> argument is required, and should be the name of",
"the SubServer you want to obtain information about.",
"",
"Example:",
" /info ExampleServer"
).register("info", "status");
new Command(null) {
@Override
public void command(String handle, String[] args) {