Update to Minecraft 1.18.1
This commit is contained in:
parent
7c709e554d
commit
03877441bd
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -23,28 +23,28 @@
|
|||
<PatternLayout>
|
||||
<!-- use white for info output -->
|
||||
<LoggerNamePatternSelector
|
||||
defaultPattern="%highlight{[%d{HH:mm:ss} %level] [%c{1.}%notEmpty{/%markerSimpleName}]: %minecraftFormatting{%msg}%n%xEx}{INFO=normal}">
|
||||
defaultPattern="%highlight{[%d{HH:mm:ss} %level] [%c{1.}%notEmpty{/%markerSimpleName}]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}">
|
||||
<!-- don't include the full logger name for Mojang's logs since they use full class names and it's very verbose -->
|
||||
<PatternMatch key="net.minecraft."
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx}{INFO=normal}"/>
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/>
|
||||
<PatternMatch key="com.mojang."
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx}{INFO=normal}"/>
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/>
|
||||
<PatternMatch key="net.minecraftforge."
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg}%n%xEx}{INFO=normal}"/>
|
||||
pattern="%highlight{[%d{HH:mm:ss} %level]: %minecraftFormatting{%msg{nolookup}}%n%xEx}{INFO=normal}"/>
|
||||
</LoggerNamePatternSelector>
|
||||
</PatternLayout>
|
||||
</TerminalConsole>
|
||||
<Queue name="ServerGuiConsole" ignoreExceptions="true">
|
||||
<PatternLayout>
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] [%c{2.}/%markerSimpleName]: %minecraftFormatting{%msg}{strip}%n">
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] [%c{2.}/%markerSimpleName]: %minecraftFormatting{%msg{nolookup}}{strip}%n">
|
||||
<!-- don't include the full logger name for Mojang's logs since they use full class names and it's very verbose -->
|
||||
<PatternMatch key="net.minecraft." pattern="[%d{HH:mm:ss}] [%t/%level] [minecraft/%logger{1}]: %minecraftFormatting{%msg}{strip}%n"/>
|
||||
<PatternMatch key="com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] [mojang/%logger{1}]: %minecraftFormatting{%msg}{strip}%n"/>
|
||||
<PatternMatch key="net.minecraft." pattern="[%d{HH:mm:ss}] [%t/%level] [minecraft/%logger{1}]: %minecraftFormatting{%msg{nolookup}}{strip}%n"/>
|
||||
<PatternMatch key="com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] [mojang/%logger{1}]: %minecraftFormatting{%msg{nolookup}}{strip}%n"/>
|
||||
</LoggerNamePatternSelector>
|
||||
</PatternLayout>
|
||||
</Queue>
|
||||
<RollingRandomAccessFile name="File" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout pattern="[%d{ddMMMyyyy HH:mm:ss.SSS}] [%t/%level] [%logger/%markerSimpleName]: %minecraftFormatting{%msg}{strip}%n%tEx"/>
|
||||
<PatternLayout pattern="[%d{ddMMMyyyy HH:mm:ss.SSS}] [%t/%level] [%logger/%markerSimpleName]: %minecraftFormatting{%msg{nolookup}}{strip}%n%tEx"/>
|
||||
<Policies>
|
||||
<TimeBasedTriggeringPolicy/>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
|
@ -52,7 +52,7 @@
|
|||
<DefaultRolloverStrategy max="99" fileIndex="min"/>
|
||||
</RollingRandomAccessFile>
|
||||
<RollingRandomAccessFile name="DebugFile" fileName="logs/debug.log" filePattern="logs/debug-%i.log.gz">
|
||||
<PatternLayout pattern="[%d{ddMMMyyyy HH:mm:ss.SSS}] [%t/%level] [%logger/%markerSimpleName]: %minecraftFormatting{%msg}{strip}%n%tEx"/>
|
||||
<PatternLayout pattern="[%d{ddMMMyyyy HH:mm:ss.SSS}] [%t/%level] [%logger/%markerSimpleName]: %minecraftFormatting{%msg{nolookup}}{strip}%n%tEx"/>
|
||||
<Policies>
|
||||
<OnStartupTriggeringPolicy/>
|
||||
<SizeBasedTriggeringPolicy size="200MB"/>
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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<String, String> VERSION_HASH = Map.of(
|
||||
"1.18", "3cf24a8694aca6267883b17d934efacc5e44440d"
|
||||
"1.18.1", "125e5adf40c659fd3bce3e66e67a16bb49ecc1b9"
|
||||
);
|
||||
|
||||
public static List<Path> modInstall(Consumer<String> logger) throws Throwable {
|
||||
|
|
Loading…
Reference in New Issue
Block a user