Skip to content

Commit 29b952a

Browse files
committed
fix: šŸ› Fixed recipe restocking for recipes with many ingredient alternatives
1 parent 949042b commit 29b952a

3 files changed

Lines changed: 21 additions & 1 deletion

File tree

ā€Žgradle.propertiesā€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ loader_version_range=[4,)
1313
mod_id=sophisticatedcore
1414
mod_name=Sophisticated Core
1515
mod_license=All Rights Reserved
16-
mod_version=1.4.103
16+
mod_version=1.4.104
1717
mod_group_id=net.p3pp3rf1y
1818
mod_authors=P3pp3rF1y
1919
mod_description=A library / shared functionality mod for Sophisticated Storage and Backpacks

ā€Žsrc/main/java/net/p3pp3rf1y/sophisticatedcore/compat/recipeviewers/common/ClientRecipeHelper.javaā€Ž

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.ArrayList;
2323
import java.util.Collections;
2424
import java.util.List;
25+
import java.util.Optional;
2526
import java.util.function.BiFunction;
2627
import java.util.function.Function;
2728
import java.util.stream.Stream;
@@ -36,6 +37,16 @@ public static Ingredient emptyDisplayIngredient() {
3637
return EMPTY_DISPLAY_INGREDIENT;
3738
}
3839

40+
public static Optional<RecipeHolder<?>> getRecipe(Identifier recipeId) {
41+
Minecraft minecraft = Minecraft.getInstance();
42+
ClientLevel level = minecraft.level;
43+
if (level == null) {
44+
return Optional.empty();
45+
}
46+
47+
return RecipeHelper.getRecipe(level, recipeId);
48+
}
49+
3950
public static <I extends RecipeInput, T extends Recipe<I>, U extends Recipe<?>, V> List<V> transformAllRecipesOfType(RecipeType<T> recipeType,
4051
Class<U> filterRecipeClass, BiFunction<Identifier, U, V> transformRecipe) {
4152
Minecraft minecraft = Minecraft.getInstance();

ā€Žsrc/main/java/net/p3pp3rf1y/sophisticatedcore/util/RecipeHelper.javaā€Ž

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import net.minecraft.core.HolderLookup;
66
import net.minecraft.core.registries.BuiltInRegistries;
77
import net.minecraft.core.registries.Registries;
8+
import net.minecraft.resources.Identifier;
89
import net.minecraft.resources.ResourceKey;
910
import net.minecraft.server.level.ServerLevel;
1011
import net.minecraft.util.context.ContextMap;
@@ -329,6 +330,14 @@ public static <T extends AbstractCookingRecipe> Optional<RecipeHolder<T>> getCoo
329330
return getLevel().flatMap(w -> safeGetRecipeFor(recipeType, new SingleRecipeInput(stack), w, null));
330331
}
331332

333+
public static Optional<RecipeHolder<?>> getRecipe(Identifier recipeId) {
334+
return getLevel().flatMap(level -> getRecipe(level, recipeId));
335+
}
336+
337+
public static Optional<RecipeHolder<?>> getRecipe(Level level, Identifier recipeId) {
338+
return Optional.ofNullable(getRecipeMap(level).byKey(ResourceKey.create(Registries.RECIPE, recipeId)));
339+
}
340+
332341
public static Set<CompactingShape> getItemCompactingShapes(ItemStack stack) {
333342
return getFromCache(cache -> cache.getItemCompactingShapes(stack), Collections.emptySet());
334343
}

0 commit comments

Comments
Ā (0)