package com.ingotpowered;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ConsoleCommands {
public boolean stopped = false;
public void startHandling() {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (true) {
if (stopped) {
break;
}
dispatchConsoleCommand(br.readLine());
}
} catch (Exception ex) {
ex.printStackTrace();
IngotServer.server.stop();
}
System.out.println("Console command handler has been shut down!");
}
public void dispatchConsoleCommand(String command) {
if (command == null) {
return;
}
String[] params = command.split(" ");
if (params.length == 0) {
return;
}
String[] args = new String[params.length - 1];
System.arraycopy(params, 1, args, 0, args.length);
dispatchConsoleCommand(params[0], args);
}
private void dispatchConsoleCommand(String commandName, String[] args) {
if (commandName.equalsIgnoreCase("stop")) {
IngotServer.server.stop();
} else if (!IngotServer.server.commandRegistry.runServerCommand(IngotServer.server, commandName, args)) {
System.out.println("Unknown command '" + commandName + "'.");
}
}
}