mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-02-19 08:35:33 +01:00
Merge pull request #7039 from IThundxr/mc1.20.1/aquatic-recipe-fix
Fix UA recipes not having conditions
This commit is contained in:
commit
4c802969e6
3 changed files with 54 additions and 23 deletions
|
@ -1,4 +1,4 @@
|
||||||
// 1.20.1 2024-09-02T22:36:27.358065 Create's Standard Recipes
|
// 1.20.1 2024-10-08T11:30:41.235223596 Create's Standard Recipes
|
||||||
a8cc4af26f6c7c45a9eef12e92af1452fe042454 data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank.json
|
a8cc4af26f6c7c45a9eef12e92af1452fe042454 data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank.json
|
||||||
2c2639c7b307ee7c7a4e97e5efebf496788998ad data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank_from_netherite.json
|
2c2639c7b307ee7c7a4e97e5efebf496788998ad data/create/advancements/recipes/combat/crafting/appliances/netherite_backtank_from_netherite.json
|
||||||
81dcf0cb1aa99e39bc7d1a386e07cad4cee7d8b9 data/create/advancements/recipes/combat/crafting/appliances/netherite_diving_boots.json
|
81dcf0cb1aa99e39bc7d1a386e07cad4cee7d8b9 data/create/advancements/recipes/combat/crafting/appliances/netherite_diving_boots.json
|
||||||
|
@ -202,9 +202,9 @@ dd7c250fa8e41cbaae65754f38b8861397718ae4 data/create/advancements/recipes/misc/c
|
||||||
05a4420a08df24680b8a7c5c94d9a7ad1d13c0df data/create/advancements/recipes/misc/crafting/materials/zinc_nugget_from_decompacting.json
|
05a4420a08df24680b8a7c5c94d9a7ad1d13c0df data/create/advancements/recipes/misc/crafting/materials/zinc_nugget_from_decompacting.json
|
||||||
ec99015f13bb194dfb197ea0839cceaed5135148 data/create/advancements/recipes/misc/crafting/palettes/scorchia.json
|
ec99015f13bb194dfb197ea0839cceaed5135148 data/create/advancements/recipes/misc/crafting/palettes/scorchia.json
|
||||||
541c3cb26e0cae9ffd3df94829e5f55a62240bd8 data/create/advancements/recipes/misc/crafting/schematics/empty_schematic.json
|
541c3cb26e0cae9ffd3df94829e5f55a62240bd8 data/create/advancements/recipes/misc/crafting/schematics/empty_schematic.json
|
||||||
3e73c3336f3ab13365d439c491b2e2ce6de6e401 data/create/advancements/recipes/misc/crafting/schematics/schematicannon.json
|
|
||||||
6e0b7056d229fc949cc7386aa307d0870929f555 data/create/advancements/recipes/misc/crafting/schematics/schematic_and_quill.json
|
6e0b7056d229fc949cc7386aa307d0870929f555 data/create/advancements/recipes/misc/crafting/schematics/schematic_and_quill.json
|
||||||
f0d041509b3752b3ec6c4ce2b2c6eef9825a0685 data/create/advancements/recipes/misc/crafting/schematics/schematic_table.json
|
f0d041509b3752b3ec6c4ce2b2c6eef9825a0685 data/create/advancements/recipes/misc/crafting/schematics/schematic_table.json
|
||||||
|
3e73c3336f3ab13365d439c491b2e2ce6de6e401 data/create/advancements/recipes/misc/crafting/schematics/schematicannon.json
|
||||||
a8003bd4c06bdf5f2aa3d1789eab2445df9513be data/create/advancements/recipes/misc/crafting/tree_fertilizer.json
|
a8003bd4c06bdf5f2aa3d1789eab2445df9513be data/create/advancements/recipes/misc/crafting/tree_fertilizer.json
|
||||||
0ac95fd4b991a6c61c1d03cc6a6f2f345530f62a data/create/advancements/recipes/misc/smelting/bread.json
|
0ac95fd4b991a6c61c1d03cc6a6f2f345530f62a data/create/advancements/recipes/misc/smelting/bread.json
|
||||||
53cb4643430e3fd69f81c375f3e334a3d6014128 data/create/advancements/recipes/misc/smelting/copper_ingot_from_crushed.json
|
53cb4643430e3fd69f81c375f3e334a3d6014128 data/create/advancements/recipes/misc/smelting/copper_ingot_from_crushed.json
|
||||||
|
@ -448,10 +448,10 @@ cde25f253da4d9800fd8f879a7d208e40510df82 data/create/recipes/crafting/materials/
|
||||||
11583ad28f32b7f22ffb71e180aface890d1d2d0 data/create/recipes/crafting/materials/zinc_nugget_from_decompacting.json
|
11583ad28f32b7f22ffb71e180aface890d1d2d0 data/create/recipes/crafting/materials/zinc_nugget_from_decompacting.json
|
||||||
d849fafedd10c68e6bc6dc1e5a85be82aae1b139 data/create/recipes/crafting/palettes/scorchia.json
|
d849fafedd10c68e6bc6dc1e5a85be82aae1b139 data/create/recipes/crafting/palettes/scorchia.json
|
||||||
611c4a553408e0b6ddfcf6ed35bc972bea14ffda data/create/recipes/crafting/schematics/empty_schematic.json
|
611c4a553408e0b6ddfcf6ed35bc972bea14ffda data/create/recipes/crafting/schematics/empty_schematic.json
|
||||||
9a687ee9dab44c439ab669aa596117064fb13457 data/create/recipes/crafting/schematics/schematicannon.json
|
|
||||||
4a20356c9ce01ebfbcacbdc5d3c31094a5599a17 data/create/recipes/crafting/schematics/schematic_and_quill.json
|
4a20356c9ce01ebfbcacbdc5d3c31094a5599a17 data/create/recipes/crafting/schematics/schematic_and_quill.json
|
||||||
4a297162a630b48407dbc8ff8ca713387dcd3206 data/create/recipes/crafting/schematics/schematic_table.json
|
4a297162a630b48407dbc8ff8ca713387dcd3206 data/create/recipes/crafting/schematics/schematic_table.json
|
||||||
dd2b5bfb7ebd836e8b5639894736c226f2cac8c0 data/create/recipes/crafting/tree_fertilizer.json
|
9a687ee9dab44c439ab669aa596117064fb13457 data/create/recipes/crafting/schematics/schematicannon.json
|
||||||
|
2cf06129b47d1a2b733619514dc9e8cf1d8967f2 data/create/recipes/crafting/tree_fertilizer.json
|
||||||
78526658ca5ccaa3729c967b5283069945d183b7 data/create/recipes/smelting/bread.json
|
78526658ca5ccaa3729c967b5283069945d183b7 data/create/recipes/smelting/bread.json
|
||||||
04bb0c80f3b5a6fe86fc4a8ed5293fc74c2d9aba data/create/recipes/smelting/copper_ingot_from_crushed.json
|
04bb0c80f3b5a6fe86fc4a8ed5293fc74c2d9aba data/create/recipes/smelting/copper_ingot_from_crushed.json
|
||||||
d5b29fa27977691c3c50eb36c28bfe33b8462d09 data/create/recipes/smelting/glass_from_framed_glass.json
|
d5b29fa27977691c3c50eb36c28bfe33b8462d09 data/create/recipes/smelting/glass_from_framed_glass.json
|
||||||
|
|
|
@ -1,6 +1,12 @@
|
||||||
{
|
{
|
||||||
"type": "minecraft:crafting_shapeless",
|
"type": "minecraft:crafting_shapeless",
|
||||||
"category": "misc",
|
"category": "misc",
|
||||||
|
"conditions": [
|
||||||
|
{
|
||||||
|
"type": "forge:mod_loaded",
|
||||||
|
"modid": "upgrade_aquatic"
|
||||||
|
}
|
||||||
|
],
|
||||||
"ingredients": [
|
"ingredients": [
|
||||||
{
|
{
|
||||||
"tag": "minecraft:small_flowers"
|
"tag": "minecraft:small_flowers"
|
||||||
|
|
|
@ -59,6 +59,8 @@ import net.minecraftforge.common.crafting.conditions.ICondition;
|
||||||
import net.minecraftforge.common.crafting.conditions.ModLoadedCondition;
|
import net.minecraftforge.common.crafting.conditions.ModLoadedCondition;
|
||||||
import net.minecraftforge.common.crafting.conditions.NotCondition;
|
import net.minecraftforge.common.crafting.conditions.NotCondition;
|
||||||
|
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class StandardRecipeGen extends CreateRecipeProvider {
|
public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
|
|
||||||
|
@ -1178,7 +1180,8 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
.inBlastFurnace(),
|
.inBlastFurnace(),
|
||||||
|
|
||||||
UA_TREE_FERTILIZER = create(AllItems.TREE_FERTILIZER::get).returns(2)
|
UA_TREE_FERTILIZER = create(AllItems.TREE_FERTILIZER::get).returns(2)
|
||||||
.whenModLoaded(Mods.UA.getId()).unlockedBy(() -> Items.BONE_MEAL)
|
.unlockedBy(() -> Items.BONE_MEAL)
|
||||||
|
.whenModLoaded(Mods.UA.getId())
|
||||||
.viaShapeless(b -> b.requires(Ingredient.of(ItemTags.SMALL_FLOWERS), 2)
|
.viaShapeless(b -> b.requires(Ingredient.of(ItemTags.SMALL_FLOWERS), 2)
|
||||||
.requires(AllItemTags.UA_CORAL.tag).requires(Items.BONE_MEAL))
|
.requires(AllItemTags.UA_CORAL.tag).requires(Items.BONE_MEAL))
|
||||||
|
|
||||||
|
@ -1375,7 +1378,12 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
ShapelessRecipeBuilder b = builder.apply(ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, result.get(), amount));
|
ShapelessRecipeBuilder b = builder.apply(ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, result.get(), amount));
|
||||||
if (unlockedBy != null)
|
if (unlockedBy != null)
|
||||||
b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get()));
|
b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get()));
|
||||||
b.save(consumer, createLocation("crafting"));
|
|
||||||
|
b.save(result -> {
|
||||||
|
consumer.accept(
|
||||||
|
!recipeConditions.isEmpty() ? new ConditionSupportingShapelessRecipeResult(result, recipeConditions)
|
||||||
|
: result);
|
||||||
|
}, createLocation("crafting"));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1478,10 +1486,10 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
SimpleCookingRecipeBuilder b = builder.apply(SimpleCookingRecipeBuilder.generic(ingredient.get(),
|
SimpleCookingRecipeBuilder b = builder.apply(SimpleCookingRecipeBuilder.generic(ingredient.get(),
|
||||||
RecipeCategory.MISC, isOtherMod ? Items.DIRT : result.get(), exp,
|
RecipeCategory.MISC, isOtherMod ? Items.DIRT : result.get(), exp,
|
||||||
(int) (cookingTime * cookingTimeModifier), serializer));
|
(int) (cookingTime * cookingTimeModifier), serializer));
|
||||||
|
|
||||||
if (unlockedBy != null)
|
if (unlockedBy != null)
|
||||||
b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get()));
|
b.unlockedBy("has_item", inventoryTrigger(unlockedBy.get()));
|
||||||
|
|
||||||
b.save(result -> {
|
b.save(result -> {
|
||||||
consumer.accept(
|
consumer.accept(
|
||||||
isOtherMod ? new ModdedCookingRecipeResult(result, compatDatagenOutput, recipeConditions)
|
isOtherMod ? new ModdedCookingRecipeResult(result, compatDatagenOutput, recipeConditions)
|
||||||
|
@ -1502,19 +1510,39 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
super(p_i48262_1_);
|
super(p_i48262_1_);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class ModdedCookingRecipeResult implements FinishedRecipe {
|
private record ModdedCookingRecipeResult(FinishedRecipe wrapped, ResourceLocation outputOverride, List<ICondition> conditions) implements FinishedRecipe {
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getId() {
|
||||||
|
return wrapped.getId();
|
||||||
|
}
|
||||||
|
|
||||||
private FinishedRecipe wrapped;
|
@Override
|
||||||
private ResourceLocation outputOverride;
|
public RecipeSerializer<?> getType() {
|
||||||
private List<ICondition> conditions;
|
return wrapped.getType();
|
||||||
|
}
|
||||||
|
|
||||||
public ModdedCookingRecipeResult(FinishedRecipe wrapped, ResourceLocation outputOverride,
|
@Override
|
||||||
List<ICondition> conditions) {
|
public JsonObject serializeAdvancement() {
|
||||||
this.wrapped = wrapped;
|
return wrapped.serializeAdvancement();
|
||||||
this.outputOverride = outputOverride;
|
}
|
||||||
this.conditions = conditions;
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getAdvancementId() {
|
||||||
|
return wrapped.getAdvancementId();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void serializeRecipeData(JsonObject object) {
|
||||||
|
wrapped.serializeRecipeData(object);
|
||||||
|
object.addProperty("result", outputOverride.toString());
|
||||||
|
|
||||||
|
JsonArray conds = new JsonArray();
|
||||||
|
conditions.forEach(c -> conds.add(CraftingHelper.serialize(c)));
|
||||||
|
object.add("conditions", conds);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private record ConditionSupportingShapelessRecipeResult(FinishedRecipe wrapped, List<ICondition> conditions) implements FinishedRecipe {
|
||||||
@Override
|
@Override
|
||||||
public ResourceLocation getId() {
|
public ResourceLocation getId() {
|
||||||
return wrapped.getId();
|
return wrapped.getId();
|
||||||
|
@ -1536,15 +1564,12 @@ public class StandardRecipeGen extends CreateRecipeProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void serializeRecipeData(JsonObject object) {
|
public void serializeRecipeData(@NotNull JsonObject pJson) {
|
||||||
wrapped.serializeRecipeData(object);
|
wrapped.serializeRecipeData(pJson);
|
||||||
object.addProperty("result", outputOverride.toString());
|
|
||||||
|
|
||||||
JsonArray conds = new JsonArray();
|
JsonArray conds = new JsonArray();
|
||||||
conditions.forEach(c -> conds.add(CraftingHelper.serialize(c)));
|
conditions.forEach(c -> conds.add(CraftingHelper.serialize(c)));
|
||||||
object.add("conditions", conds);
|
pJson.add("conditions", conds);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue