Skip to content

Commit 79b3171

Browse files
committed
Update to accomodate FRAPI revert
see FabricMC/fabric-api#5289
1 parent e9a489f commit 79b3171

7 files changed

Lines changed: 27 additions & 9 deletions

File tree

buildSrc/src/main/kotlin/BuildConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ object BuildConfig {
44
val MINECRAFT_VERSION: String = "26.1"
55
val NEOFORGE_VERSION: String = "26.1.0.18-beta"
66
val FABRIC_LOADER_VERSION: String = "0.18.4"
7-
val FABRIC_API_VERSION: String = "0.145.0+26.1"
7+
val FABRIC_API_VERSION: String = "0.145.1+26.1"
88
val SUPPORT_FRAPI : Boolean = true
99

1010
// This value can be set to null to disable Parchment.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package net.caffeinemc.mods.sodium.client.services;
2+
3+
public interface FRAPIProvider {
4+
FRAPIProvider INSTANCE = Services.loadOr(FRAPIProvider.class, () -> () -> {}); // Returns a no-op implementation if the platform does not support FRAPI
5+
6+
static FRAPIProvider getInstance() {
7+
return INSTANCE;
8+
}
9+
10+
/**
11+
* Registers the FRAPI provider. This should only be called once, and should be called during mod initialization.
12+
*/
13+
void register();
14+
}

fabric/src/main/java/net/caffeinemc/mods/sodium/fabric/SodiumFabricMod.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import net.caffeinemc.mods.sodium.client.SodiumClientMod;
44
import net.caffeinemc.mods.sodium.client.config.ConfigManager;
5+
import net.caffeinemc.mods.sodium.client.services.FRAPIProvider;
56
import net.caffeinemc.mods.sodium.client.util.FlawlessFrames;
67
import net.caffeinemc.mods.sodium.fabric.config.ConfigLoaderFabric;
78
import net.fabricmc.api.ClientModInitializer;
@@ -25,5 +26,7 @@ public void onInitializeClient() {
2526
FabricLoader.getInstance()
2627
.getEntrypoints("frex_flawless_frames", Consumer.class)
2728
.forEach(api -> api.accept(FlawlessFrames.getProvider()));
29+
30+
FRAPIProvider.getInstance().register();
2831
}
2932
}

fabric/src/main/resources/fabric.mod.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@
5151
],
5252
"preLaunch" : [
5353
"net.caffeinemc.mods.sodium.fabric.SodiumPreLaunch"
54-
],
55-
"fabric-renderer-api-v1:renderer_provider": [
56-
"net.caffeinemc.mods.sodium.client.render.frapi.SodiumProvider"
5754
]
5855
},
5956
"custom" : {
@@ -101,7 +98,7 @@
10198
"notenoughcrashes" : "<4.4.8",
10299
"noxesium" : "<2.3.3",
103100
"reeses-sodium-options" : "<2.0.2",
104-
"fabric-api": "<0.140.0",
101+
"fabric-api": "<0.145.1",
105102
"sodium-extra" : "<0.8.0",
106103
"audio_engine_tweaks" : "<1.2.12",
107104
"sspb" : "<6.0.0",
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package net.caffeinemc.mods.sodium.client.render.frapi;
22

3+
import net.caffeinemc.mods.sodium.client.services.FRAPIProvider;
34
import net.fabricmc.fabric.api.client.renderer.v1.Renderer;
4-
import net.fabricmc.fabric.api.client.renderer.v1.RendererProvider;
55

6-
public class SodiumProvider implements RendererProvider {
6+
public class SodiumProvider implements FRAPIProvider {
77
@Override
8-
public Renderer getRenderer() {
9-
return SodiumRenderer.INSTANCE;
8+
public void register() {
9+
Renderer.register(SodiumRenderer.INSTANCE);
1010
}
1111
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
net.caffeinemc.mods.sodium.client.render.frapi.SodiumProvider

neoforge/src/mod/java/net/caffeinemc/mods/sodium/neoforge/SodiumForgeMod.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.caffeinemc.mods.sodium.neoforge;
22

33
import net.caffeinemc.mods.sodium.client.gui.VideoSettingsScreen;
4+
import net.caffeinemc.mods.sodium.client.services.FRAPIProvider;
45
import net.caffeinemc.mods.sodium.client.util.FlawlessFrames;
56
import net.neoforged.api.distmarker.Dist;
67
import net.neoforged.bus.api.IEventBus;
@@ -34,5 +35,7 @@ public SodiumForgeMod(IEventBus bus, ModContainer modContainer) {
3435
throw new RuntimeException("Failed to execute Flawless Frames handler for mod " + mod.getModId() + "!", e);
3536
}
3637
}
38+
39+
FRAPIProvider.getInstance().register();
3740
}
3841
}

0 commit comments

Comments
 (0)