mirror of
https://github.com/AlmostReliable/almostunified.git
synced 2024-11-14 11:15:23 -05:00
fix EnderIO sag mill outputs unification breaking recipes
This commit is contained in:
parent
5065b1a35e
commit
f5da433df4
4 changed files with 55 additions and 0 deletions
|
@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning].
|
||||||
- fixed recipe viewer integration endpoints for Fabric
|
- fixed recipe viewer integration endpoints for Fabric
|
||||||
- fixed unnecessary memory usage for debug handler
|
- fixed unnecessary memory usage for debug handler
|
||||||
- fixed Mekanism recipe unifier using wrong recipe keys
|
- fixed Mekanism recipe unifier using wrong recipe keys
|
||||||
|
- fixed EnderIO Sag Mill recipe output unification causing serialization failures
|
||||||
|
|
||||||
## [1.1.0] - 2024-09-27
|
## [1.1.0] - 2024-09-27
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ public interface ModConstants {
|
||||||
String ARS_NOUVEAU = "ars_nouveau";
|
String ARS_NOUVEAU = "ars_nouveau";
|
||||||
String ARS_SCALAES = "ars_scalaes";
|
String ARS_SCALAES = "ars_scalaes";
|
||||||
String CYCLIC = "cyclic";
|
String CYCLIC = "cyclic";
|
||||||
|
String ENDER_IO = "enderio";
|
||||||
String GREGTECH_MODERN = "gtceu";
|
String GREGTECH_MODERN = "gtceu";
|
||||||
String IMMERSIVE_ENGINEERING = "immersiveengineering";
|
String IMMERSIVE_ENGINEERING = "immersiveengineering";
|
||||||
String INTEGRATED_DYNAMICS = "integrateddynamics";
|
String INTEGRATED_DYNAMICS = "integrateddynamics";
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
package com.almostreliable.unified.compat.unification;
|
||||||
|
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.tags.TagKey;
|
||||||
|
|
||||||
|
import com.almostreliable.unified.api.constant.RecipeConstants;
|
||||||
|
import com.almostreliable.unified.api.unification.bundled.GenericRecipeUnifier;
|
||||||
|
import com.almostreliable.unified.api.unification.recipe.RecipeJson;
|
||||||
|
import com.almostreliable.unified.api.unification.recipe.RecipeUnifier;
|
||||||
|
import com.almostreliable.unified.api.unification.recipe.UnificationHelper;
|
||||||
|
|
||||||
|
import com.google.gson.JsonArray;
|
||||||
|
import com.google.gson.JsonElement;
|
||||||
|
import com.google.gson.JsonObject;
|
||||||
|
import com.google.gson.JsonPrimitive;
|
||||||
|
|
||||||
|
public class EnderIORecipeUnifier implements RecipeUnifier {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void unify(UnificationHelper helper, RecipeJson recipe) {
|
||||||
|
GenericRecipeUnifier.INSTANCE.unifyInputs(helper, recipe);
|
||||||
|
|
||||||
|
if (!(recipe.getProperty(RecipeConstants.OUTPUTS) instanceof JsonArray outputArray)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (JsonElement outputElement : outputArray) {
|
||||||
|
if (!(outputElement instanceof JsonObject outputObject)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(outputObject.get(RecipeConstants.ITEM) instanceof JsonObject itemObject)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemObject.has(RecipeConstants.ID)) {
|
||||||
|
helper.unifyOutputItem(itemObject);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (itemObject.get(RecipeConstants.TAG) instanceof JsonPrimitive tagPrimitive) {
|
||||||
|
var tag = TagKey.create(Registries.ITEM, ResourceLocation.parse(tagPrimitive.getAsString()));
|
||||||
|
helper.handleTagToItemReplacement(itemObject, RecipeConstants.ID, tag);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ import com.almostreliable.unified.api.unification.recipe.RecipeUnifierRegistry;
|
||||||
import com.almostreliable.unified.compat.unification.ArsNouveauRecipeUnifier;
|
import com.almostreliable.unified.compat.unification.ArsNouveauRecipeUnifier;
|
||||||
import com.almostreliable.unified.compat.unification.CompoundIngredientUnifier;
|
import com.almostreliable.unified.compat.unification.CompoundIngredientUnifier;
|
||||||
import com.almostreliable.unified.compat.unification.CyclicRecipeUnifier;
|
import com.almostreliable.unified.compat.unification.CyclicRecipeUnifier;
|
||||||
|
import com.almostreliable.unified.compat.unification.EnderIORecipeUnifier;
|
||||||
import com.almostreliable.unified.compat.unification.ImmersiveEngineeringRecipeUnifier;
|
import com.almostreliable.unified.compat.unification.ImmersiveEngineeringRecipeUnifier;
|
||||||
import com.almostreliable.unified.compat.unification.IntegratedDynamicsRecipeUnifier;
|
import com.almostreliable.unified.compat.unification.IntegratedDynamicsRecipeUnifier;
|
||||||
import com.almostreliable.unified.compat.unification.MekanismRecipeUnifier;
|
import com.almostreliable.unified.compat.unification.MekanismRecipeUnifier;
|
||||||
|
@ -39,6 +40,10 @@ public class NeoForgePlugin implements AlmostUnifiedPlugin {
|
||||||
ModConstants.ARS_SCALAES
|
ModConstants.ARS_SCALAES
|
||||||
).forEach(modId -> registry.registerForModId(modId, new ArsNouveauRecipeUnifier()));
|
).forEach(modId -> registry.registerForModId(modId, new ArsNouveauRecipeUnifier()));
|
||||||
registry.registerForModId(ModConstants.CYCLIC, new CyclicRecipeUnifier());
|
registry.registerForModId(ModConstants.CYCLIC, new CyclicRecipeUnifier());
|
||||||
|
registry.registerForRecipeType(
|
||||||
|
ResourceLocation.fromNamespaceAndPath(ModConstants.ENDER_IO, "sag_milling"),
|
||||||
|
new EnderIORecipeUnifier()
|
||||||
|
);
|
||||||
registry.registerForModId(ModConstants.IMMERSIVE_ENGINEERING, new ImmersiveEngineeringRecipeUnifier());
|
registry.registerForModId(ModConstants.IMMERSIVE_ENGINEERING, new ImmersiveEngineeringRecipeUnifier());
|
||||||
registry.registerForModId(ModConstants.INTEGRATED_DYNAMICS, new IntegratedDynamicsRecipeUnifier());
|
registry.registerForModId(ModConstants.INTEGRATED_DYNAMICS, new IntegratedDynamicsRecipeUnifier());
|
||||||
registry.registerForModId(ModConstants.MEKANISM, new MekanismRecipeUnifier());
|
registry.registerForModId(ModConstants.MEKANISM, new MekanismRecipeUnifier());
|
||||||
|
|
Loading…
Reference in a new issue