From 03877441bdf3ba9911432b3f35aa125d45b7f380 Mon Sep 17 00:00:00 2001 From: IzzelAliz Date: Sun, 12 Dec 2021 14:28:50 +0800 Subject: [PATCH] Update to Minecraft 1.18.1 --- arclight-common/build.gradle | 4 +-- arclight-forge/build.gradle | 8 +++--- .../application/ApplicationBootstrap.java | 26 ------------------- .../src/main/resources/arclight-log4j2.xml | 18 ++++++------- build.gradle | 4 +-- .../forgeinstaller/ForgeInstaller.java | 2 +- 6 files changed, 18 insertions(+), 44 deletions(-) diff --git a/arclight-common/build.gradle b/arclight-common/build.gradle index 99265f44..99804e08 100644 --- a/arclight-common/build.gradle +++ b/arclight-common/build.gradle @@ -39,7 +39,7 @@ java.toolchain.languageVersion = JavaLanguageVersion.of(17) minecraft { //mappings channel: 'parchment', version: "2021.08.22-$minecraftVersion" - mappings channel: 'official', version: '1.18' + mappings channel: 'official', version: minecraftVersion accessTransformer = project.file('src/main/resources/META-INF/accesstransformer.cfg') } @@ -65,7 +65,7 @@ dependencies { implementation 'jline:jline:2.12.1' implementation 'net.md-5:SpecialSource:1.9.0' - implementation 'org.apache.logging.log4j:log4j-jul:2.11.2' + implementation 'org.apache.logging.log4j:log4j-jul:2.15.0' implementation 'net.md-5:bungeecord-chat:1.16-R0.4' implementation 'mysql:mysql-connector-java:5.1.49' implementation 'org.yaml:snakeyaml:1.27' diff --git a/arclight-forge/build.gradle b/arclight-forge/build.gradle index 859bb238..636fcfd4 100644 --- a/arclight-forge/build.gradle +++ b/arclight-forge/build.gradle @@ -44,7 +44,7 @@ repositories { def embedLibs = [/*"org.spongepowered:mixin:$mixinVersion", */ 'org.yaml:snakeyaml:1.28', 'org.xerial:sqlite-jdbc:3.36.0.3', 'mysql:mysql-connector-java:8.0.27', /*'commons-lang:commons-lang:2.6',*/ 'com.googlecode.json-simple:json-simple:1.1.1', - 'org.apache.logging.log4j:log4j-jul:2.14.1', 'net.md-5:SpecialSource:1.10.0', + 'org.apache.logging.log4j:log4j-jul:2.15.0', 'net.md-5:SpecialSource:1.10.0', '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', 'org.apache.maven:maven-resolver-provider:3.8.1', @@ -68,11 +68,11 @@ dependencies { implementation 'cpw.mods:securejarhandler:0.9.45' implementation 'net.minecraftforge:forgespi:4.0.9' gson 'com.google.code.gson:gson:2.8.9' - implementation 'org.apache.logging.log4j:log4j-api:2.14.1' - implementation 'org.apache.logging.log4j:log4j-core:2.14.1' + implementation 'org.apache.logging.log4j:log4j-api:2.15.0' + implementation 'org.apache.logging.log4j:log4j-core:2.15.0' implementation 'org.jetbrains:annotations:22.0.0' implementation 'org.spongepowered:mixin:0.8.3' - implementation 'org.apache.logging.log4j:log4j-jul:2.14.1' + implementation 'org.apache.logging.log4j:log4j-jul:2.15.0' for (def lib : embedLibs) { installer lib } diff --git a/arclight-forge/src/main/java/io/izzel/arclight/boot/application/ApplicationBootstrap.java b/arclight-forge/src/main/java/io/izzel/arclight/boot/application/ApplicationBootstrap.java index 8241aa27..2fe45d9e 100644 --- a/arclight-forge/src/main/java/io/izzel/arclight/boot/application/ApplicationBootstrap.java +++ b/arclight-forge/src/main/java/io/izzel/arclight/boot/application/ApplicationBootstrap.java @@ -10,8 +10,6 @@ import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.ClassNode; -import org.objectweb.asm.tree.InsnNode; import java.util.ServiceLoader; import java.util.function.Consumer; @@ -27,7 +25,6 @@ public class ApplicationBootstrap extends AbstractBootstrap implements Consumer< System.setProperty("java.util.logging.manager", "org.apache.logging.log4j.jul.LogManager"); System.setProperty("log4j.jul.LoggerAdapter", "io.izzel.arclight.boot.log.ArclightLoggerAdapter"); System.setProperty("log4j.configurationFile", "arclight-log4j2.xml"); - this.hackLog4j(); ArclightLocale.info("i18n.using-language", ArclightConfig.spec().getLocale().getCurrent(), ArclightConfig.spec().getLocale().getFallback()); try { int javaVersion = (int) Float.parseFloat(System.getProperty("java.class.version")); @@ -54,29 +51,6 @@ public class ApplicationBootstrap extends AbstractBootstrap implements Consumer< } } - private void hackLog4j() { - try (var in = getClass().getClassLoader().getResourceAsStream("org/apache/logging/log4j/core/lookup/JndiLookup.class")) { - var cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); - var cr = new ClassReader(in); - var node = new ClassNode(); - cr.accept(node, 0); - for (var method : node.methods) { - if (method.name.equals("lookup")) { - method.instructions.clear(); - method.instructions.add(new InsnNode(Opcodes.ACONST_NULL)); - method.instructions.add(new InsnNode(Opcodes.ARETURN)); - method.tryCatchBlocks.clear(); - method.localVariables.clear(); - } - } - node.accept(cw); - var bytes = cw.toByteArray(); - Unsafe.defineClass(cr.getClassName(), bytes, 0, bytes.length, getClass().getClassLoader(), getClass().getProtectionDomain()); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - private void hackModlauncher() throws Exception { try (var in = getClass().getClassLoader().getResourceAsStream("cpw/mods/modlauncher/TransformerClassWriter$SuperCollectingVisitor.class")) { var cw = new ClassWriter(0); diff --git a/arclight-forge/src/main/resources/arclight-log4j2.xml b/arclight-forge/src/main/resources/arclight-log4j2.xml index 86113783..811bbe62 100644 --- a/arclight-forge/src/main/resources/arclight-log4j2.xml +++ b/arclight-forge/src/main/resources/arclight-log4j2.xml @@ -23,28 +23,28 @@ + defaultPattern="%highlight{[%d{HH:mm:ss} %level] [%c{1.}%notEmpty{/%markerSimpleName}]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"> + pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/> + pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/> + pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/> - + - - + + - + @@ -52,7 +52,7 @@ - + diff --git a/build.gradle b/build.gradle index 8df829bc..cd881df3 100644 --- a/build.gradle +++ b/build.gradle @@ -13,8 +13,8 @@ allprojects { ext { agpVersion = '1.22' - minecraftVersion = '1.18' - forgeVersion = '38.0.12' + minecraftVersion = '1.18.1' + forgeVersion = '39.0.0' apiVersion = '1.2.2' toolsVersion = '1.3.+' mixinVersion = '0.8.5' diff --git a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java index 96ce3436..f27d9f2e 100644 --- a/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java +++ b/forge-installer/src/main/java/io/izzel/arclight/forgeinstaller/ForgeInstaller.java @@ -58,7 +58,7 @@ public class ForgeInstaller { private static final String INSTALLER_URL = "https://arclight.mcxk.net/net/minecraftforge/forge/%s-%s/forge-%s-%s-installer.jar"; private static final String SERVER_URL = "https://arclight.mcxk.net/net/minecraft/server/minecraft_server.%s.jar"; private static final Map VERSION_HASH = Map.of( - "1.18", "3cf24a8694aca6267883b17d934efacc5e44440d" + "1.18.1", "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9" ); public static List modInstall(Consumer logger) throws Throwable {