Merge pull request #26 from Minecrell/tca
Add TerminalConsoleAppender for console prompts
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package com.velocitypowered.proxy;
|
||||
|
||||
import com.velocitypowered.proxy.console.VelocityConsole;
|
||||
|
||||
public class Velocity {
|
||||
public static void main(String... args) throws InterruptedException {
|
||||
public static void main(String... args) {
|
||||
final VelocityServer server = VelocityServer.getServer();
|
||||
server.start();
|
||||
|
||||
Runtime.getRuntime().addShutdownHook(new Thread(server::shutdown, "Shutdown thread"));
|
||||
|
||||
Thread.currentThread().join();
|
||||
new VelocityConsole(server).start();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,8 +57,7 @@ public class VelocityServer implements ProxyServer {
|
||||
private final CommandInvoker consoleCommandInvoker = new CommandInvoker() {
|
||||
@Override
|
||||
public void sendMessage(@Nonnull Component component) {
|
||||
// TODO: TerminalConsoleAppender
|
||||
logger.info(ComponentSerializers.PLAIN.serialize(component));
|
||||
logger.info(ComponentSerializers.LEGACY.serialize(component));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.velocitypowered.proxy.console;
|
||||
|
||||
import com.velocitypowered.proxy.VelocityServer;
|
||||
import net.minecrell.terminalconsole.SimpleTerminalConsole;
|
||||
import org.jline.reader.LineReader;
|
||||
import org.jline.reader.LineReaderBuilder;
|
||||
|
||||
public final class VelocityConsole extends SimpleTerminalConsole {
|
||||
|
||||
private final VelocityServer server;
|
||||
|
||||
public VelocityConsole(VelocityServer server) {
|
||||
this.server = server;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected LineReader buildReader(LineReaderBuilder builder) {
|
||||
return super.buildReader(builder
|
||||
.appName("Velocity")
|
||||
// TODO: Command completion
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isRunning() {
|
||||
return !this.server.isShutdown();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void runCommand(String command) {
|
||||
this.server.getCommandManager().execute(this.server.getConsoleCommandInvoker(), command);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void shutdown() {
|
||||
this.server.shutdown();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user