# SubAPI (SubServers.Sync)

net.ME1312.SubServers.Sync

## Class SubAPI

- java.lang.Object
- - net.ME1312.SubServers.Sync.SubAPI

    public final class SubAPI
    extends java.lang.Object

SubAPI Class

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
`void` `addListener(java.lang.Runnable enable, java.lang.Runnable disable)` Adds a SubAPI Listener
`Version` `getBetaVersion()` Gets the SubServers.Sync Beta Version
`Version` `getGameVersion()` Gets the Recommended Minecraft Version
`static SubAPI` `getInstance()` Gets the SubAPI Methods
`SubPlugin` `getInternals()` Deprecated. Use SubAPI Methods when available
`java.util.Map<java.lang.String,java.lang.String>` `getLang()` Gets the SubServers Lang
`java.lang.String` `getLang(java.lang.String key)` Gets a value from the SubServers Lang
`Version` `getProxyVersion()` Gets the BungeeCord Version
`UniversalFile` `getRuntimeDirectory()` Gets the Runtime Directory
`Server` `getServer(java.lang.String name)` Gets a Server
`java.util.Map<java.lang.String,Server>` `getServers()` Gets the Servers (including SubServers)
`SubDataClient` `getSubDataNetwork()` Gets the SubData Network Manager
`Version` `getWrapperVersion()` Gets the SubServers.Sync Version

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### getInstance

    public static SubAPI getInstance()

Gets the SubAPI Methods

Returns:
  SubAPI

#### getInternals

    @Deprecated
    public SubPlugin getInternals()

Deprecated. Use SubAPI Methods when available
Gets the SubServers Internals

Returns:
  SubPlugin Internals

#### addListener

    public void addListener(java.lang.Runnable enable,
                            java.lang.Runnable disable)

Adds a SubAPI Listener

Parameters:
  `enable` - An Event that will be called when SubAPI is ready
  `disable` - An Event that will be called before SubAPI is disabled

#### getSubDataNetwork

    public SubDataClient getSubDataNetwork()

Gets the SubData Network Manager

Returns:
  SubData Network Manager

#### getServers

    public java.util.Map<java.lang.String,Server> getServers()

Gets the Servers (including SubServers)

Returns:
  Server Map

#### getServer

    public Server getServer(java.lang.String name)

Gets a Server

Parameters:
  `name` - Server name
Returns:
  a Server

#### getLang

    public java.lang.String getLang(java.lang.String key)

Gets a value from the SubServers Lang

Parameters:
  `key` - Key
Returns:
  Lang Value

#### getLang

    public java.util.Map<java.lang.String,java.lang.String> getLang()

Gets the SubServers Lang

Returns:
  SubServers Lang

#### getRuntimeDirectory

    public UniversalFile getRuntimeDirectory()

Gets the Runtime Directory

Returns:
  Directory

#### getBetaVersion

    public Version getBetaVersion()

Gets the SubServers.Sync Beta Version

Returns:
  SubServers.Sync Beta Version (or null if this is a release version)

#### getWrapperVersion

    public Version getWrapperVersion()

Gets the SubServers.Sync Version

Returns:
  SubServers.Sync Version

#### getProxyVersion

    public Version getProxyVersion()

Gets the BungeeCord Version

Returns:
  BungeeCord Version

#### getGameVersion

    public Version getGameVersion()

Gets the Recommended Minecraft Version

Returns:
  Minecraft Version