geforkt von Mirrors/Paper
#655: Added support for the VM tag jansi.passthrough when processing messages sent to a ColouredConsoleSender.
Dieser Commit ist enthalten in:
Ursprung
e0cfb34742
Commit
ef706b064e
@ -14,10 +14,12 @@ public class ColouredConsoleSender extends CraftConsoleCommandSender {
|
|||||||
private final Terminal terminal;
|
private final Terminal terminal;
|
||||||
private final Map<ChatColor, String> replacements = new EnumMap<ChatColor, String>(ChatColor.class);
|
private final Map<ChatColor, String> replacements = new EnumMap<ChatColor, String>(ChatColor.class);
|
||||||
private final ChatColor[] colors = ChatColor.values();
|
private final ChatColor[] colors = ChatColor.values();
|
||||||
|
private final boolean jansiPassthrough;
|
||||||
|
|
||||||
protected ColouredConsoleSender() {
|
protected ColouredConsoleSender() {
|
||||||
super();
|
super();
|
||||||
this.terminal = ((CraftServer) getServer()).getReader().getTerminal();
|
this.terminal = ((CraftServer) getServer()).getReader().getTerminal();
|
||||||
|
this.jansiPassthrough = Boolean.getBoolean("jansi.passthrough");
|
||||||
|
|
||||||
replacements.put(ChatColor.BLACK, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLACK).boldOff().toString());
|
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_BLUE, Ansi.ansi().a(Attribute.RESET).fg(Ansi.Color.BLUE).boldOff().toString());
|
||||||
@ -45,7 +47,8 @@ public class ColouredConsoleSender extends CraftConsoleCommandSender {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendMessage(String message) {
|
public void sendMessage(String message) {
|
||||||
if (terminal.isAnsiSupported()) {
|
// support jansi passthrough VM option when jansi doesn't detect an ANSI supported terminal
|
||||||
|
if (jansiPassthrough || terminal.isAnsiSupported()) {
|
||||||
if (!conversationTracker.isConversingModaly()) {
|
if (!conversationTracker.isConversingModaly()) {
|
||||||
String result = message;
|
String result = message;
|
||||||
for (ChatColor color : colors) {
|
for (ChatColor color : colors) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren