Skip to content

Commit 285cfb9

Browse files
committed
Fixed crash when using sign buffering on NeoForge 1.21.4
1 parent 560bee3 commit 285cfb9

File tree

4 files changed

+27
-8
lines changed

4 files changed

+27
-8
lines changed

common/src/main/java/net/raphimc/immediatelyfast/ImmediatelyFast.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,9 @@ public static void windowInit() {
105105
public static void lateInit() {
106106
if (config.experimental_sign_text_buffering) {
107107
signTextCache = new SignTextCache();
108-
((ReloadableResourceManagerImpl) MinecraftClient.getInstance().getResourceManager()).registerReloader(signTextCache);
108+
if (!PlatformCode.getModVersion("neoforge").isPresent()) { // NeoForge uses an event. Handled in ImmediatelyFastNeoForge
109+
((ReloadableResourceManagerImpl) MinecraftClient.getInstance().getResourceManager()).registerReloader(signTextCache);
110+
}
109111
}
110112
}
111113

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ supported_minecraft_versions=1.21.4
88
yarn_mappings=1.21.4+build.1
99
fabric_loader_version=0.16.9
1010
#forge_version=1.21.3-53.0.11
11-
neoforge_version=21.4.0-beta
11+
neoforge_version=21.4.94-beta
1212
mixin_extras_version=0.4.1
1313
reflect_version=1.3.4
1414

neoforge/src/main/java/net/raphimc/immediatelyfast/neoforge/ImmediatelyFastNeoForge.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,25 @@
1717
*/
1818
package net.raphimc.immediatelyfast.neoforge;
1919

20+
import net.minecraft.resource.SynchronousResourceReloader;
21+
import net.minecraft.util.Identifier;
22+
import net.neoforged.bus.api.SubscribeEvent;
23+
import net.neoforged.fml.common.EventBusSubscriber;
2024
import net.neoforged.fml.common.Mod;
25+
import net.neoforged.neoforge.client.event.AddClientReloadListenersEvent;
26+
import net.raphimc.immediatelyfast.ImmediatelyFast;
2127

2228
@Mod("immediatelyfast")
29+
@EventBusSubscriber(modid = "immediatelyfast", bus = EventBusSubscriber.Bus.MOD)
2330
public class ImmediatelyFastNeoForge {
31+
32+
private static final Identifier SIGN_TEXT_CACHE_RELOAD_LISTENER_ID = Identifier.of("immediatelyfast", "sign_text_cache_reload_listener");
33+
34+
@SubscribeEvent
35+
private static void onAddClientReloadListeners(final AddClientReloadListenersEvent event) {
36+
if (ImmediatelyFast.config.experimental_sign_text_buffering) {
37+
event.addListener(SIGN_TEXT_CACHE_RELOAD_LISTENER_ID, (SynchronousResourceReloader) manager -> ImmediatelyFast.signTextCache.reload(manager));
38+
}
39+
}
40+
2441
}

neoforge/src/main/resources/META-INF/neoforge.mods.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ config = "immediatelyfast-neoforge.mixins.json"
1818
[[mixins]]
1919
config = "immediatelyfast-common.mixins.json"
2020

21-
#[[dependencies.immediatelyfast]]
22-
#modId = "neoforge"
23-
#required = true
24-
#versionRange = "[21.4.0,)"
25-
#ordering = "NONE"
26-
#side = "CLIENT"
21+
[[dependencies.immediatelyfast]]
22+
modId = "neoforge"
23+
required = true
24+
versionRange = "[21.4.84,)"
25+
ordering = "NONE"
26+
side = "CLIENT"
2727

2828
[[dependencies.immediatelyfast]]
2929
modId = "minecraft"

0 commit comments

Comments
 (0)