mirror of https://github.com/LOOHP/Limbo.git
0.3.1 Colors in the console!
This commit is contained in:
parent
aa969cc821
commit
34668ae633
21
pom.xml
21
pom.xml
|
|
@ -4,7 +4,7 @@
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>Limbo</groupId>
|
<groupId>Limbo</groupId>
|
||||||
<artifactId>Limbo</artifactId>
|
<artifactId>Limbo</artifactId>
|
||||||
<version>0.3.0-ALPHA</version>
|
<version>0.3.1-ALPHA</version>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src</sourceDirectory>
|
<sourceDirectory>src</sourceDirectory>
|
||||||
<resources>
|
<resources>
|
||||||
|
|
@ -68,31 +68,48 @@
|
||||||
<groupId>com.github.Querz</groupId>
|
<groupId>com.github.Querz</groupId>
|
||||||
<artifactId>NBT</artifactId>
|
<artifactId>NBT</artifactId>
|
||||||
<version>5.5</version>
|
<version>5.5</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.code.gson</groupId>
|
<groupId>com.google.code.gson</groupId>
|
||||||
<artifactId>gson</artifactId>
|
<artifactId>gson</artifactId>
|
||||||
<version>2.8.5</version>
|
<version>2.8.5</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.yaml</groupId>
|
<groupId>org.yaml</groupId>
|
||||||
<artifactId>snakeyaml</artifactId>
|
<artifactId>snakeyaml</artifactId>
|
||||||
<version>1.26</version>
|
<version>1.26</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.googlecode.json-simple</groupId>
|
<groupId>com.googlecode.json-simple</groupId>
|
||||||
<artifactId>json-simple</artifactId>
|
<artifactId>json-simple</artifactId>
|
||||||
<version>1.1.1</version>
|
<version>1.1.1</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.md-5</groupId>
|
<groupId>net.md-5</groupId>
|
||||||
<artifactId>bungeecord-chat</artifactId>
|
<artifactId>bungeecord-chat</artifactId>
|
||||||
<version>1.16-R0.3</version>
|
<version>1.16-R0.3</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.fusesource.jansi</groupId>
|
||||||
|
<artifactId>jansi</artifactId>
|
||||||
|
<version>1.18</version>
|
||||||
|
<scope>compile</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.jline</groupId>
|
||||||
|
<artifactId>jline</artifactId>
|
||||||
|
<version>3.16.0</version>
|
||||||
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>jline</groupId>
|
<groupId>jline</groupId>
|
||||||
<artifactId>jline</artifactId>
|
<artifactId>jline</artifactId>
|
||||||
<version>2.6</version>
|
<version>2.11</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,59 @@
|
||||||
package com.loohp.limbo;
|
package com.loohp.limbo;
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.PrintStream;
|
import java.io.PrintStream;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Map.Entry;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.fusesource.jansi.Ansi;
|
||||||
|
import org.fusesource.jansi.Ansi.Attribute;
|
||||||
|
import org.jline.reader.Candidate;
|
||||||
|
import org.jline.reader.Completer;
|
||||||
|
import org.jline.reader.LineReader;
|
||||||
|
import org.jline.reader.LineReader.SuggestionType;
|
||||||
|
import org.jline.reader.LineReaderBuilder;
|
||||||
|
import org.jline.reader.ParsedLine;
|
||||||
|
import org.jline.terminal.Terminal;
|
||||||
|
import org.jline.terminal.TerminalBuilder;
|
||||||
|
|
||||||
import com.loohp.limbo.Commands.CommandSender;
|
import com.loohp.limbo.Commands.CommandSender;
|
||||||
import com.loohp.limbo.GUI.ConsoleTextOutput;
|
import com.loohp.limbo.GUI.ConsoleTextOutput;
|
||||||
import com.loohp.limbo.Utils.CustomStringUtils;
|
import com.loohp.limbo.Utils.CustomStringUtils;
|
||||||
|
|
||||||
|
import jline.console.ConsoleReader;
|
||||||
|
import net.md_5.bungee.api.ChatColor;
|
||||||
import net.md_5.bungee.api.chat.BaseComponent;
|
import net.md_5.bungee.api.chat.BaseComponent;
|
||||||
|
|
||||||
public class Console implements CommandSender {
|
public class Console implements CommandSender {
|
||||||
|
|
||||||
|
protected static final Map<ChatColor, String> replacements = new HashMap<>();
|
||||||
|
private final static String CONSOLE = "CONSOLE";
|
||||||
|
private final static String PROMPT = "> ";
|
||||||
|
protected final static String ERROR_RED = "\u001B[31;1m";
|
||||||
|
protected final static String RESET_COLOR = "\u001B[0m";
|
||||||
|
|
||||||
|
private Terminal terminal;
|
||||||
|
private LineReader tabReader;
|
||||||
|
private ConsoleReader reader;
|
||||||
|
|
||||||
private InputStream in;
|
private InputStream in;
|
||||||
|
@SuppressWarnings("unused")
|
||||||
private PrintStream out;
|
private PrintStream out;
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
private PrintStream err;
|
private PrintStream err;
|
||||||
protected PrintStream logs;
|
protected PrintStream logs;
|
||||||
|
|
||||||
private final String CONSOLE = "CONSOLE";
|
public Console(InputStream in, PrintStream out, PrintStream err) throws IOException {
|
||||||
|
|
||||||
public Console(InputStream in, PrintStream out, PrintStream err) throws FileNotFoundException {
|
|
||||||
String fileName = new SimpleDateFormat("yyyy'-'MM'-'dd'_'HH'-'mm'-'ss'_'zzz'.log'").format(new Date());
|
String fileName = new SimpleDateFormat("yyyy'-'MM'-'dd'_'HH'-'mm'-'ss'_'zzz'.log'").format(new Date());
|
||||||
File dir = new File("logs");
|
File dir = new File("logs");
|
||||||
dir.mkdirs();
|
dir.mkdirs();
|
||||||
|
|
@ -43,20 +66,38 @@ public class Console implements CommandSender {
|
||||||
} else {
|
} else {
|
||||||
this.in = null;
|
this.in = null;
|
||||||
}
|
}
|
||||||
System.setOut(new ConsoleOutputStream(out == null ? new PrintStream(new PrintStream(new OutputStream() {
|
System.setOut(new ConsoleOutputStream(this, out == null ? new PrintStream(new OutputStream() {
|
||||||
@Override
|
@Override
|
||||||
public void write(int b) {
|
public void write(int b) {
|
||||||
//DO NOTHING
|
//DO NOTHING
|
||||||
}
|
}
|
||||||
})) : out, this.logs));
|
}) : out, this.logs));
|
||||||
this.out = System.out;
|
this.out = System.out;
|
||||||
System.setErr(new ConsoleErrorStream(err == null ? new PrintStream(new PrintStream(new OutputStream() {
|
|
||||||
|
System.setErr(new ConsoleErrorStream(this, err == null ? new PrintStream(new OutputStream() {
|
||||||
@Override
|
@Override
|
||||||
public void write(int b) {
|
public void write(int b) {
|
||||||
//DO NOTHING
|
//DO NOTHING
|
||||||
}
|
}
|
||||||
})) : err, this.logs));
|
}) : err, this.logs));
|
||||||
this.err = System.err;
|
this.err = System.err;
|
||||||
|
|
||||||
|
reader = new ConsoleReader(in, out);
|
||||||
|
reader.setExpandEvents(false);
|
||||||
|
|
||||||
|
|
||||||
|
terminal = TerminalBuilder.builder().streams(in, out).system(true).jansi(true).build();
|
||||||
|
tabReader = LineReaderBuilder.builder().terminal(terminal).completer(new Completer() {
|
||||||
|
@Override
|
||||||
|
public void complete(LineReader reader, ParsedLine line, List<Candidate> candidates) {
|
||||||
|
String[] args = CustomStringUtils.splitStringToArgs(line.line());
|
||||||
|
List<String> tab = Limbo.getInstance().getPluginManager().getTabOptions(Limbo.getInstance().getConsole(), args);
|
||||||
|
for (String each : tab) {
|
||||||
|
candidates.add(new Candidate(each));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).build();
|
||||||
|
tabReader.setAutosuggestion(SuggestionType.NONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
|
|
@ -78,236 +119,348 @@ public class Console implements CommandSender {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendMessage(String message) {
|
public void sendMessage(String message) {
|
||||||
out.println(message);
|
stashLine();
|
||||||
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + message), true);
|
||||||
|
logs.println(ChatColor.stripColor("[" + date + " Info] " + message));
|
||||||
|
try {
|
||||||
|
reader.getOutput().append("[" + date + " Info] " + translateToConsole(message) + "\n");
|
||||||
|
reader.getOutput().flush();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void run() {
|
protected void run() {
|
||||||
if (in == null) {
|
if (in == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
|
|
||||||
while (true) {
|
while (true) {
|
||||||
try {
|
String command = tabReader.readLine(PROMPT);
|
||||||
String command = reader.readLine();
|
|
||||||
if (command.length() > 0) {
|
if (command.length() > 0) {
|
||||||
String[] input = CustomStringUtils.splitStringToArgs(command);
|
String[] input = CustomStringUtils.splitStringToArgs(command);
|
||||||
Limbo.getInstance().dispatchCommand(this, input);
|
new Thread(() -> Limbo.getInstance().dispatchCommand(this, input)).start();
|
||||||
}
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void stashLine() {
|
||||||
|
try {
|
||||||
|
tabReader.callWidget(LineReader.CLEAR);
|
||||||
|
} catch (Exception ignore) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void unstashLine() {
|
||||||
|
try {
|
||||||
|
tabReader.callWidget(LineReader.REDRAW_LINE);
|
||||||
|
tabReader.callWidget(LineReader.REDISPLAY);
|
||||||
|
tabReader.getTerminal().writer().flush();
|
||||||
|
} catch (Exception ignore) {}
|
||||||
|
}
|
||||||
|
|
||||||
|
static {
|
||||||
|
replacements.put(ChatColor.BLACK, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_GREEN, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.GREEN).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_AQUA, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.CYAN).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_RED, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.RED).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_PURPLE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.GOLD, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.YELLOW).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.GRAY, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.WHITE).boldOff().toString());
|
||||||
|
replacements.put(ChatColor.DARK_GRAY, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).bold().toString());
|
||||||
|
replacements.put(ChatColor.BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).bold().toString());
|
||||||
|
replacements.put(ChatColor.GREEN, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.GREEN).bold().toString());
|
||||||
|
replacements.put(ChatColor.AQUA, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.CYAN).bold().toString());
|
||||||
|
replacements.put(ChatColor.RED, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.RED).bold().toString());
|
||||||
|
replacements.put(ChatColor.LIGHT_PURPLE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.MAGENTA).bold().toString());
|
||||||
|
replacements.put(ChatColor.YELLOW, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.YELLOW).bold().toString());
|
||||||
|
replacements.put(ChatColor.WHITE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.WHITE).bold().toString());
|
||||||
|
replacements.put(ChatColor.MAGIC, Ansi.ansi().a(Attribute.BLINK_SLOW).toString());
|
||||||
|
replacements.put(ChatColor.BOLD, Ansi.ansi().a(Attribute.UNDERLINE_DOUBLE).toString());
|
||||||
|
replacements.put(ChatColor.STRIKETHROUGH, Ansi.ansi().a(Attribute.STRIKETHROUGH_ON).toString());
|
||||||
|
replacements.put(ChatColor.UNDERLINE, Ansi.ansi().a(Attribute.UNDERLINE).toString());
|
||||||
|
replacements.put(ChatColor.ITALIC, Ansi.ansi().a(Attribute.ITALIC).toString());
|
||||||
|
replacements.put(ChatColor.RESET, Ansi.ansi().a(Attribute.RESET).toString());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static String translateToConsole(String str) {
|
||||||
|
for (Entry<ChatColor, String> entry : replacements.entrySet()) {
|
||||||
|
str = str.replace(entry.getKey().toString(), entry.getValue());
|
||||||
|
}
|
||||||
|
str = str.replaceAll("(?i)" + ChatColor.COLOR_CHAR + "x(" + ChatColor.COLOR_CHAR + "[0-9a-f]){6}", "");
|
||||||
|
return str + RESET_COLOR;
|
||||||
|
}
|
||||||
|
|
||||||
public static class ConsoleOutputStream extends PrintStream {
|
public static class ConsoleOutputStream extends PrintStream {
|
||||||
|
|
||||||
private PrintStream logs;
|
private PrintStream logs;
|
||||||
|
private Console console;
|
||||||
|
|
||||||
public ConsoleOutputStream(OutputStream out, PrintStream logs) {
|
public ConsoleOutputStream(Console console, OutputStream out, PrintStream logs) {
|
||||||
super(out);
|
super(out);
|
||||||
this.logs = logs;
|
this.logs = logs;
|
||||||
|
this.console = console;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public PrintStream printf(Locale l, String format, Object... args) {
|
public PrintStream printf(Locale l, String format, Object... args) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText(String.format(l, "[" + date + " Info]" + format, args));
|
ConsoleTextOutput.appendText(ChatColor.stripColor(String.format(l, "[" + date + " Info]" + format, args)));
|
||||||
logs.printf(l, "[" + date + " Info]" + format, args);
|
logs.printf(l, ChatColor.stripColor("[" + date + " Info]" + format), args);
|
||||||
return super.printf(l, "[" + date + " Info]" + format, args);
|
PrintStream stream = super.printf(l, Console.translateToConsole("[" + date + " Info]" + format), args);
|
||||||
|
console.unstashLine();
|
||||||
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public PrintStream printf(String format, Object... args) {
|
public PrintStream printf(String format, Object... args) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText(String.format("[" + date + " Info]" + format, args));
|
ConsoleTextOutput.appendText(ChatColor.stripColor(String.format("[" + date + " Info]" + format, args)));
|
||||||
logs.printf("[" + date + " Info]" + format, args);
|
logs.printf(ChatColor.stripColor("[" + date + " Info]" + format), args);
|
||||||
return super.printf("[" + date + " Info]" + format, args);
|
PrintStream stream = super.printf(ChatColor.stripColor("[" + date + " Info]" + format), args);
|
||||||
|
console.unstashLine();
|
||||||
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println() {
|
public void println() {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info]", true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info]"), true);
|
||||||
logs.println("[" + date + " Info]");
|
logs.println(ChatColor.stripColor("[" + date + " Info]"));
|
||||||
super.println("[" + date + " Info]");
|
super.println(ChatColor.stripColor("[" + date + " Info]"));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(boolean x) {
|
public void println(boolean x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(char x) {
|
public void println(char x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(char[] x) {
|
public void println(char[] x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + String.valueOf(x), true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + String.valueOf(x)), true);
|
||||||
logs.println("[" + date + " Info]" + String.valueOf(x));
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + String.valueOf(x)));
|
||||||
super.println("[" + date + " Info]" + String.valueOf(x));
|
super.println(ChatColor.stripColor("[" + date + " Info]" + String.valueOf(x)));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(double x) {
|
public void println(double x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(float x) {
|
public void println(float x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(int x) {
|
public void println(int x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(long x) {
|
public void println(long x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(Object x) {
|
public void println(Object x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + x), true);
|
||||||
logs.println("[" + date + " Info]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
super.println("[" + date + " Info]" + x);
|
super.println(ChatColor.stripColor("[" + date + " Info]" + x));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(String string) {
|
public void println(String string) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Info] " + string, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Info] " + string), true);
|
||||||
logs.println("[" + date + " Info] " + string);
|
logs.println(ChatColor.stripColor("[" + date + " Info] " + string));
|
||||||
super.println("[" + date + " Info] " + string);
|
super.println(ChatColor.stripColor("[" + date + " Info] " + string));
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ConsoleErrorStream extends PrintStream {
|
public static class ConsoleErrorStream extends PrintStream {
|
||||||
|
|
||||||
private PrintStream logs;
|
private PrintStream logs;
|
||||||
|
private Console console;
|
||||||
|
|
||||||
public ConsoleErrorStream(OutputStream out, PrintStream logs) {
|
public ConsoleErrorStream(Console console, OutputStream out, PrintStream logs) {
|
||||||
super(out);
|
super(out);
|
||||||
this.logs = logs;
|
this.logs = logs;
|
||||||
|
this.console = console;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public PrintStream printf(Locale l, String format, Object... args) {
|
public PrintStream printf(Locale l, String format, Object... args) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText(String.format(l, "[" + date + " Error]" + format, args));
|
ConsoleTextOutput.appendText(ChatColor.stripColor(String.format(l, "[" + date + " Error]" + format, args)));
|
||||||
logs.printf(l, "[" + date + " Error]" + format, args);
|
logs.printf(l, ChatColor.stripColor("[" + date + " Error]" + format), args);
|
||||||
return super.printf(l, "[" + date + " Error]" + format, args);
|
PrintStream stream = super.printf(l, ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + format + RESET_COLOR), args);
|
||||||
|
console.unstashLine();
|
||||||
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("resource")
|
||||||
@Override
|
@Override
|
||||||
public PrintStream printf(String format, Object... args) {
|
public PrintStream printf(String format, Object... args) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText(String.format("[" + date + " Error]" + format, args));
|
ConsoleTextOutput.appendText(ChatColor.stripColor(String.format("[" + date + " Error]" + format, args)));
|
||||||
logs.printf("[" + date + " Error]" + format, args);
|
logs.printf(ChatColor.stripColor("[" + date + " Error]" + format), args);
|
||||||
return super.printf("[" + date + " Error]" + format, args);
|
PrintStream stream = super.printf(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + format + RESET_COLOR), args);
|
||||||
|
console.unstashLine();
|
||||||
|
return stream;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println() {
|
public void println() {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error]", true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error]"), true);
|
||||||
logs.println("[" + date + " Error]");
|
logs.println(ChatColor.stripColor("[" + date + " Error]"));
|
||||||
super.println("[" + date + " Error]");
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]") + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(boolean x) {
|
public void println(boolean x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(char x) {
|
public void println(char x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(char[] x) {
|
public void println(char[] x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + String.valueOf(x), true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + String.valueOf(x)), true);
|
||||||
logs.println("[" + date + " Error]" + String.valueOf(x));
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + String.valueOf(x)));
|
||||||
super.println("[" + date + " Error]" + String.valueOf(x));
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + String.valueOf(x)) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(double x) {
|
public void println(double x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(float x) {
|
public void println(float x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(int x) {
|
public void println(int x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(long x) {
|
public void println(long x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(Object x) {
|
public void println(Object x) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + x, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + x), true);
|
||||||
logs.println("[" + date + " Error]" + x);
|
logs.println(ChatColor.stripColor("[" + date + " Error]" + x));
|
||||||
super.println("[" + date + " Error]" + x);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error]" + x) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void println(String string) {
|
public void println(String string) {
|
||||||
|
console.stashLine();
|
||||||
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
String date = new SimpleDateFormat("HH':'mm':'ss").format(new Date());
|
||||||
ConsoleTextOutput.appendText("[" + date + " Error] " + string, true);
|
ConsoleTextOutput.appendText(ChatColor.stripColor("[" + date + " Error] " + string), true);
|
||||||
logs.println("[" + date + " Error] " + string);
|
logs.println(ChatColor.stripColor("[" + date + " Error] " + string));
|
||||||
super.println("[" + date + " Error] " + string);
|
super.println(ERROR_RED + ChatColor.stripColor("[" + date + " Error] " + string) + RESET_COLOR);
|
||||||
|
console.unstashLine();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -73,17 +73,17 @@ public class ServerProperties {
|
||||||
if (image.getHeight() == 64 && image.getWidth() == 64) {
|
if (image.getHeight() == 64 && image.getWidth() == 64) {
|
||||||
favicon = Optional.of(image);
|
favicon = Optional.of(image);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Unable to load server-icon.png! The image is not 64 x 64 in size!");
|
Limbo.getInstance().getConsole().sendMessage("Unable to load server-icon.png! The image is not 64 x 64 in size!");
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("Unable to load server-icon.png! Is it a png image?");
|
Limbo.getInstance().getConsole().sendMessage("Unable to load server-icon.png! Is it a png image?");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("No server-icon.png found");
|
Limbo.getInstance().getConsole().sendMessage("No server-icon.png found");
|
||||||
favicon = Optional.empty();
|
favicon = Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
System.out.println("Loaded server.properties");
|
Limbo.getInstance().getConsole().sendMessage("Loaded server.properties");
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerImplementationVersion() {
|
public String getServerImplementationVersion() {
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ public class PluginManager {
|
||||||
clazz.setInfo(pluginYaml);
|
clazz.setInfo(pluginYaml);
|
||||||
plugins.put(clazz.getName(), clazz);
|
plugins.put(clazz.getName(), clazz);
|
||||||
clazz.onLoad();
|
clazz.onLoad();
|
||||||
System.out.println("Loading plugin " + file.getName() + " " + clazz.getInfo().getVersion() + " by " + clazz.getInfo().getAuthor());
|
Limbo.getInstance().getConsole().sendMessage("Loading plugin " + file.getName() + " " + clazz.getInfo().getVersion() + " by " + clazz.getInfo().getAuthor());
|
||||||
url.close();
|
url.close();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -299,7 +299,7 @@ public class ClientConnection extends Thread {
|
||||||
if (chunk != null) {
|
if (chunk != null) {
|
||||||
PacketPlayOutMapChunk chunkdata = new PacketPlayOutMapChunk(x, z, chunk, world.getEnvironment());
|
PacketPlayOutMapChunk chunkdata = new PacketPlayOutMapChunk(x, z, chunk, world.getEnvironment());
|
||||||
sendPacket(chunkdata);
|
sendPacket(chunkdata);
|
||||||
//System.out.println(x + ", " + z);
|
//Limbo.getInstance().getConsole().sendMessage(x + ", " + z);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -351,7 +351,7 @@ public class ClientConnection extends Thread {
|
||||||
int size = DataTypeIO.readVarInt(input);
|
int size = DataTypeIO.readVarInt(input);
|
||||||
int packetId = DataTypeIO.readVarInt(input);
|
int packetId = DataTypeIO.readVarInt(input);
|
||||||
Class<? extends Packet> packetType = Packet.getPlayIn().get(packetId);
|
Class<? extends Packet> packetType = Packet.getPlayIn().get(packetId);
|
||||||
//System.out.println(packetId + " -> " + packetType);
|
//Limbo.getInstance().getConsole().sendMessage(packetId + " -> " + packetType);
|
||||||
if (packetType == null) {
|
if (packetType == null) {
|
||||||
input.skipBytes(size - DataTypeIO.getVarIntLength(packetId));
|
input.skipBytes(size - DataTypeIO.getVarIntLength(packetId));
|
||||||
} else if (packetType.equals(PacketPlayInPositionAndLook.class)) {
|
} else if (packetType.equals(PacketPlayInPositionAndLook.class)) {
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,6 @@ public class PacketHandshakingIn extends PacketIn {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("Invalid HandshakeType networkId, expected 0 or 1, but got " + networkId);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,14 +116,14 @@ public class PacketPlayOutMapChunk extends PacketOut {
|
||||||
}
|
}
|
||||||
|
|
||||||
DataTypeIO.writeVarInt(dataOut, section.getPalette().size());
|
DataTypeIO.writeVarInt(dataOut, section.getPalette().size());
|
||||||
//System.out.println(section.getPalette().size());
|
//Limbo.getInstance().getConsole().sendMessage(section.getPalette().size());
|
||||||
Iterator<CompoundTag> itr1 = section.getPalette().iterator();
|
Iterator<CompoundTag> itr1 = section.getPalette().iterator();
|
||||||
//System.out.println("Nonnull -> " + i + " " + newBits);
|
//Limbo.getInstance().getConsole().sendMessage("Nonnull -> " + i + " " + newBits);
|
||||||
counter = 0;
|
counter = 0;
|
||||||
while (itr1.hasNext()) {
|
while (itr1.hasNext()) {
|
||||||
CompoundTag tag = itr1.next();
|
CompoundTag tag = itr1.next();
|
||||||
DataTypeIO.writeVarInt(dataOut, GeneratedBlockDataMappings.getGlobalPaletteIDFromState(tag));
|
DataTypeIO.writeVarInt(dataOut, GeneratedBlockDataMappings.getGlobalPaletteIDFromState(tag));
|
||||||
//System.out.println(tag + " -> " + GeneratedDataUtils.getGlobalPaletteIDFromState(tag));
|
//Limbo.getInstance().getConsole().sendMessage(tag + " -> " + GeneratedDataUtils.getGlobalPaletteIDFromState(tag));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dataOut.writeByte(14);
|
dataOut.writeByte(14);
|
||||||
|
|
@ -132,7 +132,7 @@ public class PacketPlayOutMapChunk extends PacketOut {
|
||||||
DataTypeIO.writeVarInt(dataOut, section.getBlockStates().length);
|
DataTypeIO.writeVarInt(dataOut, section.getBlockStates().length);
|
||||||
for (int u = 0; u < section.getBlockStates().length; u++) {
|
for (int u = 0; u < section.getBlockStates().length; u++) {
|
||||||
dataOut.writeLong(section.getBlockStates()[u]);
|
dataOut.writeLong(section.getBlockStates()[u]);
|
||||||
//System.out.println(Arrays.toString(section.getBlockStates()));
|
//Limbo.getInstance().getConsole().sendMessage(Arrays.toString(section.getBlockStates()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import java.net.Socket;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.loohp.limbo.Limbo;
|
||||||
|
|
||||||
public class ServerConnection extends Thread {
|
public class ServerConnection extends Thread {
|
||||||
|
|
||||||
private ServerSocket serverSocket;
|
private ServerSocket serverSocket;
|
||||||
|
|
@ -27,11 +29,11 @@ public class ServerConnection extends Thread {
|
||||||
public void run() {
|
public void run() {
|
||||||
try {
|
try {
|
||||||
serverSocket = new ServerSocket(port, 50, InetAddress.getByName(ip));
|
serverSocket = new ServerSocket(port, 50, InetAddress.getByName(ip));
|
||||||
System.out.println("Limbo server listening on /" + serverSocket.getInetAddress().getHostName() + ":" + serverSocket.getLocalPort());
|
Limbo.getInstance().getConsole().sendMessage("Limbo server listening on /" + serverSocket.getInetAddress().getHostName() + ":" + serverSocket.getLocalPort());
|
||||||
while (true) {
|
while (true) {
|
||||||
Socket connection = serverSocket.accept();
|
Socket connection = serverSocket.accept();
|
||||||
//String str = connection.getInetAddress().getHostName() + ":" + connection.getPort();
|
//String str = connection.getInetAddress().getHostName() + ":" + connection.getPort();
|
||||||
//System.out.println("[/127.0.0.1:57310] <-> InitialHandler has pinged);
|
//Limbo.getInstance().getConsole().sendMessage("[/127.0.0.1:57310] <-> InitialHandler has pinged);
|
||||||
ClientConnection sc = new ClientConnection(connection);
|
ClientConnection sc = new ClientConnection(connection);
|
||||||
clients.add(sc);
|
clients.add(sc);
|
||||||
sc.start();
|
sc.start();
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ public class MojangAPIUtils {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Connection could not be opened (Response code " + connection.getResponseCode() + ", " + connection.getResponseMessage() + ")");
|
System.err.println("Connection could not be opened (Response code " + connection.getResponseCode() + ", " + connection.getResponseMessage() + ")");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
@ -81,7 +81,7 @@ public class MojangAPIUtils {
|
||||||
String signature = reply.split("\"signature\":\"")[1].split("\"")[0];
|
String signature = reply.split("\"signature\":\"")[1].split("\"")[0];
|
||||||
return new SkinResponse(skin, signature);
|
return new SkinResponse(skin, signature);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Connection could not be opened (Response code " + connection.getResponseCode() + ", " + connection.getResponseMessage() + ")");
|
System.err.println("Connection could not be opened (Response code " + connection.getResponseCode() + ", " + connection.getResponseMessage() + ")");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue