Fix showing plugin tag for Paper

This commit is contained in:
games647 2017-09-30 10:54:13 +02:00
parent afe6f8edaf
commit 4ae4cb9f41
No known key found for this signature in database
GPG Key ID: BFC68C8708713A88
3 changed files with 22 additions and 2 deletions

View File

@ -6,6 +6,8 @@ sudo: false
# This is a java project
language: java
script: mvn compile test
script: mvn test -B
jdk: [oraclejdk8]
jdk:
- oraclejdk8
- oraclejdk9

View File

@ -14,4 +14,11 @@ This lightweight plugin to make your console more colorful. It colorize the mess
* Custom logFormat
* Colorize plugin tags (customizable)
* Easy to use config
* Removes color from plugins if you want to
* Supports all versions above 1.8+
## Supports
* BungeeCord/Waterfall
* SpongeForge
* Spigot/Paper

View File

@ -1,10 +1,12 @@
package com.github.games647.colorconsole.bukkit;
import com.github.games647.colorconsole.common.ColorAppender;
import com.google.common.collect.Sets;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -18,6 +20,9 @@ import org.bukkit.plugin.Plugin;
public class ColorPluginAppender extends ColorAppender {
private static final Set<String> disabledPrefix = Sets.newHashSet("net.minecraft", "Minecraft"
, "com.mojang", "com.sk89q", "ru.tehkode", "Minecraft.AWE");
public ColorPluginAppender(Appender oldAppender, FileConfiguration config, Map<String, String> levelColors) {
super(oldAppender
, config.getStringList("hide-messages")
@ -29,6 +34,12 @@ public class ColorPluginAppender extends ColorAppender {
@Override
public LogEvent onAppend(LogEvent logEvent) {
String oldMessage = logEvent.getMessage().getFormattedMessage();
String prefix = "[" + logEvent.getLoggerName() + "] ";
if (!oldMessage.contains(prefix)
&& !disabledPrefix.stream().anyMatch(disabled -> logEvent.getLoggerName().startsWith(disabled))) {
oldMessage = prefix + oldMessage;
}
Message newMessage = new SimpleMessage(formatter.colorizePluginTag(oldMessage, logEvent.getLevel().name()));
return clone(logEvent, logEvent.getLoggerName(), newMessage);
}