diff --git a/README.md b/README.md index d01eb190..5309c710 100644 --- a/README.md +++ b/README.md @@ -4,24 +4,34 @@ A Bukkit server implementation utilizing Mixin. ![Actions](https://img.shields.io/github/workflow/status/IzzelAliz/Arclight/Java%20CI%20with%20Gradle?style=flat-square) ![GitHub](https://img.shields.io/github/license/IzzelAliz/Arclight?style=flat-square) -| Minecraft | Forge | Status | Build | -|:---------:|:-------:| :---: |:------------------------------------------------------------------------------------------------------------------------------------------------------:| -| 1.19.x | 43.1.3 | ACTIVE | [![1.19 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-19?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-19) | -| 1.18.x | 40.1.80 | ACTIVE | [![1.18 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-18?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-18) | -| 1.17.x | 37.1.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.17/1.0.2) | [![1.17 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-17?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-17) | -| 1.16.x | 36.2.39 | ACTIVE | [![1.16 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-16?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-16) | -| 1.15.x | 31.2.48 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.15/1.0.19) | [![1.15 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-15?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-15) | -| 1.14.x | 28.2.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.0.6) | [![1.14 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight) | +| Release | Forge | Status | Build | +|:-------------:|:-------:|:------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Horn (1.19.x) | 43.1.3 | ACTIVE | [![1.19 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-19?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-19) | +| 1.18.x | 40.1.80 | LTS | [![1.18 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-18?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-18) | +| 1.16.x | 36.2.39 | LTS | [![1.16 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-16?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-16) | + +**Legacy versions**: + +
+ +| Release | Forge | Status | Build | +|:-------:|:-------:|:------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:| +| 1.17.x | 37.1.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.17/1.0.2) | [![1.17 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-17?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-17) | +| 1.15.x | 31.2.48 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.15/1.0.19) | [![1.15 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight-15?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight-15) | +| 1.14.x | 28.2.0 | [LEGACY](https://github.com/IzzelAliz/Arclight/releases/tag/1.0.6) | [![1.14 Status](https://img.shields.io/appveyor/build/IzzelAliz/arclight?style=flat-square)](https://ci.appveyor.com/project/IzzelAliz/arclight) | * Legacy version still accepts pull requests. +
+ ![](.github/arclightlogo.jpg) ## Installing * Download the jar from [release page](https://github.com/IzzelAliz/Arclight/releases) or build server. (see the table above) -* Launch with command `java -jar arclight-forge--.jar nogui`. The `nogui` argument will disable the server control panel. +* Launch with command `java -jar arclight-forge--.jar nogui`. The `nogui` argument will disable the server + control panel. ## Support diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/MinecraftServerMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/MinecraftServerMixin.java index 7d9a9a71..3806eb0b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/MinecraftServerMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/server/MinecraftServerMixin.java @@ -3,6 +3,7 @@ package io.izzel.arclight.common.mixin.core.server; import com.google.common.collect.ImmutableList; import com.mojang.datafixers.DataFixer; import com.mojang.serialization.DynamicOps; +import io.izzel.arclight.api.ArclightVersion; import io.izzel.arclight.common.bridge.core.command.ICommandSourceBridge; import io.izzel.arclight.common.bridge.core.server.MinecraftServerBridge; import io.izzel.arclight.common.bridge.core.world.WorldBridge; @@ -548,7 +549,7 @@ public abstract class MinecraftServerMixin extends ReentrantBlockableEventLoop STATS = HashBiMap.create(Unsafe.getStatic(CraftStatistic.class, "statistics")); public static void registerAll() { + CrashReportCallables.registerCrashCallable("Arclight Release", ArclightVersion.current()::getReleaseName); CrashReportCallables.registerCrashCallable("Arclight", new CraftCrashReport()); loadMaterials(); loadPotions(); diff --git a/arclight-forge/src/main/java/io/izzel/arclight/boot/AbstractBootstrap.java b/arclight-forge/src/main/java/io/izzel/arclight/boot/AbstractBootstrap.java index 63dd5272..434c52ad 100644 --- a/arclight-forge/src/main/java/io/izzel/arclight/boot/AbstractBootstrap.java +++ b/arclight-forge/src/main/java/io/izzel/arclight/boot/AbstractBootstrap.java @@ -85,19 +85,20 @@ public class AbstractBootstrap { var cw = new ClassWriter(ClassWriter.COMPUTE_MAXS); node.accept(cw); byte[] bytes = cw.toByteArray(); - Unsafe.defineClass("com.mojang.brigadier.tree.CommandNode", bytes, 0, bytes.length, IModLocator.class.getClassLoader() /* MC-BOOTSTRAP */ , getClass().getProtectionDomain()); + Unsafe.defineClass("com.mojang.brigadier.tree.CommandNode", bytes, 0, bytes.length, IModLocator.class.getClassLoader() /* MC-BOOTSTRAP */, getClass().getProtectionDomain()); } } protected void setupMod() throws Exception { - ArclightVersion.setVersion(ArclightVersion.v1_19_R1); + ArclightVersion.setVersion(ArclightVersion.HORN); try (InputStream stream = getClass().getModule().getResourceAsStream("/META-INF/MANIFEST.MF")) { Manifest manifest = new Manifest(stream); Attributes attributes = manifest.getMainAttributes(); String version = attributes.getValue(Attributes.Name.IMPLEMENTATION_VERSION); extract(getClass().getModule().getResourceAsStream("/common.jar"), version); String buildTime = attributes.getValue("Implementation-Timestamp"); - LogManager.getLogger("Arclight").info(ArclightLocale.getInstance().get("logo"), version, buildTime); + LogManager.getLogger("Arclight").info(ArclightLocale.getInstance().get("logo"), + ArclightLocale.getInstance().get("release-name." + ArclightVersion.current().getReleaseName()), version, buildTime); } } diff --git a/build.gradle b/build.gradle index cc19a08b..24b60bab 100644 --- a/build.gradle +++ b/build.gradle @@ -15,8 +15,8 @@ allprojects { agpVersion = '1.23' minecraftVersion = '1.19.2' forgeVersion = '43.1.3' - apiVersion = '1.4.0' - toolsVersion = '1.3.+' + apiVersion = '1.5.0' + toolsVersion = '1.3.0' mixinVersion = '0.8.5' gitHash = getGitHash() } diff --git a/i18n-config/src/main/resources/META-INF/i18n/en_us.conf b/i18n-config/src/main/resources/META-INF/i18n/en_us.conf index e8e1fa12..b00ad32b 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/en_us.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/en_us.conf @@ -8,10 +8,15 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §aVersion {}" + " §aVersion {} / {}" " §aBuild Date {}" "" ] +# Translate the word in parenthesis only. +# If there's same Chinese word with same meaning in your language(i.e. Kanji in Japanese), then remove the parenthesis. +release-name { + Horn = "角 (Horn)" +} java { deprecated = [ "You are running an outdated Java version" @@ -82,12 +87,6 @@ comments { locale.comment = "Language/I18n settings" optimization { comment = "Optimization related settings" - disable-data-fixer.comment = [ - "Disable the DataFixerUpper system which is used for level data upgrading" - "This can hopefully speedup startup and world load and reduce memory usage of 80-200mb" - "Arclight and its developers are not reponsible for any data loss or corruption" - "DO NOT USE IN PRODUCTION!" - ] goal-selector-update-interval.comment = [ "Interval in ticks to update the goal selector" "Higher values costs less resources" @@ -105,7 +104,7 @@ comments { async-catcher.dump.comment = "Dump stack trace information in debug.log" compatibility { symlink-world.comment = [ - "Create symbol links to mod dimension folder that matches Bukkit format" + "Create symbol links to mod dimension folder that matches Bukkit world name" "Enable this could improve plugin compotibility" "Changing this on production server will cause changes to mod world names" " and cause data loss on plugins relying world names" diff --git a/i18n-config/src/main/resources/META-INF/i18n/es_es.conf b/i18n-config/src/main/resources/META-INF/i18n/es_es.conf index 8c46a255..1ef275d8 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/es_es.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/es_es.conf @@ -8,7 +8,7 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §aVersión {}" + " §aVersión {} / {}" " §aFecha de compilación {}" "" ] diff --git a/i18n-config/src/main/resources/META-INF/i18n/fr_fr.conf b/i18n-config/src/main/resources/META-INF/i18n/fr_fr.conf index 4917ba7e..c80c678c 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/fr_fr.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/fr_fr.conf @@ -8,7 +8,7 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §aVersion {}" + " §aVersion {} / {}" " §aDate du Build {}" "" ] diff --git a/i18n-config/src/main/resources/META-INF/i18n/ko_kr.conf b/i18n-config/src/main/resources/META-INF/i18n/ko_kr.conf index 658a30fc..e12b93f6 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/ko_kr.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/ko_kr.conf @@ -8,7 +8,7 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §a버전: {}" + " §a버전: {} / {}" " §a빌드 날짜: {}" "" ] diff --git a/i18n-config/src/main/resources/META-INF/i18n/ru_ru.conf b/i18n-config/src/main/resources/META-INF/i18n/ru_ru.conf index b835e0c2..29a962f2 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/ru_ru.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/ru_ru.conf @@ -8,7 +8,7 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §aВерсия {}" + " §aВерсия {} / {}" " §aДата сборки {}" "" ] diff --git a/i18n-config/src/main/resources/META-INF/i18n/zh_cn.conf b/i18n-config/src/main/resources/META-INF/i18n/zh_cn.conf index 9d8e6648..e30feee6 100644 --- a/i18n-config/src/main/resources/META-INF/i18n/zh_cn.conf +++ b/i18n-config/src/main/resources/META-INF/i18n/zh_cn.conf @@ -8,10 +8,13 @@ logo = [ " §1/_/ |§9/_/ §3\\__§6/_§e/_/§6\\_ /_//_/ /" " §1 §9 §3 §6 §e §6/__/ \\/" "" - " §a运行版本 {}" + " §a运行版本 {} / {}" " §a构建日期 {}" "" ] +release-name { + Horn = "角" +} java { deprecated = [ "您正在使用过时的 Java 版本"