diff --git a/arclight-coremod/build.gradle b/arclight-coremod/build.gradle index e3e1c742..f6d73911 100644 --- a/arclight-coremod/build.gradle +++ b/arclight-coremod/build.gradle @@ -57,9 +57,11 @@ repositories { def embedLibs = ['org.spongepowered:mixin:0.8', 'org.ow2.asm:asm-util:6.2', 'org.ow2.asm:asm-analysis:6.2', 'org.yaml:snakeyaml:1.23', 'org.xerial:sqlite-jdbc:3.28.0', 'mysql:mysql-connector-java:5.1.47', - 'commons-lang:commons-lang:2.6', 'jline:jline:2.12.1', - 'com.googlecode.json-simple:json-simple:1.1.1', 'org.apache.logging.log4j:log4j-jul:2.11.2', - 'net.md-5:SpecialSource:1.8.6', 'net.minecraftforge:eventbus:2.0.0-milestone.1:service'] + 'commons-lang:commons-lang:2.6', 'com.googlecode.json-simple:json-simple:1.1.1', + 'org.apache.logging.log4j:log4j-jul:2.11.2', 'net.md-5:SpecialSource:1.8.6', + 'net.minecraftforge:eventbus:2.0.0-milestone.1:service', 'org.jline:jline-terminal-jansi:3.12.1', + 'org.fusesource.jansi:jansi:1.18', 'org.jline:jline-terminal:3.12.1', + 'org.jline:jline-reader:3.12.1', 'jline:jline:2.12.1'] dependencies { minecraft "net.minecraftforge:forge:$minecraftVersion-$forgeVersion" @@ -83,7 +85,7 @@ def getGitHash = { -> } processResources { - filesNotMatching("**/accesstransformer.cfg") { + filesMatching("**/mods.toml") { expand 'version': "$minecraftVersion-${project.version}-${getGitHash()}" } } diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/ColouredConsoleSenderMixin.java b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/ColouredConsoleSenderMixin.java index 5a055183..f5ca7754 100644 --- a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/ColouredConsoleSenderMixin.java +++ b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/ColouredConsoleSenderMixin.java @@ -4,18 +4,21 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.bukkit.craftbukkit.v1_14_R1.command.ColouredConsoleSender; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.Overwrite; -import java.io.PrintStream; - -@Mixin(ColouredConsoleSender.class) -public class ColouredConsoleSenderMixin { +@Mixin(value = ColouredConsoleSender.class, remap = false) +public class ColouredConsoleSenderMixin extends CraftConsoleCommandSenderMixin { private static final Logger LOGGER = LogManager.getLogger("Console"); - @Redirect(method = "sendMessage", remap = false, at = @At(value = "INVOKE", target = "Ljava/io/PrintStream;println(Ljava/lang/String;)V")) - public void arclight$sendMessage(PrintStream printStream, String x) { - LOGGER.info(x); + /** + * @author IzzelAliz + * @reason use TerminalConsoleAppender + */ + @Overwrite + public void sendMessage(String message) { + if (!this.conversationTracker.isConversingModaly()) { + LOGGER.info(message); + } } } diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/CraftConsoleCommandSenderMixin.java b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/CraftConsoleCommandSenderMixin.java index 2b12f995..b015dba8 100644 --- a/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/CraftConsoleCommandSenderMixin.java +++ b/arclight-coremod/src/main/java/io/izzel/arclight/mixin/bukkit/CraftConsoleCommandSenderMixin.java @@ -2,23 +2,27 @@ package io.izzel.arclight.mixin.bukkit; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.bukkit.ChatColor; import org.bukkit.craftbukkit.v1_14_R1.command.CraftConsoleCommandSender; +import org.bukkit.craftbukkit.v1_14_R1.conversations.ConversationTracker; +import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; +import org.spongepowered.asm.mixin.Shadow; -@Mixin(CraftConsoleCommandSender.class) +@Mixin(value = CraftConsoleCommandSender.class, remap = false) public class CraftConsoleCommandSenderMixin { private static final Logger LOGGER = LogManager.getLogger("Console"); + @Shadow @Final protected ConversationTracker conversationTracker; + /** * @author IzzelAliz * @reason */ - @Overwrite(remap = false) + @Overwrite public void sendRawMessage(String message) { - LOGGER.info(ChatColor.stripColor(message)); + LOGGER.info(message); } } diff --git a/arclight-coremod/src/main/java/io/izzel/arclight/server/Main.java b/arclight-coremod/src/main/java/io/izzel/arclight/server/Main.java index cc22355a..89c73370 100644 --- a/arclight-coremod/src/main/java/io/izzel/arclight/server/Main.java +++ b/arclight-coremod/src/main/java/io/izzel/arclight/server/Main.java @@ -2,13 +2,10 @@ package io.izzel.arclight.server; import io.izzel.arclight.api.Unsafe; import io.izzel.arclight.forgeinstaller.ForgeInstaller; -import io.izzel.arclight.mod.util.BukkitOptionParser; import io.izzel.arclight.mod.util.remapper.ArclightRemapper; import io.izzel.arclight.util.EnumHelper; -import joptsimple.OptionSet; import net.minecraftforge.server.ServerMain; import org.apache.logging.log4j.LogManager; -import org.fusesource.jansi.AnsiConsole; import java.util.Objects; @@ -27,26 +24,6 @@ public class Main { t.printStackTrace(); return; } - try { - OptionSet options = new BukkitOptionParser().parse(args); - String jline_UnsupportedTerminal = new String(new char[]{'j', 'l', 'i', 'n', 'e', '.', 'U', 'n', 's', 'u', 'p', 'p', 'o', 'r', 't', 'e', 'd', 'T', 'e', 'r', 'm', 'i', 'n', 'a', 'l'}); - String jline_terminal = new String(new char[]{'j', 'l', 'i', 'n', 'e', '.', 't', 'e', 'r', 'm', 'i', 'n', 'a', 'l'}); - - boolean useJline = !(jline_UnsupportedTerminal).equals(System.getProperty(jline_terminal)); - - if (options.has("nojline")) { - System.setProperty("user.language", "en"); - useJline = false; - } - - if (useJline) { - AnsiConsole.systemInstall(); - } else { - System.setProperty(jline.TerminalFactory.JLINE_TERMINAL, jline.UnsupportedTerminal.class.getName()); - } - } catch (Exception e) { - e.printStackTrace(); - } try { System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager"); System.setProperty("log4j.jul.LoggerAdapter", "io.izzel.arclight.mod.util.ArclightLoggerAdapter"); diff --git a/arclight-coremod/src/main/resources/log4j2.xml b/arclight-coremod/src/main/resources/log4j2.xml new file mode 100644 index 00000000..c1a27ab8 --- /dev/null +++ b/arclight-coremod/src/main/resources/log4j2.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +