Skip to content

Commit 2d7e8ba

Browse files
committed
Enable Forge module, replace unsafe platform service implementation
Using (Neo)Forge's ModList too early can lead to a crash, so switch to the LoadingModList instead as that is already available. Signed-off-by: Lilly Rose Berner <lilly@lostluma.net>
1 parent fd23b02 commit 2d7e8ba

File tree

7 files changed

+11
-7
lines changed

7 files changed

+11
-7
lines changed

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ minecraft_version = 1.21.5
1818
minecraft_version_min = 1.21.5
1919
minecraft_version_max = 1.21.5
2020

21-
enabled_platforms=fabric,neoforge,quilt
21+
enabled_platforms=fabric,forge,neoforge,quilt

gradle/libs.versions.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ minecraft = "1.21.5"
66
fabric_loader = "0.15.10"
77
fabric_api = "0.118.2+1.21.5"
88

9-
forge = "1.21.3-53.0.7"
9+
forge = "1.21.5-55.0.3"
1010

1111
neoforge = "21.5.2-beta"
1212

platforms/forge/src/main/java/net/lostluma/dynamic_fps/impl/forge/service/ForgeModCompat.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.lostluma.dynamic_fps.impl.forge.service;
22

33
import dynamic_fps.impl.service.ModCompat;
4+
import dynamic_fps.impl.service.Platform;
45
import net.minecraftforge.fml.ModList;
56

67
public class ForgeModCompat implements ModCompat {
@@ -11,6 +12,6 @@ public boolean isDisabled() {
1112

1213
@Override
1314
public boolean disableOverlayOptimization() {
14-
return ModList.get().isLoaded("rrls");
15+
return Platform.getInstance().isModLoaded("rrls");
1516
}
1617
}

platforms/forge/src/main/java/net/lostluma/dynamic_fps/impl/forge/service/ForgePlatform.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import net.minecraftforge.fml.ModList;
99
import net.minecraftforge.fml.loading.FMLLoader;
1010
import net.minecraftforge.fml.loading.FMLPaths;
11+
import net.minecraftforge.fml.loading.LoadingModList;
1112

1213
import java.io.IOException;
1314
import java.nio.file.Files;
@@ -38,7 +39,7 @@ public boolean isDevelopmentEnvironment() {
3839

3940
@Override
4041
public boolean isModLoaded(String modId) {
41-
return ModList.get().isLoaded(modId);
42+
return LoadingModList.get().getModFileById(modId) != null;
4243
}
4344

4445
@Override

platforms/neoforge/src/main/java/net/lostluma/dynamic_fps/impl/neoforge/service/NeoForgeModCompat.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.electronwill.nightconfig.core.CommentedConfig;
44
import dynamic_fps.impl.service.ModCompat;
5+
import dynamic_fps.impl.service.Platform;
56
import net.neoforged.fml.ModList;
67
import net.neoforged.neoforgespi.language.IModInfo;
78

@@ -19,7 +20,7 @@ public boolean isDisabled() {
1920

2021
@Override
2122
public boolean disableOverlayOptimization() {
22-
return disableOverlayOptimization || ModList.get().isLoaded("rrls");
23+
return disableOverlayOptimization || Platform.getInstance().isModLoaded("rrls");
2324
}
2425

2526
private static void parseModMetadata(IModInfo modInfo) {

platforms/neoforge/src/main/java/net/lostluma/dynamic_fps/impl/neoforge/service/NeoForgePlatform.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import net.neoforged.fml.ModList;
88
import net.neoforged.fml.loading.FMLLoader;
99
import net.neoforged.fml.loading.FMLPaths;
10+
import net.neoforged.fml.loading.LoadingModList;
1011
import net.neoforged.neoforge.client.event.ClientTickEvent;
1112
import net.neoforged.neoforge.common.NeoForge;
1213

@@ -39,7 +40,7 @@ public boolean isDevelopmentEnvironment() {
3940

4041
@Override
4142
public boolean isModLoaded(String modId) {
42-
return ModList.get().isLoaded(modId);
43+
return LoadingModList.get().getModFileById(modId) != null;
4344
}
4445

4546
@Override

settings.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ includeBuild("build-logic")
1717

1818
include(":platforms:common")
1919
include(":platforms:fabric")
20-
// include(":platforms:forge")
20+
include(":platforms:forge")
2121
include(":platforms:neoforge")
2222
include(":platforms:quilt")
2323
include(":platforms:textile")

0 commit comments

Comments
 (0)