Made drawers drop with the stored upgrades

This commit is contained in:
Buuz135 2021-12-22 18:48:21 +01:00
parent 8f6a4b8f13
commit 14d1d319a0
33 changed files with 330 additions and 53 deletions

View File

@ -25,7 +25,7 @@ a0ff8d6c8f3d10d7773039df53dd3b6a5412bc10 assets/functionalstorage/blockstates/sp
e27f738dc4aeda4f45831ab1665a7f44a189a6eb assets/functionalstorage/blockstates/warped_1.json e27f738dc4aeda4f45831ab1665a7f44a189a6eb assets/functionalstorage/blockstates/warped_1.json
d219b51e15094f26af1f2e1c4578707c74a8892e assets/functionalstorage/blockstates/warped_2.json d219b51e15094f26af1f2e1c4578707c74a8892e assets/functionalstorage/blockstates/warped_2.json
9957ebb8beafe7cfa8634e1b19c3b9ed70a23ae5 assets/functionalstorage/blockstates/warped_4.json 9957ebb8beafe7cfa8634e1b19c3b9ed70a23ae5 assets/functionalstorage/blockstates/warped_4.json
162c85a626cc1f95965657d01349b4daac3c982f assets/functionalstorage/lang/en_us.json 93d67cc8bfa87e012c9d97f4b275234c91c3b170 assets/functionalstorage/lang/en_us.json
f9c11e430cfeef0c24c5b10b7e6bdff04d5efa6a assets/functionalstorage/models/item/collector_upgrade.json f9c11e430cfeef0c24c5b10b7e6bdff04d5efa6a assets/functionalstorage/models/item/collector_upgrade.json
eed1ee36f7bc9269b2e0300a89c1418ac3cf8a29 assets/functionalstorage/models/item/copper_upgrade.json eed1ee36f7bc9269b2e0300a89c1418ac3cf8a29 assets/functionalstorage/models/item/copper_upgrade.json
06a823abd508e43d00013698b1b65eb1f71feecf assets/functionalstorage/models/item/diamond_upgrade.json 06a823abd508e43d00013698b1b65eb1f71feecf assets/functionalstorage/models/item/diamond_upgrade.json
@ -35,33 +35,33 @@ f768a7b0a4e49703c36318bd3da300640caaa295 assets/functionalstorage/models/item/ne
443379309025696b7608536277f33a6c444fa525 assets/functionalstorage/models/item/puller_upgrade.json 443379309025696b7608536277f33a6c444fa525 assets/functionalstorage/models/item/puller_upgrade.json
60e26c140ec529fd49941639b8070de56a1a18c0 assets/functionalstorage/models/item/pusher_upgrade.json 60e26c140ec529fd49941639b8070de56a1a18c0 assets/functionalstorage/models/item/pusher_upgrade.json
818d0ccc8149687691b50d24c7ee2170c1576024 assets/functionalstorage/models/item/void_upgrade.json 818d0ccc8149687691b50d24c7ee2170c1576024 assets/functionalstorage/models/item/void_upgrade.json
6414c7bf11830af3646da15cb16e601930f785bd data/functionalstorage/loot_tables/blocks/acacia_1.json 6f911c992ae50900dd19a0582c71cf876dcc74da data/functionalstorage/loot_tables/blocks/acacia_1.json
f0235fd68df6fd2797155af3d56fbe57bef2f0b0 data/functionalstorage/loot_tables/blocks/acacia_2.json 2c5d77a5072555185c28547f5f8ac3a2f9e235e6 data/functionalstorage/loot_tables/blocks/acacia_2.json
db076fb77db0c54a6c9f45307d8c173bf87fb7a9 data/functionalstorage/loot_tables/blocks/acacia_4.json 57b1808912f8c48bcbb2812059424b036e69feee data/functionalstorage/loot_tables/blocks/acacia_4.json
a44acb957c42b4dd555090ff1a216840159b2bc0 data/functionalstorage/loot_tables/blocks/armory_cabinet.json a44acb957c42b4dd555090ff1a216840159b2bc0 data/functionalstorage/loot_tables/blocks/armory_cabinet.json
c0dc7923d7c7198d94d1a1f69b1d9b80546ad244 data/functionalstorage/loot_tables/blocks/birch_1.json 402f17fcf1dad05fa8eefc4a043537057d19367c data/functionalstorage/loot_tables/blocks/birch_1.json
acfc609efdd2d99d70276aff51cf237d1d979412 data/functionalstorage/loot_tables/blocks/birch_2.json eeb23b1ea3c1edd93fe07a4af02d53f6b40da7a5 data/functionalstorage/loot_tables/blocks/birch_2.json
46ed8b5dc4b9ccf3b0f71646b7b3d8450be72d62 data/functionalstorage/loot_tables/blocks/birch_4.json 1bd846dfe9b1d524e0e70113dd91e16b43afa719 data/functionalstorage/loot_tables/blocks/birch_4.json
5ca84bb6e4d35893da638b52bb7884426a409719 data/functionalstorage/loot_tables/blocks/compacting_drawer.json 6bd1ba8b82987319533b6b951589d29433d200eb data/functionalstorage/loot_tables/blocks/compacting_drawer.json
c3e2fbd87bb848c3bb74de850f34dc8bc88284bd data/functionalstorage/loot_tables/blocks/crimson_1.json 6a82420090d17add6ba72b6a90cda4ab9d441e8b data/functionalstorage/loot_tables/blocks/crimson_1.json
932c3a94b14ea28738d14e21d3ed4dc03d857ea4 data/functionalstorage/loot_tables/blocks/crimson_2.json 8dd45d58d0964e43b2d844f66601d4039f71797c data/functionalstorage/loot_tables/blocks/crimson_2.json
fb5ce6a35b552a40a3c938ae8f618173c0ea2685 data/functionalstorage/loot_tables/blocks/crimson_4.json c7818b49202190d039db2204f270ae9374075b16 data/functionalstorage/loot_tables/blocks/crimson_4.json
ed6376ff0dc9c51c44074e3e6f3f06ea09d4748b data/functionalstorage/loot_tables/blocks/dark_oak_1.json 4a73d8bf0fb0990ae2b1bd43fee1d1795bb8ddb5 data/functionalstorage/loot_tables/blocks/dark_oak_1.json
cfdc41f83dede5b9e5c7f139d82c592f922f9c68 data/functionalstorage/loot_tables/blocks/dark_oak_2.json fe32cb59cc42caa73e0c2702ba9e02a30e2e9e7c data/functionalstorage/loot_tables/blocks/dark_oak_2.json
98cbe6a710cc8e94eed09d637cb3b5d92713d358 data/functionalstorage/loot_tables/blocks/dark_oak_4.json 0c1c3ceb9c217cc31788b747266ba4b8aed2cd81 data/functionalstorage/loot_tables/blocks/dark_oak_4.json
f1446371288e88b9e33ec0ac753dc7a08f967ba8 data/functionalstorage/loot_tables/blocks/jungle_1.json a3db5e91a01ea805c7b533585c8c0c35778ce8b0 data/functionalstorage/loot_tables/blocks/jungle_1.json
a6404721fb22e58f591ddf33b5fedc679bae9e95 data/functionalstorage/loot_tables/blocks/jungle_2.json 563ef8ecd6c1e5def76e0fb78b4deff2de9b2303 data/functionalstorage/loot_tables/blocks/jungle_2.json
77fe6e742ec083ae9ae76b630488914931ecfd10 data/functionalstorage/loot_tables/blocks/jungle_4.json f914fee3782d19b73a57073a3a515481a088103f data/functionalstorage/loot_tables/blocks/jungle_4.json
7b22459ac9a2c38a00273c1ca36d4a70b6e8399b data/functionalstorage/loot_tables/blocks/oak_1.json ffefe962aec849a7afa5a5b46fc7e5ba87a8215b data/functionalstorage/loot_tables/blocks/oak_1.json
b64501320484c817174006830f28134d29e9b39a data/functionalstorage/loot_tables/blocks/oak_2.json 785a63c04c8a40018991d6b346eda3cc8fb93a06 data/functionalstorage/loot_tables/blocks/oak_2.json
8188e843e8687fffcab4a171a42c3731e9dc0d37 data/functionalstorage/loot_tables/blocks/oak_4.json 1cea38d1e34808f1ced0ad6bf6ebde620a089311 data/functionalstorage/loot_tables/blocks/oak_4.json
04aa6aabcc0c5924370259e3d3663f2a4a9b8e11 data/functionalstorage/loot_tables/blocks/spruce_1.json 49c322fef7e6dbf9955534843dd37d6ef12417e8 data/functionalstorage/loot_tables/blocks/spruce_1.json
2effa67e8ffb8a6bb6305b237e0d1f79d55a0b9f data/functionalstorage/loot_tables/blocks/spruce_2.json 51cf2f765927230ad5e1c5e83c01ebb4cc1c721e data/functionalstorage/loot_tables/blocks/spruce_2.json
4a73c1ae9defb7037aea7ae293821ea4a5c99caa data/functionalstorage/loot_tables/blocks/spruce_4.json 6801c23087b3ee37e59e1f7e1fb85e6f5a60ba3a data/functionalstorage/loot_tables/blocks/spruce_4.json
4475a8cc23e9c657c58da5406aa97ff770f320e1 data/functionalstorage/loot_tables/blocks/storage_controller.json 4475a8cc23e9c657c58da5406aa97ff770f320e1 data/functionalstorage/loot_tables/blocks/storage_controller.json
8be1cfcdff30d37c151232db05fcde3b29464740 data/functionalstorage/loot_tables/blocks/warped_1.json 4e3b7243a49cd9c75e50c45d2d876932e7f29e9b data/functionalstorage/loot_tables/blocks/warped_1.json
13434fb87cc92dabc7b8050ee4c1abd9177faa8b data/functionalstorage/loot_tables/blocks/warped_2.json 2c03aad29edc2f0ecaedad197d8adcd5c3447fae data/functionalstorage/loot_tables/blocks/warped_2.json
7cec2d7779fd9759bb1725e0c09bcaa105a4649b data/functionalstorage/loot_tables/blocks/warped_4.json 6e1930500d447eea8067d17bb154d1709f228efe data/functionalstorage/loot_tables/blocks/warped_4.json
a1a4e8570d19a850f6290d5e8cb00bf226a5d082 data/functionalstorage/recipes/acacia_1.json a1a4e8570d19a850f6290d5e8cb00bf226a5d082 data/functionalstorage/recipes/acacia_1.json
e3138f15dbdc49225d5c66d2313cb4c6f1372ec3 data/functionalstorage/recipes/acacia_2.json e3138f15dbdc49225d5c66d2313cb4c6f1372ec3 data/functionalstorage/recipes/acacia_2.json
371657e01e4e599165049bbc686fca5ab0c27f18 data/functionalstorage/recipes/acacia_4.json 371657e01e4e599165049bbc686fca5ab0c27f18 data/functionalstorage/recipes/acacia_4.json

View File

@ -1,31 +1,31 @@
{ {
"block.functionalstorage.acacia_1": "Acacia Drawer (1x1)", "block.functionalstorage.acacia_1": "Acacia Drawer (1x1)",
"block.functionalstorage.acacia_2": "Acacia Drawer (2x2)", "block.functionalstorage.acacia_2": "Acacia Drawer (1x2)",
"block.functionalstorage.acacia_4": "Acacia Drawer (4x4)", "block.functionalstorage.acacia_4": "Acacia Drawer (2x2)",
"block.functionalstorage.armory_cabinet": "Armory Cabinet", "block.functionalstorage.armory_cabinet": "Armory Cabinet",
"block.functionalstorage.birch_1": "Birch Drawer (1x1)", "block.functionalstorage.birch_1": "Birch Drawer (1x1)",
"block.functionalstorage.birch_2": "Birch Drawer (2x2)", "block.functionalstorage.birch_2": "Birch Drawer (1x2)",
"block.functionalstorage.birch_4": "Birch Drawer (4x4)", "block.functionalstorage.birch_4": "Birch Drawer (2x2)",
"block.functionalstorage.compacting_drawer": "Compacting Drawer", "block.functionalstorage.compacting_drawer": "Compacting Drawer",
"block.functionalstorage.crimson_1": "Crimson Drawer (1x1)", "block.functionalstorage.crimson_1": "Crimson Drawer (1x1)",
"block.functionalstorage.crimson_2": "Crimson Drawer (2x2)", "block.functionalstorage.crimson_2": "Crimson Drawer (1x2)",
"block.functionalstorage.crimson_4": "Crimson Drawer (4x4)", "block.functionalstorage.crimson_4": "Crimson Drawer (2x2)",
"block.functionalstorage.dark_oak_1": "Dark Oak Drawer (1x1)", "block.functionalstorage.dark_oak_1": "Dark Oak Drawer (1x1)",
"block.functionalstorage.dark_oak_2": "Dark Oak Drawer (2x2)", "block.functionalstorage.dark_oak_2": "Dark Oak Drawer (1x2)",
"block.functionalstorage.dark_oak_4": "Dark Oak Drawer (4x4)", "block.functionalstorage.dark_oak_4": "Dark Oak Drawer (2x2)",
"block.functionalstorage.jungle_1": "Jungle Drawer (1x1)", "block.functionalstorage.jungle_1": "Jungle Drawer (1x1)",
"block.functionalstorage.jungle_2": "Jungle Drawer (2x2)", "block.functionalstorage.jungle_2": "Jungle Drawer (1x2)",
"block.functionalstorage.jungle_4": "Jungle Drawer (4x4)", "block.functionalstorage.jungle_4": "Jungle Drawer (2x2)",
"block.functionalstorage.oak_1": "Oak Drawer (1x1)", "block.functionalstorage.oak_1": "Oak Drawer (1x1)",
"block.functionalstorage.oak_2": "Oak Drawer (2x2)", "block.functionalstorage.oak_2": "Oak Drawer (1x2)",
"block.functionalstorage.oak_4": "Oak Drawer (4x4)", "block.functionalstorage.oak_4": "Oak Drawer (2x2)",
"block.functionalstorage.spruce_1": "Spruce Drawer (1x1)", "block.functionalstorage.spruce_1": "Spruce Drawer (1x1)",
"block.functionalstorage.spruce_2": "Spruce Drawer (2x2)", "block.functionalstorage.spruce_2": "Spruce Drawer (1x2)",
"block.functionalstorage.spruce_4": "Spruce Drawer (4x4)", "block.functionalstorage.spruce_4": "Spruce Drawer (2x2)",
"block.functionalstorage.storage_controller": "Storage Controller", "block.functionalstorage.storage_controller": "Storage Controller",
"block.functionalstorage.warped_1": "Warped Drawer (1x1)", "block.functionalstorage.warped_1": "Warped Drawer (1x1)",
"block.functionalstorage.warped_2": "Warped Drawer (2x2)", "block.functionalstorage.warped_2": "Warped Drawer (1x2)",
"block.functionalstorage.warped_4": "Warped Drawer (4x4)", "block.functionalstorage.warped_4": "Warped Drawer (2x2)",
"item.functionalstorage.collector_upgrade": "Collector Upgrade", "item.functionalstorage.collector_upgrade": "Collector Upgrade",
"item.functionalstorage.copper_upgrade": "Copper Upgrade", "item.functionalstorage.copper_upgrade": "Copper Upgrade",
"item.functionalstorage.diamond_upgrade": "Diamond Upgrade", "item.functionalstorage.diamond_upgrade": "Diamond Upgrade",
@ -36,7 +36,11 @@
"item.functionalstorage.puller_upgrade": "Puller Upgrade", "item.functionalstorage.puller_upgrade": "Puller Upgrade",
"item.functionalstorage.pusher_upgrade": "Pusher Upgrade", "item.functionalstorage.pusher_upgrade": "Pusher Upgrade",
"item.functionalstorage.void_upgrade": "Void Upgrade", "item.functionalstorage.void_upgrade": "Void Upgrade",
"item.utility.direction": "Direction: ",
"item.utility.direction.desc": "Right click in a GUI to change direction",
"itemGroup.functionalstorage": "Functional Storage", "itemGroup.functionalstorage": "Functional Storage",
"key.categories.storage": "Storage",
"key.categories.utility": "Utility",
"linkingtool.controller": "Controller: ", "linkingtool.controller": "Controller: ",
"linkingtool.linkingaction": "Linking Action: ", "linkingtool.linkingaction": "Linking Action: ",
"linkingtool.linkingaction.add": "Add", "linkingtool.linkingaction.add": "Add",

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -16,6 +16,16 @@
"source": "handler", "source": "handler",
"target": "BlockEntityTag.handler", "target": "BlockEntityTag.handler",
"op": "replace" "op": "replace"
},
{
"source": "storageUpgrades",
"target": "BlockEntityTag.storageUpgrades",
"op": "replace"
},
{
"source": "utilityUpgrades",
"target": "BlockEntityTag.utilityUpgrades",
"op": "replace"
} }
] ]
} }

View File

@ -22,7 +22,6 @@ import com.hrznstudio.titanium.event.handler.EventManager;
import com.hrznstudio.titanium.module.ModuleController; import com.hrznstudio.titanium.module.ModuleController;
import com.hrznstudio.titanium.recipe.generator.TitaniumRecipeProvider; import com.hrznstudio.titanium.recipe.generator.TitaniumRecipeProvider;
import com.hrznstudio.titanium.tab.AdvancedTitaniumTab; import com.hrznstudio.titanium.tab.AdvancedTitaniumTab;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.data.recipes.FinishedRecipe;
import net.minecraft.data.tags.BlockTagsProvider; import net.minecraft.data.tags.BlockTagsProvider;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
@ -30,7 +29,6 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.client.event.ColorHandlerEvent; import net.minecraftforge.client.event.ColorHandlerEvent;
@ -44,7 +42,6 @@ import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject; import net.minecraftforge.registries.RegistryObject;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.jline.utils.Colors;
import java.awt.*; import java.awt.*;
import java.util.*; import java.util.*;
@ -106,15 +103,18 @@ public class FunctionalStorage extends ModuleController {
} }
public enum DrawerType{ public enum DrawerType{
X_1(1, 32 * 64), X_2(2, 16 * 64), X_4(4, 8 * 64); X_1(1, 32 * 64, "1x1"),
X_2(2, 16 * 64, "1x2"),
X_4(4, 8 * 64, "2x2");
private final int slots; private final int slots;
private final int slotAmount; private final int slotAmount;
private final String displayName;
private DrawerType(int slots, int slotAmount){ private DrawerType(int slots, int slotAmount, String displayName){
this.slots = slots; this.slots = slots;
this.slotAmount = slotAmount; this.slotAmount = slotAmount;
this.displayName = displayName;
} }
public int getSlots() { public int getSlots() {
@ -124,6 +124,10 @@ public class FunctionalStorage extends ModuleController {
public int getSlotAmount() { public int getSlotAmount() {
return slotAmount; return slotAmount;
} }
public String getDisplayName() {
return displayName;
}
} }
@OnlyIn(Dist.CLIENT) @OnlyIn(Dist.CLIENT)

View File

@ -149,6 +149,8 @@ public class CompactingDrawerBlock extends RotatableBlock<CompactingDrawerTile>
public LootTable.Builder getLootTable(@Nonnull BasicBlockLootTables blockLootTables) { public LootTable.Builder getLootTable(@Nonnull BasicBlockLootTables blockLootTables) {
CopyNbtFunction.Builder nbtBuilder = CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY); CopyNbtFunction.Builder nbtBuilder = CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY);
nbtBuilder.copy("handler", "BlockEntityTag.handler"); nbtBuilder.copy("handler", "BlockEntityTag.handler");
nbtBuilder.copy("storageUpgrades", "BlockEntityTag.storageUpgrades");
nbtBuilder.copy("utilityUpgrades", "BlockEntityTag.utilityUpgrades");
return blockLootTables.droppingSelfWithNbt(this, nbtBuilder); return blockLootTables.droppingSelfWithNbt(this, nbtBuilder);
} }

View File

@ -177,6 +177,8 @@ public class DrawerBlock extends RotatableBlock<DrawerTile> {
public LootTable.Builder getLootTable(@Nonnull BasicBlockLootTables blockLootTables) { public LootTable.Builder getLootTable(@Nonnull BasicBlockLootTables blockLootTables) {
CopyNbtFunction.Builder nbtBuilder = CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY); CopyNbtFunction.Builder nbtBuilder = CopyNbtFunction.copyData(ContextNbtProvider.BLOCK_ENTITY);
nbtBuilder.copy("handler", "BlockEntityTag.handler"); nbtBuilder.copy("handler", "BlockEntityTag.handler");
nbtBuilder.copy("storageUpgrades", "BlockEntityTag.storageUpgrades");
nbtBuilder.copy("utilityUpgrades", "BlockEntityTag.utilityUpgrades");
return blockLootTables.droppingSelfWithNbt(this, nbtBuilder); return blockLootTables.droppingSelfWithNbt(this, nbtBuilder);
} }

View File

@ -77,8 +77,18 @@ public abstract class ControllableDrawerTile<T extends ControllableDrawerTile<T>
.setInputFilter((stack, integer) -> stack.getItem() instanceof UpgradeItem && ((UpgradeItem) stack.getItem()).getType() == UpgradeItem.Type.UTILITY) .setInputFilter((stack, integer) -> stack.getItem() instanceof UpgradeItem && ((UpgradeItem) stack.getItem()).getType() == UpgradeItem.Type.UTILITY)
.setSlotLimit(1)) .setSlotLimit(1))
); );
addGuiAddonFactory(() -> new TextScreenAddon("Storage", 10, 59, false, ChatFormatting.DARK_GRAY.getColor())); addGuiAddonFactory(() -> new TextScreenAddon("Storage", 10, 59, false, ChatFormatting.DARK_GRAY.getColor()){
addGuiAddonFactory(() -> new TextScreenAddon("Utility", 114, 59, false, ChatFormatting.DARK_GRAY.getColor())); @Override
public String getText() {
return new TranslatableComponent("key.categories.storage").getString();
}
});
addGuiAddonFactory(() -> new TextScreenAddon("Utility", 114, 59, false, ChatFormatting.DARK_GRAY.getColor()){
@Override
public String getText() {
return new TranslatableComponent("key.categories.utility").getString();
}
});
addGuiAddonFactory(() -> new TextScreenAddon("key.categories.inventory", 8, 92, false, ChatFormatting.DARK_GRAY.getColor()){ addGuiAddonFactory(() -> new TextScreenAddon("key.categories.inventory", 8, 92, false, ChatFormatting.DARK_GRAY.getColor()){
@Override @Override
public String getText() { public String getText() {

View File

@ -21,7 +21,7 @@ public class FunctionalStorageLangProvider extends LanguageProvider {
for (FunctionalStorage.DrawerType drawerType : FunctionalStorage.DRAWER_TYPES.keySet()) { for (FunctionalStorage.DrawerType drawerType : FunctionalStorage.DRAWER_TYPES.keySet()) {
for (RegistryObject<Block> blockRegistryObject : FunctionalStorage.DRAWER_TYPES.get(drawerType)) { for (RegistryObject<Block> blockRegistryObject : FunctionalStorage.DRAWER_TYPES.get(drawerType)) {
DrawerBlock drawerBlock = (DrawerBlock) blockRegistryObject.get(); DrawerBlock drawerBlock = (DrawerBlock) blockRegistryObject.get();
this.add(drawerBlock, WordUtils.capitalize(drawerBlock.getWoodType().getName().replace('_', ' ').toLowerCase()) + " Drawer (" +drawerBlock.getType().getSlots() + "x" + drawerBlock.getType().getSlots() + ")"); this.add(drawerBlock, WordUtils.capitalize(drawerBlock.getWoodType().getName().replace('_', ' ').toLowerCase()) + " Drawer (" +drawerBlock.getType().getDisplayName() +")");
} }
} }
this.add(FunctionalStorage.COMPACTING_DRAWER.get(), "Compacting Drawer"); this.add(FunctionalStorage.COMPACTING_DRAWER.get(), "Compacting Drawer");
@ -35,6 +35,8 @@ public class FunctionalStorageLangProvider extends LanguageProvider {
this.add("linkingtool.use", "Sneak + Right Click in the air to change modes. Right Click in the air to change actions. Right click a controller to setup the tool then use it nearby drawers to link."); this.add("linkingtool.use", "Sneak + Right Click in the air to change modes. Right Click in the air to change actions. Right click a controller to setup the tool then use it nearby drawers to link.");
this.add("linkingtool.linkingaction.add", "Add"); this.add("linkingtool.linkingaction.add", "Add");
this.add("linkingtool.linkingaction.remove", "Remove"); this.add("linkingtool.linkingaction.remove", "Remove");
this.add("key.categories.utility", "Utility");
this.add("key.categories.storage", "Storage");
this.add(FunctionalStorage.LINKING_TOOL.get(), "Linking Tool"); this.add(FunctionalStorage.LINKING_TOOL.get(), "Linking Tool");
this.add(FunctionalStorage.DRAWER_CONTROLLER.get(), "Storage Controller"); this.add(FunctionalStorage.DRAWER_CONTROLLER.get(), "Storage Controller");
this.add("storageupgrade.desc", "Multiplies the block storage by "); this.add("storageupgrade.desc", "Multiplies the block storage by ");
@ -46,5 +48,7 @@ public class FunctionalStorageLangProvider extends LanguageProvider {
this.add(FunctionalStorage.PUSHING_UPGRADE.get(), WordUtils.capitalize(FunctionalStorage.PUSHING_UPGRADE.get().getRegistryName().getPath().replace('_', ' ').toLowerCase()) ); this.add(FunctionalStorage.PUSHING_UPGRADE.get(), WordUtils.capitalize(FunctionalStorage.PUSHING_UPGRADE.get().getRegistryName().getPath().replace('_', ' ').toLowerCase()) );
this.add(FunctionalStorage.VOID_UPGRADE.get(), WordUtils.capitalize(FunctionalStorage.VOID_UPGRADE.get().getRegistryName().getPath().replace('_', ' ').toLowerCase()) ); this.add(FunctionalStorage.VOID_UPGRADE.get(), WordUtils.capitalize(FunctionalStorage.VOID_UPGRADE.get().getRegistryName().getPath().replace('_', ' ').toLowerCase()) );
this.add(FunctionalStorage.ARMORY_CABINET.get(), "Armory Cabinet"); this.add(FunctionalStorage.ARMORY_CABINET.get(), "Armory Cabinet");
this.add("item.utility.direction", "Direction: ");
this.add("item.utility.direction.desc", "Right click in a GUI to change direction");
} }
} }

View File

@ -7,6 +7,7 @@ import net.minecraft.core.Direction;
import net.minecraft.core.NonNullList; import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.entity.SlotAccess; import net.minecraft.world.entity.SlotAccess;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
@ -83,9 +84,9 @@ public class UpgradeItem extends BasicItem {
if (!stack.hasTag()) return; if (!stack.hasTag()) return;
Item item = stack.getItem(); Item item = stack.getItem();
if (item.equals(FunctionalStorage.PULLING_UPGRADE.get()) || item.equals(FunctionalStorage.PUSHING_UPGRADE.get()) || item.equals(FunctionalStorage.COLLECTOR_UPGRADE.get())){ if (item.equals(FunctionalStorage.PULLING_UPGRADE.get()) || item.equals(FunctionalStorage.PUSHING_UPGRADE.get()) || item.equals(FunctionalStorage.COLLECTOR_UPGRADE.get())){
tooltip.add(new TextComponent("Direction: ").withStyle(ChatFormatting.GRAY).append(WordUtils.capitalize(stack.getTag().getString("Direction").toLowerCase(Locale.ROOT)))); tooltip.add(new TranslatableComponent("item.utility.direction").withStyle(ChatFormatting.GRAY).append(WordUtils.capitalize(stack.getTag().getString("Direction").toLowerCase(Locale.ROOT))));
tooltip.add(new TextComponent("")); tooltip.add(new TextComponent(""));
tooltip.add(new TextComponent("Right click in a GUI to change direction").withStyle(ChatFormatting.GRAY)); tooltip.add(new TranslatableComponent("item.utility.direction.desc").withStyle(ChatFormatting.GRAY));
} }
} }