diff --git a/CHANGELOG.md b/CHANGELOG.md index b23a2c98..bcffdebb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,7 @@ # VERSION 1.3.5 * Increased controller range render a bit to avoid Z-Fighting +* Fixed Framing recipe changing the original value +* Added Fluid Framed Drawers # VERSION 1.3.4 * fix: fixed #322 by making copyIndex variable diff --git a/gradle.properties b/gradle.properties index 0fedab5a..e2a9aad6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.jvmargs=-Xmx2048M modGroup=com.buuz135 -mod_version=1.3.4 +mod_version=1.3.5 modBaseName=functionalstorage neo_version=21.1.40 diff --git a/src/generated/resources/.cache/15b6275091e1d61ba43a63172e99581ffd5ac41e b/src/generated/resources/.cache/15b6275091e1d61ba43a63172e99581ffd5ac41e index 44c3e884..dab3c11c 100644 --- a/src/generated/resources/.cache/15b6275091e1d61ba43a63172e99581ffd5ac41e +++ b/src/generated/resources/.cache/15b6275091e1d61ba43a63172e99581ffd5ac41e @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-28T12:48:31.6590249 Item Models: functionalstorage +// 1.21.1 2024-10-30T13:30:53.1701181 Item Models: functionalstorage e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/acacia_1.json e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/acacia_2.json e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/acacia_4.json @@ -31,6 +31,9 @@ e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/fr e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_2.json e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_4.json bffd40ac50ca20c358e2c93b57104a9858242e52 assets/functionalstorage/models/item/framed_controller_extension.json +e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_fluid_1.json +e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_fluid_2.json +e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_fluid_4.json e0f7b66a84e6588f01abbbce75b1803ffe5d46e2 assets/functionalstorage/models/item/framed_simple_compacting_drawer.json c6248c7ce7bb9aa88c7e75b2545a40f346f112e1 assets/functionalstorage/models/item/framed_storage_controller.json 1f165509c733e747c26d4c6a60306988b130dbee assets/functionalstorage/models/item/gold_upgrade.json diff --git a/src/generated/resources/.cache/361def3a0b0e87157892b021be1ddec9d13d5e52 b/src/generated/resources/.cache/361def3a0b0e87157892b021be1ddec9d13d5e52 index 61d0d601..fd9a467c 100644 --- a/src/generated/resources/.cache/361def3a0b0e87157892b021be1ddec9d13d5e52 +++ b/src/generated/resources/.cache/361def3a0b0e87157892b021be1ddec9d13d5e52 @@ -1,2 +1,2 @@ -// 1.21.1 2024-10-28T12:48:31.6519826 Languages: en_us for mod: functionalstorage -4ce44e7063049d3b70c4c7db24c7e58e5a07f169 assets/functionalstorage/lang/en_us.json +// 1.21.1 2024-10-30T14:38:49.2895994 Languages: en_us for mod: functionalstorage +adc466c5fc5cdfefd095c7ea37a8e1a9020f4b17 assets/functionalstorage/lang/en_us.json diff --git a/src/generated/resources/.cache/424df6c0265e09414e636289f261813cd93f4aa2 b/src/generated/resources/.cache/424df6c0265e09414e636289f261813cd93f4aa2 index 09ab0cb2..02cde7b5 100644 --- a/src/generated/resources/.cache/424df6c0265e09414e636289f261813cd93f4aa2 +++ b/src/generated/resources/.cache/424df6c0265e09414e636289f261813cd93f4aa2 @@ -1,4 +1,4 @@ -// 1.21.1 2024-09-21T14:04:15.9487606 Block States: functionalstorage +// 1.21.1 2024-10-30T13:30:53.1621686 Block States: functionalstorage b1f76f1b67016350af532beb6de3ffdc4d9a07be assets/functionalstorage/blockstates/acacia_1.json a4e462d9775fd4aefa673952d4d69f9d90b2e823 assets/functionalstorage/blockstates/acacia_2.json ecd77b58fb3d746ab8e2109adf686ea01cf5d96a assets/functionalstorage/blockstates/acacia_4.json @@ -26,6 +26,9 @@ b66e872170929f7d24af6720167749014a9cd16f assets/functionalstorage/blockstates/fr ea5c1b0de1f8102d561e1669a42b4ae9145d4b8c assets/functionalstorage/blockstates/framed_2.json 251a4112ccff54b28ef878d0f31b320c7cf12c11 assets/functionalstorage/blockstates/framed_4.json 1dff325fb33d3ffbbba975e022b219fad229d15f assets/functionalstorage/blockstates/framed_controller_extension.json +9447d8196bfe7af38780ba6b7eb27020a41df9bb assets/functionalstorage/blockstates/framed_fluid_1.json +710a11871caad26c638f4eddf9684aff29a5a6e0 assets/functionalstorage/blockstates/framed_fluid_2.json +4b7e1f484c6eb60c79564a80c2e9a75720049c49 assets/functionalstorage/blockstates/framed_fluid_4.json 6ad215edb261487c389408d15a1434a81549c35c assets/functionalstorage/blockstates/framed_simple_compacting_drawer.json 27bc9e9477a0287cdc0c5bec8830c8012e6302c8 assets/functionalstorage/blockstates/framed_storage_controller.json ae3be1b76f15453d6905a0ac71d240df0ce3d868 assets/functionalstorage/blockstates/jungle_1.json diff --git a/src/generated/resources/.cache/58b100d11464fc6de03e6a16617c8d741d90a73a b/src/generated/resources/.cache/58b100d11464fc6de03e6a16617c8d741d90a73a index 8ea734d9..4aaefc29 100644 --- a/src/generated/resources/.cache/58b100d11464fc6de03e6a16617c8d741d90a73a +++ b/src/generated/resources/.cache/58b100d11464fc6de03e6a16617c8d741d90a73a @@ -1,5 +1,5 @@ -// 1.21.1 2024-10-28T13:04:03.6655641 Functional Storage Item Tags -dce1fbc7d93ffd0f6dca91d6e15795d982c6e62e data/functionalstorage/tags/item/drawer.json +// 1.21.1 2024-10-30T14:44:51.893763 Functional Storage Item Tags +835e427d83a22d7d095d867d36357b6578bec083 data/functionalstorage/tags/item/drawer.json 0f4059ebc0b8af722c3f50b447456cc984ac7aef data/functionalstorage/tags/item/drawer_1x1.json e720d099ebe08a625a2c4e30d8d49b2c1a29251b data/functionalstorage/tags/item/drawer_1x2.json f001be17000f3dca8d2f189631b3ee9804911422 data/functionalstorage/tags/item/drawer_2x2.json diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index b46edc32..4b593176 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -1,4 +1,4 @@ -// 1.21.1 2024-09-21T14:04:15.9520286 Loot Tables +// 1.21.1 2024-10-30T13:30:53.1646686 Loot Tables d78cf8442a9d36bff4abc1107f1217f4a4418c8e data/functionalstorage/loot_table/blocks/acacia_1.json 47f3265cef09634f6f2d136757304488a7cf1c75 data/functionalstorage/loot_table/blocks/acacia_2.json 769595131ba5623e061d1fada4a22af5fd00cb69 data/functionalstorage/loot_table/blocks/acacia_4.json @@ -26,6 +26,9 @@ e78f6a5085f22199a5f7e9cf6f7fae5cd6e28c72 data/functionalstorage/loot_table/block 799b3dc4a002bbf0ac20a3c8b1827cf42673affb data/functionalstorage/loot_table/blocks/framed_2.json 2faf0c684a20da3cd731b56685903ca1724f67d7 data/functionalstorage/loot_table/blocks/framed_4.json a07bc575d23810ae47f9f157a164302ee728c5f2 data/functionalstorage/loot_table/blocks/framed_controller_extension.json +f918874be4f95a73d42022c969aea4fcf0b22ad4 data/functionalstorage/loot_table/blocks/framed_fluid_1.json +fcf61678369f3bde385a0af3c00ada39d2d99f41 data/functionalstorage/loot_table/blocks/framed_fluid_2.json +a30ef5cf5cdb75335a8151d783447ec50b4a0c40 data/functionalstorage/loot_table/blocks/framed_fluid_4.json cf1bb3214330e19fee50cbc3a71f7704751239d4 data/functionalstorage/loot_table/blocks/framed_simple_compacting_drawer.json 41acd837bd91f3e02c3ae90b4f632c6b33d8d302 data/functionalstorage/loot_table/blocks/framed_storage_controller.json bdef97337c16c1ad48d8a807785621750eace79f data/functionalstorage/loot_table/blocks/jungle_1.json diff --git a/src/generated/resources/.cache/9b4b2fe28e6a198629709c0c8772cb00a8b15d4a b/src/generated/resources/.cache/9b4b2fe28e6a198629709c0c8772cb00a8b15d4a index dd27f669..c9366388 100644 --- a/src/generated/resources/.cache/9b4b2fe28e6a198629709c0c8772cb00a8b15d4a +++ b/src/generated/resources/.cache/9b4b2fe28e6a198629709c0c8772cb00a8b15d4a @@ -1,3 +1,3 @@ -// 1.21.1 2024-10-28T13:04:03.6700649 Tags for minecraft:block mod id functionalstorage -dce1fbc7d93ffd0f6dca91d6e15795d982c6e62e data/minecraft/tags/block/mineable/axe.json -4b6fc75faca16170a17220f0e301b16866f4bc5c data/minecraft/tags/block/mineable/pickaxe.json +// 1.21.1 2024-10-30T14:44:51.8942631 Tags for minecraft:block mod id functionalstorage +835e427d83a22d7d095d867d36357b6578bec083 data/minecraft/tags/block/mineable/axe.json +553cd3e13a4f372ac8a1b749645a08cbb0948d05 data/minecraft/tags/block/mineable/pickaxe.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 8c2ccabc..68ed2930 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.21.1 2024-10-28T13:04:03.6670651 Recipes +// 1.21.1 2024-10-30T14:38:49.291684 Recipes f07485f3ee5257c2b12fcf149c60ddd20ed73fe1 data/functionalstorage/advancement/recipes/misc/acacia_1.json 8cce3aada48266b5e41df6e04b01ab1fd2224a4c data/functionalstorage/advancement/recipes/misc/acacia_2.json 8bc6f134a188d7ec701a472feeb93bccc9a115f3 data/functionalstorage/advancement/recipes/misc/acacia_4.json @@ -35,6 +35,9 @@ e336f9fead981cf7a763bf8d7f7b90d875de1201 data/functionalstorage/advancement/reci 260ef23a3d16b545eaf546d751ac894683f7d0cd data/functionalstorage/advancement/recipes/misc/framed_4.json ecc2a25f451f87a6ce84b61ac0748df1e13aff8a data/functionalstorage/advancement/recipes/misc/framed_4_from_simple.json 6ffe3c05a0e63ee88797c1e7bf424a727feb6e59 data/functionalstorage/advancement/recipes/misc/framed_controller_extension.json +fa30fac4aafa734727678769b6b3ceff3edd942b data/functionalstorage/advancement/recipes/misc/framed_fluid_1.json +b4410b77706c26e14c7e1f86ef7a90842e37ed71 data/functionalstorage/advancement/recipes/misc/framed_fluid_2.json +a83959537e786a167f9255e6664a6efe2d638486 data/functionalstorage/advancement/recipes/misc/framed_fluid_4.json 286e7b93e8853d20a27cd6afc108975edb0f3ee3 data/functionalstorage/advancement/recipes/misc/framed_simple_compacting_drawer.json c7e3939a3d41d0bbed2777ba6d570de731f7b1d6 data/functionalstorage/advancement/recipes/misc/framed_simple_compacting_drawer_from_simple.json e5b83d8acfe3d3a8bd64ac4f1fa71aefc0057f18 data/functionalstorage/advancement/recipes/misc/framed_storage_controller.json @@ -107,6 +110,9 @@ fd38720c28a543ff250af3e94f2d22337acd4c01 data/functionalstorage/recipe/framed_1. ad44f7b469f3f40e2d0ac09c3194d393d054557d data/functionalstorage/recipe/framed_4.json ae0b2ad2e7a1f41cc977aa99063160d80f0887f8 data/functionalstorage/recipe/framed_4_from_simple.json 84fc39ed6bcf643a7fe4840e5eaeff6b88331d15 data/functionalstorage/recipe/framed_controller_extension.json +6312265546746f5b6f27e2436495688cc0737b03 data/functionalstorage/recipe/framed_fluid_1.json +3f596e6fa498247d5997ac4cb7fcc27c009cc0f5 data/functionalstorage/recipe/framed_fluid_2.json +ce5f5764024309ad6b78f57dc573840099785106 data/functionalstorage/recipe/framed_fluid_4.json edb9e1fe3911c45ef063082efffb36b842525abc data/functionalstorage/recipe/framed_simple_compacting_drawer.json 20de5824fa1639738d100099e9ea883d4c758089 data/functionalstorage/recipe/framed_simple_compacting_drawer_from_simple.json 38521176076e502f53a47cb412cf17f385160b3b data/functionalstorage/recipe/framed_storage_controller.json diff --git a/src/generated/resources/.cache/f4bc6a534340ffb17710ab19bf013aa0d2f1f9d9 b/src/generated/resources/.cache/f4bc6a534340ffb17710ab19bf013aa0d2f1f9d9 index 6c163a0c..86534796 100644 --- a/src/generated/resources/.cache/f4bc6a534340ffb17710ab19bf013aa0d2f1f9d9 +++ b/src/generated/resources/.cache/f4bc6a534340ffb17710ab19bf013aa0d2f1f9d9 @@ -1,4 +1,4 @@ -// 1.21.1 2024-09-21T14:04:15.9507754 Block Models: functionalstorage +// 1.21.1 2024-10-30T14:44:51.8912623 Block Models: functionalstorage 9a3565a126dac6771b78fa3f5f3f2b6e3c858dd8 assets/functionalstorage/models/block/acacia_1_locked.json fb054b9a925853b52f05fc4402de2b58b2d3a72f assets/functionalstorage/models/block/acacia_2_locked.json b8c2c3e1a316d39c881a4532b04a18d19d6d9c55 assets/functionalstorage/models/block/acacia_4_locked.json @@ -19,6 +19,9 @@ cb959dc23ee41d96246e3e398ef7024e1315aceb assets/functionalstorage/models/block/d 538e32181db72b1d0f9849711b5a7eaed7f41682 assets/functionalstorage/models/block/fluid_1_locked.json 25d9cab6fc436845d17a75daf7fc7de6ea326ad0 assets/functionalstorage/models/block/fluid_2_locked.json 3b094843acbbb1317d80f37266730d63fbb1124f assets/functionalstorage/models/block/fluid_4_locked.json +f7525efbb9a74e37c7e8fc738b933491c40e6603 assets/functionalstorage/models/block/framed_fluid_1_locked.json +b5f88c49ca8b230878e475567f4536a63b6f5c57 assets/functionalstorage/models/block/framed_fluid_2_locked.json +c3085519b39627444081080e0148021da1080ece assets/functionalstorage/models/block/framed_fluid_4_locked.json 8ecb3eef0f754f28f34c94971a4679e06cf11694 assets/functionalstorage/models/block/jungle_1_locked.json efcb03885d4fc0d73ba446938f891e8e5a1ff919 assets/functionalstorage/models/block/jungle_2_locked.json 684cf354dea1b5429aea7767b145ff875692eedf assets/functionalstorage/models/block/jungle_4_locked.json diff --git a/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_1.json b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_1.json new file mode 100644 index 00000000..df4a717f --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_1.json @@ -0,0 +1,42 @@ +{ + "variants": { + "locked=false,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_1", + "uvlock": true, + "y": 90 + }, + "locked=false,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_1", + "uvlock": true + }, + "locked=false,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_1", + "uvlock": true, + "y": 180 + }, + "locked=false,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_1", + "uvlock": true, + "y": 270 + }, + "locked=true,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_1_locked", + "uvlock": true, + "y": 90 + }, + "locked=true,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_1_locked", + "uvlock": true + }, + "locked=true,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_1_locked", + "uvlock": true, + "y": 180 + }, + "locked=true,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_1_locked", + "uvlock": true, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_2.json b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_2.json new file mode 100644 index 00000000..fe078df4 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_2.json @@ -0,0 +1,42 @@ +{ + "variants": { + "locked=false,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_2", + "uvlock": true, + "y": 90 + }, + "locked=false,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_2", + "uvlock": true + }, + "locked=false,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_2", + "uvlock": true, + "y": 180 + }, + "locked=false,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_2", + "uvlock": true, + "y": 270 + }, + "locked=true,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_2_locked", + "uvlock": true, + "y": 90 + }, + "locked=true,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_2_locked", + "uvlock": true + }, + "locked=true,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_2_locked", + "uvlock": true, + "y": 180 + }, + "locked=true,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_2_locked", + "uvlock": true, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_4.json b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_4.json new file mode 100644 index 00000000..d9a62dbb --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/blockstates/framed_fluid_4.json @@ -0,0 +1,42 @@ +{ + "variants": { + "locked=false,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_4", + "uvlock": true, + "y": 90 + }, + "locked=false,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_4", + "uvlock": true + }, + "locked=false,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_4", + "uvlock": true, + "y": 180 + }, + "locked=false,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_4", + "uvlock": true, + "y": 270 + }, + "locked=true,subfacing=east": { + "model": "functionalstorage:block/framed_fluid_4_locked", + "uvlock": true, + "y": 90 + }, + "locked=true,subfacing=north": { + "model": "functionalstorage:block/framed_fluid_4_locked", + "uvlock": true + }, + "locked=true,subfacing=south": { + "model": "functionalstorage:block/framed_fluid_4_locked", + "uvlock": true, + "y": 180 + }, + "locked=true,subfacing=west": { + "model": "functionalstorage:block/framed_fluid_4_locked", + "uvlock": true, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/lang/en_us.json b/src/generated/resources/assets/functionalstorage/lang/en_us.json index b1030413..9b3f151d 100644 --- a/src/generated/resources/assets/functionalstorage/lang/en_us.json +++ b/src/generated/resources/assets/functionalstorage/lang/en_us.json @@ -26,6 +26,9 @@ "block.functionalstorage.framed_2": "Framed Drawer (1x2)", "block.functionalstorage.framed_4": "Framed Drawer (2x2)", "block.functionalstorage.framed_controller_extension": "Framed Controller Access Point", + "block.functionalstorage.framed_fluid_1": "Framed Fluid Drawer (1x1)", + "block.functionalstorage.framed_fluid_2": "Framed Drawer (1x2)", + "block.functionalstorage.framed_fluid_4": "Framed Drawer (2x2)", "block.functionalstorage.framed_simple_compacting_drawer": "Framed Simple Compacting Drawer", "block.functionalstorage.framed_storage_controller": "Framed Storage Controller", "block.functionalstorage.jungle_1": "Jungle Drawer (1x1)", @@ -37,7 +40,6 @@ "block.functionalstorage.oak_1": "Oak Drawer (1x1)", "block.functionalstorage.oak_2": "Oak Drawer (1x2)", "block.functionalstorage.oak_4": "Oak Drawer (2x2)", - "block.functionalstorage.simple_compacting_drawer": "Simple Compacting Drawer", "block.functionalstorage.spruce_1": "Spruce Drawer (1x1)", "block.functionalstorage.spruce_2": "Spruce Drawer (1x2)", "block.functionalstorage.spruce_4": "Spruce Drawer (2x2)", diff --git a/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_1_locked.json b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_1_locked.json new file mode 100644 index 00000000..3c11cc13 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_1_locked.json @@ -0,0 +1,6 @@ +{ + "parent": "functionalstorage:block/framed_fluid_1", + "textures": { + "lock_icon": "functionalstorage:block/lock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_2_locked.json b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_2_locked.json new file mode 100644 index 00000000..778b3348 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_2_locked.json @@ -0,0 +1,6 @@ +{ + "parent": "functionalstorage:block/framed_fluid_2", + "textures": { + "lock_icon": "functionalstorage:block/lock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_4_locked.json b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_4_locked.json new file mode 100644 index 00000000..11b6d390 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/block/framed_fluid_4_locked.json @@ -0,0 +1,6 @@ +{ + "parent": "functionalstorage:block/framed_fluid_4", + "textures": { + "lock_icon": "functionalstorage:block/lock" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_1.json b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_1.json new file mode 100644 index 00000000..ad08d978 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_1.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:builtin/entity" +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_2.json b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_2.json new file mode 100644 index 00000000..ad08d978 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_2.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:builtin/entity" +} \ No newline at end of file diff --git a/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_4.json b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_4.json new file mode 100644 index 00000000..ad08d978 --- /dev/null +++ b/src/generated/resources/assets/functionalstorage/models/item/framed_fluid_4.json @@ -0,0 +1,3 @@ +{ + "parent": "minecraft:builtin/entity" +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_1.json b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_1.json new file mode 100644 index 00000000..360108f6 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_1.json @@ -0,0 +1,38 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_1" + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "functionalstorage:framed_fluid_1" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "functionalstorage:framed_fluid_1" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_2.json b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_2.json new file mode 100644 index 00000000..e10e53b5 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_2.json @@ -0,0 +1,38 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_2" + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "functionalstorage:framed_fluid_2" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "functionalstorage:framed_fluid_2" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_4.json b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_4.json new file mode 100644 index 00000000..06112c20 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/advancement/recipes/misc/framed_fluid_4.json @@ -0,0 +1,38 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_4" + } + ], + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": "minecraft:iron_nugget" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "functionalstorage:framed_fluid_4" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_item" + ] + ], + "rewards": { + "recipes": [ + "functionalstorage:framed_fluid_4" + ] + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_1.json b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_1.json new file mode 100644 index 00000000..1b208d42 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_1.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "functionalstorage:blocks/framed_fluid_1" +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_2.json b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_2.json new file mode 100644 index 00000000..e7b648e4 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_2.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "functionalstorage:blocks/framed_fluid_2" +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_4.json b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_4.json new file mode 100644 index 00000000..96eb6bde --- /dev/null +++ b/src/generated/resources/data/functionalstorage/loot_table/blocks/framed_fluid_4.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:block", + "random_sequence": "functionalstorage:blocks/framed_fluid_4" +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/recipe/framed_fluid_1.json b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_1.json new file mode 100644 index 00000000..f5a46749 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_1.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_1" + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "minecraft:bucket" + }, + "P": { + "item": "minecraft:iron_nugget" + } + }, + "pattern": [ + "PPP", + "PCP", + "PPP" + ], + "result": { + "count": 1, + "id": "functionalstorage:framed_fluid_1" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/recipe/framed_fluid_2.json b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_2.json new file mode 100644 index 00000000..9d615964 --- /dev/null +++ b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_2.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_2" + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "minecraft:bucket" + }, + "P": { + "item": "minecraft:iron_nugget" + } + }, + "pattern": [ + "PCP", + "PPP", + "PCP" + ], + "result": { + "count": 2, + "id": "functionalstorage:framed_fluid_2" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/recipe/framed_fluid_4.json b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_4.json new file mode 100644 index 00000000..0a99534d --- /dev/null +++ b/src/generated/resources/data/functionalstorage/recipe/framed_fluid_4.json @@ -0,0 +1,27 @@ +{ + "neoforge:conditions": [ + { + "type": "neoforge:item_exists", + "item": "functionalstorage:framed_fluid_4" + } + ], + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "minecraft:bucket" + }, + "P": { + "item": "minecraft:iron_nugget" + } + }, + "pattern": [ + "CPC", + "PPP", + "CPC" + ], + "result": { + "count": 4, + "id": "functionalstorage:framed_fluid_4" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/functionalstorage/tags/item/drawer.json b/src/generated/resources/data/functionalstorage/tags/item/drawer.json index e4ff1a1b..3a50191f 100644 --- a/src/generated/resources/data/functionalstorage/tags/item/drawer.json +++ b/src/generated/resources/data/functionalstorage/tags/item/drawer.json @@ -1,16 +1,5 @@ { "values": [ - "functionalstorage:oak_2", - "functionalstorage:spruce_2", - "functionalstorage:birch_2", - "functionalstorage:jungle_2", - "functionalstorage:acacia_2", - "functionalstorage:dark_oak_2", - "functionalstorage:crimson_2", - "functionalstorage:warped_2", - "functionalstorage:mangrove_2", - "functionalstorage:cherry_2", - "functionalstorage:framed_2", "functionalstorage:oak_4", "functionalstorage:spruce_4", "functionalstorage:birch_4", @@ -32,6 +21,17 @@ "functionalstorage:warped_1", "functionalstorage:mangrove_1", "functionalstorage:cherry_1", - "functionalstorage:framed_1" + "functionalstorage:framed_1", + "functionalstorage:oak_2", + "functionalstorage:spruce_2", + "functionalstorage:birch_2", + "functionalstorage:jungle_2", + "functionalstorage:acacia_2", + "functionalstorage:dark_oak_2", + "functionalstorage:crimson_2", + "functionalstorage:warped_2", + "functionalstorage:mangrove_2", + "functionalstorage:cherry_2", + "functionalstorage:framed_2" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json index e4ff1a1b..3a50191f 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/axe.json @@ -1,16 +1,5 @@ { "values": [ - "functionalstorage:oak_2", - "functionalstorage:spruce_2", - "functionalstorage:birch_2", - "functionalstorage:jungle_2", - "functionalstorage:acacia_2", - "functionalstorage:dark_oak_2", - "functionalstorage:crimson_2", - "functionalstorage:warped_2", - "functionalstorage:mangrove_2", - "functionalstorage:cherry_2", - "functionalstorage:framed_2", "functionalstorage:oak_4", "functionalstorage:spruce_4", "functionalstorage:birch_4", @@ -32,6 +21,17 @@ "functionalstorage:warped_1", "functionalstorage:mangrove_1", "functionalstorage:cherry_1", - "functionalstorage:framed_1" + "functionalstorage:framed_1", + "functionalstorage:oak_2", + "functionalstorage:spruce_2", + "functionalstorage:birch_2", + "functionalstorage:jungle_2", + "functionalstorage:acacia_2", + "functionalstorage:dark_oak_2", + "functionalstorage:crimson_2", + "functionalstorage:warped_2", + "functionalstorage:mangrove_2", + "functionalstorage:cherry_2", + "functionalstorage:framed_2" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json index 9b767e2b..b9bcdcf5 100644 --- a/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/generated/resources/data/minecraft/tags/block/mineable/pickaxe.json @@ -8,6 +8,9 @@ "functionalstorage:fluid_1", "functionalstorage:fluid_2", "functionalstorage:fluid_4", + "functionalstorage:framed_fluid_1", + "functionalstorage:framed_fluid_2", + "functionalstorage:framed_fluid_4", "functionalstorage:controller_extension", "functionalstorage:simple_compacting_drawer", "functionalstorage:framed_storage_controller", diff --git a/src/main/java/com/buuz135/functionalstorage/FunctionalStorage.java b/src/main/java/com/buuz135/functionalstorage/FunctionalStorage.java index 7fe82403..ba643820 100644 --- a/src/main/java/com/buuz135/functionalstorage/FunctionalStorage.java +++ b/src/main/java/com/buuz135/functionalstorage/FunctionalStorage.java @@ -1,30 +1,7 @@ package com.buuz135.functionalstorage; -import com.buuz135.functionalstorage.block.ArmoryCabinetBlock; -import com.buuz135.functionalstorage.block.CompactingDrawerBlock; -import com.buuz135.functionalstorage.block.CompactingFramedDrawerBlock; -import com.buuz135.functionalstorage.block.ControllerExtensionBlock; -import com.buuz135.functionalstorage.block.Drawer; -import com.buuz135.functionalstorage.block.DrawerBlock; -import com.buuz135.functionalstorage.block.DrawerControllerBlock; -import com.buuz135.functionalstorage.block.EnderDrawerBlock; -import com.buuz135.functionalstorage.block.FluidDrawerBlock; -import com.buuz135.functionalstorage.block.FramedBlock; -import com.buuz135.functionalstorage.block.FramedControllerExtensionBlock; -import com.buuz135.functionalstorage.block.FramedDrawerBlock; -import com.buuz135.functionalstorage.block.FramedDrawerControllerBlock; -import com.buuz135.functionalstorage.block.FramedSimpleCompactingDrawerBlock; -import com.buuz135.functionalstorage.block.SimpleCompactingDrawerBlock; -import com.buuz135.functionalstorage.block.tile.CompactingDrawerTile; -import com.buuz135.functionalstorage.block.tile.CompactingFramedDrawerTile; -import com.buuz135.functionalstorage.block.tile.DrawerControllerTile; -import com.buuz135.functionalstorage.block.tile.DrawerTile; -import com.buuz135.functionalstorage.block.tile.EnderDrawerTile; -import com.buuz135.functionalstorage.block.tile.FluidDrawerTile; -import com.buuz135.functionalstorage.block.tile.FramedDrawerControllerTile; -import com.buuz135.functionalstorage.block.tile.FramedDrawerTile; -import com.buuz135.functionalstorage.block.tile.FramedSimpleCompactingDrawerTile; -import com.buuz135.functionalstorage.block.tile.SimpleCompactingDrawerTile; +import com.buuz135.functionalstorage.block.*; +import com.buuz135.functionalstorage.block.tile.*; import com.buuz135.functionalstorage.client.ClientSetup; import com.buuz135.functionalstorage.client.CompactingDrawerRenderer; import com.buuz135.functionalstorage.client.ControllerRenderer; @@ -161,6 +138,9 @@ public class FunctionalStorage extends ModuleController { public static BlockWithTile FRAMED_DRAWER_CONTROLLER; public static BlockWithTile FRAMED_CONTROLLER_EXTENSION; public static BlockWithTile FRAMED_SIMPLE_COMPACTING_DRAWER; + public static BlockWithTile FRAMED_FLUID_DRAWER_1; + public static BlockWithTile FRAMED_FLUID_DRAWER_2; + public static BlockWithTile FRAMED_FLUID_DRAWER_4; public static DeferredHolder LINKING_TOOL; @@ -193,6 +173,7 @@ public FunctionalStorage(Dist dist, IEventBus modBus, ModContainer container) { Runnable runnable = this::onClient; runnable.run(); } + NBTManager.getInstance().scanTileClassForAnnotations(FramedFluidDrawerTile.class); NBTManager.getInstance().scanTileClassForAnnotations(FramedDrawerTile.class); NBTManager.getInstance().scanTileClassForAnnotations(CompactingFramedDrawerTile.class); NBTManager.getInstance().scanTileClassForAnnotations(FluidDrawerTile.class); @@ -255,6 +236,12 @@ protected void initModules() { blockRegistryObject -> () -> new FluidDrawerBlock.FluidDrawerItem((FluidDrawerBlock) blockRegistryObject.get(), new Item.Properties(), TAB),TAB); FLUID_DRAWER_4 = getRegistries().registerBlockWithTileItem("fluid_4", () -> new FluidDrawerBlock(DrawerType.X_4, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_BRICKS)), blockRegistryObject -> () -> new FluidDrawerBlock.FluidDrawerItem((FluidDrawerBlock) blockRegistryObject.get(), new Item.Properties(), TAB),TAB); + FRAMED_FLUID_DRAWER_1 = getRegistries().registerBlockWithTileItem("framed_fluid_1", () -> new FramedFluidDrawerBlock(DrawerType.X_1, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_BRICKS)), + blockRegistryObject -> () -> new FluidDrawerBlock.FluidDrawerItem((FluidDrawerBlock) blockRegistryObject.get(), new Item.Properties(), TAB),TAB); + FRAMED_FLUID_DRAWER_2 = getRegistries().registerBlockWithTileItem("framed_fluid_2", () -> new FramedFluidDrawerBlock(DrawerType.X_2, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_BRICKS)), + blockRegistryObject -> () -> new FluidDrawerBlock.FluidDrawerItem((FluidDrawerBlock) blockRegistryObject.get(), new Item.Properties(), TAB),TAB); + FRAMED_FLUID_DRAWER_4 = getRegistries().registerBlockWithTileItem("framed_fluid_4", () -> new FramedFluidDrawerBlock(DrawerType.X_4, BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_BRICKS)), + blockRegistryObject -> () -> new FluidDrawerBlock.FluidDrawerItem((FluidDrawerBlock) blockRegistryObject.get(), new Item.Properties(), TAB),TAB); COMPACTING_DRAWER = getRegistries().registerBlockWithTileItem("compacting_drawer", () -> new CompactingDrawerBlock("compacting_drawer", BlockBehaviour.Properties.ofFullCopy(Blocks.STONE_BRICKS)), blockRegistryObject -> () -> new CompactingDrawerBlock.CompactingDrawerItem(blockRegistryObject.get(), new Item.Properties(), 3), TAB); @@ -393,6 +380,9 @@ public void onClient() { registerRenderers.registerBlockEntityRenderer((BlockEntityType) FLUID_DRAWER_1.type().get(), p_173571_ -> new FluidDrawerRenderer()); registerRenderers.registerBlockEntityRenderer((BlockEntityType) FLUID_DRAWER_2.type().get(), p_173571_ -> new FluidDrawerRenderer()); registerRenderers.registerBlockEntityRenderer((BlockEntityType) FLUID_DRAWER_4.type().get(), p_173571_ -> new FluidDrawerRenderer()); + registerRenderers.registerBlockEntityRenderer((BlockEntityType) FRAMED_FLUID_DRAWER_1.type().get(), p_173571_ -> new FluidDrawerRenderer()); + registerRenderers.registerBlockEntityRenderer((BlockEntityType) FRAMED_FLUID_DRAWER_2.type().get(), p_173571_ -> new FluidDrawerRenderer()); + registerRenderers.registerBlockEntityRenderer((BlockEntityType) FRAMED_FLUID_DRAWER_4.type().get(), p_173571_ -> new FluidDrawerRenderer()); registerRenderers.registerBlockEntityRenderer((BlockEntityType) SIMPLE_COMPACTING_DRAWER.type().get(), p_173571_ -> new SimpleCompactingDrawerRenderer()); registerRenderers.registerBlockEntityRenderer((BlockEntityType) FRAMED_DRAWER_CONTROLLER.type().get(), p -> new ControllerRenderer()); @@ -440,6 +430,9 @@ public void onClient() { ItemBlockRenderTypes.setRenderLayer(FRAMED_DRAWER_CONTROLLER.getBlock(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(FRAMED_CONTROLLER_EXTENSION.getBlock(), RenderType.cutout()); ItemBlockRenderTypes.setRenderLayer(FRAMED_SIMPLE_COMPACTING_DRAWER.getBlock(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(FRAMED_FLUID_DRAWER_1.getBlock(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(FRAMED_FLUID_DRAWER_2.getBlock(), RenderType.cutout()); + ItemBlockRenderTypes.setRenderLayer(FRAMED_FLUID_DRAWER_4.getBlock(), RenderType.cutout()); }).subscribe(); EventManager.forge(RenderTooltipEvent.Pre.class).process(itemTooltipEvent -> { if (itemTooltipEvent.getItemStack().getItem().equals(FunctionalStorage.ENDER_DRAWER.getBlock().asItem()) && itemTooltipEvent.getItemStack().has(FSAttachments.TILE)) { @@ -554,6 +547,12 @@ protected void registerModels() { .texture("lock_icon", modLoc("block/lock")); withExistingParent(BuiltInRegistries.BLOCK.getKey(SIMPLE_COMPACTING_DRAWER.getBlock()).getPath() + "_locked", modLoc(BuiltInRegistries.BLOCK.getKey(SIMPLE_COMPACTING_DRAWER.getBlock()).getPath())) .texture("lock_icon", modLoc("block/lock")); + withExistingParent(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_1.getBlock()).getPath() + "_locked", modLoc(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_1.getBlock()).getPath())) + .texture("lock_icon", modLoc("block/lock")); + withExistingParent(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_2.getBlock()).getPath() + "_locked", modLoc(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_2.getBlock()).getPath())) + .texture("lock_icon", modLoc("block/lock")); + withExistingParent(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_4.getBlock()).getPath() + "_locked", modLoc(BuiltInRegistries.BLOCK.getKey(FRAMED_FLUID_DRAWER_4.getBlock()).getPath())) + .texture("lock_icon", modLoc("block/lock")); // withExistingParent(BuiltInRegistries.BLOCK.getKey(FRAMED_COMPACTING_DRAWER.getBlock()).getPath() + "_locked", modLoc(BuiltInRegistries.BLOCK.getKey(FRAMED_COMPACTING_DRAWER.getBlock()).getPath())) // .texture("lock_icon", modLoc("block/lock")); } diff --git a/src/main/java/com/buuz135/functionalstorage/block/FluidDrawerBlock.java b/src/main/java/com/buuz135/functionalstorage/block/FluidDrawerBlock.java index 3613773d..a352ac7f 100644 --- a/src/main/java/com/buuz135/functionalstorage/block/FluidDrawerBlock.java +++ b/src/main/java/com/buuz135/functionalstorage/block/FluidDrawerBlock.java @@ -1,6 +1,7 @@ package com.buuz135.functionalstorage.block; import com.buuz135.functionalstorage.FunctionalStorage; +import com.buuz135.functionalstorage.block.tile.ControllableDrawerTile; import com.buuz135.functionalstorage.block.tile.FluidDrawerTile; import com.buuz135.functionalstorage.client.item.FluidDrawerISTER; import com.buuz135.functionalstorage.item.FSAttachments; @@ -37,10 +38,9 @@ import java.util.List; import java.util.function.Consumer; -public class FluidDrawerBlock extends Drawer { +public class FluidDrawerBlock extends Drawer{ /** - * Framed version * Gas rendering */ @@ -124,6 +124,9 @@ public void appendHoverText(ItemStack itemStack, Item.TooltipContext context, Li tooltip.add(Component.literal(" - " + ChatFormatting.YELLOW + NumberUtils.getFormatedFluidBigNumber(stack.getAmount()) + ChatFormatting.WHITE + " of ").append(stack.getHoverName().copy().withStyle(ChatFormatting.GOLD))); } } + if (this instanceof FramedBlock) { + tooltip.add(Component.translatable("frameddrawer.use").withStyle(ChatFormatting.GRAY)); + } } @Override @@ -143,6 +146,8 @@ public int getSignal(BlockState p_60483_, BlockGetter blockGetter, BlockPos bloc return 0; } + + public static class FluidDrawerItem extends BlockItem { private final FluidDrawerBlock drawerBlock; diff --git a/src/main/java/com/buuz135/functionalstorage/block/FramedFluidDrawerBlock.java b/src/main/java/com/buuz135/functionalstorage/block/FramedFluidDrawerBlock.java new file mode 100644 index 00000000..57963aef --- /dev/null +++ b/src/main/java/com/buuz135/functionalstorage/block/FramedFluidDrawerBlock.java @@ -0,0 +1,69 @@ +package com.buuz135.functionalstorage.block; + +import com.buuz135.functionalstorage.FunctionalStorage; +import com.buuz135.functionalstorage.block.tile.FluidDrawerTile; +import com.buuz135.functionalstorage.block.tile.FramedFluidDrawerTile; +import com.buuz135.functionalstorage.item.FSAttachments; +import com.buuz135.functionalstorage.util.NumberUtils; +import com.buuz135.functionalstorage.util.Utils; +import com.hrznstudio.titanium.recipe.generator.TitaniumShapedRecipeBuilder; +import net.minecraft.ChatFormatting; +import net.minecraft.data.recipes.RecipeOutput; +import net.minecraft.nbt.NbtOps; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.RegistryOps; +import net.minecraft.tags.ItemTags; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.neoforged.neoforge.fluids.FluidStack; + +import java.util.List; + +public class FramedFluidDrawerBlock extends FluidDrawerBlock implements FramedBlock{ + + public FramedFluidDrawerBlock(FunctionalStorage.DrawerType type, Properties properties) { + super(type, properties); + } + + @Override + public BlockEntityType.BlockEntitySupplier getTileEntityFactory() { + return (blockPos, state) -> { + BlockEntityType entityType = (BlockEntityType) FunctionalStorage.FRAMED_FLUID_DRAWER_1.type().get(); + if (this.getType() == FunctionalStorage.DrawerType.X_2) { + entityType = (BlockEntityType) FunctionalStorage.FRAMED_FLUID_DRAWER_2.type().get(); + } + if (this.getType() == FunctionalStorage.DrawerType.X_4) { + entityType = (BlockEntityType) FunctionalStorage.FRAMED_FLUID_DRAWER_4.type().get(); + } + return new FramedFluidDrawerTile(this, entityType, blockPos, state, this.getType()); + }; + } + + @Override + public void registerRecipe(RecipeOutput consumer) { + if (this.getType() == FunctionalStorage.DrawerType.X_1) { + TitaniumShapedRecipeBuilder.shapedRecipe(this) + .pattern("PPP").pattern("PCP").pattern("PPP") + .define('P', Items.IRON_NUGGET) + .define('C', Items.BUCKET) + .save(consumer); + } + if (this.getType() == FunctionalStorage.DrawerType.X_2) { + TitaniumShapedRecipeBuilder.shapedRecipe(this, 2) + .pattern("PCP").pattern("PPP").pattern("PCP") + .define('P', Items.IRON_NUGGET) + .define('C', Items.BUCKET) + .save(consumer); + } + if (this.getType() == FunctionalStorage.DrawerType.X_4) { + TitaniumShapedRecipeBuilder.shapedRecipe(this, 4) + .pattern("CPC").pattern("PPP").pattern("CPC") + .define('P', Items.IRON_NUGGET) + .define('C', Items.BUCKET) + .save(consumer); + } + } +} diff --git a/src/main/java/com/buuz135/functionalstorage/block/tile/FluidDrawerTile.java b/src/main/java/com/buuz135/functionalstorage/block/tile/FluidDrawerTile.java index 7f7bb74a..40e11b9d 100644 --- a/src/main/java/com/buuz135/functionalstorage/block/tile/FluidDrawerTile.java +++ b/src/main/java/com/buuz135/functionalstorage/block/tile/FluidDrawerTile.java @@ -1,6 +1,7 @@ package com.buuz135.functionalstorage.block.tile; import com.buuz135.functionalstorage.FunctionalStorage; +import com.buuz135.functionalstorage.block.FluidDrawerBlock; import com.buuz135.functionalstorage.block.config.FunctionalStorageConfig; import com.buuz135.functionalstorage.client.gui.FluidDrawerInfoGuiAddon; import com.buuz135.functionalstorage.fluid.BigFluidHandler; diff --git a/src/main/java/com/buuz135/functionalstorage/block/tile/FramedFluidDrawerTile.java b/src/main/java/com/buuz135/functionalstorage/block/tile/FramedFluidDrawerTile.java new file mode 100644 index 00000000..3d62d804 --- /dev/null +++ b/src/main/java/com/buuz135/functionalstorage/block/tile/FramedFluidDrawerTile.java @@ -0,0 +1,46 @@ +package com.buuz135.functionalstorage.block.tile; + +import com.buuz135.functionalstorage.FunctionalStorage; +import com.buuz135.functionalstorage.client.model.FramedDrawerModelData; +import com.hrznstudio.titanium.annotation.Save; +import com.hrznstudio.titanium.block.BasicTileBlock; +import net.minecraft.core.BlockPos; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.entity.BlockEntityType; +import net.minecraft.world.level.block.state.BlockState; +import net.neoforged.neoforge.client.model.data.ModelData; + +import javax.annotation.Nonnull; +import java.util.HashMap; + +public class FramedFluidDrawerTile extends FluidDrawerTile implements FramedTile{ + + @Save + private FramedDrawerModelData framedDrawerModelData; + + public FramedFluidDrawerTile(BasicTileBlock base, BlockEntityType blockEntityType, BlockPos pos, BlockState state, FunctionalStorage.DrawerType type) { + super(base, blockEntityType, pos, state, type); + this.framedDrawerModelData = new FramedDrawerModelData(new HashMap<>()); + } + + public FramedDrawerModelData getFramedDrawerModelData() { + return framedDrawerModelData; + } + + @Override + public void serverTick(Level level, BlockPos pos, BlockState stateOwn, FluidDrawerTile blockEntity) { + super.serverTick(level, pos, stateOwn, blockEntity); + } + + public void setFramedDrawerModelData(FramedDrawerModelData framedDrawerModelData) { + this.framedDrawerModelData = framedDrawerModelData; + markForUpdate(); + if (level.isClientSide) requestModelDataUpdate(); + } + + @Nonnull + @Override + public ModelData getModelData() { + return ModelData.builder().with(FramedDrawerModelData.FRAMED_PROPERTY, framedDrawerModelData).build(); + } +} diff --git a/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageBlockTagsProvider.java b/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageBlockTagsProvider.java index 1e1b5fef..ce47ec24 100644 --- a/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageBlockTagsProvider.java +++ b/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageBlockTagsProvider.java @@ -36,6 +36,9 @@ protected void addTags(HolderLookup.Provider p_256380_) { .add(FunctionalStorage.FLUID_DRAWER_1.getBlock()) .add(FunctionalStorage.FLUID_DRAWER_2.getBlock()) .add(FunctionalStorage.FLUID_DRAWER_4.getBlock()) + .add(FunctionalStorage.FRAMED_FLUID_DRAWER_1.getBlock()) + .add(FunctionalStorage.FRAMED_FLUID_DRAWER_2.getBlock()) + .add(FunctionalStorage.FRAMED_FLUID_DRAWER_4.getBlock()) .add(FunctionalStorage.CONTROLLER_EXTENSION.getBlock()) .add(FunctionalStorage.SIMPLE_COMPACTING_DRAWER.getBlock()) .add(FunctionalStorage.FRAMED_DRAWER_CONTROLLER.getBlock()) diff --git a/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageLangProvider.java b/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageLangProvider.java index 6de24806..5c916439 100644 --- a/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageLangProvider.java +++ b/src/main/java/com/buuz135/functionalstorage/data/FunctionalStorageLangProvider.java @@ -29,7 +29,9 @@ protected void addTranslations() { this.add(FunctionalStorage.FLUID_DRAWER_1.getBlock(), "Fluid Drawer (" + FunctionalStorage.DrawerType.X_1.getDisplayName() + ")"); this.add(FunctionalStorage.FLUID_DRAWER_2.getBlock(), "Fluid Drawer (" + FunctionalStorage.DrawerType.X_2.getDisplayName() + ")"); this.add(FunctionalStorage.FLUID_DRAWER_4.getBlock(), "Fluid Drawer (" + FunctionalStorage.DrawerType.X_4.getDisplayName() + ")"); - this.add(FunctionalStorage.SIMPLE_COMPACTING_DRAWER.getBlock(), "Simple Compacting Drawer"); + this.add(FunctionalStorage.FRAMED_FLUID_DRAWER_1.getBlock(), "Framed Fluid Drawer (" + FunctionalStorage.DrawerType.X_1.getDisplayName() + ")"); + this.add(FunctionalStorage.FRAMED_FLUID_DRAWER_2.getBlock(), "Framed Drawer (" + FunctionalStorage.DrawerType.X_2.getDisplayName() + ")"); + this.add(FunctionalStorage.FRAMED_FLUID_DRAWER_4.getBlock(), "Framed Drawer (" + FunctionalStorage.DrawerType.X_4.getDisplayName() + ")"); this.add(FunctionalStorage.FRAMED_SIMPLE_COMPACTING_DRAWER.getBlock(), "Framed Simple Compacting Drawer"); this.add(FunctionalStorage.COMPACTING_DRAWER.getBlock(), "Compacting Drawer"); this.add(FunctionalStorage.FRAMED_COMPACTING_DRAWER.getBlock(), "Framed Compacting Drawer"); diff --git a/src/main/java/com/buuz135/functionalstorage/recipe/FramedDrawerRecipe.java b/src/main/java/com/buuz135/functionalstorage/recipe/FramedDrawerRecipe.java index c124e713..449898b9 100644 --- a/src/main/java/com/buuz135/functionalstorage/recipe/FramedDrawerRecipe.java +++ b/src/main/java/com/buuz135/functionalstorage/recipe/FramedDrawerRecipe.java @@ -38,7 +38,7 @@ public boolean matches(CraftingInput inv, Level worldIn) { @Override public ItemStack assemble(CraftingInput inv, HolderLookup.Provider registryAccess) { - return FramedDrawerBlock.fill(inv.getItem(0), inv.getItem(1), inv.getItem(2), inv.size() >= 4 ? inv.getItem(3) : ItemStack.EMPTY); + return FramedDrawerBlock.fill(inv.getItem(0), inv.getItem(1), inv.getItem(2).copy(), inv.size() >= 4 ? inv.getItem(3) : ItemStack.EMPTY); } @Override diff --git a/src/main/resources/assets/functionalstorage/models/block/fluid_front_1.json b/src/main/resources/assets/functionalstorage/models/block/fluid_front_1.json new file mode 100644 index 00000000..30f44dfd --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/fluid_front_1.json @@ -0,0 +1,92 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "2": "functionalstorage:block/fluid_front", + "particle": "functionalstorage:block/fluid_side" + }, + "elements": [ + { + "from": [1, 2, 0.5], + "to": [2, 15, 0.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -7, -8]}, + "faces": { + "north": {"uv": [14, 2, 15, 15], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#missing"} + } + }, + { + "from": [14, 2, 0.5], + "to": [15, 15, 0.5], + "rotation": {"angle": 0, "axis": "y", "origin": [5, -7, -8]}, + "faces": { + "north": {"uv": [14, 2, 15, 15], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#missing"} + } + }, + { + "from": [2, 14, 0.5], + "to": [14, 15, 0.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, 5, -8]}, + "faces": { + "north": {"uv": [2, 1, 14, 2], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#missing"} + } + }, + { + "from": [1, 1, 0.5], + "to": [15, 2, 0.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, -8]}, + "faces": { + "north": {"uv": [1, 14, 15, 15], "texture": "#2"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#missing"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/fluid_front_2.json b/src/main/resources/assets/functionalstorage/models/block/fluid_front_2.json new file mode 100644 index 00000000..40cc9e3e --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/fluid_front_2.json @@ -0,0 +1,41 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "6": "functionalstorage:block/fluid_front", + "particle": "functionalstorage:block/fluid_side" + }, + "elements": [ + + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/fluid_inner_1.json b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_1.json new file mode 100644 index 00000000..0c5e6e0d --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_1.json @@ -0,0 +1,116 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "3": "functionalstorage:block/fluid_front_2", + "4": "functionalstorage:block/fluid_front", + "8": "functionalstorage:block/fluid_inner", + "particle": "functionalstorage:block/unlock" + }, + "elements": [ + { + "from": [14.9, 1, 0.5], + "to": [14.9, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -7]}, + "faces": { + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 1, 15, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 15, 0.5], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "down": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [1.1, 1, 0.5], + "to": [1.1, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "east": {"uv": [1, 1, 16, 15], "texture": "#8"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 1.1, 0.5], + "to": [16, 1.1, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "up": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [0, 1, 14.9], + "to": [16, 15, 14.9], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [0, 1, 16, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [2, 2, 0.5], + "to": [14, 14, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -7, -8]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#3"} + } + }, + { + "from": [2, 2, 0.5], + "to": [14, 14, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-7, -7, -8]}, + "faces": { + "north": {"uv": [2, 2, 14, 14], "texture": "#4"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#3"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/fluid_inner_2.json b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_2.json new file mode 100644 index 00000000..9549c4e1 --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_2.json @@ -0,0 +1,128 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "3": "functionalstorage:block/fluid_front_2", + "8": "functionalstorage:block/fluid_inner", + "particle": "functionalstorage:block/unlock" + }, + "elements": [ + { + "from": [14.9, 1, 0.5], + "to": [14.9, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -7]}, + "faces": { + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 1, 15, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 15, 0.5], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "down": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [1.1, 1, 0.5], + "to": [1.1, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "east": {"uv": [1, 1, 16, 15], "texture": "#8"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 1.1, 0.5], + "to": [16, 1.1, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "up": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [1, 1, 0.5], + "to": [15, 7, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [1, 9, 15, 15], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 0, 6, 2], "texture": "#3"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#3"} + } + }, + { + "from": [1, 7, 2], + "to": [15, 9, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -6]}, + "faces": { + "north": {"uv": [1, 7, 15, 9], "texture": "#3", "cullface": "north"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [15, 0, 1, 15], "texture": "#8"}, + "down": {"uv": [1, 16, 15, 1], "rotation": 180, "texture": "#8"} + } + }, + { + "from": [0, 1, 14.9], + "to": [16, 15, 14.9], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [0, 1, 16, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [1, 9, 0.5], + "to": [15, 15, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [1, 1, 15, 7], "texture": "#3"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#3"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#3"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/fluid_inner_4.json b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_4.json new file mode 100644 index 00000000..2a431d20 --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/fluid_inner_4.json @@ -0,0 +1,153 @@ +{ + "credit": "Made with Blockbench", + "textures": { + "3": "functionalstorage:block/fluid_front_2", + "8": "functionalstorage:block/fluid_inner", + "particle": "functionalstorage:block/unlock", + "front": "functionalstorage:block/fluid_front_4" + }, + "elements": [ + { + "from": [14.9, 1, 0.5], + "to": [14.9, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -7]}, + "faces": { + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 1, 15, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 15, 0.5], + "to": [16, 15, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "down": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [1.1, 1, 0.5], + "to": [1.1, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "east": {"uv": [1, 1, 16, 15], "texture": "#8"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [0, 1.1, 0.5], + "to": [16, 1.1, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "up": {"uv": [0, 0, 16, 16], "texture": "#8"} + } + }, + { + "from": [1, 7, 2], + "to": [15, 9, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -6]}, + "faces": { + "north": {"uv": [1, 7, 15, 9], "texture": "#3", "cullface": "north"}, + "east": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "south": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "west": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "up": {"uv": [15, 0, 1, 15], "texture": "#8"}, + "down": {"uv": [1, 16, 15, 1], "rotation": 180, "texture": "#8"} + } + }, + { + "from": [0, 1, 14.9], + "to": [16, 15, 14.9], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [0, 1, 16, 15], "texture": "#8"}, + "up": {"uv": [0, 0, 0, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 0, 0], "texture": "#missing"} + } + }, + { + "from": [9, 9, 0.5], + "to": [15, 15, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -8]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#front"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#front"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#front"} + } + }, + { + "from": [1, 9, 0.5], + "to": [7, 15, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-16, 0, -8]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#front"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#front"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#front"} + } + }, + { + "from": [9, 1, 0.5], + "to": [15, 7, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, -8, -8]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#front"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#front"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#front"} + } + }, + { + "from": [7, 1, 2], + "to": [9, 15, 15], + "rotation": {"angle": 0, "axis": "y", "origin": [-8, 0, -6]}, + "faces": { + "north": {"uv": [7, 1, 9, 15], "texture": "#8", "cullface": "north"}, + "east": {"uv": [15, 1, 0, 15], "texture": "#8"}, + "west": {"uv": [16, 1, 1, 15], "texture": "#8"} + } + }, + { + "from": [1, 1, 0.5], + "to": [7, 7, 2.5], + "rotation": {"angle": 0, "axis": "y", "origin": [-16, -8, -8]}, + "faces": { + "north": {"uv": [1, 1, 7, 7], "texture": "#front"}, + "west": {"uv": [0, 0, 2, 6], "texture": "#front"}, + "down": {"uv": [0, 0, 6, 2], "texture": "#front"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/framed_fluid_1.json b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_1.json new file mode 100644 index 00000000..e9ac77b7 --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_1.json @@ -0,0 +1,67 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "loader": "functionalstorage:framedblock", + "children": { + "lock": { + "parent": "functionalstorage:block/lock", + "textures": { + "lock_icon": "functionalstorage:block/unlock" + } + }, + "side": { + "parent": "functionalstorage:block/side", + "textures": { + "side": "functionalstorage:block/framed_side" + } + }, + "front": { + "parent": "functionalstorage:block/fluid_front_1", + "textures": { + "front": "functionalstorage:block/framed_front_1" + } + }, + "tank": { + "parent": "functionalstorage:block/fluid_inner_1" + } + }, + "item_render_order": [ + "lock", + "front", + "side" + ], + "textures": { + "particle": "functionalstorage:block/framed_front_1" + }, + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/framed_fluid_2.json b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_2.json new file mode 100644 index 00000000..b2e5e76f --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_2.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "loader": "functionalstorage:framedblock", + "children": { + "lock": { + "parent": "functionalstorage:block/lock", + "textures": { + "lock_icon": "functionalstorage:block/unlock" + } + }, + "side": { + "parent": "functionalstorage:block/side", + "textures": { + "side": "functionalstorage:block/framed_side" + } + }, + "front": { + "parent": "functionalstorage:block/fluid_front_2", + "textures": { + "front": "functionalstorage:block/framed_front_2" + } + }, + "tank": { + "parent": "functionalstorage:block/fluid_inner_2" + }, + "front_divider" : { + "parent": "functionalstorage:block/divider_2", + "textures": { + "front_divider": "functionalstorage:block/framed_side" + } + } + }, + "item_render_order": [ + "lock", + "front", + "side" + ], + "textures": { + "particle": "functionalstorage:block/framed_front_1" + }, + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/functionalstorage/models/block/framed_fluid_4.json b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_4.json new file mode 100644 index 00000000..8cf56104 --- /dev/null +++ b/src/main/resources/assets/functionalstorage/models/block/framed_fluid_4.json @@ -0,0 +1,73 @@ +{ + "credit": "Made with Blockbench", + "parent": "minecraft:block/block", + "loader": "functionalstorage:framedblock", + "children": { + "lock": { + "parent": "functionalstorage:block/lock", + "textures": { + "lock_icon": "functionalstorage:block/unlock" + } + }, + "side": { + "parent": "functionalstorage:block/side", + "textures": { + "side": "functionalstorage:block/framed_side" + } + }, + "front": { + "parent": "functionalstorage:block/fluid_front_2", + "textures": { + "front": "functionalstorage:block/framed_front_2" + } + }, + "tank": { + "parent": "functionalstorage:block/fluid_inner_4" + }, + "front_divider" : { + "parent": "functionalstorage:block/divider_4", + "textures": { + "front_divider": "functionalstorage:block/framed_side" + } + } + }, + "item_render_order": [ + "lock", + "front", + "side" + ], + "textures": { + "particle": "functionalstorage:block/framed_front_1" + }, + "display": { + "thirdperson_righthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "thirdperson_lefthand": { + "rotation": [75, 45, 0], + "translation": [0, 2.5, 0], + "scale": [0.375, 0.375, 0.375] + }, + "firstperson_righthand": { + "rotation": [0, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, 225, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, 225, 0], + "scale": [0.625, 0.625, 0.625] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + } +} \ No newline at end of file