From 194f00f843c497c37187573fc3b3bc7ec62e3174 Mon Sep 17 00:00:00 2001 From: Robin Date: Sat, 6 Jul 2024 14:17:27 +0200 Subject: [PATCH] env distributor recipe --- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 4 +- .../misc/env_distributor_block_item.json | 65 +++++++++++++++++++ .../recipe/env_distributor_block_item.json | 27 ++++++++ .../datagen/ETRecipeProvider.java | 22 ++++++- .../environmenttech/level/item/ETItems.java | 4 +- 5 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 src/generated/resources/data/environmenttech/advancement/recipes/misc/env_distributor_block_item.json create mode 100644 src/generated/resources/data/environmenttech/recipe/env_distributor_block_item.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index ddc8043..3505238 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,9 +1,11 @@ -// 1.21 2024-06-30T22:00:58.313201409 Recipes +// 1.21 2024-07-02T20:26:53.286412918 Recipes 375ee3cb8eaf222bd0d5576061d1741b5b3d5cff data/environmenttech/advancement/recipes/environmental_essence.json 99b83974e5a7a570c2111cab62a292d126c36524 data/environmenttech/advancement/recipes/misc/env_collector_block_item.json +810a3e2750c6fe259d203216b1e5046e49e345d6 data/environmenttech/advancement/recipes/misc/env_distributor_block_item.json 6962e07757d0b7087542bf51dddde36d4beb3ee4 data/environmenttech/advancement/recipes/misc/glass_tank.json 76b6b2850a79c80b2f2969b93b26bc3832a77ab4 data/environmenttech/advancement/recipes/tools/env_detector_item.json 23bb508829cafa270f61c06c8cc5aa3ad58e54e1 data/environmenttech/recipe/env_collector_block_item.json 17b9bb86d970f10b3784048b790ba541ed3bf8fd data/environmenttech/recipe/env_detector_item.json +30e474321e6365918a83c6e71527c1c362e9b2c9 data/environmenttech/recipe/env_distributor_block_item.json 63c5fdb8c8563f643e4f502a3132c0d049c2c17b data/environmenttech/recipe/environmental_essence.json 935db7eeeeb437ba83909ba578f14109f62485ef data/environmenttech/recipe/glass_tank.json diff --git a/src/generated/resources/data/environmenttech/advancement/recipes/misc/env_distributor_block_item.json b/src/generated/resources/data/environmenttech/advancement/recipes/misc/env_distributor_block_item.json new file mode 100644 index 0000000..8810160 --- /dev/null +++ b/src/generated/resources/data/environmenttech/advancement/recipes/misc/env_distributor_block_item.json @@ -0,0 +1,65 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "environmental_essence": { + "conditions": { + "items": [ + { + "items": "environmenttech:environmental_essence" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "glass_tank": { + "conditions": { + "items": [ + { + "items": "environmenttech:glass_tank" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "environmenttech:env_distributor_block_item" + }, + "trigger": "minecraft:recipe_unlocked" + }, + "iron_ingot": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_ingot" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "oak_planks": { + "conditions": { + "items": [ + { + "items": "minecraft:oak_planks" + } + ] + }, + "trigger": "minecraft:inventory_changed" + } + }, + "requirements": [ + [ + "has_the_recipe", + "oak_planks", + "iron_ingot", + "glass_tank", + "environmental_essence" + ] + ], + "rewards": { + "recipes": [ + "environmenttech:env_distributor_block_item" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/environmenttech/recipe/env_distributor_block_item.json b/src/generated/resources/data/environmenttech/recipe/env_distributor_block_item.json new file mode 100644 index 0000000..ca0f694 --- /dev/null +++ b/src/generated/resources/data/environmenttech/recipe/env_distributor_block_item.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "e": { + "item": "environmenttech:environmental_essence" + }, + "g": { + "item": "environmenttech:glass_tank" + }, + "i": { + "item": "minecraft:iron_ingot" + }, + "p": { + "item": "minecraft:oak_planks" + } + }, + "pattern": [ + "iei", + "ggg", + "ppp" + ], + "result": { + "count": 1, + "id": "environmenttech:env_distributor" + } +} \ No newline at end of file diff --git a/src/main/java/robaertschi/environmenttech/datagen/ETRecipeProvider.java b/src/main/java/robaertschi/environmenttech/datagen/ETRecipeProvider.java index 78a7c3c..6bbf3bb 100644 --- a/src/main/java/robaertschi/environmenttech/datagen/ETRecipeProvider.java +++ b/src/main/java/robaertschi/environmenttech/datagen/ETRecipeProvider.java @@ -39,9 +39,9 @@ public class ETRecipeProvider extends RecipeProvider { new ItemStack(ETItems.ENVIRONMENTAL_ESSENCE_ITEM.get()), 10 ).unlockedBy( - "iron_ingot", - InventoryChangeTrigger.TriggerInstance.hasItems(Items.IRON_INGOT) - ).unlockedBy("env_collector", InventoryChangeTrigger.TriggerInstance.hasItems(ETItems.ENV_COLLECTOR_BLOCK_ITEM)) + "iron_ingot", + InventoryChangeTrigger.TriggerInstance.hasItems(Items.IRON_INGOT) + ).unlockedBy("env_collector", InventoryChangeTrigger.TriggerInstance.hasItems(ETItems.ENV_COLLECTOR_BLOCK_ITEM)) .save(recipeOutput); ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ETItems.GLASS_TANK) @@ -66,6 +66,21 @@ public class ETRecipeProvider extends RecipeProvider { .unlockedBy("hopper", InventoryChangeTrigger.TriggerInstance.hasItems(Items.HOPPER)) .save(recipeOutput, ET.id("env_collector_block_item")); + + ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ETItems.ENV_DISTRIBUTOR_BLOCK_ITEM) + .define('i', Items.IRON_INGOT) + .define('p', Items.OAK_PLANKS) + .define('g', ETItems.GLASS_TANK) + .define('e', ETItems.ENVIRONMENTAL_ESSENCE_ITEM) + .pattern("iei") + .pattern("ggg") + .pattern("ppp") + .unlockedBy("oak_planks", InventoryChangeTrigger.TriggerInstance.hasItems(Items.OAK_PLANKS)) + .unlockedBy("iron_ingot", InventoryChangeTrigger.TriggerInstance.hasItems(Items.IRON_INGOT)) + .unlockedBy("glass_tank", InventoryChangeTrigger.TriggerInstance.hasItems(ETItems.GLASS_TANK)) + .unlockedBy("environmental_essence", InventoryChangeTrigger.TriggerInstance.hasItems(ETItems.ENVIRONMENTAL_ESSENCE_ITEM)) + .save(recipeOutput, ET.id("env_distributor_block_item")); + ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, ETItems.ENV_DETECTOR_ITEM) .define('t', ETItems.GLASS_TANK) .define('s', Tags.Items.RODS_WOODEN) @@ -77,5 +92,6 @@ public class ETRecipeProvider extends RecipeProvider { .unlockedBy("hopper", InventoryChangeTrigger.TriggerInstance.hasItems(Items.HOPPER)) .unlockedBy("stick", InventoryChangeTrigger.TriggerInstance.hasItems(ItemPredicate.Builder.item().of(Tags.Items.RODS_WOODEN).build())) .save(recipeOutput, ET.id("env_detector_item")); + } } diff --git a/src/main/java/robaertschi/environmenttech/level/item/ETItems.java b/src/main/java/robaertschi/environmenttech/level/item/ETItems.java index 13f0f5f..5fcf6b1 100644 --- a/src/main/java/robaertschi/environmenttech/level/item/ETItems.java +++ b/src/main/java/robaertschi/environmenttech/level/item/ETItems.java @@ -34,7 +34,7 @@ public class ETItems { // public static final DeferredItem EXAMPLE_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("example_block", EXAMPLE_BLOCK); public static final DeferredItem ENV_COLLECTOR_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("env_collector", ETBlocks.ENV_COLLECTOR_BLOCK); - public static final DeferredItem ENV_DISTRIBUTOR_ITEM = ITEMS.registerSimpleBlockItem("env_distributor", ETBlocks.ENV_DISTRIBUTOR_BLOCK); + public static final DeferredItem ENV_DISTRIBUTOR_BLOCK_ITEM = ITEMS.registerSimpleBlockItem("env_distributor", ETBlocks.ENV_DISTRIBUTOR_BLOCK); public static final DeferredItem ENV_DETECTOR_ITEM = ITEMS.registerItem("env_detector", EnvDetectorItem::new, @@ -55,7 +55,7 @@ public class ETItems { .icon(() -> ENV_COLLECTOR_BLOCK_ITEM.get().getDefaultInstance()) .displayItems((parameters, output) -> { output.accept(ENV_COLLECTOR_BLOCK_ITEM.get()); - output.accept(ENV_DISTRIBUTOR_ITEM); + output.accept(ENV_DISTRIBUTOR_BLOCK_ITEM); output.accept(ENV_DETECTOR_ITEM.get()); // output.accept(EXAMPLE_BLOCK_ITEM.get()); output.accept(ENVIRONMENTAL_ESSENCE_ITEM.get());