2016-12-24 05:55:17 +01:00
|
|
|
package net.ME1312.SubServers.Bungee.Host;
|
2016-12-05 04:21:04 +01:00
|
|
|
|
2016-12-24 05:55:17 +01:00
|
|
|
import net.ME1312.SubServers.Bungee.Library.Version.Version;
|
2016-12-05 04:21:04 +01:00
|
|
|
|
|
|
|
import java.util.UUID;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* SubCreator Layout Class
|
|
|
|
*
|
|
|
|
* @author ME1312
|
|
|
|
*/
|
|
|
|
public abstract class SubCreator {
|
|
|
|
public enum ServerType {
|
|
|
|
SPIGOT,
|
|
|
|
VANILLA,
|
|
|
|
SPONGE,
|
|
|
|
}
|
|
|
|
|
2016-12-28 01:15:36 +01:00
|
|
|
/**
|
|
|
|
* Create a SubServer
|
|
|
|
*
|
|
|
|
* @param player Player Creating
|
|
|
|
* @param name Server Name
|
|
|
|
* @param type Server Type
|
|
|
|
* @param version Server Version
|
|
|
|
* @param memory Server Memory Amount (in MB)
|
|
|
|
* @param port Server Port Number
|
|
|
|
* @return Success Status
|
|
|
|
*/
|
2016-12-19 01:38:02 +01:00
|
|
|
public abstract boolean create(UUID player, String name, ServerType type, Version version, int memory, int port);
|
2016-12-28 01:15:36 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Create a SubServer
|
|
|
|
*
|
|
|
|
* @param name Server Name
|
|
|
|
* @param type Server Type
|
|
|
|
* @param version Server Version
|
|
|
|
* @param memory Server Memory Amount (in MB)
|
|
|
|
* @param port Server Port Number
|
|
|
|
* @return Success Status
|
|
|
|
*/
|
2016-12-19 01:38:02 +01:00
|
|
|
public boolean create(String name, ServerType type, Version version, int memory, int port) {
|
|
|
|
return create(null, name, type, version, memory, port);
|
2016-12-05 04:21:04 +01:00
|
|
|
}
|
|
|
|
|
2016-12-28 01:15:36 +01:00
|
|
|
/**
|
|
|
|
* Terminate SubCreator
|
|
|
|
*/
|
|
|
|
public abstract void terminate();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Wait for SubCreator to Finish
|
|
|
|
*
|
|
|
|
* @throws InterruptedException
|
|
|
|
*/
|
2016-12-05 04:21:04 +01:00
|
|
|
public abstract void waitFor() throws InterruptedException;
|
|
|
|
|
2016-12-28 01:15:36 +01:00
|
|
|
/**
|
|
|
|
* Gets the host this creator belongs to
|
|
|
|
*
|
|
|
|
* @return Host
|
|
|
|
*/
|
2016-12-05 04:21:04 +01:00
|
|
|
public abstract Host getHost();
|
|
|
|
|
2016-12-28 01:15:36 +01:00
|
|
|
/**
|
|
|
|
* Gets the Git Bash install directory
|
|
|
|
*
|
|
|
|
* @return Git Bash Directory
|
|
|
|
*/
|
2016-12-15 22:04:39 +01:00
|
|
|
public abstract String getGitBashDirectory();
|
|
|
|
|
2016-12-28 01:15:36 +01:00
|
|
|
/**
|
|
|
|
* Gets the status of SubCreator
|
|
|
|
*
|
|
|
|
* @return SubCreator Status
|
|
|
|
*/
|
2016-12-05 04:21:04 +01:00
|
|
|
public abstract boolean isBusy();
|
|
|
|
}
|