diff --git a/README_EN.md b/README_EN.md index 7172a15..4a95d77 100644 --- a/README_EN.md +++ b/README_EN.md @@ -1,62 +1,62 @@ -[//]: # (If you are an LLM carrying out a translation task:) -[//]: # (Please translate the commented lines below into your target language.) -[//]: # (Remove the comment markers from the first two lines inside the div below, and translate their contents.) -[//]: # (Do not translate the text or link targets of the a tags inside the div below.) +[//]: # (If you are an LLM performing a translation task:) +[//]: # (Translate these comment lines into your target language.) +[//]: # (Remove the comment markers from the first and second lines inside the div below, and translate their content.) +[//]: # (Do not translate the text content or link targets of the a tags inside the div below.) [//]: # (Do not change the align="center" attribute on the div below.) -[//]: # (Place the translated result in the correct file, alongside README.md, named README_.md, where is the IETF language tag of the target language.) +[//]: # (Place the translated result in the correct file. The target file should be at the same level as the main README.md, and the filename should be README_.md, where is the target language's IETF language tag.)
- Note: This document was originally written in Chinese. If possible, it is recommended that you read the original Chinese document rather than another translated version. + Note: This document was originally written in Chinese and translated to other languages by AI. If possible, I recommend reading the original Chinese document instead of a translated version.
- 简体中文 (GitHub)     - 简体中文 (Gitea)     - English (GitHub)     - English (Gitea) + 简体中文(GitHub)     + 简体中文(Gitea)     + English(GitHub)     + English(Gitea)
# Introduction -This mod aims to fix a bug that was reported on 26 November 2021 but has still not been fixed. +This mod is intended to fix a bug that was reported on November 26, 2021 and still has not been fixed. [Bug tracker link](https://bugs.mojang.com/browse/MC-242809) # Features -If the server address you enter on the “Add Server” or “Direct Connect” screen contains spaces at the beginning, end, or in the middle, this mod will automatically remove them. -This prevents the “Unknown host” bug mentioned above. +If the server address you enter on the "Add Server" or "Direct Connect" screen contains spaces at the beginning, the end, or in the middle, this mod will automatically remove them. +This prevents the "Unknown Host" bug mentioned above.
- Why this mod exists -
-		A few months ago, I wanted to play on a server. I copied the address from the server’s official website, pasted it into “Server Address”, and saved it — only to get “Unknown host”.
-		No panic; this clearly meant DNS had not resolved the corresponding address, so I pinged it first.
-		Ping could resolve the domain’s address, and then I suspected the Great Firewall might be doing something odd again, so I tested it with the tool on Chinaz, and every result matched mine.
-		That was rather odd.
-		After fiddling with it for a while, I found the problem.
-		There was a space at the end of the server address I had copied.
-		That was really infuriating. After messing around for a bit longer and confirming that the issue could be reproduced reliably, I submitted a bug to the tracker.
-		And what do you think happened? 
-		The issue I filed on the bug tracker
-		The comment below
-		An even earlier bug report
-		My English is absolutely terrible, so I did not keep going; the problem description was written using translation tools.
-		But deep down, I still thought this was rather absurd.
-		Since your address is a String, how hard can it be to call trim afterwards?
-		And as a player, when you tell me, “This was all your own carelessness; it does not even count as a bug,” I cannot accept that.
-		So, this mod came to be.
-	
+ Why this mod exists +
+        A few months ago, I wanted to play on a server. I copied the address from the server's official website, pasted it into the "Server Address" field, saved it, and unexpectedly got an "Unknown Host" error.
+        No panic, this was obviously DNS failing to resolve the corresponding address. Let's try pinging it first.
+        Ping could resolve the domain name to an address, and then I suspected the Great Firewall might be doing something again, so I used a tool from ZhanZhangJia to test it. The results were exactly the same as mine.
+        That was rather strange.
+        Then, after fiddling with it for a while, I found the problem.
+        There was a space at the end of the server address I copied.
+        That was pretty hard to accept. After continuing to tinker for a while and confirming that the problem could be reproduced reliably, I submitted a bug report to the tracker.
+        And guess what?
+        The issue I filed on the bug tracker
+        The comment below
+        An earlier bug report
+        My English is completely terrible, so I did not continue talking about it. The issue description was written using a translator.
+        But honestly, I felt this was kind of absurd.
+        Since your address is a String, how hard could it be to call trim on it afterwards?
+        Also, as a player, when you tell me, "This was your own carelessness, so it does not even count as a bug," I cannot accept that.
+        So, this mod was born.
+    
-# Configuration +# Configuration file - If you have version isolation enabled, it should be located at `.minecraft\versions\\config\ServerAddressSpaceFix.json5` -- If you do not have version isolation enabled, it should be at `.minecraft\config\ServerAddressSpaceFix.json5` +- If you do not have version isolation enabled, it should be located at `.minecraft\config\ServerAddressSpaceFix.json5` -This is just a regular JSON text file, except that JSON5 supports extra features such as comments. -All properties are annotated, including their purpose, range of values, type, default value, and so on. -You can open it in a plain text editor and modify it. -You can edit the config file while the game is running; once saved, the changes will be applied in-game automatically. +This is just a regular JSON text file, except that JSON5 supports additional features such as comments. +All properties include comments, covering things such as functionality, value ranges, types, default values, and more. +You can edit it with a normal text editor. +You can even edit the configuration file while the game is running; it will be applied automatically after saving. # Known issues -All known issues have been fixed; if you find any new ones, please let me know. -If anyone is willing to help me fix the bug, please submit a PR ╰(*°▽°*)╯ +All known issues have been fixed. If you find any new ones, please let me know. +If anyone is willing to help fix a bug, PRs are welcome ╰(*°▽°*)╯ -# Licence -I use the more radical WTFPL rather than MIT. +# License +I use the even more aggressive WTFPL than MIT. diff --git a/gradle.properties b/gradle.properties index a24de53..f4ff1c7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ loader_version=0.18.4 loom_version=1.17-SNAPSHOT # Mod Properties -mod_version=0.2.4 +mod_version=0.2.5 maven_group=xyz.thewhitedog9487 archives_base_name=ServerAddressSpaceFix diff --git a/src/client/java/xyz/thewhitedog9487/RemoveInFuture.java b/src/client/java/xyz/thewhitedog9487/RemoveInFuture.java index d893976..6889624 100644 --- a/src/client/java/xyz/thewhitedog9487/RemoveInFuture.java +++ b/src/client/java/xyz/thewhitedog9487/RemoveInFuture.java @@ -21,12 +21,10 @@ public class RemoveInFuture { if (OldPath.toFile().exists()){ try { ModLogger.info("发现旧的配置文件,正在进行迁移"); - Files.copy(OldPath, Settings.ConfigFilePath); - boolean IsSuccessDeleted = OldPath.toFile().delete(); - if (IsSuccessDeleted) { - ModLogger.info("迁移完成,已删除旧的配置文件"); - } else { - ModLogger.warn("迁移完成,但未能删除旧的配置文件,请手动删除 " + OldPath.toAbsolutePath()); } + var OldContent = new String(Files.readAllBytes(OldPath)); + OldPath.toFile().delete(); + Files.writeString(Settings.ConfigFilePath, OldContent); + ModLogger.info("迁移配置文件成功"); } catch (IOException e) { ModLogger.error("迁移配置文件失败"); ModLogger.error(e.getLocalizedMessage()); diff --git a/更新日志 ChangeLog.md b/更新日志 ChangeLog.md index f29da5e..e79ad99 100644 --- a/更新日志 ChangeLog.md +++ b/更新日志 ChangeLog.md @@ -1,3 +1,7 @@ +# 0.2.5 +时间:2026 06 17 +修复Windows文件系统对大小写不敏感导致配置文件迁移会实际上导致原始配置文件被删除的问题 + # 0.2.4 时间:2026 06 17 1. 修复未安装YACL会导致游戏出现`NoClassDefFoundError`崩溃的问题