Skip to content

Commit d41dc23

Browse files
authored
Now you can't craft mince meat out of mince meat (#1203)
1 parent 46b2665 commit d41dc23

File tree

2 files changed

+31
-2
lines changed

2 files changed

+31
-2
lines changed

src/main/java/com/dreammaster/recipes/ShapelessUniversalRecipe.java

+14
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.ArrayList;
66
import java.util.HashSet;
77
import java.util.Iterator;
8+
import java.util.List;
89

910
import net.minecraft.block.Block;
1011
import net.minecraft.init.Items;
@@ -47,6 +48,19 @@ public ShapelessUniversalRecipe(ItemStack result, Object... recipe) {
4748
}
4849
this.recipe.add(oresHashes);
4950
this.recipeXY.add(ores);
51+
} else if (value instanceof List<?>list) {
52+
List<ItemStack> items = new ArrayList<>();
53+
HashSet<GTUtility.ItemId> itemHash = new HashSet<>();
54+
for (Object o : list) {
55+
if (!(o instanceof ItemStack itemStack)) {
56+
throw new IllegalArgumentException("Invalid item stack: " + o);
57+
}
58+
ItemStack i = itemStack.copy();
59+
items.add(i);
60+
itemHash.add(GTUtility.ItemId.createNoCopy(i));
61+
}
62+
this.recipe.add(itemHash);
63+
this.recipeXY.add(items);
5064
} else if (value instanceof ItemStack) {
5165
ItemStack i = ((ItemStack) value).copy();
5266
this.recipe.add(i);

src/main/java/com/dreammaster/scripts/ScriptGregtech.java

+17-2
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,14 @@
3434
import static gregtech.api.util.GTRecipeBuilder.TICKS;
3535
import static gregtech.api.util.GTRecipeConstants.UniversalChemical;
3636

37+
import java.util.ArrayList;
3738
import java.util.Arrays;
3839
import java.util.List;
40+
import java.util.stream.Collectors;
3941

4042
import net.minecraft.item.ItemStack;
4143
import net.minecraftforge.fluids.FluidRegistry;
44+
import net.minecraftforge.oredict.OreDictionary;
4245

4346
import com.dreammaster.gthandler.CustomItemList;
4447
import com.dreammaster.item.NHItemList;
@@ -115,10 +118,16 @@ public void loadRecipes() {
115118
GTOreDictUnificator.get(OrePrefixes.dustSmall, Materials.Glass, 1L),
116119
"craftingToolMortar",
117120
getModItem(TinkerConstruct.ID, "GlassPane", 1, 0, missing));
121+
List<ItemStack> meatItems = new ArrayList<>(OreDictionary.getOres("listAllmeatraw")).stream()
122+
.filter(
123+
itemStack -> !ItemStack.areItemStacksEqual(
124+
itemStack,
125+
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 1L)))
126+
.collect(Collectors.toList());
118127
addShapelessRecipe(
119128
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 1L),
120129
"craftingToolMortar",
121-
"listAllmeatraw");
130+
meatItems);
122131
addShapelessRecipe(
123132
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 1L),
124133
"craftingToolMortar",
@@ -127,10 +136,16 @@ public void loadRecipes() {
127136
getModItem(Minecraft.ID, "sugar", 4, 0, missing),
128137
"craftingToolMortar",
129138
getModItem(CropsPlusPlus.ID, "foodBerries", 1, 1, missing));
139+
List<ItemStack> cookedMeatItems = new ArrayList<>(OreDictionary.getOres("listAllmeatcooked")).stream()
140+
.filter(
141+
itemStack -> !ItemStack.areItemStacksEqual(
142+
itemStack,
143+
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L)))
144+
.collect(Collectors.toList());
130145
addShapelessRecipe(
131146
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L),
132147
"craftingToolMortar",
133-
"listAllmeatcooked");
148+
cookedMeatItems);
134149
addShapelessRecipe(
135150
GTOreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L),
136151
"craftingToolMortar",

0 commit comments

Comments
 (0)