diff --git a/Artifacts/SubServers.Bungee.jar b/Artifacts/SubServers.Bungee.jar index 1713d754..17874dd4 100644 Binary files a/Artifacts/SubServers.Bungee.jar and b/Artifacts/SubServers.Bungee.jar differ diff --git a/Artifacts/SubServers.Client.Bukkit.jar b/Artifacts/SubServers.Client.Bukkit.jar index 7dd5da70..6c13bc97 100644 Binary files a/Artifacts/SubServers.Client.Bukkit.jar and b/Artifacts/SubServers.Client.Bukkit.jar differ diff --git a/Javadoc/SubServers.Bungee/index-all.html b/Javadoc/SubServers.Bungee/index-all.html index e778bede..098c810f 100644 --- a/Javadoc/SubServers.Bungee/index-all.html +++ b/Javadoc/SubServers.Bungee/index-all.html @@ -76,6 +76,10 @@
public class SubAddServerEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+public class SubCreateEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+public class SubDataRecieveGenericInfoEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent
+public class SubRemoveServerEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+SubRemoveServerEvent(java.util.UUID player,
Host host,
Server server)
-Server
getServer()
-player
- Player Adding Serverpublic Server getServer()-
public class SubSendCommandEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+public class SubStartEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+public class SubStopEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent, net.md_5.bungee.api.plugin.Cancellable
+public class SubStoppedEvent
extends net.md_5.bungee.api.plugin.Event
implements SubEvent
+public abstract class Host
extends java.lang.Object
public class InternalHost
extends Host
+plugin
- Pluginname
- Nameenabled
- Enabled Statusaddress
- Addressdirectory
- DirectorygitBash
- Git Bash Locationpublic class InternalSubCreator
extends SubCreator
+InternalSubCreator(Host host,
- java.lang.String gitBash)
InternalSubCreator(InternalHost host,
+ java.lang.String gitBash)
+public InternalSubCreator(Host host, +public InternalSubCreator(InternalHost host, java.lang.String gitBash)+Creates an Internal SubCreator+
host
- HostgitBash
- Git Bashpublic class InternalSubLogger
extends java.lang.Object
+Constructor and Description | +
---|
InternalSubLogger(java.lang.Process process,
+ java.lang.String name,
+ Container<java.lang.Boolean> log,
+ java.io.File file)
+Creates a new Internal Process Logger
+ |
+
void
start()
start()
+void
stop()
+public InternalSubLogger(java.lang.Process process, + java.lang.String name, + Container<java.lang.Boolean> log, + java.io.File file)+
process
- Processname
- Prefixlog
- Console Logging Statusfile
- File to log to (or null for disabled)public void start()+
public void stop()+
public class InternalSubServer extends SubServer+
InternalSubServer(Host host,
+InternalSubServer(InternalHost host,
java.lang.String name,
boolean enabled,
int port,
@@ -159,7 +160,9 @@ extends Creates an Internal SubServer
+
getMotd, getSubDataClient, isHidden, isRestricted, linkSubDataClient, setHidden, setMotd, setRestricted
+addExtra, getExtra, getExtra, getMotd, getSubDataClient, hasExtra, isHidden, isRestricted, linkSubDataClient, setHidden, setMotd, setRestricted
public InternalSubServer(Host host, +public InternalSubServer(InternalHost host, java.lang.String name, boolean enabled, int port, @@ -343,7 +346,23 @@ extends InvalidServerException+Creates an Internal SubServer
host
- Hostname
- Nameenabled
- Enabled Statusport
- Port Numbermotd
- MOTDlog
- Logging Statusdirectory
- Directoryexecutable
- Executable Stringstopcmd
- Stop Commandstart
- Auto-Startrestart
- Auto-Restarthidden
- Hidden Statusrestricted
- Restricted Statustemporary
- Temporary StatusInvalidServerException
void
addExtra(java.lang.String key,
+ java.lang.Object value)
+org.json.JSONObject
getExtra()
+YAMLValue
getExtra(java.lang.String key)
+java.lang.String
getMotd()
Client
getSubDataClient()
boolean
hasExtra(java.lang.String key)
+boolean
isHidden()
boolean
isRestricted()
void
linkSubDataClient(Client client)
void
setHidden(boolean value)
void
setMotd(java.lang.String value)
void
setRestricted(boolean value)
public void setRestricted(boolean value)@@ -394,6 +415,68 @@ implements + + +
public void addExtra(java.lang.String key, + java.lang.Object value)+
key
- Keyvalue
- Valuepublic boolean hasExtra(java.lang.String key)+
key
- Keypublic YAMLValue getExtra(java.lang.String key)+
key
- Keypublic org.json.JSONObject getExtra()+
public abstract class SubCreator
extends java.lang.Object
public abstract class SubServer extends Server
getMotd, getSubDataClient, isHidden, isRestricted, linkSubDataClient, setHidden, setMotd, setRestricted
+addExtra, getExtra, getExtra, getMotd, getSubDataClient, hasExtra, isHidden, isRestricted, linkSubDataClient, setHidden, setMotd, setRestricted
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html
index cdc456d8..f471b603 100644
--- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html
+++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.html
@@ -109,6 +109,7 @@ var activeTableTab = "activeTableTab";
public class YAMLConfig
extends java.lang.Object
+YAMLConfig(java.io.File file)
YAMLConfig(java.io.File file)
+YAMLSection
get()
get()
+void
reload()
reload()
+void
save()
save()
+void
set(YAMLSection yaml)
set(YAMLSection value)
+org.json.JSONObject
toJSON()
toJSON()
+java.lang.String
public YAMLConfig(java.io.File file) throws java.io.IOException, org.yaml.snakeyaml.error.YAMLException+
file
- java.io.IOException
org.yaml.snakeyaml.error.YAMLException
public YAMLSection get()+
public void set(YAMLSection yaml)+
public void set(YAMLSection value)+
value
- Valuepublic void reload() throws java.io.IOException+
java.io.IOException
public void save() throws java.io.IOException+
java.io.IOException
public org.json.JSONObject toJSON()+
public class YAMLSection
extends java.lang.Object
+YAMLSection()
YAMLSection()
+YAMLSection(java.io.InputStream io)
YAMLSection(java.io.InputStream io)
+YAMLSection(org.json.JSONObject json)
YAMLSection(org.json.JSONObject json)
+YAMLSection(java.io.Reader reader)
YAMLSection(java.io.Reader reader)
+YAMLSection(java.lang.String yaml)
YAMLSection(java.lang.String yaml)
+void
clear()
clear()
+boolean
contains(java.lang.String label)
contains(java.lang.String handle)
+YAMLValue
get(java.lang.String label)
get(java.lang.String handle)
+YAMLValue
get(java.lang.String label,
- java.lang.Object def)
get(java.lang.String handle,
+ java.lang.Object def)
+YAMLValue
get(java.lang.String label,
- YAMLValue def)
get(java.lang.String handle,
+ YAMLValue def)
+boolean
getBoolean(java.lang.String label)
getBoolean(java.lang.String handle)
+boolean
getBoolean(java.lang.String label,
- boolean def)
getBoolean(java.lang.String handle,
+ boolean def)
+java.util.List<java.lang.Boolean>
getBooleanList(java.lang.String label)
getBooleanList(java.lang.String handle)
+java.util.List<java.lang.Boolean>
getBooleanList(java.lang.String label,
- java.util.List<java.lang.Boolean> def)
getBooleanList(java.lang.String handle,
+ java.util.List<java.lang.Boolean> def)
+java.lang.String
getColoredString(java.lang.String label,
- char color)
getColoredString(java.lang.String handle,
+ char color)
+java.lang.String
getColoredString(java.lang.String label,
+getColoredString(java.lang.String handle,
java.lang.String def,
- char color)
+ char color)
+java.util.List<java.lang.String>
getColoredStringList(java.lang.String label,
- char color)
getColoredStringList(java.lang.String handle,
+ char color)
+java.util.List<java.lang.String>
getColoredStringList(java.lang.String label,
+getColoredStringList(java.lang.String handle,
java.util.List<java.lang.String> def,
- char color)
+ char color)
+double
getDouble(java.lang.String label)
getDouble(java.lang.String handle)
+double
getDouble(java.lang.String label,
- double def)
getDouble(java.lang.String handle,
+ double def)
+java.util.List<java.lang.Double>
getDoubleList(java.lang.String label)
getDoubleList(java.lang.String handle)
+java.util.List<java.lang.Double>
getDoubleList(java.lang.String label,
- java.util.List<java.lang.Double> def)
getDoubleList(java.lang.String handle,
+ java.util.List<java.lang.Double> def)
+float
getFloat(java.lang.String label)
getFloat(java.lang.String handle)
+float
getFloat(java.lang.String label,
- float def)
getFloat(java.lang.String handle,
+ float def)
+java.util.List<java.lang.Float>
getFloatList(java.lang.String label)
getFloatList(java.lang.String handle)
+java.util.List<java.lang.Float>
getFloatList(java.lang.String label,
- float def)
getFloatList(java.lang.String handle,
+ float def)
+int
getInt(java.lang.String label)
getInt(java.lang.String handle)
+int
getInt(java.lang.String label,
- int def)
getInt(java.lang.String handle,
+ int def)
+java.util.List<java.lang.Integer>
getIntList(java.lang.String label)
getIntList(java.lang.String handle)
+java.util.List<java.lang.Integer>
getIntList(java.lang.String label,
- java.util.List<java.lang.Integer> def)
getIntList(java.lang.String handle,
+ java.util.List<java.lang.Integer> def)
+java.util.Set<java.lang.String>
getKeys()
getKeys()
+java.util.List<YAMLValue>
getList(java.lang.String label)
getList(java.lang.String handle)
+java.util.List<YAMLValue>
getList(java.lang.String label,
- java.util.Collection<?> def)
getList(java.lang.String handle,
+ java.util.Collection<?> def)
+java.util.List<YAMLValue>
getList(java.lang.String label,
- java.util.List<? extends YAMLValue> def)
getList(java.lang.String handle,
+ java.util.List<? extends YAMLValue> def)
+long
getLong(java.lang.String label)
getLong(java.lang.String handle)
+long
getLong(java.lang.String label,
- long def)
getLong(java.lang.String handle,
+ long def)
+java.util.List<java.lang.Long>
getLongList(java.lang.String label)
getLongList(java.lang.String handle)
+java.util.List<java.lang.Long>
getLongList(java.lang.String label,
- java.util.List<java.lang.Long> def)
getLongList(java.lang.String handle,
+ java.util.List<java.lang.Long> def)
+java.lang.Object
getObject(java.lang.String label)
getObject(java.lang.String handle)
+java.lang.Object
getObject(java.lang.String label,
- java.lang.Object def)
getObject(java.lang.String handle,
+ java.lang.Object def)
+java.util.List<?>
getObjectList(java.lang.String label)
getObjectList(java.lang.String handle)
+java.util.List<?>
getObjectList(java.lang.String label,
- java.util.List<?> def)
getObjectList(java.lang.String handle,
+ java.util.List<?> def)
+java.lang.String
getRawString(java.lang.String label)
getRawString(java.lang.String handle)
+java.lang.String
getRawString(java.lang.String label,
- java.lang.String def)
getRawString(java.lang.String handle,
+ java.lang.String def)
+java.util.List<java.lang.String>
getRawStringList(java.lang.String label)
getRawStringList(java.lang.String handle)
+java.util.List<java.lang.String>
getRawStringList(java.lang.String label,
- java.util.List<java.lang.String> def)
getRawStringList(java.lang.String handle,
+ java.util.List<java.lang.String> def)
+YAMLSection
getSection(java.lang.String label)
getSection(java.lang.String handle)
+YAMLSection
getSection(java.lang.String label,
- java.util.Map<java.lang.String,?> def)
getSection(java.lang.String handle,
+ java.util.Map<java.lang.String,?> def)
+YAMLSection
getSection(java.lang.String label,
- YAMLSection def)
getSection(java.lang.String handle,
+ YAMLSection def)
+java.util.List<YAMLSection>
getSectionList(java.lang.String label)
getSectionList(java.lang.String handle)
+java.util.List<YAMLSection>
getSectionList(java.lang.String label,
- java.util.Collection<? extends java.util.Map<java.lang.String,?>> def)
getSectionList(java.lang.String handle,
+ java.util.Collection<? extends java.util.Map<java.lang.String,?>> def)
+java.util.List<YAMLSection>
getSectionList(java.lang.String label,
- java.util.List<? extends YAMLSection> def)
getSectionList(java.lang.String handle,
+ java.util.List<? extends YAMLSection> def)
+short
getShort(java.lang.String label)
getShort(java.lang.String handle)
+short
getShort(java.lang.String label,
- short def)
getShort(java.lang.String handle,
+ short def)
+java.util.List<java.lang.Short>
getShortList(java.lang.String label)
getShortList(java.lang.String handle)
+java.util.List<java.lang.Short>
getShortList(java.lang.String label,
- java.util.List<java.lang.Short> def)
getShortList(java.lang.String handle,
+ java.util.List<java.lang.Short> def)
+java.lang.String
getString(java.lang.String label)
getString(java.lang.String handle)
+java.lang.String
getString(java.lang.String label,
- java.lang.String def)
getString(java.lang.String handle,
+ java.lang.String def)
+java.util.List<java.lang.String>
getStringList(java.lang.String label)
getStringList(java.lang.String handle)
+java.util.List<java.lang.String>
getStringList(java.lang.String label,
- java.util.List<java.lang.String> def)
getStringList(java.lang.String handle,
+ java.util.List<java.lang.String> def)
+java.util.UUID
getUUID(java.lang.String label)
getUUID(java.lang.String handle)
+java.util.UUID
getUUID(java.lang.String label,
- java.util.UUID def)
getUUID(java.lang.String handle,
+ java.util.UUID def)
+java.util.List<java.util.UUID>
getUUIDList(java.lang.String label)
getUUIDList(java.lang.String handle)
+java.util.List<java.util.UUID>
getUUIDList(java.lang.String label,
- java.util.List<java.util.UUID> def)
getUUIDList(java.lang.String handle,
+ java.util.List<java.util.UUID> def)
+java.util.Collection<YAMLValue>
getValues()
getValues()
+boolean
isBoolean(java.lang.String label)
isBoolean(java.lang.String handle)
+boolean
isDouble(java.lang.String label)
isDouble(java.lang.String handle)
+boolean
isFloat(java.lang.String label)
isFloat(java.lang.String handle)
+boolean
isInt(java.lang.String label)
isInt(java.lang.String handle)
+boolean
isList(java.lang.String label)
isList(java.lang.String handle)
+boolean
isLong(java.lang.String label)
isLong(java.lang.String handle)
+boolean
isSection(java.lang.String label)
isSection(java.lang.String handle)
+boolean
isString(java.lang.String label)
isString(java.lang.String handle)
+void
remove(java.lang.String label)
boolean
isUUID(java.lang.String handle)
+void
set(java.lang.String label,
- java.lang.Object value)
remove(java.lang.String handle)
+void
setAll(java.util.Map<java.lang.String,?> values)
set(java.lang.String handle,
+ java.lang.Object value)
+void
setAll(YAMLSection values)
setAll(java.util.Map<java.lang.String,?> values)
+YAMLSection
superSection()
void
setAll(YAMLSection values)
+org.json.JSONObject
toJSON()
YAMLSection
superSection()
+org.json.JSONObject
toJSON()
+java.lang.String
toString()
public YAMLSection()+
public YAMLSection(java.io.InputStream io) throws org.yaml.snakeyaml.error.YAMLException+
io
- Input Streamorg.yaml.snakeyaml.error.YAMLException
public YAMLSection(java.io.Reader reader) throws org.yaml.snakeyaml.error.YAMLException+
reader
- Readerorg.yaml.snakeyaml.error.YAMLException
public YAMLSection(org.json.JSONObject json)+
json
- JSONpublic YAMLSection(java.lang.String yaml) throws org.yaml.snakeyaml.error.YAMLException+
yaml
- Stringorg.yaml.snakeyaml.error.YAMLException
public java.util.Set<java.lang.String> getKeys()+
public java.util.Collection<YAMLValue> getValues()+
public boolean contains(java.lang.String label)+
public boolean contains(java.lang.String handle)+
handle
- Handlepublic void remove(java.lang.String label)+
public void remove(java.lang.String handle)+
handle
- Handlepublic void clear()+
public void set(java.lang.String label, +public void set(java.lang.String handle, java.lang.Object value)+Set Object into this YAML Section+
handle
- Handlevalue
- Valuepublic void setAll(java.util.Map<java.lang.String,?> values)+
values
- Map to setpublic void setAll(YAMLSection values)+
values
- public YAMLSection superSection()+
public org.json.JSONObject toJSON()+
public YAMLValue get(java.lang.String label)+
public YAMLValue get(java.lang.String handle)+
handle
- Handlepublic YAMLValue get(java.lang.String label, +public YAMLValue get(java.lang.String handle, java.lang.Object def)+Get an Object by Handle+
handle
- Handledef
- Defaultpublic YAMLValue get(java.lang.String label, +public YAMLValue get(java.lang.String handle, YAMLValue def)+Get an Object by Handle+
handle
- Handledef
- Defaultpublic java.util.List<YAMLValue> getList(java.lang.String label)+
public java.util.List<YAMLValue> getList(java.lang.String handle)+
handle
- Handlepublic java.util.List<YAMLValue> getList(java.lang.String label, +public java.util.List<YAMLValue> getList(java.lang.String handle, java.util.Collection<?> def)+Get a List by Handle+
handle
- Handledef
- Defaultpublic java.util.List<YAMLValue> getList(java.lang.String label, +public java.util.List<YAMLValue> getList(java.lang.String handle, java.util.List<? extends YAMLValue> def)+Get a List by Handle+
handle
- Handledef
- Defaultpublic java.lang.Object getObject(java.lang.String label)+
public java.lang.Object getObject(java.lang.String handle)+
handle
- Handlepublic java.lang.Object getObject(java.lang.String label, +public java.lang.Object getObject(java.lang.String handle, java.lang.Object def)+Get a Object by Handle+
handle
- Handledef
- Defaultpublic java.util.List<?> getObjectList(java.lang.String label)+
public java.util.List<?> getObjectList(java.lang.String handle)+
handle
- Handlepublic java.util.List<?> getObjectList(java.lang.String label, +public java.util.List<?> getObjectList(java.lang.String handle, java.util.List<?> def)+Get a Object List by Handle+
handle
- Handledef
- Defaultpublic boolean getBoolean(java.lang.String label)+
public boolean getBoolean(java.lang.String handle)+
handle
- Handlepublic boolean getBoolean(java.lang.String label, +public boolean getBoolean(java.lang.String handle, boolean def)+Get a Boolean by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Boolean> getBooleanList(java.lang.String label)+
public java.util.List<java.lang.Boolean> getBooleanList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Boolean> getBooleanList(java.lang.String label, +public java.util.List<java.lang.Boolean> getBooleanList(java.lang.String handle, java.util.List<java.lang.Boolean> def)+Get a Boolean List by Handle+
handle
- Handledef
- Defaultpublic YAMLSection getSection(java.lang.String label)+
public YAMLSection getSection(java.lang.String handle)+
handle
- Handlepublic YAMLSection getSection(java.lang.String label, +public YAMLSection getSection(java.lang.String handle, java.util.Map<java.lang.String,?> def)+Get a YAML Section by Handle+
handle
- Handledef
- Defaultpublic YAMLSection getSection(java.lang.String label, +public YAMLSection getSection(java.lang.String handle, YAMLSection def)+Get a YAML Section by Handle+
handle
- Handledef
- Defaultpublic java.util.List<YAMLSection> getSectionList(java.lang.String label)+
public java.util.List<YAMLSection> getSectionList(java.lang.String handle)+
handle
- Handlepublic java.util.List<YAMLSection> getSectionList(java.lang.String label, +public java.util.List<YAMLSection> getSectionList(java.lang.String handle, java.util.Collection<? extends java.util.Map<java.lang.String,?>> def)+Get a YAML Section List by Handle+
handle
- Handledef
- Defaultpublic java.util.List<YAMLSection> getSectionList(java.lang.String label, +public java.util.List<YAMLSection> getSectionList(java.lang.String handle, java.util.List<? extends YAMLSection> def)+Get a YAML Section List by Handle+
handle
- Handledef
- Defaultpublic double getDouble(java.lang.String label)+
public double getDouble(java.lang.String handle)+
handle
- Handlepublic double getDouble(java.lang.String label, +public double getDouble(java.lang.String handle, double def)+Get a Double by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Double> getDoubleList(java.lang.String label)+
public java.util.List<java.lang.Double> getDoubleList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Double> getDoubleList(java.lang.String label, +public java.util.List<java.lang.Double> getDoubleList(java.lang.String handle, java.util.List<java.lang.Double> def)+Get a Double List by Handle+
handle
- Handledef
- Defaultpublic float getFloat(java.lang.String label)+
public float getFloat(java.lang.String handle)+
handle
- Handlepublic float getFloat(java.lang.String label, +public float getFloat(java.lang.String handle, float def)+Get a Float by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Float> getFloatList(java.lang.String label)+
public java.util.List<java.lang.Float> getFloatList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Float> getFloatList(java.lang.String label, +public java.util.List<java.lang.Float> getFloatList(java.lang.String handle, float def)+Get a Float List by Handle+
handle
- Handledef
- Defaultpublic int getInt(java.lang.String label)+
public int getInt(java.lang.String handle)+
handle
- Handlepublic int getInt(java.lang.String label, +public int getInt(java.lang.String handle, int def)+Get an Integer by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Integer> getIntList(java.lang.String label)+
public java.util.List<java.lang.Integer> getIntList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Integer> getIntList(java.lang.String label, +public java.util.List<java.lang.Integer> getIntList(java.lang.String handle, java.util.List<java.lang.Integer> def)+Get an Integer List by Handle+
handle
- Handledef
- Defaultpublic long getLong(java.lang.String label)+
public long getLong(java.lang.String handle)+
handle
- Handlepublic long getLong(java.lang.String label, +public long getLong(java.lang.String handle, long def)+Get a Long by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Long> getLongList(java.lang.String label)+
public java.util.List<java.lang.Long> getLongList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Long> getLongList(java.lang.String label, +public java.util.List<java.lang.Long> getLongList(java.lang.String handle, java.util.List<java.lang.Long> def)+Get a Long List by Handle+
handle
- Handledef
- Defaultpublic short getShort(java.lang.String label)+
public short getShort(java.lang.String handle)+
handle
- Handlepublic short getShort(java.lang.String label, +public short getShort(java.lang.String handle, short def)+Get a Short by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.Short> getShortList(java.lang.String label)+
public java.util.List<java.lang.Short> getShortList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.Short> getShortList(java.lang.String label, +public java.util.List<java.lang.Short> getShortList(java.lang.String handle, java.util.List<java.lang.Short> def)+Get a Short List by Handle+
handle
- Handledef
- Defaultpublic java.lang.String getRawString(java.lang.String label)+
public java.lang.String getRawString(java.lang.String handle)+
handle
- Handlepublic java.lang.String getRawString(java.lang.String label, +public java.lang.String getRawString(java.lang.String handle, java.lang.String def)+Get an Unparsed String by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.String> getRawStringList(java.lang.String label)+
public java.util.List<java.lang.String> getRawStringList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.String> getRawStringList(java.lang.String label, +public java.util.List<java.lang.String> getRawStringList(java.lang.String handle, java.util.List<java.lang.String> def)+Get an Unparsed String List by Handle+
handle
- Handledef
- Defaultpublic java.lang.String getString(java.lang.String label)+
public java.lang.String getString(java.lang.String handle)+
handle
- Handlepublic java.lang.String getString(java.lang.String label, +public java.lang.String getString(java.lang.String handle, java.lang.String def)+Get a String by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.lang.String> getStringList(java.lang.String label)+
public java.util.List<java.lang.String> getStringList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.lang.String> getStringList(java.lang.String label, +public java.util.List<java.lang.String> getStringList(java.lang.String handle, java.util.List<java.lang.String> def)+Get a String List by Handle+
handle
- Handledef
- Defaultpublic java.lang.String getColoredString(java.lang.String label, +public java.lang.String getColoredString(java.lang.String handle, char color)+Get a Colored String by Handle+
handle
- Handlecolor
- Color Char to parsepublic java.lang.String getColoredString(java.lang.String label, +public java.lang.String getColoredString(java.lang.String handle, java.lang.String def, char color)+Get a Colored String by Handle+
handle
- Handledef
- Defaultcolor
- Color Char to parsepublic java.util.List<java.lang.String> getColoredStringList(java.lang.String label, +public java.util.List<java.lang.String> getColoredStringList(java.lang.String handle, char color)+Get a Colored String List by Handle+
handle
- Handlecolor
- Color Char to parsepublic java.util.List<java.lang.String> getColoredStringList(java.lang.String label, +public java.util.List<java.lang.String> getColoredStringList(java.lang.String handle, java.util.List<java.lang.String> def, char color)+Get a Colored String List by Handle+
handle
- Handledef
- Defaultcolor
- Color Char to parsepublic java.util.UUID getUUID(java.lang.String label)+
public java.util.UUID getUUID(java.lang.String handle)+
handle
- Handlepublic java.util.UUID getUUID(java.lang.String label, +public java.util.UUID getUUID(java.lang.String handle, java.util.UUID def)+Get a UUID by Handle+
handle
- Handledef
- Defaultpublic java.util.List<java.util.UUID> getUUIDList(java.lang.String label)+
public java.util.List<java.util.UUID> getUUIDList(java.lang.String handle)+
handle
- Handlepublic java.util.List<java.util.UUID> getUUIDList(java.lang.String label, +public java.util.List<java.util.UUID> getUUIDList(java.lang.String handle, java.util.List<java.util.UUID> def)+Get a UUID List by Handle+
handle
- Handledef
- Defaultpublic boolean isBoolean(java.lang.String label)+
public boolean isBoolean(java.lang.String handle)+
handle
- Handlepublic boolean isSection(java.lang.String label)+
public boolean isSection(java.lang.String handle)+
handle
- Handlepublic boolean isDouble(java.lang.String label)+
public boolean isDouble(java.lang.String handle)+
handle
- Handlepublic boolean isFloat(java.lang.String label)+
public boolean isFloat(java.lang.String handle)+
handle
- Handlepublic boolean isInt(java.lang.String label)+
public boolean isInt(java.lang.String handle)+
handle
- Handlepublic boolean isList(java.lang.String label)+
public boolean isList(java.lang.String handle)+
handle
- Handlepublic boolean isLong(java.lang.String label)+
public boolean isLong(java.lang.String handle)+
handle
- Handlepublic boolean isString(java.lang.String label)+
public boolean isString(java.lang.String handle)+
handle
- Handlepublic boolean isUUID(java.lang.String handle)+
handle
- Handlepublic class YAMLValue
extends java.lang.Object
+Constructor and Description | -
---|
YAMLValue(java.lang.Object obj,
- YAMLSection up,
- java.lang.String label,
- org.yaml.snakeyaml.Yaml yaml) |
-
boolean
asBoolean()
asBoolean()
+java.util.List<java.lang.Boolean>
asBooleanList()
asBooleanList()
+java.lang.String
asColoredString(char color)
asColoredString(char color)
+java.util.List<java.lang.String>
asColoredStringList(char color)
asColoredStringList(char color)
+double
asDouble()
asDouble()
+java.util.List<java.lang.Double>
asDoubleList()
asDoubleList()
+float
asFloat()
asFloat()
+java.util.List<java.lang.Float>
asFloatList()
asFloatList()
+int
asInt()
asInt()
+java.util.List<java.lang.Integer>
asIntList()
asIntList()
+long
asLong()
asLong()
+java.util.List<java.lang.Long>
asLongList()
asLongList()
+java.lang.Object
asObject()
asObject()
+java.util.List<?>
asObjectList()
asObjectList()
+java.lang.String
asRawString()
asRawString()
+java.util.List<java.lang.String>
asRawStringList()
asRawStringList()
+YAMLSection
asSection()
asSection()
+java.util.List<YAMLSection>
asSectionList()
asSectionList()
+java.lang.String
asString()
asString()
+java.util.List<java.lang.String>
asStringList()
asStringList()
+java.util.UUID
asUUID()
asUUID()
+java.util.List<java.util.UUID>
YAMLSection
getDefiningSection()
getDefiningSection()
+boolean
isBoolean()
isBoolean()
+boolean
isDouble()
isDouble()
+boolean
isFloat(java.lang.String path)
isFloat(java.lang.String path)
+boolean
isInt()
isInt()
+boolean
isList()
isList()
+boolean
isLong()
isLong()
+boolean
isSection()
isSection()
+boolean
isString()
isString()
+boolean
isUUID(java.lang.String handle)
+java.lang.String
toString()
public YAMLValue(java.lang.Object obj, - YAMLSection up, - java.lang.String label, - org.yaml.snakeyaml.Yaml yaml)-
public YAMLSection getDefiningSection()+
public java.lang.Object asObject()+
public java.util.List<?> asObjectList()+
public boolean asBoolean()+
public java.util.List<java.lang.Boolean> asBooleanList()+
public YAMLSection asSection()+
public java.util.List<YAMLSection> asSectionList()+
public double asDouble()+
public java.util.List<java.lang.Double> asDoubleList()+
public float asFloat()+
public java.util.List<java.lang.Float> asFloatList()+
public int asInt()+
public java.util.List<java.lang.Integer> asIntList()+
public long asLong()+
public java.util.List<java.lang.Long> asLongList()+
public java.lang.String asRawString()+
public java.util.List<java.lang.String> asRawStringList()+
public java.lang.String asString()+
public java.util.List<java.lang.String> asStringList()+
public java.lang.String asColoredString(char color)+
color
- Color Char to parsepublic java.util.List<java.lang.String> asColoredStringList(char color)+
color
- Color Char to parsepublic java.util.UUID asUUID()+
public boolean isBoolean()+
public boolean isSection()+
public boolean isDouble()+
public boolean isFloat(java.lang.String path)+
public boolean isInt()+
public boolean isList()+
public boolean isLong()+
public boolean isString()+
public boolean isUUID(java.lang.String handle)+
V
- Itempublic class Container<V>
extends java.lang.Object
public class IllegalPacketException
extends java.lang.IllegalStateException
+public class InvalidDriverException
extends java.lang.IllegalStateException
+public class InvalidHostException
extends java.lang.IllegalStateException
+public class InvalidServerException
extends java.lang.IllegalStateException
+public interface JSONCallback
+void
run(org.json.JSONObject json)
run(org.json.JSONObject json)
+void run(org.json.JSONObject json)+
json
- JSONT
- NameV
- Itempublic class NamedContainer<T,V> extends Container<V>+
public interface SubEvent
+public final class Util
extends java.lang.Object
+static void
copyFromJar(java.lang.ClassLoader loader,
java.lang.String resource,
- java.lang.String destination)
static void
deleteDirectory(java.io.File folder)
deleteDirectory(java.io.File folder)
+static boolean
isException(java.lang.Runnable runnable)
isException(java.lang.Runnable runnable)
+static java.lang.String
readAll(java.io.Reader rd)
readAll(java.io.Reader rd)
+static java.lang.String
unescapeJavaString(java.lang.String str)
unescapeJavaString(java.lang.String str)
+public static void deleteDirectory(java.io.File folder)+
folder
- Locationpublic static java.lang.String unescapeJavaString(java.lang.String str)+
str
- Stringpublic final class Client
extends java.lang.Object
public interface ClientHandler
public class PacketAuthorization ++public final class PacketAuthorization extends java.lang.Object implements PacketIn, PacketOut
+Authorization Packet@@ -133,10 +134,14 @@ implements+ java.lang.String message) + PacketAuthorization(int response, - java.lang.String message)
New PacketAuthorization (Out)+- @@ -201,6 +206,11 @@ implements+ PacketAuthorization(SubPlugin plugin)
PacketAuthorization(SubPlugin plugin)
+New PacketAuthorization (In)+PacketAuthorization
public PacketAuthorization(SubPlugin plugin)+New PacketAuthorization (In)++
@@ -211,6 +221,12 @@ implements New PacketAuthorization (Out) +- Parameters:
+- +
plugin
- SubPlugin+
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCommandServer.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCommandServer.html index 0a9d84f9..52ba61a5 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCommandServer.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCommandServer.html @@ -114,6 +114,7 @@ var activeTableTab = "activeTableTab";- Parameters:
+- +
response
- Response ID- +
message
- Messagepublic class PacketCommandServer extends java.lang.Object implements PacketIn, PacketOut
+Server Command Packet@@ -134,10 +135,14 @@ implements+ java.lang.String id) + PacketCommandServer(int response, java.lang.String message, - java.lang.String id)
New PacketCommandServer (Out)+- @@ -202,6 +207,11 @@ implements+ PacketCommandServer(SubPlugin plugin)
PacketCommandServer(SubPlugin plugin)
+New PacketCommandServer (In)+PacketCommandServer
public PacketCommandServer(SubPlugin plugin)+New PacketCommandServer (In)++
@@ -213,6 +223,13 @@ implements New PacketCommandServer (Out) +- Parameters:
+- +
plugin
- SubPlugin+
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.html index 968e2fce..78093764 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketCreateServer.html @@ -114,6 +114,7 @@ var activeTableTab = "activeTableTab";- Parameters:
+- +
response
- Response ID- +
message
- Message- +
id
- Receiver IDpublic class PacketCreateServer extends java.lang.Object implements PacketIn, PacketOut
+Create Server Packet@@ -134,10 +135,14 @@ implements+ java.lang.String id) + PacketCreateServer(int response, java.lang.String message, - java.lang.String id)
New PacketCreateServer (Out)+- @@ -202,6 +207,11 @@ implements+ PacketCreateServer(SubPlugin plugin)
PacketCreateServer(SubPlugin plugin)
+New PacketCreateServer (In)+PacketCreateServer
public PacketCreateServer(SubPlugin plugin)+New PacketCreateServer (In)++
@@ -213,6 +223,13 @@ implements New PacketCreateServer (Out) +- Parameters:
+- +
plugin
- SubPlugin+
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadBuildScript.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadBuildScript.html index 65eaae91..ba3894d1 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadBuildScript.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketDownloadBuildScript.html @@ -114,6 +114,7 @@ var activeTableTab = "activeTableTab";- Parameters:
+- +
response
- Response ID- +
message
- Message- +
id
- Receiver IDpublic class PacketDownloadBuildScript extends java.lang.Object implements PacketIn, PacketOut
+Download Build Script Packet@@ -132,11 +133,15 @@ implements Constructor and Description- + PacketDownloadBuildScript(SubPlugin plugin)
PacketDownloadBuildScript(SubPlugin plugin)
+New PacketDownloadBuildScript (In)+@@ -201,6 +206,11 @@ implements + java.lang.String id) + PacketDownloadBuildScript(SubPlugin plugin, - java.lang.String id)
New PacketDownloadBuildScript (Out)+PacketDownloadBuildScript
public PacketDownloadBuildScript(SubPlugin plugin)+New PacketDownloadBuildScript (In)++
@@ -211,6 +221,12 @@ implements SubPlugin plugin, java.lang.String id)- Parameters:
+- +
plugin
- SubPlugin
plugin
- SubPluginid
- Receiver IDpublic class PacketDownloadHostInfo
extends java.lang.Object
implements PacketIn, PacketOut
+PacketDownloadHostInfo(SubPlugin plugin)
PacketDownloadHostInfo(SubPlugin plugin)
+PacketDownloadHostInfo(SubPlugin plugin,
Host host,
- java.lang.String id)
public PacketDownloadHostInfo(SubPlugin plugin)+
plugin
- SubPluginplugin
- SubPluginhost
- Hostid
- Receiver IDpublic class PacketDownloadLang
extends java.lang.Object
implements PacketIn, PacketOut
+PacketDownloadLang(SubPlugin plugin)
PacketDownloadLang(SubPlugin plugin)
+PacketDownloadLang(SubPlugin plugin,
- java.lang.String id)
public PacketDownloadLang(SubPlugin plugin)+
plugin
- SubPluginplugin
- SubPluginid
- Receiver IDpublic class PacketDownloadPlayerList
extends java.lang.Object
implements PacketIn, PacketOut
+PacketDownloadPlayerList(SubPlugin plugin)
PacketDownloadPlayerList(SubPlugin plugin)
+PacketDownloadPlayerList(SubPlugin plugin,
- java.lang.String id)
public PacketDownloadPlayerList(SubPlugin plugin)+
plugin
- SubPluginplugin
- SubPluginid
- Receiver IDpublic class PacketDownloadServerInfo
extends java.lang.Object
implements PacketIn, PacketOut
+PacketDownloadServerInfo(SubPlugin plugin)
PacketDownloadServerInfo(SubPlugin plugin)
+PacketDownloadServerInfo(SubPlugin plugin,
Server server,
- java.lang.String id)
public PacketDownloadServerInfo(SubPlugin plugin)+
plugin
- SubPluginplugin
- SubPluginserver
- Serverid
- Receiver IDpublic class PacketDownloadServerList
extends java.lang.Object
implements PacketIn, PacketOut
+PacketDownloadServerList(SubPlugin plugin)
PacketDownloadServerList(SubPlugin plugin)
+PacketDownloadServerList(SubPlugin plugin,
java.lang.String host,
- java.lang.String id)
public PacketDownloadServerList(SubPlugin plugin)+
plugin
- SubPluginplugin
- SubPluginhost
- Host (or null for all)id
- Receiver IDpublic class PacketLinkServer ++public final class PacketLinkServer extends java.lang.Object implements PacketIn, PacketOut
+Link Server Packet@@ -133,10 +134,14 @@ implements+ java.lang.String message) + PacketLinkServer(int response, - java.lang.String message)
New PacketLinkServer (Out)+- @@ -201,6 +206,11 @@ implements+ PacketLinkServer(SubPlugin plugin)
PacketLinkServer(SubPlugin plugin)
+New PacketLinkServer (In)+PacketLinkServer
public PacketLinkServer(SubPlugin plugin)+New PacketLinkServer (In)++
@@ -211,6 +221,12 @@ implements New PacketLinkServer (Out) +- Parameters:
+- +
plugin
- SubPlugin+
diff --git a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html index 89606bb2..2f70faba 100644 --- a/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html +++ b/Javadoc/SubServers.Bungee/net/ME1312/SubServers/Bungee/Network/Packet/PacketOutRunEvent.html @@ -114,6 +114,7 @@ var activeTableTab = "activeTableTab";- Parameters:
+- +
response
- Response ID- +
message
- Messagepublic class PacketOutRunEvent extends java.lang.Object implements net.md_5.bungee.api.plugin.Listener, PacketOut
+Event Send Packet@@ -133,10 +134,14 @@ implements net.md_5.bungee.api.plugin.Listener,+ java.util.Map<java.lang.String,?> args) + PacketOutRunEvent(java.lang.Class<? extends SubEvent> event, - java.util.Map<java.lang.String,?> args)
New PacketOutRunEvent (Out)+- @@ -222,6 +227,11 @@ implements net.md_5.bungee.api.plugin.Listener,+ PacketOutRunEvent(SubPlugin plugin)
PacketOutRunEvent(SubPlugin plugin)
+New PacketOutRunEvent (Registerer)+PacketOutRunEvent
public PacketOutRunEvent(SubPlugin plugin)+New PacketOutRunEvent (Registerer)++
@@ -232,6 +242,12 @@ implements net.md_5.bungee.api.plugin.Listener, SubEvent> event, java.util.Map<java.lang.String,?> args)- Parameters:
+- +
plugin
-
event
- Event to be runargs
- Argumentspublic class PacketOutShutdown
extends java.lang.Object
implements PacketOut
+PacketOutShutdown(java.lang.String message)
PacketOutShutdown(java.lang.String message)
+public PacketOutShutdown(java.lang.String message)+
message
- Messagepublic class PacketStartServer
extends java.lang.Object
implements PacketIn, PacketOut
+PacketStartServer(int response,
java.lang.String message,
- java.lang.String id)
PacketStartServer(SubPlugin plugin)
PacketStartServer(SubPlugin plugin)
+public PacketStartServer(SubPlugin plugin)+
plugin
- SubPluginresponse
- Response IDmessage
- Messageid
- Receiver IDpublic class PacketStopServer
extends java.lang.Object
implements PacketIn, PacketOut
+PacketStopServer(int response,
java.lang.String message,
- java.lang.String id)
PacketStopServer(SubPlugin plugin)
PacketStopServer(SubPlugin plugin)
+public PacketStopServer(SubPlugin plugin)+
plugin
- SubPluginresponse
- Response IDmessage
- Messageid
- Receiver IDpublic class PacketTeleportPlayer
extends java.lang.Object
implements PacketIn, PacketOut
+PacketTeleportPlayer(int response,
java.lang.String message,
- java.lang.String id)
PacketTeleportPlayer(SubPlugin plugin)
PacketTeleportPlayer(SubPlugin plugin)
+public PacketTeleportPlayer(SubPlugin plugin)+
plugin
- SubPluginresponse
- Response IDmessage
- Messageid
- Receiver IDpublic interface PacketIn
public interface PacketOut
public final class SubDataServer
extends java.lang.Object
public final class SubAPI
extends java.lang.Object
public final class SubPlugin
extends net.md_5.bungee.BungeeCord
public class PacketAuthorization +public final class PacketAuthorization extends java.lang.Object implements PacketIn, PacketOut
diff --git a/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.html b/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.html index 8b6dc6c4..0a7e2da2 100644 --- a/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.html +++ b/Javadoc/SubServers.Client.Bukkit/net/ME1312/SubServers/Client/Bukkit/Network/Packet/PacketLinkServer.html @@ -111,7 +111,7 @@ var activeTableTab = "activeTableTab";
-public class PacketLinkServer +public final class PacketLinkServer extends java.lang.Object implements PacketIn, PacketOut
diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubAddServerEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubAddServerEvent.java index 94308fdf..69d914c0 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubAddServerEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubAddServerEvent.java @@ -8,6 +8,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Add Event + */ public class SubAddServerEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -28,6 +31,7 @@ public class SubAddServerEvent extends Event implements SubEvent, Cancellable { /** * Gets the Server to be Added + * * @return The Server to be Added */ public Server getServer() { return server; } @@ -43,12 +47,14 @@ public class SubAddServerEvent extends Event implements SubEvent, Cancellable { /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubCreateEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubCreateEvent.java index 347d72f1..967e5548 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubCreateEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubCreateEvent.java @@ -9,6 +9,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Create Event + */ public class SubCreateEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -123,12 +126,14 @@ public class SubCreateEvent extends Event implements SubEvent, Cancellable { /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.java index 656a26c9..51ea4d55 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubDataRecieveGenericInfoEvent.java @@ -5,6 +5,9 @@ import net.ME1312.SubServers.Bungee.Library.Version.Version; import net.md_5.bungee.api.plugin.Event; import org.json.JSONObject; +/** + * SubData Generic Info Event + */ public class SubDataRecieveGenericInfoEvent extends Event implements SubEvent{ private String handle; private Version version; diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.java index 1cee825b..d7ac1e05 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubRemoveServerEvent.java @@ -8,6 +8,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Remove Event + */ public class SubRemoveServerEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -15,7 +18,7 @@ public class SubRemoveServerEvent extends Event implements SubEvent, Cancellable private Server server; /** - * Server Add Event + * Server Remove Event * * @param player Player Adding Server * @param server Server Starting @@ -27,8 +30,8 @@ public class SubRemoveServerEvent extends Event implements SubEvent, Cancellable } /** - * Gets the Server to be Added - * @return The Server to be Added + * Gets the Server to be Removed + * @return The Server to be Removed */ public Server getServer() { return server; } @@ -43,12 +46,14 @@ public class SubRemoveServerEvent extends Event implements SubEvent, Cancellable /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.java index 26a6ccd8..8a727a24 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubSendCommandEvent.java @@ -7,6 +7,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Command Event + */ public class SubSendCommandEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -27,12 +30,14 @@ public class SubSendCommandEvent extends Event implements SubEvent, Cancellable /** * Gets the Server Effected + * * @return The Server Effected */ public SubServer getServer() { return server; } /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } @@ -57,6 +62,7 @@ public class SubSendCommandEvent extends Event implements SubEvent, Cancellable /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStartEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStartEvent.java index 826c76c5..d97daa3e 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStartEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStartEvent.java @@ -7,6 +7,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Start Event + */ public class SubStartEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -25,18 +28,21 @@ public class SubStartEvent extends Event implements SubEvent, Cancellable { /** * Gets the Server Effected + * * @return The Server Effected */ public SubServer getServer() { return server; } /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStopEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStopEvent.java index 08908444..d0127c6c 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStopEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStopEvent.java @@ -7,6 +7,9 @@ import net.md_5.bungee.api.plugin.Event; import java.util.UUID; +/** + * Server Stop Event + */ public class SubStopEvent extends Event implements SubEvent, Cancellable { private boolean cancelled = false; private UUID player; @@ -28,12 +31,14 @@ public class SubStopEvent extends Event implements SubEvent, Cancellable { /** * Gets the Server Effected + * * @return The Server Effected */ public SubServer getServer() { return server; } /** * Gets the player that triggered the Event + * * @return The Player that triggered this Event or null if Console */ public UUID getPlayer() { return player; } @@ -49,6 +54,7 @@ public class SubStopEvent extends Event implements SubEvent, Cancellable { /** * Gets the Cancelled Status + * * @return Cancelled Status */ public boolean isCancelled() { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.java index 0becbadc..c74698a7 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Event/SubStoppedEvent.java @@ -4,6 +4,9 @@ import net.ME1312.SubServers.Bungee.Host.SubServer; import net.ME1312.SubServers.Bungee.Library.SubEvent; import net.md_5.bungee.api.plugin.Event; +/** + * Server Shell Exit Event + */ public class SubStoppedEvent extends Event implements SubEvent { private SubServer server; @@ -18,6 +21,7 @@ public class SubStoppedEvent extends Event implements SubEvent { /** * Gets the Server Effected + * * @return The Server Effected */ public SubServer getServer() { return server; } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Executable.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Executable.java index 5a0225ea..e3e815b3 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Executable.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Executable.java @@ -5,8 +5,6 @@ import java.io.Serializable; /** * Executable Variable Class - * - * @author ME1312 */ @SuppressWarnings("serial") public class Executable implements Serializable { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java index b139eabc..d999dc59 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Host.java @@ -11,8 +11,6 @@ import java.util.UUID; /** * Host Layout Class - * - * @author ME1312 */ public abstract class Host { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java index 06812ee9..4f0656a5 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalHost.java @@ -16,6 +16,9 @@ import java.util.Map; import java.util.TreeMap; import java.util.UUID; +/** + * Internal Host Class + */ public class InternalHost extends Host { private HashMapservers = new HashMap (); private String name; @@ -25,6 +28,16 @@ public class InternalHost extends Host { private String directory; protected SubPlugin plugin; + /** + * Creates an Internal Host + * + * @param plugin Plugin + * @param name Name + * @param enabled Enabled Status + * @param address Address + * @param directory Directory + * @param gitBash Git Bash Location + */ public InternalHost(SubPlugin plugin, String name, Boolean enabled, InetAddress address, String directory, String gitBash) { super(plugin, name, enabled, address, directory, gitBash); this.plugin = plugin; diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java index efb16e14..35cd0222 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubCreator.java @@ -28,341 +28,26 @@ import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.UUID; +/** + * Internal SubCreator Class + */ public class InternalSubCreator extends SubCreator { private InternalHost host; private String gitBash; private Process process = null; private Thread thread = null; - public InternalSubCreator(Host host, String gitBash) { - this.host = (InternalHost) host; + /** + * Creates an Internal SubCreator + * + * @param host Host + * @param gitBash Git Bash + */ + public InternalSubCreator(InternalHost host, String gitBash) { + this.host = host; this.gitBash = gitBash; } - private void GenerateEULA(File dir) throws FileNotFoundException, UnsupportedEncodingException { - PrintWriter writer = new PrintWriter(new File(dir, "eula.txt"), "UTF-8"); - - writer.println("#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)."); - writer.println("#" + new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy").format(Calendar.getInstance().getTime())); - writer.println("eula=true"); - - writer.close(); - } - private void GenerateProperties(File dir, int port) throws FileNotFoundException, UnsupportedEncodingException { - PrintWriter writer = new PrintWriter(new File(dir, "server.properties"), "UTF-8"); - - writer.println("#Minecraft server properties"); - writer.println("#" + new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy").format(Calendar.getInstance().getTime())); - writer.println("generator-settings="); - writer.println("op-permission-level=4"); - writer.println("allow-nether=true"); - writer.println("resource-pack-hash="); - writer.println("level-name=world"); - writer.println("enable-query=true"); - writer.println("allow-flight=false"); - writer.println("announce-player-achievements=false"); - writer.println("server-port=" + port); - writer.println("max-world-size=29999984"); - writer.println("level-type=DEFAULT"); - writer.println("enable-rcon=false"); - writer.println("level-seed="); - writer.println("force-gamemode=false"); - writer.println("server-ip=" + host.getAddress().toString().substring(1)); - writer.println("network-compression-threshold=-1"); - writer.println("max-build-height=256"); - writer.println("spawn-npcs=true"); - writer.println("white-list=false"); - writer.println("spawn-animals=true"); - writer.println("snooper-enabled=true"); - writer.println("online-mode=false"); - writer.println("resource-pack="); - writer.println("pvp=true"); - writer.println("difficulty=1"); - writer.println("enable-command-block=true"); - writer.println("gamemode=0"); - writer.println("player-idle-timeout=0"); - writer.println("max-players=20"); - writer.println("max-tick-time=60000"); - writer.println("spawn-monsters=true"); - writer.println("generate-structures=true"); - writer.println("view-distance=10"); - writer.println("motd=A Generated SubServer"); - - writer.close(); - } - private void GenerateSpigotYAML(File dir) throws FileNotFoundException, UnsupportedEncodingException { - PrintWriter writer = new PrintWriter(new File(dir, "spigot.yml"), "UTF-8"); - - writer.println("# This is the main configuration file for Spigot."); - writer.println("# As you can see, there's tons to configure. Some options may impact gameplay, so use"); - writer.println("# with caution, and make sure you know what each option does before configuring."); - writer.println("# For a reference for any variable inside this file, check out the Spigot wiki at"); - writer.println("# http://www.spigotmc.org/wiki/spigot-configuration/"); - writer.println("#"); - writer.println("# If you need help with the configuration or have any questions related to Spigot,"); - writer.println("# join us at the IRC or drop by our forums and leave a post."); - writer.println("#"); - writer.println("# IRC: #spigot @ irc.spi.gt ( http://www.spigotmc.org/pages/irc/ )"); - writer.println("# Forums: http://www.spigotmc.org/"); - writer.println(); - writer.println("config-version: 8"); - writer.println("settings:"); - writer.println(" debug: false"); - writer.println(" save-user-cache-on-stop-only: false"); - writer.println(" bungeecord: true"); - writer.println(" late-bind: false"); - writer.println(" sample-count: 12"); - writer.println(" player-shuffle: 0"); - writer.println(" filter-creative-items: true"); - writer.println(" user-cache-size: 1000"); - writer.println(" int-cache-limit: 1024"); - writer.println(" moved-wrongly-threshold: 0.0625"); - writer.println(" moved-too-quickly-threshold: 100.0"); - writer.println(" timeout-time: 60"); - writer.println(" restart-on-crash: false"); - writer.println(" restart-script: ./start.sh"); - writer.println(" netty-threads: 4"); - writer.println(" attribute:"); - writer.println(" maxHealth:"); - writer.println(" max: 2048.0"); - writer.println(" movementSpeed:"); - writer.println(" max: 2048.0"); - writer.println(" attackDamage:"); - writer.println(" max: 2048.0"); - writer.println("commands:"); - writer.println(" tab-complete: 0"); - writer.println(" log: true"); - writer.println(" spam-exclusions:"); - writer.println(" - /skill"); - writer.println(" silent-commandblock-console: true"); - writer.println(" replace-commands:"); - writer.println(" - setblock"); - writer.println(" - summon"); - writer.println(" - testforblock"); - writer.println(" - tellraw"); - writer.println("messages:"); - writer.println(" whitelist: You are not whitelisted on this server!"); - writer.println(" unknown-command: Unknown command. Type \"/help\" for help."); - writer.println(" server-full: The server is full!"); - writer.println(" outdated-client: Outdated client! Please use {0}"); - writer.println(" outdated-server: Outdated server! I'm still on {0}"); - writer.println(" restart: Server is restarting"); - writer.println("stats:"); - writer.println(" disable-saving: false"); - writer.println(" forced-stats: {}"); - writer.println("world-settings:"); - writer.println(" default:"); - writer.println(" verbose: true"); - writer.println(" wither-spawn-sound-radius: 0"); - writer.println(" view-distance: 10"); - writer.println(" item-despawn-rate: 6000"); - writer.println(" merge-radius:"); - writer.println(" item: 2.5"); - writer.println(" exp: 3.0"); - writer.println(" arrow-despawn-rate: 1200"); - writer.println(" enable-zombie-pigmen-portal-spawns: true"); - writer.println(" zombie-aggressive-towards-villager: true"); - writer.println(" hanging-tick-frequency: 100"); - writer.println(" max-bulk-chunks: 10"); - writer.println(" max-entity-collisions: 8"); - writer.println(" random-light-updates: false"); - writer.println(" save-structure-info: true"); - writer.println(" mob-spawn-range: 4"); - writer.println(" anti-xray:"); - writer.println(" enabled: true"); - writer.println(" engine-mode: 1"); - writer.println(" hide-blocks:"); - writer.println(" - 14"); - writer.println(" - 15"); - writer.println(" - 16"); - writer.println(" - 21"); - writer.println(" - 48"); - writer.println(" - 49"); - writer.println(" - 54"); - writer.println(" - 56"); - writer.println(" - 73"); - writer.println(" - 74"); - writer.println(" - 82"); - writer.println(" - 129"); - writer.println(" - 130"); - writer.println(" replace-blocks:"); - writer.println(" - 1"); - writer.println(" - 5"); - writer.println(" dragon-death-sound-radius: 0"); - writer.println(" seed-village: 10387312"); - writer.println(" seed-feature: 14357617"); - writer.println(" hunger:"); - writer.println(" walk-exhaustion: 0.2"); - writer.println(" sprint-exhaustion: 0.8"); - writer.println(" combat-exhaustion: 0.3"); - writer.println(" regen-exhaustion: 3.0"); - writer.println(" max-tnt-per-tick: 100"); - writer.println(" max-tick-time:"); - writer.println(" tile: 50"); - writer.println(" entity: 50"); - writer.println(" entity-activation-range:"); - writer.println(" animals: 32"); - writer.println(" monsters: 32"); - writer.println(" misc: 16"); - writer.println(" entity-tracking-range:"); - writer.println(" players: 48"); - writer.println(" animals: 48"); - writer.println(" monsters: 48"); - writer.println(" misc: 32"); - writer.println(" other: 64"); - writer.println(" ticks-per:"); - writer.println(" hopper-transfer: 8"); - writer.println(" hopper-check: 8"); - writer.println(" hopper-amount: 1"); - writer.println(" growth:"); - writer.println(" cactus-modifier: 100"); - writer.println(" cane-modifier: 100"); - writer.println(" melon-modifier: 100"); - writer.println(" mushroom-modifier: 100"); - writer.println(" pumpkin-modifier: 100"); - writer.println(" sapling-modifier: 100"); - writer.println(" wheat-modifier: 100"); - writer.println(" netherwart-modifier: 100"); - writer.println(" nerf-spawner-mobs: false"); - writer.println(" chunks-per-tick: 650"); - writer.println(" clear-tick-list: false"); - writer.println(); - - writer.close(); - } - private void GenerateSpongeConf(File dir) throws FileNotFoundException, UnsupportedEncodingException { - new File(dir, "config" + File.separator + "sponge").mkdirs(); - PrintWriter writer = new PrintWriter(new File(dir, "config" + File.separator + "sponge" + File.separator + "global.conf"), "UTF-8"); - writer.println("# 1.0"); - writer.println("#"); - writer.println("# # If you need help with the configuration or have any questions related to Sponge,"); - writer.println("# # join us at the IRC or drop by our forums and leave a post."); - writer.println("#"); - writer.println("# # IRC: #sponge @ irc.esper.net ( http://webchat.esper.net/?channel=sponge )"); - writer.println("# # Forums: https://forums.spongepowered.org/"); - writer.println("#"); - writer.println(); - writer.println("sponge {"); - writer.println(" block-tracking {"); - writer.println(" # If enabled, adds player tracking support for block positions. Note: This should only be disabled if you do not care who caused a block to change."); - writer.println(" enabled=true"); - writer.println(" }"); - writer.println(" bungeecord {"); - writer.println(" # If enabled, allows BungeeCord to forward IP address, UUID, and Game Profile to this server"); - writer.println(" ip-forwarding=true"); - writer.println(" }"); - writer.println(" commands {}"); - writer.println(" debug {"); - writer.println(" # Dump chunks in the event of a deadlock"); - writer.println(" dump-chunks-on-deadlock=false"); - writer.println(" # Dump the heap in the event of a deadlock"); - writer.println(" dump-heap-on-deadlock=false"); - writer.println(" # Dump the server thread on deadlock warning"); - writer.println(" dump-threads-on-warn=false"); - writer.println(" # Enable Java's thread contention monitoring for thread dumps"); - writer.println(" thread-contention-monitoring=false"); - writer.println(" }"); - writer.println(" entity {"); - writer.println(" # Number of colliding entities in one spot before logging a warning. Set to 0 to disable"); - writer.println(" collision-warn-size=200"); - writer.println(" # Number of entities in one dimension before logging a warning. Set to 0 to disable"); - writer.println(" count-warn-size=0"); - writer.println(" # Number of ticks before a painting is respawned on clients when their art is changed"); - writer.println(" entity-painting-respawn-delay=2"); - writer.println(" # Number of ticks before the fake player entry of a human is removed from the tab list (range of 0 to 100 ticks)."); - writer.println(" human-player-list-remove-delay=10"); - writer.println(" # Controls the time in ticks for when an item despawns."); - writer.println(" item-despawn-rate=6000"); - writer.println(" # Max size of an entity's bounding box before removing it. Set to 0 to disable"); - writer.println(" max-bounding-box-size=1000"); - writer.println(" # Square of the max speed of an entity before removing it. Set to 0 to disable"); - writer.println(" max-speed=100"); - writer.println(" }"); - writer.println(" entity-activation-range {"); - writer.println(" ambient-activation-range=32"); - writer.println(" aquatic-activation-range=32"); - writer.println(" creature-activation-range=32"); - writer.println(" minecraft {"); - writer.println(" creature {"); - writer.println(" entityhorse=true"); - writer.println(" pig=true"); - writer.println(" sheep=true"); - writer.println(" }"); - writer.println(" enabled=true"); - writer.println(" misc {"); - writer.println(" item=true"); - writer.println(" minecartchest=true"); - writer.println(" }"); - writer.println(" monster {"); - writer.println(" guardian=true"); - writer.println(" }"); - writer.println(" }"); - writer.println(" misc-activation-range=16"); - writer.println(" monster-activation-range=32"); - writer.println(" }"); - writer.println(" general {"); - writer.println(" # Forces Chunk Loading on provide requests (speedup for mods that don't check if a chunk is loaded)"); - writer.println(" chunk-load-override=false"); - writer.println(" # Disable warning messages to server admins"); - writer.println(" disable-warnings=false"); - writer.println(" }"); - writer.println(" logging {"); - writer.println(" # Log when blocks are broken"); - writer.println(" block-break=false"); - writer.println(" # Log when blocks are modified"); - writer.println(" block-modify=false"); - writer.println(" # Log when blocks are placed"); - writer.println(" block-place=false"); - writer.println(" # Log when blocks are populated in a chunk"); - writer.println(" block-populate=false"); - writer.println(" # Log when blocks are placed by players and tracked"); - writer.println(" block-tracking=false"); - writer.println(" # Log when chunks are loaded"); - writer.println(" chunk-load=false"); - writer.println(" # Log when chunks are unloaded"); - writer.println(" chunk-unload=false"); - writer.println(" # Whether to log entity collision/count checks"); - writer.println(" entity-collision-checks=false"); - writer.println(" # Log when living entities are destroyed"); - writer.println(" entity-death=false"); - writer.println(" # Log when living entities are despawned"); - writer.println(" entity-despawn=false"); - writer.println(" # Log when living entities are spawned"); - writer.println(" entity-spawn=false"); - writer.println(" # Whether to log entity removals due to speed"); - writer.println(" entity-speed-removal=false"); - writer.println(" # Add stack traces to dev logging"); - writer.println(" log-stacktraces=false"); - writer.println(" }"); - writer.println(" modules {"); - writer.println(" bungeecord=true"); - writer.println(" entity-activation-range=true"); - writer.println(" timings=true"); - writer.println(" }"); - writer.println(" # Configuration options related to the Sql service, including connection aliases etc"); - writer.println(" sql {}"); - writer.println(" timings {"); - writer.println(" enabled=true"); - writer.println(" hidden-config-entries=["); - writer.println(" \"sponge.sql\""); - writer.println(" ]"); - writer.println(" history-interval=300"); - writer.println(" history-length=3600"); - writer.println(" server-name-privacy=false"); - writer.println(" verbose=false"); - writer.println(" }"); - writer.println(" world {"); - writer.println(" # Lava behaves like vanilla water when source block is removed"); - writer.println(" flowing-lava-decay=false"); - writer.println(" # Vanilla water source behavior - is infinite"); - writer.println(" infinite-water-source=false"); - writer.println(" }"); - writer.println("}"); - writer.println(); - - writer.close(); - - } private void run(UUID player, String name, ServerType type, Version version, int memory, int port) { Executable exec = null; @@ -374,16 +59,9 @@ public class InternalSubCreator extends SubCreator { exec = new Executable("java -Xmx" + memory + "M -Djline.terminal=jline.UnsupportedTerminal -Dcom.mojang.eula.agree=true -jar Spigot.jar"); try { - GenerateSpigotYAML(dir); - GenerateProperties(dir, port); - new UniversalFile(dir, "plugins:SubServers").mkdirs(); - Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/bukkit.jar", new UniversalFile(dir, "plugins:SubServers.Client.jar").getPath()); - Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/bukkit.yml", new UniversalFile(dir, "plugins:Subservers:config.yml").getPath()); - YAMLConfig config = new YAMLConfig(new UniversalFile(dir, "plugins:Subservers:config.yml")); - config.get().getSection("Settings").getSection("SubData").set("Name", name); - config.get().getSection("Settings").getSection("SubData").set("Address", host.plugin.config.get().getSection("Settings").getSection("SubData").getRawString("Address")); - config.get().getSection("Settings").getSection("SubData").set("Password", host.plugin.config.get().getSection("Settings").getSection("SubData").getRawString("Password")); - config.save(); + generateSpigotYAML(dir); + generateProperties(dir, port); + generateClient(dir, name, type); System.out.println(host.getName() + "/Creator > Copying Plugins..."); copyFolder(new UniversalFile(host.plugin.dir, "SubServers:Plugin Templates:Spigot Plugins"), new UniversalFile(dir, "plugins")); } catch (Exception e) { @@ -394,8 +72,8 @@ public class InternalSubCreator extends SubCreator { exec = new Executable("java -Xmx" + memory + "M -jar Vanilla.jar nogui"); try { - GenerateEULA(dir); - GenerateProperties(dir, port); + generateEULA(dir); + generateProperties(dir, port); } catch (FileNotFoundException | UnsupportedEncodingException e) { e.printStackTrace(); } @@ -405,9 +83,10 @@ public class InternalSubCreator extends SubCreator { new UniversalFile(dir, "config").mkdirs(); new UniversalFile(dir, "mods").mkdirs(); - GenerateEULA(dir); - GenerateProperties(dir, port); - GenerateSpongeConf(dir); + generateEULA(dir); + generateProperties(dir, port); + generateSpongeConf(dir); + generateClient(dir, name, type); System.out.println(host.getName() + "/Creator > Searching Versions..."); Document spongexml = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(Util.readAll(new BufferedReader(new InputStreamReader(new URL("http://files.minecraftforge.net/maven/org/spongepowered/spongeforge/maven-metadata.xml").openStream(), Charset.forName("UTF-8"))))))); @@ -572,6 +251,349 @@ public class InternalSubCreator extends SubCreator { return thread != null && thread.isAlive(); } + private void generateClient(File dir, String name, ServerType type) throws IOException { + if (type == ServerType.SPIGOT) { + new UniversalFile(dir, "plugins:SubServers").mkdirs(); + Util.copyFromJar(SubPlugin.class.getClassLoader(), "net/ME1312/SubServers/Bungee/Library/Files/bukkit.jar", new UniversalFile(dir, "plugins:SubServers.Client.jar").getPath()); + YAMLConfig config = new YAMLConfig(new UniversalFile(dir, "plugins:Subservers:config.yml")); + YAMLSection settings = new YAMLSection(); + settings.set("Version", "2.11.2a+"); + settings.set("Use-Title-Messages", true); + YAMLSection subdata = new YAMLSection(); + subdata.set("Name", name); + subdata.set("Address", host.plugin.config.get().getSection("Settings").getSection("SubData").getRawString("Address")); + subdata.set("Password", host.plugin.config.get().getSection("Settings").getSection("SubData").getRawString("Password")); + settings.set("SubData", subdata); + config.get().set("Settings", settings); + config.save(); + } else if (type == ServerType.SPONGE) { + // TODO + } + } + private void generateEULA(File dir) throws FileNotFoundException, UnsupportedEncodingException { + PrintWriter writer = new PrintWriter(new File(dir, "eula.txt"), "UTF-8"); + + writer.println("#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)."); + writer.println("#" + new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy").format(Calendar.getInstance().getTime())); + writer.println("eula=true"); + + writer.close(); + } + private void generateProperties(File dir, int port) throws FileNotFoundException, UnsupportedEncodingException { + PrintWriter writer = new PrintWriter(new File(dir, "server.properties"), "UTF-8"); + + writer.println("#Minecraft server properties"); + writer.println("#" + new SimpleDateFormat("EEE MMM d HH:mm:ss z yyyy").format(Calendar.getInstance().getTime())); + writer.println("generator-settings="); + writer.println("op-permission-level=4"); + writer.println("allow-nether=true"); + writer.println("resource-pack-hash="); + writer.println("level-name=world"); + writer.println("enable-query=true"); + writer.println("allow-flight=false"); + writer.println("announce-player-achievements=false"); + writer.println("server-port=" + port); + writer.println("max-world-size=29999984"); + writer.println("level-type=DEFAULT"); + writer.println("enable-rcon=false"); + writer.println("level-seed="); + writer.println("force-gamemode=false"); + writer.println("server-ip=" + host.getAddress().toString().substring(1)); + writer.println("network-compression-threshold=-1"); + writer.println("max-build-height=256"); + writer.println("spawn-npcs=true"); + writer.println("white-list=false"); + writer.println("spawn-animals=true"); + writer.println("snooper-enabled=true"); + writer.println("online-mode=false"); + writer.println("resource-pack="); + writer.println("pvp=true"); + writer.println("difficulty=1"); + writer.println("enable-command-block=true"); + writer.println("gamemode=0"); + writer.println("player-idle-timeout=0"); + writer.println("max-players=20"); + writer.println("max-tick-time=60000"); + writer.println("spawn-monsters=true"); + writer.println("generate-structures=true"); + writer.println("view-distance=10"); + writer.println("motd=A Generated SubServer"); + + writer.close(); + } + private void generateSpigotYAML(File dir) throws FileNotFoundException, UnsupportedEncodingException { + PrintWriter writer = new PrintWriter(new File(dir, "spigot.yml"), "UTF-8"); + + writer.println("# This is the main configuration file for Spigot."); + writer.println("# As you can see, there's tons to configure. Some options may impact gameplay, so use"); + writer.println("# with caution, and make sure you know what each option does before configuring."); + writer.println("# For a reference for any variable inside this file, check out the Spigot wiki at"); + writer.println("# http://www.spigotmc.org/wiki/spigot-configuration/"); + writer.println("#"); + writer.println("# If you need help with the configuration or have any questions related to Spigot,"); + writer.println("# join us at the IRC or drop by our forums and leave a post."); + writer.println("#"); + writer.println("# IRC: #spigot @ irc.spi.gt ( http://www.spigotmc.org/pages/irc/ )"); + writer.println("# Forums: http://www.spigotmc.org/"); + writer.println(); + writer.println("config-version: 8"); + writer.println("settings:"); + writer.println(" debug: false"); + writer.println(" save-user-cache-on-stop-only: false"); + writer.println(" bungeecord: true"); + writer.println(" late-bind: false"); + writer.println(" sample-count: 12"); + writer.println(" player-shuffle: 0"); + writer.println(" filter-creative-items: true"); + writer.println(" user-cache-size: 1000"); + writer.println(" int-cache-limit: 1024"); + writer.println(" moved-wrongly-threshold: 0.0625"); + writer.println(" moved-too-quickly-threshold: 100.0"); + writer.println(" timeout-time: 60"); + writer.println(" restart-on-crash: false"); + writer.println(" restart-script: ./start.sh"); + writer.println(" netty-threads: 4"); + writer.println(" attribute:"); + writer.println(" maxHealth:"); + writer.println(" max: 2048.0"); + writer.println(" movementSpeed:"); + writer.println(" max: 2048.0"); + writer.println(" attackDamage:"); + writer.println(" max: 2048.0"); + writer.println("commands:"); + writer.println(" tab-complete: 0"); + writer.println(" log: true"); + writer.println(" spam-exclusions:"); + writer.println(" - /skill"); + writer.println(" silent-commandblock-console: true"); + writer.println(" replace-commands:"); + writer.println(" - setblock"); + writer.println(" - summon"); + writer.println(" - testforblock"); + writer.println(" - tellraw"); + writer.println("messages:"); + writer.println(" whitelist: You are not whitelisted on this server!"); + writer.println(" unknown-command: Unknown command. Type \"/help\" for help."); + writer.println(" server-full: The server is full!"); + writer.println(" outdated-client: Outdated client! Please use {0}"); + writer.println(" outdated-server: Outdated server! I'm still on {0}"); + writer.println(" restart: Server is restarting"); + writer.println("stats:"); + writer.println(" disable-saving: false"); + writer.println(" forced-stats: {}"); + writer.println("world-settings:"); + writer.println(" default:"); + writer.println(" verbose: true"); + writer.println(" wither-spawn-sound-radius: 0"); + writer.println(" view-distance: 10"); + writer.println(" item-despawn-rate: 6000"); + writer.println(" merge-radius:"); + writer.println(" item: 2.5"); + writer.println(" exp: 3.0"); + writer.println(" arrow-despawn-rate: 1200"); + writer.println(" enable-zombie-pigmen-portal-spawns: true"); + writer.println(" zombie-aggressive-towards-villager: true"); + writer.println(" hanging-tick-frequency: 100"); + writer.println(" max-bulk-chunks: 10"); + writer.println(" max-entity-collisions: 8"); + writer.println(" random-light-updates: false"); + writer.println(" save-structure-info: true"); + writer.println(" mob-spawn-range: 4"); + writer.println(" anti-xray:"); + writer.println(" enabled: true"); + writer.println(" engine-mode: 1"); + writer.println(" hide-blocks:"); + writer.println(" - 14"); + writer.println(" - 15"); + writer.println(" - 16"); + writer.println(" - 21"); + writer.println(" - 48"); + writer.println(" - 49"); + writer.println(" - 54"); + writer.println(" - 56"); + writer.println(" - 73"); + writer.println(" - 74"); + writer.println(" - 82"); + writer.println(" - 129"); + writer.println(" - 130"); + writer.println(" replace-blocks:"); + writer.println(" - 1"); + writer.println(" - 5"); + writer.println(" dragon-death-sound-radius: 0"); + writer.println(" seed-village: 10387312"); + writer.println(" seed-feature: 14357617"); + writer.println(" hunger:"); + writer.println(" walk-exhaustion: 0.2"); + writer.println(" sprint-exhaustion: 0.8"); + writer.println(" combat-exhaustion: 0.3"); + writer.println(" regen-exhaustion: 3.0"); + writer.println(" max-tnt-per-tick: 100"); + writer.println(" max-tick-time:"); + writer.println(" tile: 50"); + writer.println(" entity: 50"); + writer.println(" entity-activation-range:"); + writer.println(" animals: 32"); + writer.println(" monsters: 32"); + writer.println(" misc: 16"); + writer.println(" entity-tracking-range:"); + writer.println(" players: 48"); + writer.println(" animals: 48"); + writer.println(" monsters: 48"); + writer.println(" misc: 32"); + writer.println(" other: 64"); + writer.println(" ticks-per:"); + writer.println(" hopper-transfer: 8"); + writer.println(" hopper-check: 8"); + writer.println(" hopper-amount: 1"); + writer.println(" growth:"); + writer.println(" cactus-modifier: 100"); + writer.println(" cane-modifier: 100"); + writer.println(" melon-modifier: 100"); + writer.println(" mushroom-modifier: 100"); + writer.println(" pumpkin-modifier: 100"); + writer.println(" sapling-modifier: 100"); + writer.println(" wheat-modifier: 100"); + writer.println(" netherwart-modifier: 100"); + writer.println(" nerf-spawner-mobs: false"); + writer.println(" chunks-per-tick: 650"); + writer.println(" clear-tick-list: false"); + writer.println(); + + writer.close(); + } + private void generateSpongeConf(File dir) throws FileNotFoundException, UnsupportedEncodingException { + new File(dir, "config" + File.separator + "sponge").mkdirs(); + PrintWriter writer = new PrintWriter(new File(dir, "config" + File.separator + "sponge" + File.separator + "global.conf"), "UTF-8"); + writer.println("# 1.0"); + writer.println("#"); + writer.println("# # If you need help with the configuration or have any questions related to Sponge,"); + writer.println("# # join us at the IRC or drop by our forums and leave a post."); + writer.println("#"); + writer.println("# # IRC: #sponge @ irc.esper.net ( http://webchat.esper.net/?channel=sponge )"); + writer.println("# # Forums: https://forums.spongepowered.org/"); + writer.println("#"); + writer.println(); + writer.println("sponge {"); + writer.println(" block-tracking {"); + writer.println(" # If enabled, adds player tracking support for block positions. Note: This should only be disabled if you do not care who caused a block to change."); + writer.println(" enabled=true"); + writer.println(" }"); + writer.println(" bungeecord {"); + writer.println(" # If enabled, allows BungeeCord to forward IP address, UUID, and Game Profile to this server"); + writer.println(" ip-forwarding=true"); + writer.println(" }"); + writer.println(" commands {}"); + writer.println(" debug {"); + writer.println(" # Dump chunks in the event of a deadlock"); + writer.println(" dump-chunks-on-deadlock=false"); + writer.println(" # Dump the heap in the event of a deadlock"); + writer.println(" dump-heap-on-deadlock=false"); + writer.println(" # Dump the server thread on deadlock warning"); + writer.println(" dump-threads-on-warn=false"); + writer.println(" # Enable Java's thread contention monitoring for thread dumps"); + writer.println(" thread-contention-monitoring=false"); + writer.println(" }"); + writer.println(" entity {"); + writer.println(" # Number of colliding entities in one spot before logging a warning. Set to 0 to disable"); + writer.println(" collision-warn-size=200"); + writer.println(" # Number of entities in one dimension before logging a warning. Set to 0 to disable"); + writer.println(" count-warn-size=0"); + writer.println(" # Number of ticks before a painting is respawned on clients when their art is changed"); + writer.println(" entity-painting-respawn-delay=2"); + writer.println(" # Number of ticks before the fake player entry of a human is removed from the tab list (range of 0 to 100 ticks)."); + writer.println(" human-player-list-remove-delay=10"); + writer.println(" # Controls the time in ticks for when an item despawns."); + writer.println(" item-despawn-rate=6000"); + writer.println(" # Max size of an entity's bounding box before removing it. Set to 0 to disable"); + writer.println(" max-bounding-box-size=1000"); + writer.println(" # Square of the max speed of an entity before removing it. Set to 0 to disable"); + writer.println(" max-speed=100"); + writer.println(" }"); + writer.println(" entity-activation-range {"); + writer.println(" ambient-activation-range=32"); + writer.println(" aquatic-activation-range=32"); + writer.println(" creature-activation-range=32"); + writer.println(" minecraft {"); + writer.println(" creature {"); + writer.println(" entityhorse=true"); + writer.println(" pig=true"); + writer.println(" sheep=true"); + writer.println(" }"); + writer.println(" enabled=true"); + writer.println(" misc {"); + writer.println(" item=true"); + writer.println(" minecartchest=true"); + writer.println(" }"); + writer.println(" monster {"); + writer.println(" guardian=true"); + writer.println(" }"); + writer.println(" }"); + writer.println(" misc-activation-range=16"); + writer.println(" monster-activation-range=32"); + writer.println(" }"); + writer.println(" general {"); + writer.println(" # Forces Chunk Loading on provide requests (speedup for mods that don't check if a chunk is loaded)"); + writer.println(" chunk-load-override=false"); + writer.println(" # Disable warning messages to server admins"); + writer.println(" disable-warnings=false"); + writer.println(" }"); + writer.println(" logging {"); + writer.println(" # Log when blocks are broken"); + writer.println(" block-break=false"); + writer.println(" # Log when blocks are modified"); + writer.println(" block-modify=false"); + writer.println(" # Log when blocks are placed"); + writer.println(" block-place=false"); + writer.println(" # Log when blocks are populated in a chunk"); + writer.println(" block-populate=false"); + writer.println(" # Log when blocks are placed by players and tracked"); + writer.println(" block-tracking=false"); + writer.println(" # Log when chunks are loaded"); + writer.println(" chunk-load=false"); + writer.println(" # Log when chunks are unloaded"); + writer.println(" chunk-unload=false"); + writer.println(" # Whether to log entity collision/count checks"); + writer.println(" entity-collision-checks=false"); + writer.println(" # Log when living entities are destroyed"); + writer.println(" entity-death=false"); + writer.println(" # Log when living entities are despawned"); + writer.println(" entity-despawn=false"); + writer.println(" # Log when living entities are spawned"); + writer.println(" entity-spawn=false"); + writer.println(" # Whether to log entity removals due to speed"); + writer.println(" entity-speed-removal=false"); + writer.println(" # Add stack traces to dev logging"); + writer.println(" log-stacktraces=false"); + writer.println(" }"); + writer.println(" modules {"); + writer.println(" bungeecord=true"); + writer.println(" entity-activation-range=true"); + writer.println(" timings=true"); + writer.println(" }"); + writer.println(" # Configuration options related to the Sql service, including connection aliases etc"); + writer.println(" sql {}"); + writer.println(" timings {"); + writer.println(" enabled=true"); + writer.println(" hidden-config-entries=["); + writer.println(" \"sponge.sql\""); + writer.println(" ]"); + writer.println(" history-interval=300"); + writer.println(" history-length=3600"); + writer.println(" server-name-privacy=false"); + writer.println(" verbose=false"); + writer.println(" }"); + writer.println(" world {"); + writer.println(" # Lava behaves like vanilla water when source block is removed"); + writer.println(" flowing-lava-decay=false"); + writer.println(" # Vanilla water source behavior - is infinite"); + writer.println(" infinite-water-source=false"); + writer.println(" }"); + writer.println("}"); + writer.println(); + + writer.close(); + + } private void copyFolder(File source, File destination) { if (source.isDirectory()) { if (!destination.exists()) { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java index 1aa986d9..5e3afbf2 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubLogger.java @@ -7,125 +7,125 @@ import java.io.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +/** + * Internal Process Logger Class + */ public class InternalSubLogger { private Process process; private String name; private Container log; + private File file; private PrintWriter writer = null; private boolean started = false; + private Thread out = null; + private Thread err = null; - InternalSubLogger(Process process, String name, Container log, File file) { + /** + * Creates a new Internal Process Logger + * + * @param process Process + * @param name Prefix + * @param log Console Logging Status + * @param file File to log to (or null for disabled) + */ + public InternalSubLogger(Process process, String name, Container log, File file) { this.process = process; this.name = name; this.log = log; - if (file != null) + this.file = file; + } + + /** + * Start the Logger + */ + public void start() { + started = true; + if (file != null && writer == null) { try { this.writer = new PrintWriter(file, "UTF-8"); + this.writer.println("---------- LOG START \u2014 " + name + " ----------"); + this.writer.flush(); } catch (UnsupportedEncodingException | FileNotFoundException e) { e.printStackTrace(); } - } - - public void start() { - started = true; - if (writer != null) { - this.writer.println("---------- LOG START: " + name + " ----------"); - this.writer.flush(); } - new Thread(() -> { - try { - BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream())); - String line = null; - while ((line = br.readLine()) != null) { - if (!line.startsWith(">")) { - if (log.get()) { - String msg = line; - // REGEX Formatting - String type = "INFO"; - Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)").matcher(msg); - while (matcher.find()) { - type = matcher.group(3).toUpperCase(); - } - - msg = msg.replaceAll("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)", ""); - - switch (type) { - case "INFO": - case "MESSAGE": - ProxyServer.getInstance().getLogger().info(name + " > " + msg); - break; - case "WARNING": - case "WARN": - ProxyServer.getInstance().getLogger().warning(name + " > " + msg); - break; - case "SEVERE": - case "ERROR": - case "ERR": - ProxyServer.getInstance().getLogger().severe(name + " > " + msg); - break; - } - } - if (writer != null) { - writer.println(line); - writer.flush(); - } - } - } - } catch (IOException e) {} finally { - stop(); - } - }).start(); - new Thread(() -> { - try { - BufferedReader br = new BufferedReader(new InputStreamReader(process.getErrorStream())); - String line; - while ((line = br.readLine()) != null) { - if (!line.startsWith(">")) { - if (log.get()) { - String msg = line; - // REGEX Formatting - String type = "INFO"; - Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)").matcher(msg); - while (matcher.find()) { - type = matcher.group(3).toUpperCase(); - } - - msg = msg.replaceAll("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)", ""); - - switch (type) { - case "INFO": - case "MESSAGE": - ProxyServer.getInstance().getLogger().info(name + " > " + msg); - break; - case "WARNING": - case "WARN": - ProxyServer.getInstance().getLogger().warning(name + " > " + msg); - break; - case "SEVERE": - case "ERROR": - case "ERR": - ProxyServer.getInstance().getLogger().severe(name + " > " + msg); - break; - } - } - if (writer != null) { - writer.println(line); - writer.flush(); - } - } - } - } catch (IOException e) {} finally { - stop(); - } - }).start(); + if (out == null) (out = new Thread(() -> start(process.getInputStream(), false))).start(); + if (err == null) (err = new Thread(() -> start(process.getErrorStream(), true))).start(); } - private void stop() { + private void start(InputStream in, boolean isErr) { + try { + BufferedReader br = new BufferedReader(new InputStreamReader(in)); + String line; + while ((line = br.readLine()) != null) { + if (!line.startsWith(">")) { + if (log.get()) { + String msg = line; + + // REGEX Formatting + String type = "INFO"; + Matcher matcher = Pattern.compile("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)").matcher(msg); + while (matcher.find()) { + type = matcher.group(3).toUpperCase(); + } + + msg = msg.replaceAll("^((?:\\s*\\[?([0-9]{2}:[0-9]{2}:[0-9]{2})]?)?[\\s\\/\\\\\\|]*(?:\\[|\\[.*\\/)?(MESSAGE|INFO|WARN|WARNING|ERROR|ERR|SEVERE)\\]?:?\\s*)", ""); + + // Determine LOG LEVEL + switch (type) { + case "INFO": + case "MESSAGE": + ProxyServer.getInstance().getLogger().info(name + " > " + msg); + break; + case "WARNING": + case "WARN": + ProxyServer.getInstance().getLogger().warning(name + " > " + msg); + break; + case "SEVERE": + case "ERROR": + case "ERR": + ProxyServer.getInstance().getLogger().severe(name + " > " + msg); + break; + } + } + + // Log to FILE + if (writer != null) { + writer.println(line); + writer.flush(); + } + } + } + } catch (IOException e) {} finally { + if (isErr) { + err = null; + } else { + out = null; + } + + destroy(); + } + } + + /** + * Stop the Logger + */ + public void stop() { + if (out != null) out.interrupt(); + if (err != null) err.interrupt(); + destroy(); + } + + private void destroy() { if (started) { started = false; if (writer != null) { - writer.println("---------- END LOG ----------"); + int l = (int) Math.floor((("---------- LOG START \u2014 " + name + " ----------").length() - 9) / 2); + String s = ""; + while (s.length() < l) s += '-'; + writer.println(s + " LOG END " + s); writer.close(); + writer = null; } } } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java index 787e06c0..dc983890 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Internal/InternalSubServer.java @@ -6,7 +6,6 @@ import net.ME1312.SubServers.Bungee.Library.Container; import net.ME1312.SubServers.Bungee.Library.Exception.InvalidServerException; import net.ME1312.SubServers.Bungee.Host.Host; import net.ME1312.SubServers.Bungee.Host.SubServer; -import net.ME1312.SubServers.Bungee.Library.NamedContainer; import java.io.BufferedWriter; import java.io.File; @@ -14,6 +13,9 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.util.UUID; +/** + * Internal SubServer Class + */ public class InternalSubServer extends SubServer { private InternalHost host; private boolean enabled; @@ -29,9 +31,28 @@ public class InternalSubServer extends SubServer { private boolean allowrestart; private boolean temporary; - public InternalSubServer(Host host, String name, boolean enabled, int port, String motd, boolean log, String directory, Executable executable, String stopcmd, boolean start, boolean restart, boolean hidden, boolean restricted, boolean temporary) throws InvalidServerException { + /** + * Creates an Internal SubServer + * + * @param host Host + * @param name Name + * @param enabled Enabled Status + * @param port Port Number + * @param motd MOTD + * @param log Logging Status + * @param directory Directory + * @param executable Executable String + * @param stopcmd Stop Command + * @param start Auto-Start + * @param restart Auto-Restart + * @param hidden Hidden Status + * @param restricted Restricted Status + * @param temporary Temporary Status + * @throws InvalidServerException + */ + public InternalSubServer(InternalHost host, String name, boolean enabled, int port, String motd, boolean log, String directory, Executable executable, String stopcmd, boolean start, boolean restart, boolean hidden, boolean restricted, boolean temporary) throws InvalidServerException { super(host, name, port, motd, hidden, restricted); - this.host = (InternalHost) host; + this.host = host; this.enabled = enabled; this.log = new Container (log); this.dir = directory; diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Server.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Server.java index b3a28e07..394f3151 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Server.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/Server.java @@ -1,19 +1,21 @@ package net.ME1312.SubServers.Bungee.Host; +import net.ME1312.SubServers.Bungee.Library.Config.YAMLSection; +import net.ME1312.SubServers.Bungee.Library.Config.YAMLValue; import net.ME1312.SubServers.Bungee.Library.Exception.InvalidServerException; import net.ME1312.SubServers.Bungee.Network.Client; import net.ME1312.SubServers.Bungee.Network.ClientHandler; import net.md_5.bungee.BungeeServerInfo; import net.md_5.bungee.api.ChatColor; +import org.json.JSONObject; import java.net.InetSocketAddress; /** * Server Class - * - * @author ME1312 */ public class Server extends BungeeServerInfo implements ClientHandler { + private YAMLSection extra = new YAMLSection(); private Client client = null; private String motd; private boolean restricted; @@ -97,4 +99,43 @@ public class Server extends BungeeServerInfo implements ClientHandler { public void setRestricted(boolean value) { this.restricted = value; } + + /** + * Add an extra value to this Server + * + * @param key Key + * @param value Value + */ + public void addExtra(String key, Object value) { + extra.set(key, value); + } + + /** + * Determine if an extra value exists + * + * @param key Key + * @return Value Status + */ + public boolean hasExtra(String key) { + return extra.getKeys().contains(key); + } + + /** + * Get an extra value + * + * @param key Key + * @return Value + */ + public YAMLValue getExtra(String key) { + return extra.get(key); + } + + /** + * Get all of the extra values + * + * @return JSON Formatted Extra Values + */ + public JSONObject getExtra() { + return extra.toJSON(); + } } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubCreator.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubCreator.java index e8f605fd..92f9534f 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubCreator.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubCreator.java @@ -6,8 +6,6 @@ import java.util.UUID; /** * SubCreator Layout Class - * - * @author ME1312 */ public abstract class SubCreator { public enum ServerType { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java index 7c763dc2..2c9dd0f6 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Host/SubServer.java @@ -8,8 +8,6 @@ import java.util.UUID; /** * SubServer Layout Class - * - * @author ME1312 */ public abstract class SubServer extends Server { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Launch.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Launch.java index e9a46f23..fad15266 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Launch.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Launch.java @@ -14,8 +14,6 @@ import net.md_5.bungee.command.ConsoleCommandSender; /** * SubServers/BungeeCord Class - * - * @author ME1312 */ public final class Launch { diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.java index 012128dd..1e5743be 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLConfig.java @@ -11,12 +11,22 @@ import java.io.FileWriter; import java.io.IOException; import java.util.Map; +/** + * YAML Config Class + */ @SuppressWarnings("unused") public class YAMLConfig { private File file; private Yaml yaml; private YAMLSection config; + /** + * Creates/Loads a YAML Formatted Config + * + * @param file + * @throws IOException + * @throws YAMLException + */ @SuppressWarnings("unchecked") public YAMLConfig(File file) throws IOException, YAMLException { if (file.exists()) { @@ -26,19 +36,39 @@ public class YAMLConfig { } } + /** + * Get Config Contents + * + * @return Config Contents + */ public YAMLSection get() { return config; } - public void set(YAMLSection yaml) { - config = yaml; + /** + * Set Config Contents + * + * @param value Value + */ + public void set(YAMLSection value) { + config = value; } + /** + * Reload Config Contents + * + * @throws IOException + */ @SuppressWarnings("unchecked") public void reload() throws IOException { config = new YAMLSection((Map ) yaml.load(new FileInputStream(file)), null, null, yaml); } + /** + * Save Config Contents + * + * @throws IOException + */ public void save() throws IOException { FileWriter writer = new FileWriter(file); yaml.dump(config.map, writer); @@ -50,6 +80,11 @@ public class YAMLConfig { return yaml.dump(config.map); } + /** + * Converts Config Contents to JSON + * + * @return JSON Formatted Config Contents + */ public JSONObject toJSON() { return new JSONObject(config.map); } diff --git a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java index 24721359..f4ef7d67 100644 --- a/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java +++ b/SubServers.Bungee/src/net/ME1312/SubServers/Bungee/Library/Config/YAMLSection.java @@ -2,6 +2,7 @@ package net.ME1312.SubServers.Bungee.Library.Config; import net.ME1312.SubServers.Bungee.Library.Util; import net.md_5.bungee.api.ChatColor; +import org.json.JSONArray; import org.json.JSONObject; import org.yaml.snakeyaml.Yaml; import org.yaml.snakeyaml.error.YAMLException; @@ -10,38 +11,67 @@ import java.io.InputStream; import java.io.Reader; import java.util.*; +/** + * YAML Config Section Class + */ @SuppressWarnings({"unchecked", "unused"}) public class YAMLSection { protected Map map; - protected String label = null; + protected String handle = null; protected YAMLSection up = null; private Yaml yaml; + /** + * Creates an empty YAML Section + */ public YAMLSection() { this.map = new HashMap<>(); this.yaml = new Yaml(YAMLConfig.getDumperOptions()); } + /** + * Creates a YAML Section from an Input Stream + * + * @param io Input Stream + * @throws YAMLException + */ public YAMLSection(InputStream io) throws YAMLException { this.map = (Map ) (this.yaml = new Yaml(YAMLConfig.getDumperOptions())).load(io); } + /** + * Creates a YAML Section from a Reader + * + * @param reader Reader + * @throws YAMLException + */ public YAMLSection(Reader reader) throws YAMLException { this.map = (Map ) (this.yaml = new Yaml(YAMLConfig.getDumperOptions())).load(reader); } + /** + * Creates a YAML Section from JSON Contents + * + * @param json JSON + */ public YAMLSection(JSONObject json) { this.map = (Map ) (this.yaml = new Yaml(YAMLConfig.getDumperOptions())).load(json.toString(4)); } + /** + * Creates a YAML Section from String + * + * @param yaml String + * @throws YAMLException + */ public YAMLSection(String yaml) throws YAMLException { this.map = (Map ) (this.yaml = new Yaml(YAMLConfig.getDumperOptions())).load(yaml); } - protected YAMLSection(Map map, YAMLSection up, String label, Yaml yaml) { + protected YAMLSection(Map map, YAMLSection up, String handle, Yaml yaml) { this.map = new HashMap (); this.yaml = yaml; - this.label = label; + this.handle = handle; this.up = up; if (map != null) { @@ -51,11 +81,21 @@ public class YAMLSection { } } + /** + * Get the Keys + * + * @return KeySet + */ public Set getKeys() { return map.keySet(); } + /** + * Get the Values + * + * @return Values + */ public Collection getValues() { List values = new ArrayList (); for (String value : map.keySet()) { @@ -64,56 +104,101 @@ public class YAMLSection { return values; } - public boolean contains(String label) { - return map.keySet().contains(label); + /** + * Check if a Handle exists + * + * @param handle Handle + * @return if that handle exists + */ + public boolean contains(String handle) { + return map.keySet().contains(handle); } - public void remove(String label) { - map.remove(label); + /** + * Remove an Object by Handle + * + * @param handle Handle + */ + public void remove(String handle) { + map.remove(handle); - if (this.label != null && this.up != null) { - this.up.set(this.label, this); + if (this.handle != null && this.up != null) { + this.up.set(this.handle, this); } } + /** + * Remove all Objects from this YAML Section + */ public void clear() { map.clear(); } - public void set(String label, Object value) { - if (value instanceof YAMLConfig) { // YAML Handler Values - ((YAMLConfig) value).get().up = this; - ((YAMLConfig) value).get().label = label; - map.put(label, ((YAMLConfig) value).get().map); - } else if (value instanceof YAMLSection) { - ((YAMLSection) value).up = this; - ((YAMLSection) value).label = label; - map.put(label, ((YAMLSection) value).map); - } else if (value instanceof YAMLValue) { - map.put(label, ((YAMLValue) value).asObject()); - } else if (value instanceof UUID) { - map.put(label, ((UUID) value).toString()); - } else { - map.put(label, value); + /** + * Set Object into this YAML Section + * + * @param handle Handle + * @param value Value + */ + public void set(String handle, Object value) { + if (value instanceof JSONObject) { // JSON Values + value = new YAMLSection((JSONObject) value); } - if (this.label != null && this.up != null) { - this.up.set(this.label, this); + if (value instanceof YAMLConfig) { // YAML Wrapper Values + ((YAMLConfig) value).get().up = this; + ((YAMLConfig) value).get().handle = handle; + map.put(handle, ((YAMLConfig) value).get().map); + } else if (value instanceof YAMLSection) { + ((YAMLSection) value).up = this; + ((YAMLSection) value).handle = handle; + map.put(handle, ((YAMLSection) value).map); + } else if (value instanceof YAMLValue) { + map.put(handle, ((YAMLValue) value).asObject()); + } else if (value instanceof UUID) { // Other Values YAML Doesn't Understand + map.put(handle, ((UUID) value).toString()); + } else if (value instanceof JSONArray) { + List