Skip to content

Commit 2b982d7

Browse files
committed
Fix REI config crash on Ornithe related to gson upgrade
1 parent 4187d17 commit 2b982d7

7 files changed

Lines changed: 64 additions & 4 deletions

File tree

build.gradle

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,11 @@ repositories {
3939
}
4040
}
4141

42+
configurations {
43+
riftImplementation
44+
implementation.extendsFrom riftImplementation
45+
}
46+
4247
unimined.minecraft(sourceSets.shim) {
4348
version project.minecraft_version
4449

@@ -56,7 +61,6 @@ unimined.minecraft {
5661
version project.minecraft_version
5762

5863
mappings {
59-
calamus()
6064
searge()
6165
mcp(project.mcp_channel, "${project.mcp_version}-${project.minecraft_version}")
6266

@@ -69,6 +73,10 @@ unimined.minecraft {
6973
accessWidener = file("src/main/resources/fabricated-rift.accesswidener")
7074
}
7175

76+
mods.remap(configurations.riftImplementation) {
77+
namespace("official")
78+
}
79+
7280
defaultRemapJar = false
7381
}
7482

@@ -104,11 +112,14 @@ dependencies {
104112
}
105113
implementation("net.legacyfabric.legacy-fabric-api:legacy-fabric-logger-api-v1:1.0.4+common+ae4aa0d092")
106114

115+
// Ornithe Dependencies
107116
fabricApi.osl("1.13.2", "0.16.3").forEach {
108117
ornitheModImplementation(it)
109118
}
110-
111119
ornitheModImplementation("com.terraformersmc:modmenu:0.3.0+mc1.13.2")
120+
121+
// Rift mods fixes for Ornithe
122+
ornitheImplementation("maven.modrinth:rei:VvjG778i")
112123
}
113124

114125
processResources {

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"required": true,
3+
"minVersion": "0.8",
4+
"compatibilityLevel": "JAVA_8",
5+
"package": "io.github.fabriccompatibilitylayers.fabricatedrift.mixin",
6+
"mixins": [
7+
],
8+
"client": [
9+
],
10+
"injectors": {
11+
"defaultRequire": 1
12+
}
13+
}

src/main/java/io/github/fabriccompatibilitylayers/fabricatedrift/FabricatedRift.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@ public void afterRemapping() {
6161

6262
@Override
6363
public void afterAllRemappings() {
64-
6564
}
6665

6766
@Override

src/main/java/org/dimdev/riftloader/RiftLoader.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import org.dimdev.utils.InstanceListMap;
1616
import org.dimdev.utils.InstanceMap;
1717
import org.dimdev.utils.ReflectionUtils;
18+
import org.spongepowered.asm.mixin.Mixins;
1819

1920
import java.io.File;
2021
import java.io.IOException;
@@ -166,6 +167,8 @@ private void initMods() {
166167
}
167168
}
168169

170+
Mixins.addConfiguration("mixins.fabricated-rift-mods.json");
171+
169172
// Load the listener classes
170173
List<Listener> allListeners = new ArrayList<>();
171174
for (ModInfo modInfo : modInfoMap.values()) {
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.github.fabriccompatibilitylayers.fabricatedrift.mixin.rei;
2+
3+
import com.google.gson.*;
4+
import me.shedaniel.rei.client.ConfigManagerImpl;
5+
import me.shedaniel.rei.gui.config.RecipeScreenType;
6+
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.injection.At;
8+
import org.spongepowered.asm.mixin.injection.Redirect;
9+
10+
@Mixin(ConfigManagerImpl.class)
11+
public class ConfigManagerImplMixin {
12+
@Redirect(method = "<clinit>", at = @At(value = "INVOKE", target = "Lcom/google/gson/GsonBuilder;create()Lcom/google/gson/Gson;"))
13+
private static Gson registerGsonAdapters(GsonBuilder instance) {
14+
return instance.registerTypeAdapter(RecipeScreenType.class, (JsonDeserializer<RecipeScreenType>) (jsonElement, type, jsonDeserializationContext) ->
15+
jsonElement.isJsonPrimitive() && ((JsonPrimitive) jsonElement).isString() ? RecipeScreenType.valueOf(jsonElement.getAsString()) : null)
16+
.registerTypeAdapter(RecipeScreenType.class, (JsonSerializer<RecipeScreenType>) (recipeScreenType, type, jsonSerializationContext) ->
17+
new JsonPrimitive(recipeScreenType.name()))
18+
.create();
19+
}
20+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"required": true,
3+
"minVersion": "0.8",
4+
"compatibilityLevel": "JAVA_8",
5+
"package": "io.github.fabriccompatibilitylayers.fabricatedrift.mixin",
6+
"mixins": [
7+
"rei.ConfigManagerImplMixin"
8+
],
9+
"client": [
10+
],
11+
"injectors": {
12+
"defaultRequire": 1
13+
}
14+
}

0 commit comments

Comments
 (0)