Changes to the Plugin Loader

This commit is contained in:
ME1312 2017-01-30 19:33:30 -05:00
parent df837bf1cb
commit b7a8fbc8b5
31 changed files with 534 additions and 132 deletions

Binary file not shown.

View File

@ -15,6 +15,7 @@
<li><a href="net/ME1312/SubServers/Host/API/Command.html" title="interface in net.ME1312.SubServers.Host.API" target="classFrame"><span class="interfaceName">Command</span></a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">CommandPreProcessEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Container.html" title="class in net.ME1312.SubServers.Host.Library" target="classFrame">Container</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event" target="classFrame">Event</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event" target="classFrame">EventHandler</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event" target="classFrame">EventPriority</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/ExtraDataHandler.html" title="interface in net.ME1312.SubServers.Host.Library" target="classFrame"><span class="interfaceName">ExtraDataHandler</span></a></li>
@ -34,8 +35,8 @@
<li><a href="net/ME1312/SubServers/Host/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Host.Network" target="classFrame"><span class="interfaceName">PacketOut</span></a></li>
<li><a href="net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host" target="classFrame">SubAPI</a></li>
<li><a href="net/ME1312/SubServers/Host/Network/SubDataClient.html" title="class in net.ME1312.SubServers.Host.Network" target="classFrame">SubDataClient</a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">SubDisableEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">SubEnableEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event" target="classFrame">SubEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubPlugin.html" title="annotation in net.ME1312.SubServers.Host.API" target="classFrame">SubPlugin</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API" target="classFrame">SubPluginInfo</a></li>
<li><a href="net/ME1312/SubServers/Host/SubServers.html" title="class in net.ME1312.SubServers.Host" target="classFrame">SubServers</a></li>

View File

@ -15,6 +15,7 @@
<li><a href="net/ME1312/SubServers/Host/API/Command.html" title="interface in net.ME1312.SubServers.Host.API"><span class="interfaceName">Command</span></a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">CommandPreProcessEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Container.html" title="class in net.ME1312.SubServers.Host.Library">Container</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event">EventHandler</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event">EventPriority</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/ExtraDataHandler.html" title="interface in net.ME1312.SubServers.Host.Library"><span class="interfaceName">ExtraDataHandler</span></a></li>
@ -34,8 +35,8 @@
<li><a href="net/ME1312/SubServers/Host/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Host.Network"><span class="interfaceName">PacketOut</span></a></li>
<li><a href="net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host">SubAPI</a></li>
<li><a href="net/ME1312/SubServers/Host/Network/SubDataClient.html" title="class in net.ME1312.SubServers.Host.Network">SubDataClient</a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubEnableEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubPlugin.html" title="annotation in net.ME1312.SubServers.Host.API">SubPlugin</a></li>
<li><a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API">SubPluginInfo</a></li>
<li><a href="net/ME1312/SubServers/Host/SubServers.html" title="class in net.ME1312.SubServers.Host">SubServers</a></li>

View File

@ -280,6 +280,12 @@
<dd>
<div class="block">Log an exception on the ERROR Level</div>
</dd>
<dt><a href="net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Event</span></a> - Class in <a href="net/ME1312/SubServers/Host/Library/Event/package-summary.html">net.ME1312.SubServers.Host.Library.Event</a></dt>
<dd>
<div class="block">SubEvent Layout Class</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/Event.html#Event--">Event()</a></span> - Constructor for 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><a href="net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">EventHandler</span></a> - Annotation Type in <a href="net/ME1312/SubServers/Host/Library/Event/package-summary.html">net.ME1312.SubServers.Host.Library.Event</a></dt>
<dd>
<div class="block">EventHandler Method Annotation<br>
@ -348,7 +354,7 @@
<dd>
<div class="block">Grabs the Object</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getAPI--">getAPI()</a></span> - Method in class net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></dt>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/Event.html#getAPI--">getAPI()</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>
<div class="block">Gets SubAPI</div>
</dd>
@ -422,6 +428,10 @@
<dd>
<div class="block">Get a Double List by Handle</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html#getExitCode--">getExitCode()</a></span> - Method in class net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a></dt>
<dd>
<div class="block">Get the Exit Code</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html#getExtra-java.lang.String-">getExtra(String)</a></span> - Method in class net.ME1312.SubServers.Host.API.<a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API">SubPluginInfo</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html#getExtra--">getExtra()</a></span> - Method in class net.ME1312.SubServers.Host.API.<a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API">SubPluginInfo</a></dt>
@ -554,7 +564,7 @@
<dd>
<div class="block">Get the Plugin that created this task</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getPlugin--">getPlugin()</a></span> - Method in class net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></dt>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/Event.html#getPlugin--">getPlugin()</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>
<div class="block">Gets your Plugin's Info</div>
</dd>
@ -1014,7 +1024,7 @@
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Util.ExceptionRunnable.html#run--">run()</a></span> - Method in interface net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/Util.ExceptionRunnable.html" title="interface in net.ME1312.SubServers.Host.Library">Util.ExceptionRunnable</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/SubAPI.html#runEvent-net.ME1312.SubServers.Host.Library.Event.SubEvent-">runEvent(SubEvent)</a></span> - Method in class net.ME1312.SubServers.Host.<a href="net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host">SubAPI</a></dt>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/SubAPI.html#runEvent-net.ME1312.SubServers.Host.Library.Event.Event-">runEvent(Event)</a></span> - Method in class net.ME1312.SubServers.Host.<a href="net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host">SubAPI</a></dt>
<dd>
<div class="block">Run a SubEvent</div>
</dd>
@ -1086,6 +1096,10 @@
<dd>
<div class="block">Gets if the Plugin is Enabled</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html#setExitCode-int-">setExitCode(int)</a></span> - Method in class net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a></dt>
<dd>
<div class="block">Set the Exit Code</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Log/Logger.html#setup-java.io.PrintStream-java.io.PrintStream-java.io.File-">setup(PrintStream, PrintStream, File)</a></span> - Static method in class net.ME1312.SubServers.Host.Library.Log.<a href="net/ME1312/SubServers/Host/Library/Log/Logger.html" title="class in net.ME1312.SubServers.Host.Library.Log">Logger</a></dt>
<dd>
<div class="block">Setup the SubServers Logger</div>
@ -1106,6 +1120,14 @@
<dd>
<div class="block">SubServers Client Instance</div>
</dd>
<dt><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubDisableEvent</span></a> - Class in <a href="net/ME1312/SubServers/Host/API/Event/package-summary.html">net.ME1312.SubServers.Host.API.Event</a></dt>
<dd>
<div class="block">SubServers.Host Disable Event Class</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html#SubDisableEvent-net.ME1312.SubServers.Host.SubServers-int-">SubDisableEvent(SubServers, int)</a></span> - Constructor for class net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a></dt>
<dd>
<div class="block">SubServers.Host Disable Event</div>
</dd>
<dt><a href="net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubEnableEvent</span></a> - Class in <a href="net/ME1312/SubServers/Host/API/Event/package-summary.html">net.ME1312.SubServers.Host.API.Event</a></dt>
<dd>
<div class="block">SubServers.Host Enable Event Class</div>
@ -1114,12 +1136,6 @@
<dd>
<div class="block">SubServers.Host Enable Event</div>
</dd>
<dt><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">SubEvent</span></a> - Class in <a href="net/ME1312/SubServers/Host/Library/Event/package-summary.html">net.ME1312.SubServers.Host.Library.Event</a></dt>
<dd>
<div class="block">SubEvent Layout Class</div>
</dd>
<dt><span class="memberNameLink"><a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html#SubEvent--">SubEvent()</a></span> - Constructor for class net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></dt>
<dd>&nbsp;</dd>
<dt><a href="net/ME1312/SubServers/Host/API/SubPlugin.html" title="annotation in net.ME1312.SubServers.Host.API"><span class="typeNameLink">SubPlugin</span></a> - Annotation Type in <a href="net/ME1312/SubServers/Host/API/package-summary.html">net.ME1312.SubServers.Host.API</a></dt>
<dd>
<div class="block">SubPlugin Class Annotation<br>

View File

@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" target="_top">Frames</a></li>
@ -98,7 +98,7 @@ var activeTableTab = "activeTableTab";
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">net.ME1312.SubServers.Host.Library.Event.SubEvent</a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">net.ME1312.SubServers.Host.Library.Event.Event</a></li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Host.API.Event.CommandPreProcessEvent</li>
@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
<hr>
<br>
<pre>public class <span class="typeNameLabel">CommandPreProcessEvent</span>
extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a>
extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a>
implements <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event">Cancellable</a></pre>
<div class="block">Command Pre-Process Event</div>
</li>
@ -174,11 +174,11 @@ implements <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/C
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.SubEvent">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.Event">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;net.ME1312.SubServers.Host.Library.Event.<a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getAPI--">getAPI</a>, <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getPlugin--">getPlugin</a></code></li>
<h3>Methods inherited from class&nbsp;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></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getAPI--">getAPI</a>, <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getPlugin--">getPlugin</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@ -288,7 +288,7 @@ implements <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/C
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" target="_top">Frames</a></li>

View File

@ -0,0 +1,318 @@
<!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>SubDisableEvent (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="SubDisableEvent (SubServers.Host)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10};
var tabs = {65535:["t0","All 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/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" target="_top">Frames</a></li>
<li><a href="SubDisableEvent.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.Host.API.Event</div>
<h2 title="Class SubDisableEvent" class="title">Class SubDisableEvent</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">net.ME1312.SubServers.Host.Library.Event.Event</a></li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Host.API.Event.SubDisableEvent</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public class <span class="typeNameLabel">SubDisableEvent</span>
extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a></pre>
<div class="block">SubServers.Host Disable Event 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/Host/API/Event/SubDisableEvent.html#SubDisableEvent-net.ME1312.SubServers.Host.SubServers-int-">SubDisableEvent</a></span>(<a href="../../../../../../net/ME1312/SubServers/Host/SubServers.html" title="class in net.ME1312.SubServers.Host">SubServers</a>&nbsp;plugin,
int&nbsp;exit)</code>
<div class="block">SubServers.Host Disable Event</div>
</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="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>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html#getExitCode--">getExitCode</a></span>()</code>
<div class="block">Get the Exit Code</div>
</td>
</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/Host/API/Event/SubDisableEvent.html#setExitCode-int-">setExitCode</a></span>(int&nbsp;value)</code>
<div class="block">Set the Exit Code</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.Event">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;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></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getAPI--">getAPI</a>, <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getPlugin--">getPlugin</a></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>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="SubDisableEvent-net.ME1312.SubServers.Host.SubServers-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SubDisableEvent</h4>
<pre>public&nbsp;SubDisableEvent(<a href="../../../../../../net/ME1312/SubServers/Host/SubServers.html" title="class in net.ME1312.SubServers.Host">SubServers</a>&nbsp;plugin,
int&nbsp;exit)</pre>
<div class="block">SubServers.Host Disable Event</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>plugin</code> - SubServers.Host</dd>
<dd><code>exit</code> - Exit Code</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getExitCode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getExitCode</h4>
<pre>public&nbsp;int&nbsp;getExitCode()</pre>
<div class="block">Get the Exit Code</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Exit Code</dd>
</dl>
</li>
</ul>
<a name="setExitCode-int-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setExitCode</h4>
<pre>public&nbsp;void&nbsp;setExitCode(int&nbsp;value)</pre>
<div class="block">Set the Exit Code</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - Value</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/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" target="_top">Frames</a></li>
<li><a href="SubDisableEvent.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

@ -41,7 +41,7 @@
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
@ -69,7 +69,7 @@
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.SubEvent">Method</a></li>
<li><a href="#methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.Event">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
@ -92,7 +92,7 @@
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">net.ME1312.SubServers.Host.Library.Event.SubEvent</a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">net.ME1312.SubServers.Host.Library.Event.Event</a></li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Host.API.Event.SubEnableEvent</li>
@ -107,7 +107,7 @@
<hr>
<br>
<pre>public class <span class="typeNameLabel">SubEnableEvent</span>
extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></pre>
extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a></pre>
<div class="block">SubServers.Host Enable Event Class</div>
</li>
</ul>
@ -141,11 +141,11 @@ extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubE
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.SubEvent">
<li class="blockList"><a name="methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.Event">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;net.ME1312.SubServers.Host.Library.Event.<a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getAPI--">getAPI</a>, <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getPlugin--">getPlugin</a></code></li>
<h3>Methods inherited from class&nbsp;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></h3>
<code><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getAPI--">getAPI</a>, <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getPlugin--">getPlugin</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
@ -209,7 +209,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubE
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
@ -237,7 +237,7 @@ extends <a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubE
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.SubEvent">Method</a></li>
<li><a href="#methods.inherited.from.class.net.ME1312.SubServers.Host.Library.Event.Event">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>

View File

@ -13,6 +13,7 @@
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">CommandPreProcessEvent</a></li>
<li><a href="SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">SubDisableEvent</a></li>
<li><a href="SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event" target="classFrame">SubEnableEvent</a></li>
</ul>
</div>

View File

@ -87,6 +87,12 @@
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a></td>
<td class="colLast">
<div class="block">SubServers.Host Disable Event Class</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubEnableEvent</a></td>
<td class="colLast">
<div class="block">SubServers.Host Enable Event Class</div>

View File

@ -79,9 +79,10 @@
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">net.ME1312.SubServers.Host.Library.Event.<a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">SubEvent</span></a>
<li type="circle">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"><span class="typeNameLink">Event</span></a>
<ul>
<li type="circle">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"><span class="typeNameLink">CommandPreProcessEvent</span></a> (implements net.ME1312.SubServers.Host.Library.Event.<a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event">Cancellable</a>)</li>
<li type="circle">net.ME1312.SubServers.Host.API.Event.<a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubDisableEvent</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.API.Event.<a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubEnableEvent</span></a></li>
</ul>
</li>

View File

@ -213,6 +213,7 @@ public @interface <span class="memberNameLabel">SubPlugin</span></pre>
<div class="block">The Version of this Plugin</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Plugin Version</dd>
</dl>
</li>
</ul>

View File

@ -111,7 +111,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
<pre>public final class <span class="typeNameLabel">SubPluginInfo</span>
<pre>public class <span class="typeNameLabel">SubPluginInfo</span>
extends java.lang.Object
implements <a href="../../../../../net/ME1312/SubServers/Host/Library/ExtraDataHandler.html" title="interface in net.ME1312.SubServers.Host.Library">ExtraDataHandler</a></pre>
<div class="block">SubPlugin Info Class</div>
@ -143,8 +143,8 @@ implements <a href="../../../../../net/ME1312/SubServers/Host/Library/ExtraDataH
java.util.List&lt;java.lang.String&gt;&nbsp;authors,
java.lang.String&nbsp;description,
java.net.URL&nbsp;website,
java.util.List&lt;java.lang.String&gt;&nbsp;softDependencies,
java.util.List&lt;java.lang.String&gt;&nbsp;dependencies)</code>
java.util.List&lt;java.lang.String&gt;&nbsp;dependencies,
java.util.List&lt;java.lang.String&gt;&nbsp;softDependencies)</code>
<div class="block">Create a SubPlugin Description</div>
</td>
</tr>
@ -298,8 +298,8 @@ implements <a href="../../../../../net/ME1312/SubServers/Host/Library/ExtraDataH
java.util.List&lt;java.lang.String&gt;&nbsp;authors,
java.lang.String&nbsp;description,
java.net.URL&nbsp;website,
java.util.List&lt;java.lang.String&gt;&nbsp;softDependencies,
java.util.List&lt;java.lang.String&gt;&nbsp;dependencies)</pre>
java.util.List&lt;java.lang.String&gt;&nbsp;dependencies,
java.util.List&lt;java.lang.String&gt;&nbsp;softDependencies)</pre>
<div class="block">Create a SubPlugin Description</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>

View File

@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Cancellable.html" target="_top">Frames</a></li>
@ -206,7 +206,7 @@ var activeTableTab = "activeTableTab";
<div class="subNav">
<ul class="navList">
<li>Prev&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Cancellable.html" target="_top">Frames</a></li>

View File

@ -3,7 +3,7 @@
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>SubEvent (SubServers.Host)</title>
<title>Event (SubServers.Host)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
@ -11,7 +11,7 @@
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SubEvent (SubServers.Host)";
parent.document.title="Event (SubServers.Host)";
}
}
catch(err) {
@ -47,12 +47,12 @@ var activeTableTab = "activeTableTab";
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Listener.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/SubEvent.html" target="_top">Frames</a></li>
<li><a href="SubEvent.html" target="_top">No&nbsp;Frames</a></li>
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Event.html" target="_top">Frames</a></li>
<li><a href="Event.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>
@ -91,14 +91,14 @@ var activeTableTab = "activeTableTab";
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">net.ME1312.SubServers.Host.Library.Event</div>
<h2 title="Class SubEvent" class="title">Class SubEvent</h2>
<h2 title="Class Event" class="title">Class Event</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>net.ME1312.SubServers.Host.Library.Event.SubEvent</li>
<li>net.ME1312.SubServers.Host.Library.Event.Event</li>
</ul>
</li>
</ul>
@ -107,11 +107,11 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">CommandPreProcessEvent</a>, <a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubEnableEvent</a></dd>
<dd><a href="../../../../../../net/ME1312/SubServers/Host/API/Event/CommandPreProcessEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">CommandPreProcessEvent</a>, <a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubDisableEvent</a>, <a href="../../../../../../net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event">SubEnableEvent</a></dd>
</dl>
<hr>
<br>
<pre>public abstract class <span class="typeNameLabel">SubEvent</span>
<pre>public abstract class <span class="typeNameLabel">Event</span>
extends java.lang.Object</pre>
<div class="block">SubEvent Layout Class</div>
</li>
@ -132,7 +132,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/Host/Library/Event/SubEvent.html#SubEvent--">SubEvent</a></span>()</code>&nbsp;</td>
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#Event--">Event</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
@ -151,13 +151,13 @@ extends java.lang.Object</pre>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../../../../../../net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host">SubAPI</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getAPI--">getAPI</a></span>()</code>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getAPI--">getAPI</a></span>()</code>
<div class="block">Gets SubAPI</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API">SubPluginInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html#getPlugin--">getPlugin</a></span>()</code>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html#getPlugin--">getPlugin</a></span>()</code>
<div class="block">Gets your Plugin's Info</div>
</td>
</tr>
@ -183,13 +183,13 @@ extends java.lang.Object</pre>
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SubEvent--">
<a name="Event--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SubEvent</h4>
<pre>public&nbsp;SubEvent()</pre>
<h4>Event</h4>
<pre>public&nbsp;Event()</pre>
</li>
</ul>
</li>
@ -255,12 +255,12 @@ extends java.lang.Object</pre>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Listener.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventHandler.html" title="annotation in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/SubEvent.html" target="_top">Frames</a></li>
<li><a href="SubEvent.html" target="_top">No&nbsp;Frames</a></li>
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Event.html" target="_top">Frames</a></li>
<li><a href="Event.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>

View File

@ -41,7 +41,7 @@
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
@ -211,7 +211,7 @@ public @interface <span class="memberNameLabel">EventHandler</span></pre>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">

View File

@ -42,7 +42,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Listener.html" target="_top">Frames</a></li>
@ -121,7 +121,7 @@
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/EventPriority.html" title="enum in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?net/ME1312/SubServers/Host/Library/Event/Listener.html" target="_top">Frames</a></li>

View File

@ -17,7 +17,7 @@
</ul>
<h2 title="Classes">Classes</h2>
<ul title="Classes">
<li><a href="SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event" target="classFrame">SubEvent</a></li>
<li><a href="Event.html" title="class in net.ME1312.SubServers.Host.Library.Event" target="classFrame">Event</a></li>
</ul>
<h2 title="Enums">Enums</h2>
<ul title="Enums">

View File

@ -104,7 +104,7 @@
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a></td>
<td class="colFirst"><a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a></td>
<td class="colLast">
<div class="block">SubEvent Layout Class</div>
</td>

View File

@ -79,7 +79,7 @@
<ul>
<li type="circle">java.lang.Object
<ul>
<li type="circle">net.ME1312.SubServers.Host.Library.Event.<a href="../../../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">SubEvent</span></a></li>
<li type="circle">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"><span class="typeNameLink">Event</span></a></li>
</ul>
</li>
</ul>

View File

@ -225,7 +225,7 @@ extends java.lang.Object</pre>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Host/SubAPI.html#runEvent-net.ME1312.SubServers.Host.Library.Event.SubEvent-">runEvent</a></span>(<a href="../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a>&nbsp;event)</code>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../net/ME1312/SubServers/Host/SubAPI.html#runEvent-net.ME1312.SubServers.Host.Library.Event.Event-">runEvent</a></span>(<a href="../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a>&nbsp;event)</code>
<div class="block">Run a SubEvent</div>
</td>
</tr>
@ -507,13 +507,13 @@ public&nbsp;<a href="../../../../net/ME1312/SubServers/Host/SubServers.html" tit
</dl>
</li>
</ul>
<a name="runEvent-net.ME1312.SubServers.Host.Library.Event.SubEvent-">
<a name="runEvent-net.ME1312.SubServers.Host.Library.Event.Event-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>runEvent</h4>
<pre>public&nbsp;void&nbsp;runEvent(<a href="../../../../net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event">SubEvent</a>&nbsp;event)</pre>
<pre>public&nbsp;void&nbsp;runEvent(<a href="../../../../net/ME1312/SubServers/Host/Library/Event/Event.html" title="class in net.ME1312.SubServers.Host.Library.Event">Event</a>&nbsp;event)</pre>
<div class="block">Run a SubEvent</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>

View File

@ -94,6 +94,13 @@
<li type="circle">net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/NamedContainer.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">NamedContainer</span></a>&lt;T,V&gt;</li>
</ul>
</li>
<li type="circle">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"><span class="typeNameLink">Event</span></a>
<ul>
<li type="circle">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"><span class="typeNameLink">CommandPreProcessEvent</span></a> (implements net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event">Cancellable</a>)</li>
<li type="circle">net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubDisableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubDisableEvent</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubEnableEvent</span></a></li>
</ul>
</li>
<li type="circle">java.io.File (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/UniversalFile.html" title="class in net.ME1312.SubServers.Host.Library"><span class="typeNameLink">UniversalFile</span></a></li>
@ -111,12 +118,6 @@
<li type="circle">net.ME1312.SubServers.Host.Network.Packet.<a href="net/ME1312/SubServers/Host/Network/Packet/PacketDownloadLang.html" title="class in net.ME1312.SubServers.Host.Network.Packet"><span class="typeNameLink">PacketDownloadLang</span></a> (implements net.ME1312.SubServers.Host.Network.<a href="net/ME1312/SubServers/Host/Network/PacketIn.html" title="interface in net.ME1312.SubServers.Host.Network">PacketIn</a>, net.ME1312.SubServers.Host.Network.<a href="net/ME1312/SubServers/Host/Network/PacketOut.html" title="interface in net.ME1312.SubServers.Host.Network">PacketOut</a>)</li>
<li type="circle">net.ME1312.SubServers.Host.<a href="net/ME1312/SubServers/Host/SubAPI.html" title="class in net.ME1312.SubServers.Host"><span class="typeNameLink">SubAPI</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Network.<a href="net/ME1312/SubServers/Host/Network/SubDataClient.html" title="class in net.ME1312.SubServers.Host.Network"><span class="typeNameLink">SubDataClient</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/SubEvent.html" title="class in net.ME1312.SubServers.Host.Library.Event"><span class="typeNameLink">SubEvent</span></a>
<ul>
<li type="circle">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"><span class="typeNameLink">CommandPreProcessEvent</span></a> (implements net.ME1312.SubServers.Host.Library.Event.<a href="net/ME1312/SubServers/Host/Library/Event/Cancellable.html" title="interface in net.ME1312.SubServers.Host.Library.Event">Cancellable</a>)</li>
<li type="circle">net.ME1312.SubServers.Host.API.Event.<a href="net/ME1312/SubServers/Host/API/Event/SubEnableEvent.html" title="class in net.ME1312.SubServers.Host.API.Event"><span class="typeNameLink">SubEnableEvent</span></a></li>
</ul>
</li>
<li type="circle">net.ME1312.SubServers.Host.API.<a href="net/ME1312/SubServers/Host/API/SubPluginInfo.html" title="class in net.ME1312.SubServers.Host.API"><span class="typeNameLink">SubPluginInfo</span></a> (implements net.ME1312.SubServers.Host.Library.<a href="net/ME1312/SubServers/Host/Library/ExtraDataHandler.html" title="interface in net.ME1312.SubServers.Host.Library">ExtraDataHandler</a>)</li>
<li type="circle">net.ME1312.SubServers.Host.<a href="net/ME1312/SubServers/Host/SubServers.html" title="class in net.ME1312.SubServers.Host"><span class="typeNameLink">SubServers</span></a></li>
<li type="circle">net.ME1312.SubServers.Host.API.<a href="net/ME1312/SubServers/Host/API/SubTaskBuilder.html" title="class in net.ME1312.SubServers.Host.API"><span class="typeNameLink">SubTaskBuilder</span></a> (implements java.lang.Runnable)</li>

View File

@ -1,14 +1,14 @@
package net.ME1312.SubServers.Host.API.Event;
import net.ME1312.SubServers.Host.Library.Event.Cancellable;
import net.ME1312.SubServers.Host.Library.Event.SubEvent;
import net.ME1312.SubServers.Host.Library.Event.Event;
import net.ME1312.SubServers.Host.Library.Util;
import net.ME1312.SubServers.Host.SubServers;
/**
* Command Pre-Process Event
*/
public class CommandPreProcessEvent extends SubEvent implements Cancellable {
public class CommandPreProcessEvent extends Event implements Cancellable {
private boolean cancelled = false;
private String command;

View File

@ -0,0 +1,41 @@
package net.ME1312.SubServers.Host.API.Event;
import net.ME1312.SubServers.Host.Library.Event.Event;
import net.ME1312.SubServers.Host.Library.Util;
import net.ME1312.SubServers.Host.SubServers;
/**
* SubServers.Host Disable Event Class
*/
public class SubDisableEvent extends Event {
private int exit;
/**
* SubServers.Host Disable Event
*
* @param plugin SubServers.Host
* @param exit Exit Code
*/
public SubDisableEvent(SubServers plugin, int exit) {
if (Util.isNull(plugin, exit)) throw new NullPointerException();
this.exit = exit;
}
/**
* Get the Exit Code
*
* @return Exit Code
*/
public int getExitCode() {
return exit;
}
/**
* Set the Exit Code
*
* @param value Value
*/
public void setExitCode(int value) {
this.exit = value;
}
}

View File

@ -1,13 +1,13 @@
package net.ME1312.SubServers.Host.API.Event;
import net.ME1312.SubServers.Host.Library.Event.SubEvent;
import net.ME1312.SubServers.Host.Library.Event.Event;
import net.ME1312.SubServers.Host.Library.Util;
import net.ME1312.SubServers.Host.SubServers;
/**
* SubServers.Host Enable Event Class
*/
public class SubEnableEvent extends SubEvent {
public class SubEnableEvent extends Event {
/**
* SubServers.Host Enable Event

View File

@ -22,7 +22,7 @@ public @interface SubPlugin {
/**
* The Version of this Plugin
*
* @return
* @return Plugin Version
*/
String version();

View File

@ -17,7 +17,7 @@ import java.util.*;
*
* @see SubPlugin
*/
public final class SubPluginInfo implements ExtraDataHandler {
public class SubPluginInfo implements ExtraDataHandler {
private Object plugin;
private String name;
private Version version;
@ -43,7 +43,7 @@ public final class SubPluginInfo implements ExtraDataHandler {
* @param softDependencies Soft Dependencies List
* @param dependencies Dependencies List
*/
public SubPluginInfo(Object plugin, String name, Version version, List<String> authors, String description, URL website, List<String> softDependencies, List<String> dependencies) {
public SubPluginInfo(Object plugin, String name, Version version, List<String> authors, String description, URL website, List<String> dependencies, List<String> softDependencies) {
if (Util.isNull(plugin, name, version, authors)) throw new NullPointerException();
if (authors.size() == 0) throw new ArrayIndexOutOfBoundsException("Authors list cannot be empty");
this.plugin = plugin;

View File

@ -12,7 +12,7 @@ import java.util.zip.ZipInputStream;
import javax.xml.parsers.DocumentBuilderFactory;
import jline.console.ConsoleReader;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
/**
* SubServers.Host Launcher Class
@ -37,26 +37,24 @@ public final class Launch {
System.out.println(">> Extracted ~/" + getCodeSourceLocation().getName());
if (pldir.isDirectory() && pldir.listFiles().length > 0) {
for (File mod : Arrays.asList(pldir.listFiles())) {
int i;
if (getFileExtension(mod.getName()).equalsIgnoreCase("zip")) {
extractZip(mod, tmpdir);
System.out.println(">> Extracted ~/plugins/" + mod.getName());
} else if (getFileExtension(mod.getName()).equalsIgnoreCase("jar")) {
extractJar(mod, tmpdir);
System.out.println(">> Extracted ~/plugins/" + mod.getName());
}
if (new File(tmpdir, "package.xml").exists()) {
Document xml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(tmpdir, "package.xml"));
if (xml.getElementsByTagName("class").getLength() > 0) {
for (i = 0; i < xml.getElementsByTagName("class").getLength(); ++i) {
String modClass = xml.getElementsByTagName("class").item(i).getTextContent();
mods = mods + (mods.equals("") ? "" : " ") + modClass;
NodeList node = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(tmpdir, "package.xml")).getElementsByTagName("class");
if (node.getLength() > 0) {
for (int i = 0; i < node.getLength(); i++) {
mods += (mods.equals("")?"":" ") + node.item(i).getTextContent();
}
}
new File(tmpdir, "package.xml").delete();
}
System.out.println(">> Extracted ~/plugins/" + mod.getName());
}
}
ArrayList<String> arguments = new ArrayList<String>();
String javaPath = String.valueOf(System.getProperty("java.home")) + File.separator + "bin" + File.separator + "java";
arguments.add(javaPath);

View File

@ -6,7 +6,7 @@ import net.ME1312.SubServers.Host.SubAPI;
/**
* SubEvent Layout Class
*/
public abstract class SubEvent {
public abstract class Event {
private SubPluginInfo plugin = null;
/**

View File

@ -250,9 +250,9 @@ public final class SubDataClient {
final Socket socket = this.socket;
this.socket = null;
if (!socket.isClosed()) socket.close();
plugin.log.info("SubServers > The SubData Connection was closed");
plugin.log.info("The SubData Connection was closed");
if (reconnect) {
plugin.log.info("SubServers > Attempting to reconnect in 30 seconds");
plugin.log.info("Attempting to reconnect in 30 seconds");
final Container<Timer> timer = new Container<Timer>(new Timer());
timer.get().schedule(new TimerTask() {
@Override
@ -260,7 +260,7 @@ public final class SubDataClient {
try {
plugin.subdata = new SubDataClient(plugin, name, socket.getInetAddress(), socket.getPort());
} catch (IOException e) {
plugin.log.info("SubServers > Connection was unsuccessful, retrying in 30 seconds");
plugin.log.info("Connection was unsuccessful, retrying in 30 seconds");
timer.set(new Timer());
timer.get().schedule(this, TimeUnit.SECONDS.toMillis(30));
}

View File

@ -18,10 +18,10 @@ import java.util.*;
* SubAPI Class
*/
public final class SubAPI {
final HashMap<EventPriority, HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>> listeners = new HashMap<EventPriority, HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>>();
final HashMap<EventPriority, HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>> listeners = new LinkedHashMap<EventPriority, HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>>();
final HashMap<UUID, Timer> schedule = new HashMap<UUID, Timer>();
final HashMap<String, Command> commands = new HashMap<String, Command>();
final HashMap<String, SubPluginInfo> plugins = new HashMap<String, SubPluginInfo>();
final TreeMap<String, Command> commands = new TreeMap<String, Command>();
final HashMap<String, SubPluginInfo> plugins = new LinkedHashMap<String, SubPluginInfo>();
private SubServers plugin;
private static SubAPI api;
@ -65,7 +65,7 @@ public final class SubAPI {
* @return PluginInfo Map
*/
public Map<String, SubPluginInfo> getPlugins() {
return new HashMap<String, SubPluginInfo>(plugins);
return new LinkedHashMap<String, SubPluginInfo>(plugins);
}
/**
@ -233,27 +233,25 @@ public final class SubAPI {
for (Method method : Arrays.asList(listener.getClass().getMethods())) {
if (!method.isAnnotationPresent(EventHandler.class)) continue;
if (method.getParameterTypes().length == 1) {
if (SubEvent.class.isAssignableFrom(method.getParameterTypes()[0])) {
HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>> events = (listeners.keySet().contains(method.getAnnotation(EventHandler.class).priority()))?listeners.get(method.getAnnotation(EventHandler.class).priority()):new HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>();
HashMap<SubPluginInfo, HashMap<Object, List<Method>>> plugins = (events.keySet().contains((Class<SubEvent>) method.getParameterTypes()[0]))?events.get((Class<SubEvent>) method.getParameterTypes()[0]):new HashMap<SubPluginInfo, HashMap<Object, List<Method>>>();
HashMap<Object, List<Method>> listeners = (plugins.keySet().contains(plugin))?plugins.get(plugin):new HashMap<Object, List<Method>>();
if (Event.class.isAssignableFrom(method.getParameterTypes()[0])) {
HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>> events = (listeners.keySet().contains(method.getAnnotation(EventHandler.class).priority()))?listeners.get(method.getAnnotation(EventHandler.class).priority()):new LinkedHashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>();
HashMap<SubPluginInfo, HashMap<Object, List<Method>>> plugins = (events.keySet().contains((Class<Event>) method.getParameterTypes()[0]))?events.get((Class<Event>) method.getParameterTypes()[0]):new LinkedHashMap<SubPluginInfo, HashMap<Object, List<Method>>>();
HashMap<Object, List<Method>> listeners = (plugins.keySet().contains(plugin))?plugins.get(plugin):new LinkedHashMap<Object, List<Method>>();
List<Method> methods = (listeners.keySet().contains(listener))?listeners.get(listener):new LinkedList<Method>();
methods.add(method);
listeners.put(listener, methods);
plugins.put(plugin, listeners);
events.put((Class<SubEvent>) method.getParameterTypes()[0], plugins);
events.put((Class<Event>) method.getParameterTypes()[0], plugins);
this.listeners.put(method.getAnnotation(EventHandler.class).priority(), events);
} else {
this.plugin.log.error(
"Cannot register EventHandler in class \"" + listener.getClass().getCanonicalName() + "\" using method \"" + method.getName() + "\":",
"\"" + method.getParameterTypes()[0].getCanonicalName() + "\" is not a SubEvent",
"");
"\"" + method.getParameterTypes()[0].getCanonicalName() + "\" is not a SubEvent");
}
} else {
this.plugin.log.error(
"Cannot register EventHandler in class \"" + listener.getClass().getCanonicalName() + "\" using method \"" + method.getName() + "\":",
((method.getParameterTypes().length > 0) ? "Too many" : "No") + " parameters for SubEvent to execute",
"");
((method.getParameterTypes().length > 0) ? "Too many" : "No") + " parameters for SubEvent to execute");
}
}
}
@ -269,11 +267,11 @@ public final class SubAPI {
}
void removeListener(SubPluginInfo plugin, Object listener) {
if (Util.isNull(plugin, listener)) throw new NullPointerException();
HashMap<EventPriority, HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>> map = new HashMap<EventPriority, HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>>(listeners);
HashMap<EventPriority, HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>> map = new LinkedHashMap<EventPriority, HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>>>(listeners);
for (EventPriority priority : map.keySet()) {
for (Class<? extends SubEvent> event : map.get(priority).keySet()) {
for (Class<? extends Event> event : map.get(priority).keySet()) {
if (map.get(priority).get(event).keySet().contains(plugin) && map.get(priority).get(event).get(plugin).keySet().contains(listener)) {
HashMap<Class<? extends SubEvent>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>> events = listeners.get(priority);
HashMap<Class<? extends Event>, HashMap<SubPluginInfo, HashMap<Object, List<Method>>>> events = listeners.get(priority);
HashMap<SubPluginInfo, HashMap<Object, List<Method>>> plugins = listeners.get(priority).get(event);
HashMap<Object, List<Method>> listeners = this.listeners.get(priority).get(event).get(plugin);
listeners.remove(listener);
@ -290,13 +288,13 @@ public final class SubAPI {
*
* @param event SubEvent
*/
public void runEvent(SubEvent event) {
public void runEvent(Event event) {
if (Util.isNull(event)) throw new NullPointerException();
for (EventPriority priority : listeners.keySet()) {
if (!listeners.get(priority).keySet().contains(event.getClass())) continue;
for (SubPluginInfo plugin : listeners.get(priority).get(event.getClass()).keySet()) {
try {
Field pf = SubEvent.class.getDeclaredField("plugin");
Field pf = Event.class.getDeclaredField("plugin");
pf.setAccessible(true);
pf.set(event, plugin);
pf.setAccessible(false);
@ -320,7 +318,7 @@ public final class SubAPI {
}
}
try {
Field pf = SubEvent.class.getDeclaredField("plugin");
Field pf = Event.class.getDeclaredField("plugin");
pf.setAccessible(true);
pf.set(event, null);
pf.setAccessible(false);

View File

@ -1,6 +1,7 @@
package net.ME1312.SubServers.Host;
import net.ME1312.SubServers.Host.API.Event.CommandPreProcessEvent;
import net.ME1312.SubServers.Host.API.Event.SubDisableEvent;
import net.ME1312.SubServers.Host.API.Event.SubEnableEvent;
import net.ME1312.SubServers.Host.API.SubPluginInfo;
import net.ME1312.SubServers.Host.API.SubPlugin;
@ -33,7 +34,7 @@ public final class SubServers {
public SubDataClient subdata = null;
public final Version version = new Version("2.11.2a");
public final Version bversion = new Version(1);
public final Version bversion = new Version(2);
public final SubAPI api = new SubAPI(this);
private boolean running;
@ -67,29 +68,36 @@ public final class SubServers {
long begin = Calendar.getInstance().getTime().getTime();
long i = 0;
log.info("Loading SubAPI Plugins...");
String encoded = URLDecoder.decode(System.getProperty("subservers.host.plugins"), "UTF-8");
List<String> classes = new ArrayList<String>();
HashMap<String, SubPluginInfo> plugins = new HashMap<String, SubPluginInfo>();
if (!encoded.contains(" ")) {
classes.add(encoded);
String decoded = URLDecoder.decode(System.getProperty("subservers.host.plugins"), "UTF-8");
List<String> classes = new LinkedList<String>();
HashMap<String, SubPluginInfo> plugins = new LinkedHashMap<String, SubPluginInfo>();
if (!decoded.contains(" ")) {
classes.add(decoded);
} else {
classes.addAll(Arrays.asList(encoded.split(" ")));
classes.addAll(Arrays.asList(decoded.split(" ")));
}
for (String main : classes) {
try {
Class<?> clazz = Class.forName(main);
if (!clazz.isAnnotationPresent(SubPlugin.class)) throw new ClassCastException("Cannot find plugin descriptor");
SubPluginInfo plugin = new SubPluginInfo(clazz.getConstructor().newInstance(), clazz.getAnnotation(SubPlugin.class).name(), new Version(clazz.getAnnotation(SubPlugin.class).version()),
Arrays.asList(clazz.getAnnotation(SubPlugin.class).authors()), (clazz.getAnnotation(SubPlugin.class).description().length() > 0)?clazz.getAnnotation(SubPlugin.class).description():null,
(clazz.getAnnotation(SubPlugin.class).website().length() > 0 && !Util.isException(() -> new URL(clazz.getAnnotation(SubPlugin.class).website())))?new URL(clazz.getAnnotation(SubPlugin.class).website()):null,
Arrays.asList(clazz.getAnnotation(SubPlugin.class).depend()), Arrays.asList(clazz.getAnnotation(SubPlugin.class).softDepend()));
plugins.put(plugin.getName().toLowerCase(), plugin);
Object obj = clazz.getConstructor().newInstance();
try {
SubPluginInfo plugin = new SubPluginInfo(obj, clazz.getAnnotation(SubPlugin.class).name(), new Version(clazz.getAnnotation(SubPlugin.class).version()),
Arrays.asList(clazz.getAnnotation(SubPlugin.class).authors()), (clazz.getAnnotation(SubPlugin.class).description().length() > 0)?clazz.getAnnotation(SubPlugin.class).description():null,
(clazz.getAnnotation(SubPlugin.class).website().length() > 0)?new URL(clazz.getAnnotation(SubPlugin.class).website()):null, Arrays.asList(clazz.getAnnotation(SubPlugin.class).depend()),
Arrays.asList(clazz.getAnnotation(SubPlugin.class).softDepend()));
if (plugins.keySet().contains(plugin.getName().toLowerCase())) log.warn("Duplicate plugin: " + plugin.getName());
plugins.put(plugin.getName().toLowerCase(), plugin);
} catch (Throwable e) {
log.error(new IllegalPluginException(e, "Cannot load plugin descriptor for main class: " + main));
}
} catch (ClassCastException e) {
log.error(new IllegalPluginException(e, "Main class isn't annotated as a SubPlugin: " + main));
} catch (ClassNotFoundException | IllegalAccessException | NoSuchMethodException | InstantiationException e) {
log.error(new IllegalPluginException(e, "Cannot load plugin main class: " + main));
} catch (InvocationTargetException e) {
log.error(new IllegalPluginException(e.getTargetException(), "Cannot load plugin main class: " + main));
log.error(new IllegalPluginException(e.getTargetException(), "Uncaught exception occurred while loading main class: " + main));
} catch (Throwable e) {
log.error(new IllegalPluginException(e, "Cannot load main class: " + main));
}
}
@ -103,7 +111,7 @@ public final class SubServers {
if (plugins.keySet().contains(depend.toLowerCase())) {
load = false;
} else if (!api.plugins.keySet().contains(depend.toLowerCase())) {
throw new IllegalPluginException(new IllegalStateException("Unknown dependency: " + depend), "Cannot meet requirements for plugin: " + plugin.getName());
throw new IllegalPluginException(new IllegalStateException("Unknown dependency: " + depend), "Cannot meet requirements for plugin: " + plugin.getName() + " v" + plugin.getVersion().toString());
}
}
for (String softdepend : plugin.getSoftDependancies()) {
@ -112,24 +120,32 @@ public final class SubServers {
}
}
if (load) {
loaded.add(name);
try {
plugin.setEnabled(true);
api.addListener(plugin, plugin.get());
i++;
api.plugins.put(plugin.getName().toLowerCase(), plugin);
loaded.add(name);
log.info("Loaded " + plugin.getName() + " v" + plugin.getVersion().toString());
i++;
} catch (Throwable e) {
plugin.setEnabled(false);
log.error(new InvocationTargetException(e, "Problem enabling plugin: " + plugin.getName()) + " v" + plugin.getVersion().toString() + " (is it up to date?)");
throw new InvocationTargetException(e, "Problem enabling plugin: " + plugin.getName() + " v" + plugin.getVersion().toString() + " (is it up to date?)");
}
}
} catch (IllegalPluginException e) {
} catch (InvocationTargetException e) {
log.error(e);
loaded.add(name);
}
}
int progress = 0;
for (String name : loaded) {
progress++;
plugins.remove(name);
}
if (progress == 0 && plugins.size() != 0) {
log.error(new IllegalStateException("Cannot load any more plugins but there's " + plugins.size() + " left"));
break;
}
}
api.runEvent(new SubEnableEvent(this));
@ -179,9 +195,12 @@ public final class SubServers {
public void stop(int exit) {
log.info("Shutting down...");
SubDisableEvent event = new SubDisableEvent(this, exit);
api.runEvent(event);
running = false;
Util.isException(FileLogger::end);
if (subdata != null) Util.isException(() -> subdata.destroy(false));
System.exit(exit);
Util.isException(FileLogger::end);
System.exit(event.getExitCode());
}
}