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 {