Added recipes

This commit is contained in:
Buuz135 2021-12-24 20:15:28 +01:00
parent b1b0a3b9d6
commit 0c0d08597b
17 changed files with 681 additions and 24 deletions

View File

@ -60,6 +60,7 @@ f768a7b0a4e49703c36318bd3da300640caaa295 assets/functionalstorage/models/item/ne
443379309025696b7608536277f33a6c444fa525 assets/functionalstorage/models/item/puller_upgrade.json
60e26c140ec529fd49941639b8070de56a1a18c0 assets/functionalstorage/models/item/pusher_upgrade.json
818d0ccc8149687691b50d24c7ee2170c1576024 assets/functionalstorage/models/item/void_upgrade.json
2a0e446d0ec43f1e148ce6cbb192cc6e925b860d data/functionalstorage/advancements/recipes/functionalstorage/netherite_upgrade.json
6f911c992ae50900dd19a0582c71cf876dcc74da data/functionalstorage/loot_tables/blocks/acacia_1.json
2c5d77a5072555185c28547f5f8ac3a2f9e235e6 data/functionalstorage/loot_tables/blocks/acacia_2.json
57b1808912f8c48bcbb2812059424b036e69feee data/functionalstorage/loot_tables/blocks/acacia_4.json
@ -90,27 +91,40 @@ ffefe962aec849a7afa5a5b46fc7e5ba87a8215b data/functionalstorage/loot_tables/bloc
a1a4e8570d19a850f6290d5e8cb00bf226a5d082 data/functionalstorage/recipes/acacia_1.json
e3138f15dbdc49225d5c66d2313cb4c6f1372ec3 data/functionalstorage/recipes/acacia_2.json
371657e01e4e599165049bbc686fca5ab0c27f18 data/functionalstorage/recipes/acacia_4.json
46c98779b06bf10965e986fb54e359fb5fa260c9 data/functionalstorage/recipes/armory_cabinet.json
60434750145755324af7e86952e2905efc616f5e data/functionalstorage/recipes/birch_1.json
b1e0180179e45d5dcce15a0d9e4c7240b32a0f0a data/functionalstorage/recipes/birch_2.json
1bb8f4e3018ec26c7ee8179198d114f5f8a5dcd5 data/functionalstorage/recipes/birch_4.json
d2c1db653dc024b5dbc6ffa01fb035f616e09388 data/functionalstorage/recipes/collector_upgrade.json
2f055e6a11a6e3ccb23545268552792af4b8a4a4 data/functionalstorage/recipes/compacting_drawer.json
17e341b2900147c9ed7786ae45b400107135b382 data/functionalstorage/recipes/configuration_tool.json
ef2fdca03f910cdffd427af1423b3c85587471c7 data/functionalstorage/recipes/copper_upgrade.json
b03ea02d6ccf84af8bf9482b2b0ddfa0284a5520 data/functionalstorage/recipes/crimson_1.json
ea3bf44b8e70ee71f488c62cc674839ede650a04 data/functionalstorage/recipes/crimson_2.json
4a2c846cccedc425748130054972d7e0f2757276 data/functionalstorage/recipes/crimson_4.json
6236c7bc1e0b621d7024c8e493de684a2083c486 data/functionalstorage/recipes/dark_oak_1.json
9a466a0d3da5f628c200cfe7a41d39e4740e228f data/functionalstorage/recipes/dark_oak_2.json
c9927a4a2a6c435615cac88249885706fa22f4a1 data/functionalstorage/recipes/dark_oak_4.json
cbcf3ee5994888e92e713e4fb5ab310ddea0fdb6 data/functionalstorage/recipes/diamond_upgrade.json
706bd944808746f993913f563279021c651c7ec5 data/functionalstorage/recipes/gold_upgrade.json
839587568a4163215b2b83d4e148e687d22e43f4 data/functionalstorage/recipes/iron_downgrade.json
b01f9c03f49dc1a13acbb1f1099e9cad2aa1a3ad data/functionalstorage/recipes/jungle_1.json
a57bd729cb2e911f54c8dda1da568ae249ee12f4 data/functionalstorage/recipes/jungle_2.json
53c35d42c899301fa5754f8a2274b59f8ddbec87 data/functionalstorage/recipes/jungle_4.json
51980e8cb5cc2e90876ed6614017ce81d3024e8b data/functionalstorage/recipes/linking_tool.json
9fd192413aa65e1b43f20d026e13796d10d1862f data/functionalstorage/recipes/netherite_upgrade.json
1ebe2893f36e62a42fe14425e8fc1738e00e7a6b data/functionalstorage/recipes/oak_1.json
c74326f87072d56cf74892ea0d1ba06ba2ab9d52 data/functionalstorage/recipes/oak_2.json
e2e084bb7d7b47e397380bf521b97abbfeb690fa data/functionalstorage/recipes/oak_4.json
716fbfa8193b7c60caf28c306b145167e3ddeae4 data/functionalstorage/recipes/puller_upgrade.json
555775b027e86b4d66d3d79ed3531e40c9edc455 data/functionalstorage/recipes/pusher_upgrade.json
fcaef11a796fe7bff1363cface153e9a5f6dfc5b data/functionalstorage/recipes/spruce_1.json
b400b9b87446387d55b8c16d5d2f3889621f7f26 data/functionalstorage/recipes/spruce_2.json
ff234dac4f0b0b4f83ffa92f2d2fb1074c68df43 data/functionalstorage/recipes/spruce_4.json
d6b02c345edd356b8e4b7421bdd453f454c6ed7f data/functionalstorage/recipes/storage_controller.json
70f002746453274121bb4fc7146ed9a738414228 data/functionalstorage/recipes/void_upgrade.json
bcb281904eac23183c45786e3d703d24bba92be6 data/functionalstorage/recipes/warped_1.json
8fc3f76a2c57eb4d80ce86947fabebe48fa6f692 data/functionalstorage/recipes/warped_2.json
7510a8ca1f1e3bb63f4c4f4add0bb6b713feaa0b data/functionalstorage/recipes/warped_4.json
7f1584dd07594822d6db4ec38642d19047a7c73a data/functionalstorage/tags/items/drawer.json
db0122948639b122cb0c1df7530996e9784356b0 data/functionalstorage/tags/items/drawer.json
12ec935226bf5a6a1493d353ef6dc6c224c256dd data/functionalstorage/tags/items/ignore_crafting_check.json

View File

@ -0,0 +1,34 @@
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"functionalstorage:netherite_upgrade"
]
},
"criteria": {
"has_netherite_ingot": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"items": [
"minecraft:netherite_ingot"
]
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "functionalstorage:netherite_upgrade"
}
}
},
"requirements": [
[
"has_netherite_ingot",
"has_the_recipe"
]
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:armory_cabinet",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"ICI",
"CDC",
"IBI"
],
"key": {
"I": {
"tag": "forge:stone"
},
"B": {
"tag": "forge:ingots/netherite"
},
"C": {
"tag": "functionalstorage:drawer"
},
"D": {
"item": "minecraft:comparator"
}
},
"result": {
"item": "functionalstorage:armory_cabinet"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:collector_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"RDR",
"IBI"
],
"key": {
"I": {
"tag": "forge:stone"
},
"B": {
"item": "minecraft:hopper"
},
"R": {
"tag": "forge:dusts/redstone"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:collector_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:configuration_tool",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"PPG",
"PDG",
"PEP"
],
"key": {
"P": {
"item": "minecraft:paper"
},
"G": {
"tag": "forge:ingots/gold"
},
"D": {
"tag": "functionalstorage:drawer"
},
"E": {
"item": "minecraft:emerald"
}
},
"result": {
"item": "functionalstorage:configuration_tool"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:copper_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"CDC",
"IBI"
],
"key": {
"I": {
"item": "minecraft:copper_ingot"
},
"B": {
"item": "minecraft:copper_block"
},
"C": {
"tag": "forge:chests/wooden"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:copper_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:diamond_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"CDC",
"BBB"
],
"key": {
"I": {
"tag": "forge:gems/diamond"
},
"B": {
"tag": "forge:storage_blocks/diamond"
},
"C": {
"tag": "forge:chests/wooden"
},
"D": {
"item": "functionalstorage:gold_upgrade"
}
},
"result": {
"item": "functionalstorage:diamond_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:gold_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"CDC",
"BIB"
],
"key": {
"I": {
"tag": "forge:ingots/gold"
},
"B": {
"tag": "forge:storage_blocks/gold"
},
"C": {
"tag": "forge:chests/wooden"
},
"D": {
"item": "functionalstorage:copper_upgrade"
}
},
"result": {
"item": "functionalstorage:gold_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,37 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:iron_downgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"III",
"IDI",
"III"
],
"key": {
"I": {
"tag": "forge:ingots/iron"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:iron_downgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:linking_tool",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"PPG",
"PDG",
"PEP"
],
"key": {
"P": {
"item": "minecraft:paper"
},
"G": {
"tag": "forge:ingots/gold"
},
"D": {
"tag": "functionalstorage:drawer"
},
"E": {
"item": "minecraft:diamond"
}
},
"result": {
"item": "functionalstorage:linking_tool"
}
}
}
]
}

View File

@ -0,0 +1,12 @@
{
"type": "minecraft:smithing",
"base": {
"item": "functionalstorage:diamond_upgrade"
},
"addition": {
"item": "minecraft:netherite_ingot"
},
"result": {
"item": "functionalstorage:netherite_upgrade"
}
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:puller_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"ICI",
"IDI",
"IBI"
],
"key": {
"I": {
"tag": "forge:stone"
},
"B": {
"tag": "forge:dusts/redstone"
},
"C": {
"item": "minecraft:hopper"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:puller_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:pusher_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"IDI",
"IRI"
],
"key": {
"I": {
"tag": "forge:stone"
},
"B": {
"tag": "forge:dusts/redstone"
},
"R": {
"item": "minecraft:hopper"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:pusher_upgrade"
}
}
}
]
}

View File

@ -0,0 +1,43 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:storage_controller",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"IBI",
"CDC",
"IBI"
],
"key": {
"I": {
"tag": "forge:stone"
},
"B": {
"tag": "forge:storage_blocks/quartz"
},
"C": {
"tag": "functionalstorage:drawer"
},
"D": {
"item": "minecraft:comparator"
}
},
"result": {
"item": "functionalstorage:storage_controller"
}
}
}
]
}

View File

@ -0,0 +1,37 @@
{
"type": "forge:conditional",
"recipes": [
{
"conditions": [
{
"values": [
{
"item": "functionalstorage:void_upgrade",
"type": "forge:item_exists"
}
],
"type": "forge:and"
}
],
"recipe": {
"type": "minecraft:crafting_shaped",
"pattern": [
"III",
"IDI",
"III"
],
"key": {
"I": {
"tag": "forge:obsidian"
},
"D": {
"tag": "functionalstorage:drawer"
}
},
"result": {
"item": "functionalstorage:void_upgrade"
}
}
}
]
}

View File

@ -1,14 +1,6 @@
{
"replace": false,
"values": [
"functionalstorage:oak_4",
"functionalstorage:spruce_4",
"functionalstorage:birch_4",
"functionalstorage:jungle_4",
"functionalstorage:acacia_4",
"functionalstorage:dark_oak_4",
"functionalstorage:crimson_4",
"functionalstorage:warped_4",
"functionalstorage:oak_1",
"functionalstorage:spruce_1",
"functionalstorage:birch_1",
@ -17,6 +9,14 @@
"functionalstorage:dark_oak_1",
"functionalstorage:crimson_1",
"functionalstorage:warped_1",
"functionalstorage:oak_4",
"functionalstorage:spruce_4",
"functionalstorage:birch_4",
"functionalstorage:jungle_4",
"functionalstorage:acacia_4",
"functionalstorage:dark_oak_4",
"functionalstorage:crimson_4",
"functionalstorage:warped_4",
"functionalstorage:oak_2",
"functionalstorage:spruce_2",
"functionalstorage:birch_2",

View File

@ -16,6 +16,7 @@ import com.buuz135.functionalstorage.item.StorageUpgradeItem;
import com.buuz135.functionalstorage.item.UpgradeItem;
import com.buuz135.functionalstorage.util.DrawerWoodType;
import com.buuz135.functionalstorage.util.IWoodType;
import com.buuz135.functionalstorage.util.StorageTags;
import com.hrznstudio.titanium.block.BasicBlock;
import com.hrznstudio.titanium.block.BasicTileBlock;
import com.hrznstudio.titanium.datagenerator.loot.TitaniumLootTableProvider;
@ -23,16 +24,20 @@ import com.hrznstudio.titanium.datagenerator.model.BlockItemModelGeneratorProvid
import com.hrznstudio.titanium.event.handler.EventManager;
import com.hrznstudio.titanium.module.ModuleController;
import com.hrznstudio.titanium.recipe.generator.TitaniumRecipeProvider;
import com.hrznstudio.titanium.recipe.generator.TitaniumShapedRecipeBuilder;
import com.hrznstudio.titanium.tab.AdvancedTitaniumTab;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.Direction;
import net.minecraft.data.recipes.FinishedRecipe;
import net.minecraft.data.recipes.UpgradeRecipeBuilder;
import net.minecraft.data.tags.BlockTagsProvider;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@ -42,6 +47,7 @@ import net.minecraftforge.client.event.TextureStitchEvent;
import net.minecraftforge.client.model.generators.BlockModelProvider;
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelProvider;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.util.NonNullLazy;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.common.Mod;
@ -154,25 +160,29 @@ public class FunctionalStorage extends ModuleController {
}).subscribe();
EventManager.mod(ColorHandlerEvent.Item.class).process(item -> {
item.getItemColors().register((stack, tint) -> {
CompoundTag tag = stack.getOrCreateTag();
LinkingToolItem.LinkingMode linkingMode = LinkingToolItem.LinkingMode.valueOf(tag.getString(LinkingToolItem.NBT_MODE));
LinkingToolItem.ActionMode linkingAction = LinkingToolItem.ActionMode.valueOf(tag.getString(LinkingToolItem.NBT_ACTION));
if (tint == 3 && tag.contains(LinkingToolItem.NBT_CONTROLLER)){
return Color.RED.getRGB();
}
if (tint == 1){
return linkingMode.getColor().getValue();
}
if (tint == 2){
return linkingAction.getColor().getValue();
if(stack.hasTag()){
CompoundTag tag = stack.getOrCreateTag();
LinkingToolItem.LinkingMode linkingMode = LinkingToolItem.LinkingMode.valueOf(tag.getString(LinkingToolItem.NBT_MODE));
LinkingToolItem.ActionMode linkingAction = LinkingToolItem.ActionMode.valueOf(tag.getString(LinkingToolItem.NBT_ACTION));
if (tint == 3 && tag.contains(LinkingToolItem.NBT_CONTROLLER)){
return Color.RED.getRGB();
}
if (tint == 1){
return linkingMode.getColor().getValue();
}
if (tint == 2){
return linkingAction.getColor().getValue();
}
}
return 0xffffff;
}, LINKING_TOOL.get());
item.getItemColors().register((stack, tint) -> {
CompoundTag tag = stack.getOrCreateTag();
ConfigurationToolItem.ConfigurationAction action = ConfigurationToolItem.ConfigurationAction.valueOf(tag.getString(ConfigurationToolItem.NBT_MODE));
if (tint == 1){
return action.getColor().getValue();
if (stack.hasTag()){
CompoundTag tag = stack.getOrCreateTag();
ConfigurationToolItem.ConfigurationAction action = ConfigurationToolItem.ConfigurationAction.valueOf(tag.getString(ConfigurationToolItem.NBT_MODE));
if (tint == 1){
return action.getColor().getValue();
}
}
return 0xffffff;
}, CONFIGURATION_TOOL.get());
@ -205,6 +215,89 @@ public class FunctionalStorage extends ModuleController {
@Override
public void register(Consumer<FinishedRecipe> consumer) {
blocksToProcess.get().stream().map(block -> (BasicBlock) block).forEach(basicBlock -> basicBlock.registerRecipe(consumer));
TitaniumShapedRecipeBuilder.shapedRecipe(STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.IRON).get())
.pattern("III").pattern("IDI").pattern("III")
.define('I', Tags.Items.INGOTS_IRON)
.define('D', StorageTags.DRAWER)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(VOID_UPGRADE.get())
.pattern("III").pattern("IDI").pattern("III")
.define('I', Tags.Items.OBSIDIAN)
.define('D', StorageTags.DRAWER)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(CONFIGURATION_TOOL.get())
.pattern("PPG").pattern("PDG").pattern("PEP")
.define('P', Items.PAPER)
.define('G', Tags.Items.INGOTS_GOLD)
.define('D', StorageTags.DRAWER)
.define('E', Items.EMERALD)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(LINKING_TOOL.get())
.pattern("PPG").pattern("PDG").pattern("PEP")
.define('P', Items.PAPER)
.define('G', Tags.Items.INGOTS_GOLD)
.define('D', StorageTags.DRAWER)
.define('E', Items.DIAMOND)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.COPPER).get())
.pattern("IBI").pattern("CDC").pattern("IBI")
.define('I', Items.COPPER_INGOT)
.define('B', Items.COPPER_BLOCK)
.define('C', Tags.Items.CHESTS_WOODEN)
.define('D', StorageTags.DRAWER)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.GOLD).get())
.pattern("IBI").pattern("CDC").pattern("BIB")
.define('I', Tags.Items.INGOTS_GOLD)
.define('B', Tags.Items.STORAGE_BLOCKS_GOLD)
.define('C', Tags.Items.CHESTS_WOODEN)
.define('D', STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.COPPER).get())
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.DIAMOND).get())
.pattern("IBI").pattern("CDC").pattern("BBB")
.define('I', Tags.Items.GEMS_DIAMOND)
.define('B', Tags.Items.STORAGE_BLOCKS_DIAMOND)
.define('C', Tags.Items.CHESTS_WOODEN)
.define('D', STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.GOLD).get())
.save(consumer);
UpgradeRecipeBuilder.smithing(Ingredient.of(STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.DIAMOND).get()), Ingredient.of(Items.NETHERITE_INGOT), STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.NETHERITE).get())
.unlocks("has_netherite_ingot", has(Items.NETHERITE_INGOT))
.save(consumer, STORAGE_UPGRADES.get(StorageUpgradeItem.StorageTier.NETHERITE).get().getRegistryName());
TitaniumShapedRecipeBuilder.shapedRecipe(DRAWER_CONTROLLER.get())
.pattern("IBI").pattern("CDC").pattern("IBI")
.define('I', Tags.Items.STONE)
.define('B', Tags.Items.STORAGE_BLOCKS_QUARTZ)
.define('C', StorageTags.DRAWER)
.define('D', Items.COMPARATOR)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(ARMORY_CABINET.get())
.pattern("ICI").pattern("CDC").pattern("IBI")
.define('I', Tags.Items.STONE)
.define('B', Tags.Items.INGOTS_NETHERITE)
.define('C', StorageTags.DRAWER)
.define('D', Items.COMPARATOR)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(PULLING_UPGRADE.get())
.pattern("ICI").pattern("IDI").pattern("IBI")
.define('I', Tags.Items.STONE)
.define('B', Tags.Items.DUSTS_REDSTONE)
.define('C', Items.HOPPER)
.define('D', StorageTags.DRAWER)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(PUSHING_UPGRADE.get())
.pattern("IBI").pattern("IDI").pattern("IRI")
.define('I', Tags.Items.STONE)
.define('B', Tags.Items.DUSTS_REDSTONE)
.define('R', Items.HOPPER)
.define('D', StorageTags.DRAWER)
.save(consumer);
TitaniumShapedRecipeBuilder.shapedRecipe(COLLECTOR_UPGRADE.get())
.pattern("IBI").pattern("RDR").pattern("IBI")
.define('I', Tags.Items.STONE)
.define('B', Items.HOPPER)
.define('R', Tags.Items.DUSTS_REDSTONE)
.define('D', StorageTags.DRAWER)
.save(consumer);
}
});
event.getGenerator().addProvider(new FunctionalStorageTagsProvider(event.getGenerator(),new BlockTagsProvider(event.getGenerator()), MOD_ID, event.getExistingFileHelper()));