Skip to content

Commit 778e774

Browse files
committed
fix: šŸ› Fixed recipe restocking for recipes with many ingredient alternatives
1 parent f0c6c46 commit 778e774

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
@@ -15,7 +15,7 @@ loader_version_range=[4,)
1515
mod_id=sophisticatedcore
1616
mod_name=Sophisticated Core
1717
mod_license=All Rights Reserved
18-
mod_version=1.4.85
18+
mod_version=1.4.86
1919
mod_group_id=net.p3pp3rf1y
2020
mod_authors=P3pp3rF1y
2121
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(ResourceLocation 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<ResourceLocation, 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
@@ -6,6 +6,7 @@
66
import net.minecraft.core.registries.BuiltInRegistries;
77
import net.minecraft.core.registries.Registries;
88
import net.minecraft.resources.ResourceKey;
9+
import net.minecraft.resources.ResourceLocation;
910
import net.minecraft.server.level.ServerLevel;
1011
import net.minecraft.util.context.ContextMap;
1112
import net.minecraft.world.entity.player.Player;
@@ -330,6 +331,14 @@ public static <T extends AbstractCookingRecipe> Optional<RecipeHolder<T>> getCoo
330331
return getLevel().flatMap(w -> safeGetRecipeFor(recipeType, new SingleRecipeInput(stack), w, null));
331332
}
332333

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

0 commit comments

Comments
Ā (0)