62 lines
2.0 KiB
Java
Raw Normal View History

import net.knarcraft.serverlauncher.profile.Collection;
import net.knarcraft.serverlauncher.profile.Profile;
2018-01-29 20:14:17 +01:00
import net.knarcraft.serverlauncher.server.ServerType;
2018-01-26 20:26:16 +01:00
import net.knarcraft.serverlauncher.userinterface.GUI;
import net.knarcraft.serverlauncher.userinterface.ServerConsoles;
2018-01-26 20:26:16 +01:00
2018-01-25 17:34:45 +01:00
import javax.naming.ConfigurationException;
2018-01-27 23:34:02 +01:00
import java.awt.*;
import java.io.IOException;
2018-01-30 00:44:03 +01:00
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
2018-01-29 20:14:17 +01:00
//Java 8 required.
2018-01-24 12:18:06 +01:00
/**
* A software for managing Minecraft servers.
2018-01-25 21:17:02 +01:00
*
* @author Kristian Knarvik <kristian.knarvik@knett.no>
* @version 0.0.0.1
* @since 0.0.0.1
2018-01-24 12:18:06 +01:00
*/
2018-01-26 23:15:19 +01:00
2018-01-26 20:34:15 +01:00
class Main {
public static void main(String[] args) {
2018-01-27 23:34:02 +01:00
EventQueue.invokeLater(() -> {
try {
setup();
new GUI();
2018-01-31 17:40:28 +01:00
new ServerConsoles();
Profile.addProfile("Default");
2018-01-30 00:44:03 +01:00
//TODO: replace with profiles loading generating a default profile if empty.
ScheduledExecutorService exec = Executors.newSingleThreadScheduledExecutor();
exec.scheduleAtFixedRate(() -> {
for (Collection collection : GUI.getGUI().currentProfile().getCollections()) {
if (collection.getServer().isEnabled() && collection.getServer().getProcess() != null) {
try {
String readText = collection.getServer().read();
if (!readText.equals("")) {
collection.getServerConsole().output(readText);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}, 10, 250, TimeUnit.MILLISECONDS);
2018-01-27 23:34:02 +01:00
} catch (Exception e) {
e.printStackTrace();
}
});
2018-01-25 21:17:02 +01:00
}
2018-01-26 20:34:15 +01:00
private static void setup() {
2018-01-25 17:34:45 +01:00
try {
2018-01-25 21:17:02 +01:00
ServerType.loadServerTypes();
2018-01-25 17:34:45 +01:00
} catch (ConfigurationException e) {
e.printStackTrace();
System.exit(1);
}
}
}