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", "");