Skip to content

Commit 8aa1f30

Browse files
committed
feat: update 1.20.3 and 1.20.4 MinecraftForge
1 parent 668418a commit 8aa1f30

5 files changed

Lines changed: 35 additions & 15 deletions

File tree

src/main/java/i18nupdatemod/I18nUpdateMod.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class I18nUpdateMod {
2222
public static final String MOD_ID = "i18nupdatemod";
2323
public static String MOD_VERSION;
2424

25-
private static final Gson GSON = new Gson();
25+
public static final Gson GSON = new Gson();
2626

2727
public static void init(Path minecraftPath, String minecraftVersion, String loader) {
2828
try (InputStream is = I18nConfig.class.getResourceAsStream("/i18nMetaData.json")) {

src/main/java/i18nupdatemod/fabricloader/FabricLoaderMod.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public void onInitializeClient() {
2525

2626
private String getMcVersion() {
2727
try {
28-
//Fabric
28+
// Fabric
2929
return (String) Reflection.clazz("net.fabricmc.loader.impl.FabricLoaderImpl")
3030
.get("INSTANCE")
3131
.get("getGameProvider()")
@@ -34,7 +34,7 @@ private String getMcVersion() {
3434

3535
}
3636
try {
37-
//Quilt
37+
// Quilt
3838
return (String) Reflection.clazz("org.quiltmc.loader.impl.QuiltLoaderImpl")
3939
.get("INSTANCE")
4040
.get("getGameProvider()")

src/main/java/i18nupdatemod/launchwrapper/LaunchWrapperTweaker.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,25 +40,27 @@ public String[] getLaunchArguments() {
4040

4141
private String getMcVersion() {
4242
try {
43-
//1.8.8-1.12.2
44-
return (String) Reflection.clazz("net.minecraftforge.common.ForgeVersion").get("mcVersion").get();
43+
// 1.6~1.7.10
44+
// 1.6: https://github.com/MinecraftForge/FML/blob/16launch/common/cpw/mods/fml/relauncher/FMLInjectionData.java#L32
45+
// 1.7.10: https://github.com/MinecraftForge/MinecraftForge/blob/1.7.10/fml/src/main/java/cpw/mods/fml/relauncher/FMLInjectionData.java#L32
46+
return (String)
47+
Reflection.clazz("cpw.mods.fml.relauncher.FMLInjectionData").get("mccversion").get();
4548
} catch (Exception ignored) {
4649
}
4750

4851
try {
49-
//1.6-1.7.10
50-
//1.6: https://github.com/MinecraftForge/FML/blob/902772ed0cb6c22c4cd7ad9b0ec7a02961b5e016/common/cpw/mods/fml/relauncher/FMLInjectionData.java#L32
51-
//1.7.10: https://github.com/MinecraftForge/MinecraftForge/blob/1.7.10/fml/src/main/java/cpw/mods/fml/relauncher/FMLInjectionData.java#L32
52+
// 1.8
53+
// https://github.com/MinecraftForge/FML/blob/1.8/src/main/java/net/minecraftforge/fml/relauncher/FMLInjectionData.java#L32
5254
return (String)
53-
Reflection.clazz("cpw.mods.fml.relauncher.FMLInjectionData").get("mccversion").get();
55+
Reflection.clazz("net.minecraftforge.fml.relauncher.FMLInjectionData").get("mccversion").get();
5456
} catch (Exception ignored) {
5557
}
5658

5759
try {
58-
//1.8
59-
//https://github.com/MinecraftForge/FML/blob/d4ded9d6e218ac097990e836676bbe22b47e5966/src/main/java/net/minecraftforge/fml/relauncher/FMLInjectionData.java#L32
60-
return (String)
61-
Reflection.clazz("net.minecraftforge.fml.relauncher.FMLInjectionData").get("mccversion").get();
60+
// 1.8.8~1.12.2
61+
// 1.8.8: https://github.com/MinecraftForge/MinecraftForge/blob/1.8.8/src/main/java/net/minecraftforge/common/ForgeVersion.java#L42
62+
// 1.12.2: https://github.com/MinecraftForge/MinecraftForge/blob/1.12.x/src/main/java/net/minecraftforge/common/ForgeVersion.java#L64
63+
return (String) Reflection.clazz("net.minecraftforge.common.ForgeVersion").get("mcVersion").get();
6264
} catch (Exception ignored) {
6365
}
6466
return null;

src/main/java/i18nupdatemod/modlauncher/ModLauncherService.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package i18nupdatemod.modlauncher;
22

3+
import com.google.gson.JsonObject;
34
import cpw.mods.modlauncher.Launcher;
45
import cpw.mods.modlauncher.api.IEnvironment;
56
import cpw.mods.modlauncher.api.ITransformationService;
@@ -10,12 +11,16 @@
1011
import i18nupdatemod.util.Reflection;
1112
import org.jetbrains.annotations.NotNull;
1213

14+
import java.io.InputStream;
15+
import java.io.InputStreamReader;
1316
import java.nio.file.Path;
1417
import java.util.Collections;
1518
import java.util.List;
1619
import java.util.Optional;
1720
import java.util.Set;
1821

22+
import static i18nupdatemod.I18nUpdateMod.GSON;
23+
1924
//1.13-latest
2025
public class ModLauncherService implements ITransformationService {
2126
@Override
@@ -55,6 +60,8 @@ public void onLoad(IEnvironment env, Set<String> otherServices) throws Incompati
5560
}
5661

5762
private String getMinecraftVersion() {
63+
// MinecraftForge 1.13~1.20.2
64+
// NeoForge 1.20.1~
5865
try {
5966
String[] args = (String[]) Reflection.clazz(Launcher.INSTANCE).get("argumentHandler").get("args").get();
6067
for (int i = 0; i < args.length - 1; ++i) {
@@ -63,7 +70,18 @@ private String getMinecraftVersion() {
6370
}
6471
}
6572
} catch (Exception e) {
66-
Log.warning(String.format("Error getting minecraft version: %s", e));
73+
Log.warning("Error getting minecraft version: %s", e);
74+
}
75+
76+
// MinecraftForge 1.20.3~
77+
// 1.20.3: https://github.com/MinecraftForge/MinecraftForge/blob/1.20.x/fmlloader/src/main/java/net/minecraftforge/fml/loading/VersionInfo.java
78+
try {
79+
Class<?> clazz = Class.forName("net.minecraftforge.fml.loading.FMLLoader");
80+
try (InputStream is = clazz.getResourceAsStream("/forge_version.json")) {
81+
return GSON.fromJson(new InputStreamReader(is), JsonObject.class).get("mc").getAsString();
82+
}
83+
} catch (Exception e) {
84+
Log.warning("Error getting minecraft version: %s", e);
6785
}
6886
return null;
6987
}

src/main/java/i18nupdatemod/util/AssetUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import java.io.IOException;
77
import java.net.URI;
88
import java.net.URISyntaxException;
9-
import java.net.URL;
109
import java.nio.charset.StandardCharsets;
1110
import java.nio.file.Path;
1211
import java.util.concurrent.TimeUnit;
@@ -16,6 +15,7 @@ public static void download(String url, Path localFile) throws IOException, URIS
1615
Log.info("Downloading: %s -> %s", url, localFile);
1716
FileUtils.copyURLToFile(new URI(url).toURL(), localFile.toFile(),
1817
(int) TimeUnit.SECONDS.toMillis(3), (int) TimeUnit.SECONDS.toMillis(33));
18+
Log.debug("Downloaded: %s -> %s", url, localFile);
1919
}
2020

2121
public static String getString(String url) throws IOException, URISyntaxException {

0 commit comments

Comments
 (0)