2020-02-12 21:30:36 +01:00
|
|
|
package net.knarcraft.minecraftserverlauncher.profile;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2020-02-12 21:30:36 +01:00
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.ServerTab;
|
|
|
|
import net.knarcraft.minecraftserverlauncher.server.Server;
|
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.ServerConsoles;
|
|
|
|
import net.knarcraft.minecraftserverlauncher.userinterface.Console;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2018-01-31 23:20:33 +01:00
|
|
|
/**
|
|
|
|
* Acts as a wrapper for objects necessary for each server.
|
2018-02-22 14:12:42 +01:00
|
|
|
*
|
|
|
|
* @author Kristian Knarvik <kristian.knarvik@knett.no>
|
|
|
|
* @version 1.0.0
|
|
|
|
* @since 1.0.0
|
2018-01-31 23:20:33 +01:00
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public class Collection {
|
2018-01-31 21:24:54 +01:00
|
|
|
private final Server server;
|
|
|
|
private final ServerTab serverTab;
|
|
|
|
private final Console serverConsole;
|
2018-01-31 23:20:33 +01:00
|
|
|
private final String name;
|
2018-01-31 17:40:28 +01:00
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Creates a new collection with the given name
|
|
|
|
* @param name <p>The name identifying the server, server tab, collection and server console</p>
|
|
|
|
*/
|
2018-01-31 23:20:33 +01:00
|
|
|
Collection(String name) {
|
2018-01-31 17:40:28 +01:00
|
|
|
this.serverTab = new ServerTab(name);
|
2018-02-02 20:09:54 +01:00
|
|
|
this.server = new Server(name);
|
2020-02-13 21:10:18 +01:00
|
|
|
this.serverConsole = ServerConsoles.addConsoleTab(name);
|
2018-01-31 21:24:54 +01:00
|
|
|
this.name = name;
|
2018-01-31 17:40:28 +01:00
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Creates a new collection with the given parameters
|
|
|
|
* @param name <p>The name identifying the server, server tab, collection and server console</p>
|
|
|
|
* @param serverPath <p>The path of the server folder</p>
|
|
|
|
* @param enabled <p>Whether the server should be run when starting servers</p>
|
|
|
|
* @param typeName <p>The name of the server type the server uses</p>
|
|
|
|
* @param serverVersion <p>The version of the running server type.</p>
|
|
|
|
* @param maxRam <p>The maximum amount of RAM the server is allowed to use.</p>
|
|
|
|
* @param vanillaVersion <p>The currently selected vanilla version</p>
|
|
|
|
* @param snapshotVersion <p>The currently selected snapshot version</p>
|
|
|
|
* @param spongeVanillaVersion <p>The currently selected SpongeVanilla version</p>
|
|
|
|
* @param bungeeVersion <p>The currently selected Bungee version</p>
|
|
|
|
*/
|
2018-02-05 00:00:51 +01:00
|
|
|
Collection(String name,
|
2020-02-13 21:10:18 +01:00
|
|
|
String serverPath,
|
2018-02-05 00:00:51 +01:00
|
|
|
boolean enabled,
|
|
|
|
String typeName,
|
|
|
|
String serverVersion,
|
|
|
|
String maxRam,
|
|
|
|
String vanillaVersion,
|
|
|
|
String snapshotVersion,
|
|
|
|
String spongeVanillaVersion,
|
|
|
|
String bungeeVersion
|
|
|
|
) {
|
2018-02-03 14:39:22 +01:00
|
|
|
this.serverTab = new ServerTab(name);
|
2018-02-05 00:00:51 +01:00
|
|
|
this.server = new Server(
|
|
|
|
name,
|
2020-02-13 21:10:18 +01:00
|
|
|
serverPath,
|
2018-02-05 00:00:51 +01:00
|
|
|
enabled,
|
|
|
|
typeName,
|
|
|
|
serverVersion,
|
|
|
|
maxRam,
|
|
|
|
vanillaVersion,
|
|
|
|
snapshotVersion,
|
|
|
|
spongeVanillaVersion,
|
|
|
|
bungeeVersion
|
|
|
|
);
|
2020-02-13 21:10:18 +01:00
|
|
|
this.serverConsole = ServerConsoles.addConsoleTab(name);
|
2018-02-03 14:39:22 +01:00
|
|
|
this.name = name;
|
2020-02-13 21:10:18 +01:00
|
|
|
this.serverTab.setData(serverPath, enabled, typeName, serverVersion, maxRam);
|
2018-02-03 14:39:22 +01:00
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the name of the collection
|
|
|
|
* @return <p>Collection name</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public String getName() {
|
|
|
|
return this.name;
|
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server of the collection
|
|
|
|
* @return <p>Collection server</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public Server getServer() {
|
|
|
|
return this.server;
|
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server tab of the collection
|
|
|
|
* @return <p>Collection server tab</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public ServerTab getServerTab() {
|
|
|
|
return this.serverTab;
|
|
|
|
}
|
|
|
|
|
2020-02-13 21:10:18 +01:00
|
|
|
/**
|
|
|
|
* Gets the server console of the collection
|
|
|
|
* @return <p>Collection server console</p>
|
|
|
|
*/
|
2018-01-31 17:40:28 +01:00
|
|
|
public Console getServerConsole() {
|
|
|
|
return this.serverConsole;
|
|
|
|
}
|
|
|
|
}
|