Improve compatibility with Paper

This commit is contained in:
games647 2018-07-29 18:33:21 +02:00
parent 9b93148afd
commit 6ece65130d
No known key found for this signature in database
GPG Key ID: BFC68C8708713A88
9 changed files with 49 additions and 41 deletions

50
.gitignore vendored
View File

@ -1,37 +1,22 @@
# Eclipse stuff # Eclipse
/.classpath .classpath
/.project .project
/.settings .settings/
# NetBeans # NetBeans
*/nbproject nbproject/
nb-configuration.xml nb-configuration.xml
# maven
*/target
# vim
.*.sw[a-p]
# virtual machine crash logs, see https://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# various other potential build files
*/build/
/bin
/dist
/manifest.mf
*.log
# Mac filesystem dust
.DS_Store
# IntelliJ # IntelliJ
*.iml *.iml
*.ipr *.ipr
*.iws *.iws
.idea/ .idea/
# Maven
target/
pom.xml.versionsBackup
# Gradle # Gradle
.gradle .gradle
@ -40,3 +25,20 @@ gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored) # Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar !gradle-wrapper.jar
# various other potential build files
build/
bin/
dist/
manifest.mf
*.log
# Vim
.*.sw[a-p]
# virtual machine crash logs, see https://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Mac filesystem dust
.DS_Store

View File

@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2016 Copyright (c) 2016-2018
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@ -17,7 +17,7 @@ overview about what's happening on your server.
* Colorize plugin tags (customizable) * Colorize plugin tags (customizable)
* Easy to use config * Easy to use config
* Removes color from plugins if you want to * Removes color from plugins if you want to
* Supports all versions above 1.8+ * Supports all versions above 1.8.8+
## Supports ## Supports

11
pom.xml
View File

@ -31,15 +31,10 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId> <artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version> <version>3.1.0</version>
<configuration> <configuration>
<createDependencyReducedPom>false</createDependencyReducedPom> <createDependencyReducedPom>false</createDependencyReducedPom>
<minimizeJar>true</minimizeJar> <minimizeJar>true</minimizeJar>
<artifactSet>
<includes>
<include>org.fusesource.jansi:jansi</include>
</includes>
</artifactSet>
<filters> <filters>
<filter> <filter>
<artifact>org.fusesource.jansi:jansi</artifact> <artifact>org.fusesource.jansi:jansi</artifact>
@ -124,14 +119,14 @@
<dependency> <dependency>
<groupId>org.spongepowered</groupId> <groupId>org.spongepowered</groupId>
<artifactId>spongeapi</artifactId> <artifactId>spongeapi</artifactId>
<version>6.0.0</version> <version>7.0.0</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.fusesource.jansi</groupId> <groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId> <artifactId>jansi</artifactId>
<version>1.16</version> <version>1.17</version>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -18,24 +18,32 @@ import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import static java.util.stream.Collectors.toSet;
public class ColorPluginAppender extends ColorAppender { public class ColorPluginAppender extends ColorAppender {
private static final Set<String> disabledPrefix = Sets.newHashSet("net.minecraft", "Minecraft" private static final Set<String> disabledPrefix = Sets.newHashSet("net.minecraft", "Minecraft"
, "com.mojang", "com.sk89q", "ru.tehkode", "Minecraft.AWE"); , "com.mojang", "com.sk89q", "ru.tehkode", "Minecraft.AWE");
private final boolean isVanillaAppender;
public ColorPluginAppender(Appender oldAppender, ConfigurationSection config, Map<String, String> levelColors) { public ColorPluginAppender(Appender oldAppender, ConfigurationSection config, Map<String, String> levelColors) {
super(oldAppender super(oldAppender
, config.getStringList("hide-messages") , config.getStringList("hide-messages")
, config.getBoolean("colorPluginTag") , config.getBoolean("colorPluginTag")
, config.getBoolean("truncateColor") , config.getBoolean("truncateColor")
, config.getBoolean("colorMessage") ? levelColors : Collections.emptyMap()); , config.getBoolean("colorMessage") ? levelColors : Collections.emptyMap());
this.isVanillaAppender = "QueueLogAppender".equals(oldAppender.getClass().getSimpleName());
} }
@Override @Override
public LogEvent onAppend(LogEvent logEvent) { public LogEvent onAppend(LogEvent logEvent) {
String oldMessage = logEvent.getMessage().getFormattedMessage(); String oldMessage = logEvent.getMessage().getFormattedMessage();
String prefix = '[' + logEvent.getLoggerName() + "] "; String prefix = '[' + logEvent.getLoggerName() + "] ";
if (!oldMessage.contains(prefix)
//PaperSpigot append prefix
if (!isVanillaAppender
&& disabledPrefix.stream().noneMatch(disabled -> logEvent.getLoggerName().startsWith(disabled))) { && disabledPrefix.stream().noneMatch(disabled -> logEvent.getLoggerName().startsWith(disabled))) {
oldMessage = prefix + oldMessage; oldMessage = prefix + oldMessage;
} }
@ -48,6 +56,6 @@ public class ColorPluginAppender extends ColorAppender {
protected Collection<String> loadPluginNames() { protected Collection<String> loadPluginNames() {
return Stream.of(Bukkit.getPluginManager().getPlugins()) return Stream.of(Bukkit.getPluginManager().getPlugins())
.map(Plugin::getName) .map(Plugin::getName)
.collect(Collectors.toSet()); .collect(toSet());
} }
} }

View File

@ -17,6 +17,8 @@ import java.util.stream.Collectors;
import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.ProxyServer;
import static java.util.stream.Collectors.toSet;
public class ColorLogFormatter extends Formatter { public class ColorLogFormatter extends Formatter {
private final ColorConsoleBungee plugin; private final ColorConsoleBungee plugin;
@ -103,7 +105,7 @@ public class ColorLogFormatter extends Formatter {
private Set<String> loadPluginNames() { private Set<String> loadPluginNames() {
return ProxyServer.getInstance().getPluginManager().getPlugins().stream() return ProxyServer.getInstance().getPluginManager().getPlugins().stream()
.map(plugin -> plugin.getDescription().getName()) .map(plugin -> plugin.getDescription().getName())
.collect(Collectors.toSet()); .collect(toSet());
} }
public void initPluginColors(String def) { public void initPluginColors(String def) {

View File

@ -30,8 +30,7 @@ public abstract class ColorAppender extends AbstractAppender {
loggerClassGetter = classGetter; loggerClassGetter = classGetter;
} }
private final Appender oldAppender; protected final Appender oldAppender;
protected final CommonFormatter formatter; protected final CommonFormatter formatter;
protected ColorAppender(Appender oldAppender, Collection<String> hideMessages protected ColorAppender(Appender oldAppender, Collection<String> hideMessages

View File

@ -18,7 +18,7 @@ import org.fusesource.jansi.AnsiRenderer.Code;
public class CommonFormatter { public class CommonFormatter {
//copied from AnsiEscape in order to provide compatibility with older minecraft versions //copied from AnsiEscape in order to provide compatibility with older Minecraft versions
private static final String CSI = "\u001b["; private static final String CSI = "\u001b[";
private static final char SUFFIX = 'm'; private static final char SUFFIX = 'm';
private final String reset = Ansi.ansi().a(Ansi.Attribute.RESET).toString(); private final String reset = Ansi.ansi().a(Ansi.Attribute.RESET).toString();

View File

@ -11,6 +11,8 @@ import org.apache.logging.log4j.core.LogEvent;
import org.spongepowered.api.Sponge; import org.spongepowered.api.Sponge;
import org.spongepowered.api.plugin.PluginContainer; import org.spongepowered.api.plugin.PluginContainer;
import static java.util.stream.Collectors.toSet;
public class ColorPluginAppender extends ColorAppender { public class ColorPluginAppender extends ColorAppender {
public ColorPluginAppender(Appender oldAppender, ColorConsoleConfig config) { public ColorPluginAppender(Appender oldAppender, ColorConsoleConfig config) {
@ -28,6 +30,6 @@ public class ColorPluginAppender extends ColorAppender {
protected Collection<String> loadPluginNames() { protected Collection<String> loadPluginNames() {
return Sponge.getPluginManager().getPlugins().stream() return Sponge.getPluginManager().getPlugins().stream()
.map(PluginContainer::getId) .map(PluginContainer::getId)
.collect(Collectors.toSet()); .collect(toSet());
} }
} }