From e056c79ec7a71ecf2096107fbb33f524e357e567 Mon Sep 17 00:00:00 2001 From: TechnicianLP Date: Tue, 20 Jun 2017 11:19:14 +0200 Subject: [PATCH] IRecipeConditions forge:and and forge:false (#4017) --- .../common/crafting/CraftingHelper.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java index 64382a8413..f596cdb4a5 100644 --- a/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java +++ b/src/main/java/net/minecraftforge/common/crafting/CraftingHelper.java @@ -432,6 +432,20 @@ public class CraftingHelper { } return () -> children.stream().anyMatch(c -> c.getAsBoolean()); }); + registerC("forge:and", (context, json) -> { + JsonArray values = JsonUtils.getJsonArray(json, "values"); + List children = Lists.newArrayList(); + for (JsonElement j : values) + { + if (!j.isJsonObject()) + throw new JsonSyntaxException("And condition values must be an array of JsonObjects"); + children.add(CraftingHelper.getCondition(j.getAsJsonObject(), context)); + } + return () -> children.stream().allMatch(c -> c.getAsBoolean()); + }); + registerC("forge:false", (context, json) -> { + return () -> false; + }); registerR("minecraft:crafting_shaped", (context, json) -> { String group = JsonUtils.getString(json, "group", "");