From 5077faa4e4782bcc1fd2bc9b0ae9f349e976b791 Mon Sep 17 00:00:00 2001 From: FirstMegaGame4 <84094287+FirstMegaGame4@users.noreply.github.com> Date: Fri, 21 Jun 2024 00:55:39 +0200 Subject: [PATCH] I have exams in three days --- .../171a5fea2de5104463020a45cb40c2789069fea5 | 6 +- .../31557ff09de80da41e255b48ee144b5150ca7a3f | 31 +++-- .../97a4721ed155c6fdfa3ad558e447c8340a205f56 | 113 ++++++++-------- .../d37a63a7993c504d0eaad0ecdd7aacdf9f76c455 | 24 ++-- .../ea38d437bba961a39355c1fcb8fe7bfeb267e512 | 4 +- .../ball_pool_inscription_table.json | 19 --- .../ball_pool_registration_table.json | 19 +++ .../blockstates/hevea_brasiliensis_log.json | 18 ++- .../hevea_brasiliensis_sapling.json | 7 + .../assets/extravaganza/lang/en_us.json | 9 +- .../block/hevea_brasiliensis_log_rubber.json | 7 + .../item/ball_pool_inscription_table.json | 3 - .../item/ball_pool_registration_table.json | 3 + .../models/item/empty_popcorn.json | 6 + .../item/hevea_brasiliensis_sapling.json | 6 + .../extravaganza/models/item/popcorn.json | 6 + .../advancement/recipes/tools/rubber.json | 32 +++++ .../blocks/ball_pool_registration_table.json | 20 +++ ...e.json => hevea_brasiliensis_sapling.json} | 2 +- .../data/extravaganza/recipe/rubber.json | 18 +++ .../tags/block/mineable/pickaxe.json | 3 +- .../tags/block/needs_stone_tool.json | 3 +- .../mmodding/extravaganza/Extravaganza.java | 20 +++ .../ExtravaganzaDataGenerator.java | 80 ++++++++++- .../block/BallPoolContentBlock.java | 12 ++ .../block/BallPoolInscriptionTableBlock.java | 77 ----------- .../block/BallPoolProtectionBlock.java | 48 +++++++ .../block/BallPoolRegistrationTableBlock.java | 128 ++++++++++++++++++ .../block/HeveaBrasiliensisLog.java | 33 +++++ ...BallPoolRegistrationTableBlockEntity.java} | 36 ++++- ...olInscriptionTableBlockEntityRenderer.java | 32 ----- ...lRegistrationTableBlockEntityRenderer.java | 28 ++++ .../client/init/ExtravaganzaRenderLayers.java | 2 +- .../client/init/ExtravaganzaRenderers.java | 4 +- .../init/ExtravaganzaBlockEntities.java | 10 +- .../extravaganza/init/ExtravaganzaBlocks.java | 13 +- .../init/ExtravaganzaDataAttachments.java | 13 ++ .../extravaganza/init/ExtravaganzaItems.java | 5 + .../init/ExtravaganzaWorldGeneration.java | 4 +- .../extravaganza/item/EmptyPopcornItem.java | 25 ++++ .../item/RubberExtractorItem.java | 20 +++ .../extravaganza/item/WrenchAganzaItem.java | 58 +++++--- .../ClientPlayerInteractionManagerMixin.java | 3 +- .../extravaganza/mixin/EntityMixin.java | 7 +- .../ServerPlayerInteractionManagerMixin.java | 3 +- .../blockstates/ball_pool_protection.json | 7 + ...json => ball_pool_registration_table.json} | 4 +- .../block/hevea_brasiliensis_sapling.json | 6 + ...e.png => ball_pool_registration_table.png} | Bin .../block/hevea_brasiliensis_log_rubber.png | Bin 0 -> 514 bytes .../block/hevea_brasiliensis_sapling.png | Bin 0 -> 441 bytes .../tags/painting_variant/placeable.json | 6 + 52 files changed, 769 insertions(+), 274 deletions(-) delete mode 100644 src/main/generated/assets/extravaganza/blockstates/ball_pool_inscription_table.json create mode 100644 src/main/generated/assets/extravaganza/blockstates/ball_pool_registration_table.json create mode 100644 src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_sapling.json create mode 100644 src/main/generated/assets/extravaganza/models/block/hevea_brasiliensis_log_rubber.json delete mode 100644 src/main/generated/assets/extravaganza/models/item/ball_pool_inscription_table.json create mode 100644 src/main/generated/assets/extravaganza/models/item/ball_pool_registration_table.json create mode 100644 src/main/generated/assets/extravaganza/models/item/empty_popcorn.json create mode 100644 src/main/generated/assets/extravaganza/models/item/hevea_brasiliensis_sapling.json create mode 100644 src/main/generated/assets/extravaganza/models/item/popcorn.json create mode 100644 src/main/generated/data/extravaganza/advancement/recipes/tools/rubber.json create mode 100644 src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_registration_table.json rename src/main/generated/data/extravaganza/loot_table/blocks/{ball_pool_inscription_table.json => hevea_brasiliensis_sapling.json} (82%) create mode 100644 src/main/generated/data/extravaganza/recipe/rubber.json delete mode 100644 src/main/java/com/mmodding/extravaganza/block/BallPoolInscriptionTableBlock.java create mode 100644 src/main/java/com/mmodding/extravaganza/block/BallPoolProtectionBlock.java create mode 100644 src/main/java/com/mmodding/extravaganza/block/BallPoolRegistrationTableBlock.java create mode 100644 src/main/java/com/mmodding/extravaganza/block/HeveaBrasiliensisLog.java rename src/main/java/com/mmodding/extravaganza/block/entity/{BallPoolInscriptionTableBlockEntity.java => BallPoolRegistrationTableBlockEntity.java} (75%) delete mode 100644 src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolInscriptionTableBlockEntityRenderer.java create mode 100644 src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolRegistrationTableBlockEntityRenderer.java create mode 100644 src/main/java/com/mmodding/extravaganza/init/ExtravaganzaDataAttachments.java create mode 100644 src/main/java/com/mmodding/extravaganza/item/EmptyPopcornItem.java create mode 100644 src/main/resources/assets/extravaganza/blockstates/ball_pool_protection.json rename src/main/resources/assets/extravaganza/models/block/{ball_pool_inscription_table.json => ball_pool_registration_table.json} (97%) create mode 100644 src/main/resources/assets/extravaganza/models/block/hevea_brasiliensis_sapling.json rename src/main/resources/assets/extravaganza/textures/block/{ball_pool_inscription_table.png => ball_pool_registration_table.png} (100%) create mode 100644 src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_log_rubber.png create mode 100644 src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_sapling.png create mode 100644 src/main/resources/data/minecraft/tags/painting_variant/placeable.json diff --git a/src/main/generated/.cache/171a5fea2de5104463020a45cb40c2789069fea5 b/src/main/generated/.cache/171a5fea2de5104463020a45cb40c2789069fea5 index 501957d3..e515dbdb 100644 --- a/src/main/generated/.cache/171a5fea2de5104463020a45cb40c2789069fea5 +++ b/src/main/generated/.cache/171a5fea2de5104463020a45cb40c2789069fea5 @@ -1,6 +1,6 @@ -// 1.21 2024-06-20T14:37:00.0121724 Extravaganza!/Tags for minecraft:block -925bb2daf303a0a590847e6b352806565e8f87af data\minecraft\tags\block\mineable\pickaxe.json +// 1.21 2024-06-21T00:55:03.9298631 Extravaganza!/Tags for minecraft:block +de7ad400e07f2e733f61c3cf89cae477444836e1 data\minecraft\tags\block\mineable\pickaxe.json a8b6770510cf194d8c33705d68e554cc38552304 data\minecraft\tags\block\leaves.json -925bb2daf303a0a590847e6b352806565e8f87af data\minecraft\tags\block\needs_stone_tool.json +de7ad400e07f2e733f61c3cf89cae477444836e1 data\minecraft\tags\block\needs_stone_tool.json c58fa380156a46ee40acafab7082a5d157ddaa7f data\minecraft\tags\block\planks.json 869b050fc75552bca4dae428fbfd91837c77b108 data\minecraft\tags\block\logs_that_burn.json diff --git a/src/main/generated/.cache/31557ff09de80da41e255b48ee144b5150ca7a3f b/src/main/generated/.cache/31557ff09de80da41e255b48ee144b5150ca7a3f index f4e94a57..74a46278 100644 --- a/src/main/generated/.cache/31557ff09de80da41e255b48ee144b5150ca7a3f +++ b/src/main/generated/.cache/31557ff09de80da41e255b48ee144b5150ca7a3f @@ -1,4 +1,4 @@ -// 1.21 2024-06-20T14:37:00.0166966 Extravaganza!/Block Loot Tables +// 1.21 2024-06-21T00:55:03.9298631 Extravaganza!/Block Loot Tables 047f4622b601aa9f2a91ea58c6bf4065fd357ca1 data\extravaganza\loot_table\blocks\blue_barred_festive_rubber_slab.json ffe446da77e41bdb66d3f9427f14d362b99601e4 data\extravaganza\loot_table\blocks\pink_split_festive_rubber_stairs.json 719e535381fa142502da80877e274a4d93aa2d81 data\extravaganza\loot_table\blocks\pink_dotted_festive_rubber_stairs.json @@ -254,6 +254,7 @@ ae7f8a3627307f43a5165876cbd07d4f1e5b413b data\extravaganza\loot_table\blocks\tom b77030a21a0ce1b1d50e2cba078019c5b91684f9 data\extravaganza\loot_table\blocks\tomato_perforated_festive_rubber_wall.json 355ded4e524e7b1a33cad9a2a7548f385782f63c data\extravaganza\loot_table\blocks\pink_split_festive_rubber_wall.json 9577385f757f7566c85c4dccec6c22ed9cbd06da data\extravaganza\loot_table\blocks\orange_perforated_festive_rubber_stairs.json +94c4776da16c154a5a9efeab679e9dfd37f88d24 data\extravaganza\loot_table\blocks\ball_pool_registration_table.json 42565f0b484b142203bd4c34edc5d33c4b752986 data\extravaganza\loot_table\blocks\light_blue_festive_rubber.json d6cbc637371d9e8a5a369d25d84bee25057ff2e9 data\extravaganza\loot_table\blocks\light_gray_festive_rubber_grate_slab.json ec9ec91129e1b8e472b4ffd79ec4375ae8e77b6b data\extravaganza\loot_table\blocks\gray_curved_festive_rubber_stairs.json @@ -486,8 +487,8 @@ eadefbdbb1cdadc7edd77fd55ac15e55048371c1 data\extravaganza\loot_table\blocks\gra d6fd5d36c866ecda2f309f1696649537d1cde307 data\extravaganza\loot_table\blocks\tear_dotted_festive_rubber_stairs.json 936803e9ebcce99122c0aa45ab986d1d254d60b2 data\extravaganza\loot_table\blocks\light_blue_slipped_festive_rubber.json 377bcb8c33c27551770a71f9ccfb6fb06103409e data\extravaganza\loot_table\blocks\lime_bent_festive_rubber_slab.json -95f1b9f58669eac2736b606e675346a84e54984a data\extravaganza\loot_table\blocks\yellow_striped_festive_rubber_wall.json 0343797432f1d84b36e1c18520a6e7d3042b52a0 data\extravaganza\loot_table\blocks\yellow_bent_festive_rubber_wall.json +95f1b9f58669eac2736b606e675346a84e54984a data\extravaganza\loot_table\blocks\yellow_striped_festive_rubber_wall.json 173ae7ea8e62974e9e438ae3091244c709a96771 data\extravaganza\loot_table\blocks\lime_festive_rubber_grate.json e6024d856ab756d1a477cee8dd40c6b10a712ef2 data\extravaganza\loot_table\blocks\magenta_slipped_festive_rubber_wall.json d597d70ac5c0b5cb1394ffec6e72026d6a29f111 data\extravaganza\loot_table\blocks\lime_windowed_festive_rubber_stairs.json @@ -500,7 +501,6 @@ d597d70ac5c0b5cb1394ffec6e72026d6a29f111 data\extravaganza\loot_table\blocks\lim f81f03b2fa36b2d3719a86f27f1687309e9b32e4 data\extravaganza\loot_table\blocks\nymph_barred_festive_rubber_wall.json 6cb5b7059ac3e9c3b55a6f892d883f2fee96747b data\extravaganza\loot_table\blocks\purple_bent_festive_rubber.json bd1695a48387edb3f21c7b86d0cdac9db17e8170 data\extravaganza\loot_table\blocks\pink_bent_festive_rubber_wall.json -cbd07c1e9d641755992be98414f3f25480b60e60 data\extravaganza\loot_table\blocks\ball_pool_inscription_table.json 619df6d7a11e8797ebb7e9f52f3a74cf75989967 data\extravaganza\loot_table\blocks\tomato_padded_festive_rubber.json 241e78b357af9b3e3aaaf12f7a6ee9d292eb39df data\extravaganza\loot_table\blocks\light_gray_festive_rubber_ladder.json 97a5f138518f557d3c2b087ca8b5f7b9748f53bd data\extravaganza\loot_table\blocks\white_scratched_festive_rubber.json @@ -664,8 +664,8 @@ d557568d42ae88563e1955226d1f689f1e5e0f61 data\extravaganza\loot_table\blocks\tea 42d18cb085b1c57b09af945057d38bca15500e81 data\extravaganza\loot_table\blocks\gray_poured_festive_rubber_stairs.json 034485e341e38f11348788efc66b93a1961b01bd data\extravaganza\loot_table\blocks\tear_screwed_festive_rubber_wall.json 73d6c0c77bbe684dcdcf3911c2cc5aa2029e931f data\extravaganza\loot_table\blocks\light_blue_dotted_festive_rubber_stairs.json -f247a3cfec2515ee04151757a50d0260763a3f18 data\extravaganza\loot_table\blocks\purple_split_festive_rubber_slab.json c7c23a0936e88aadd3b71a2ce59ba7f9b9dbd50c data\extravaganza\loot_table\blocks\purple_bent_festive_rubber_stairs.json +f247a3cfec2515ee04151757a50d0260763a3f18 data\extravaganza\loot_table\blocks\purple_split_festive_rubber_slab.json 593d00330d25327ccc8090f37c5fac28baf203fd data\extravaganza\loot_table\blocks\light_blue_bent_festive_rubber.json 246aca12d4836507569c6f5d4f4a7a7930c8c6ea data\extravaganza\loot_table\blocks\yellow_striped_festive_rubber_stairs.json b3987c7812ddc6a78c3016c92fd07d15fff283aa data\extravaganza\loot_table\blocks\white_bent_festive_rubber_wall.json @@ -791,8 +791,8 @@ e84198e89c2cc4a0ef09b9dcb1d38bcc8d0ce570 data\extravaganza\loot_table\blocks\pla 0e3e50a0b148ca9ef08c25de250b0aefadb59754 data\extravaganza\loot_table\blocks\purple_windowed_festive_rubber.json f95931856cf0e450234a022b19f39757e0c78b1a data\extravaganza\loot_table\blocks\tear_scratched_festive_rubber_slab.json acc65b45a795551f84e4e751efface7276ed0076 data\extravaganza\loot_table\blocks\lime_wooded_festive_rubber.json -d0d2d51a0e9b5448b12c1ab98b820592c35d12a6 data\extravaganza\loot_table\blocks\orange_striped_festive_rubber_wall.json d6cbc246d4e85fb63fbd0600bfa3117c4c2a87c5 data\extravaganza\loot_table\blocks\magenta_sharped_festive_rubber.json +d0d2d51a0e9b5448b12c1ab98b820592c35d12a6 data\extravaganza\loot_table\blocks\orange_striped_festive_rubber_wall.json 3fb6fb9642f2db5d0d3de574350f9e40215c5828 data\extravaganza\loot_table\blocks\light_blue_festive_rubber_ladder.json 4153d92a725a202a0f084abe26a8ff87db370c34 data\extravaganza\loot_table\blocks\purple_barred_festive_rubber_wall.json 1b1e764cbf5d6368c2f7d0491ee79816ecce28c4 data\extravaganza\loot_table\blocks\white_padded_festive_rubber_slab.json @@ -870,8 +870,8 @@ cf6fa7fbbad0d6dfce8a7ef140ddb2e22b97b937 data\extravaganza\loot_table\blocks\ora c1770ec69115c5e3f0ec8cdc868e11bfc70a6a36 data\extravaganza\loot_table\blocks\cyan_windowed_festive_rubber_slab.json 631f818c123430fea203ba70e193de9b53c8f724 data\extravaganza\loot_table\blocks\black_festive_rubber_ladder.json 14da653ebb299b6e5eec19199b51a4294aba2f8b data\extravaganza\loot_table\blocks\yellow_barred_festive_rubber_wall.json -ca692b3111dae944de7ecfd2ea5b9e73095a246f data\extravaganza\loot_table\blocks\orange_split_festive_rubber_stairs.json f6a253333123e4e4fc6f6307ef76c6fd1997b0a4 data\extravaganza\loot_table\blocks\gray_windowed_festive_rubber_wall.json +ca692b3111dae944de7ecfd2ea5b9e73095a246f data\extravaganza\loot_table\blocks\orange_split_festive_rubber_stairs.json 8598958ad940af0cbf2aef230073fd57cde3763b data\extravaganza\loot_table\blocks\pink_wooded_festive_rubber.json a328cb3b6a77ff5cb5acaa6f59fcad27dc671ad6 data\extravaganza\loot_table\blocks\blue_bent_festive_rubber_wall.json ab64e6d7b24b4119866d31eedb9f7457f5dafa1b data\extravaganza\loot_table\blocks\purple_curved_festive_rubber_wall.json @@ -990,8 +990,8 @@ dc0e799b3e912158f39965d18c1c952497e5eff0 data\extravaganza\loot_table\blocks\lig 428564cfacda752af72307efed9ceff40c4680b1 data\extravaganza\loot_table\blocks\plant_tiled_festive_rubber_wall.json 60b194057ea0f4d7389ff5b1dcf97cab05322706 data\extravaganza\loot_table\blocks\brown_festive_rubber_grate_stairs.json 013ee5eeb01b82be8786446857f00b02b3cb63ec data\extravaganza\loot_table\blocks\cyan_bent_festive_rubber_stairs.json -5fd263c24dda56e3fe96bd9e8166aa822b716c66 data\extravaganza\loot_table\blocks\blue_wooded_festive_rubber.json 52f059f61781f630cb05ec0c96288604b62801e8 data\extravaganza\loot_table\blocks\magenta_festive_rubber_wall.json +5fd263c24dda56e3fe96bd9e8166aa822b716c66 data\extravaganza\loot_table\blocks\blue_wooded_festive_rubber.json f5d2e82418f807d8795ffd81f323b7cd355f1631 data\extravaganza\loot_table\blocks\red_slipped_festive_rubber.json b1228516fefee1de848a97dbeb92c6915a54bba2 data\extravaganza\loot_table\blocks\purple_curved_festive_rubber_slab.json a342739c7310a987e67d6427f49b3ae27e158f84 data\extravaganza\loot_table\blocks\red_scratched_festive_rubber_wall.json @@ -999,8 +999,8 @@ a342739c7310a987e67d6427f49b3ae27e158f84 data\extravaganza\loot_table\blocks\red 4ade5edd809236243ef6986273457c70570bae79 data\extravaganza\loot_table\blocks\pink_sharped_festive_rubber_wall.json 3dbc35d8c53cbf13415567e501ca3799ffc97bf7 data\extravaganza\loot_table\blocks\magenta_bent_festive_rubber.json d1549e42357f852e81b8093ffa7b64aefd53e3e5 data\extravaganza\loot_table\blocks\blue_slipped_festive_rubber.json -bf01a53ab90e78aa39e477341d18a11380a20b6f data\extravaganza\loot_table\blocks\cyan_split_festive_rubber.json fbb8ecb854518016f427e5aa99411eaa8cb92cec data\extravaganza\loot_table\blocks\gray_scratched_festive_rubber.json +bf01a53ab90e78aa39e477341d18a11380a20b6f data\extravaganza\loot_table\blocks\cyan_split_festive_rubber.json d4c5e24ac17a0b38a38e9e878723318da6e29bcb data\extravaganza\loot_table\blocks\tomato_barred_festive_rubber_wall.json e1e41da8d262cdedff1b4c92835444410ee39479 data\extravaganza\loot_table\blocks\orange_slipped_festive_rubber_wall.json a71cd495729d1bb934f2afe5d5a72213aadeafc1 data\extravaganza\loot_table\blocks\plant_wooded_festive_rubber_slab.json @@ -1015,9 +1015,9 @@ d1d260a733ea3f5e6f2072cf1742d20c10672519 data\extravaganza\loot_table\blocks\lim de9d54e074d45788ee479ee67a2b733fa101214a data\extravaganza\loot_table\blocks\purple_barred_festive_rubber_slab.json a9edc7db8dfe4241c3639adaa8c1d899483e93fc data\extravaganza\loot_table\blocks\tear_festive_rubber_grate.json 2d2b47078edaaebd5dfceb38705e88b0fc4b0b68 data\extravaganza\loot_table\blocks\brown_festive_rubber_grate_wall.json +8aa4177a030ec2d4ab83e493e6f19948e58cde62 data\extravaganza\loot_table\blocks\cyan_perforated_festive_rubber_wall.json 055c6fd43e76904b4529613939ba6603bc91b16b data\extravaganza\loot_table\blocks\tomato_padded_festive_rubber_stairs.json bfed3537d7e88354e1cc491c4ffd05c95b80379d data\extravaganza\loot_table\blocks\magenta_scratched_festive_rubber_stairs.json -8aa4177a030ec2d4ab83e493e6f19948e58cde62 data\extravaganza\loot_table\blocks\cyan_perforated_festive_rubber_wall.json 37373a49dac5a53921a6a9a0d6f38853de84670c data\extravaganza\loot_table\blocks\brown_bent_festive_rubber_slab.json 2a30468acd851aa6aa69287ff86d82cc0278889e data\extravaganza\loot_table\blocks\cyan_tiled_festive_rubber.json 14de38d7a405f777a2d324b039754761782b3a09 data\extravaganza\loot_table\blocks\green_slipped_festive_rubber.json @@ -1025,10 +1025,10 @@ be03011bc3f061049856d1f9f11817edc59a5eff data\extravaganza\loot_table\blocks\tea 109da11ff016d21a6259175000cbd7feb7ac655c data\extravaganza\loot_table\blocks\white_festive_rubber_stairs.json ae8b572eb6c2296f67a27713e86ca465c2642264 data\extravaganza\loot_table\blocks\blue_sharped_festive_rubber_stairs.json 08d89b9cd03e2d8da07fa45729a1f8b78a92095c data\extravaganza\loot_table\blocks\cyan_striped_festive_rubber.json -11312c8fb89cde54c61af3836561001c07d9cc1c data\extravaganza\loot_table\blocks\tomato_poured_festive_rubber.json c9cad740f154b9f8d36e3c144a637f50c9b9c04e data\extravaganza\loot_table\blocks\gray_split_festive_rubber_stairs.json -3ffa3004b0627e16a136de0a4b5264165c043b20 data\extravaganza\loot_table\blocks\yellow_slipped_festive_rubber_slab.json +11312c8fb89cde54c61af3836561001c07d9cc1c data\extravaganza\loot_table\blocks\tomato_poured_festive_rubber.json 0198c6937af14cda8131e4b9258c244e35e35dc9 data\extravaganza\loot_table\blocks\light_blue_slipped_festive_rubber_stairs.json +3ffa3004b0627e16a136de0a4b5264165c043b20 data\extravaganza\loot_table\blocks\yellow_slipped_festive_rubber_slab.json c4bfd1a41982fdd07ee5926c405cb6aca7d1903b data\extravaganza\loot_table\blocks\gray_windowed_festive_rubber_slab.json b1bef1de8849aba886d85bec728e9ecb84e65897 data\extravaganza\loot_table\blocks\yellow_padded_festive_rubber_stairs.json 4123f8dce980e494cc88cc49858ed7ce9623cb5c data\extravaganza\loot_table\blocks\cyan_poured_festive_rubber.json @@ -1061,6 +1061,7 @@ ab666c2f953b2982cc710c8dd81497cd458a4543 data\extravaganza\loot_table\blocks\nym 3080ed252a927a7c084e0e5fa90395b9d0f12262 data\extravaganza\loot_table\blocks\nymph_perforated_festive_rubber_wall.json b081809b35e3ae28fb3a6ac1e6e2929f01e3087b data\extravaganza\loot_table\blocks\brown_padded_festive_rubber_slab.json a53e0e21af36fc3e2499e2ed711f44223171dda9 data\extravaganza\loot_table\blocks\blue_dotted_festive_rubber_wall.json +e7132b6bb029777f2f5f60125a5686ccb95b71ab data\extravaganza\loot_table\blocks\hevea_brasiliensis_sapling.json d91b015c279533b10b5e80d9cf22a1081a0d33db data\extravaganza\loot_table\blocks\black_perforated_festive_rubber_slab.json 0f770d4941e856e476e9eab8553e789e2a20f419 data\extravaganza\loot_table\blocks\pink_perforated_festive_rubber_stairs.json f210c506f2a82b2fa2f81cb7accf400e6bb1fb32 data\extravaganza\loot_table\blocks\yellow_wooded_festive_rubber_wall.json @@ -1169,8 +1170,8 @@ af66a3135d1997452ee8d782be07f41067fd0c4d data\extravaganza\loot_table\blocks\tom 125ac477620489b0a14031df003443926df46f3a data\extravaganza\loot_table\blocks\plant_bent_festive_rubber_wall.json d9024c3a5986fb766ba3f363eb25237554d36753 data\extravaganza\loot_table\blocks\tear_windowed_festive_rubber_wall.json da94fa02eead95777455a632a095673aaab6034e data\extravaganza\loot_table\blocks\blue_barred_festive_rubber.json -a03aa9c3cbf702312606b3eb5c1b052404f894a8 data\extravaganza\loot_table\blocks\white_barred_festive_rubber_stairs.json 0901023aafdfed26be6528af2175710a68b7e522 data\extravaganza\loot_table\blocks\yellow_festive_rubber_grate_slab.json +a03aa9c3cbf702312606b3eb5c1b052404f894a8 data\extravaganza\loot_table\blocks\white_barred_festive_rubber_stairs.json 67db4c72739cd2c5b80fab8c768b597f093b9da9 data\extravaganza\loot_table\blocks\orange_scratched_festive_rubber_slab.json 757274f130bf6a8f9d2151678411dc5d604ff52d data\extravaganza\loot_table\blocks\purple_scratched_festive_rubber_stairs.json 5a86029876e9402eea1f432d983c51117f3cfb49 data\extravaganza\loot_table\blocks\plant_festive_rubber_grate_wall.json @@ -1253,8 +1254,8 @@ d4aba8494b44ab9ae6d5a4d4442f16a6246e9946 data\extravaganza\loot_table\blocks\pin 9ec47b60f178bd40e18e3fb3dcb318b4b9029d31 data\extravaganza\loot_table\blocks\red_barred_festive_rubber.json 79c4dc8a6d8a86895c5a32fcdaa280e2c1f735a9 data\extravaganza\loot_table\blocks\white_split_festive_rubber_stairs.json 96fc00af741ff6fba2a1bd543d44e9edbc8f62ae data\extravaganza\loot_table\blocks\pink_festive_rubber.json -1b782c23e92ad35e58b7a445e3455c59c6a56fe7 data\extravaganza\loot_table\blocks\black_scratched_festive_rubber_slab.json 9319daf0f680fa1d6829064fff5214191781b939 data\extravaganza\loot_table\blocks\white_dotted_festive_rubber_stairs.json +1b782c23e92ad35e58b7a445e3455c59c6a56fe7 data\extravaganza\loot_table\blocks\black_scratched_festive_rubber_slab.json 9c939c7fa39313eb87618bacd21e9dcb86f00536 data\extravaganza\loot_table\blocks\lime_scratched_festive_rubber_wall.json af61d8f58ef310cb49ebd130a2d06843230e5e22 data\extravaganza\loot_table\blocks\gray_barred_festive_rubber_slab.json ccd483d5f27c8a9c2677a2e631a7d9e34ac53823 data\extravaganza\loot_table\blocks\red_tiled_festive_rubber_stairs.json @@ -1267,8 +1268,8 @@ ed6c13dbeed3c7279f1847d9ee4e24018310a264 data\extravaganza\loot_table\blocks\hev 0d3ec5a4b69ec55cdcdfaa4decd21c41a693257d data\extravaganza\loot_table\blocks\lime_scratched_festive_rubber.json 83c22b015399d2322c1abbb2741352b2e7a0dd80 data\extravaganza\loot_table\blocks\light_blue_wooded_festive_rubber_slab.json 166573210fbc3db93db451c3e5aa4db3d455233d data\extravaganza\loot_table\blocks\orange_festive_rubber_grate_slab.json -b62a1ee410adade048c1115345deb325f9cb989a data\extravaganza\loot_table\blocks\black_scratched_festive_rubber.json 3604474668711009819d5d3c0ec87162a8808b46 data\extravaganza\loot_table\blocks\light_blue_striped_festive_rubber_stairs.json +b62a1ee410adade048c1115345deb325f9cb989a data\extravaganza\loot_table\blocks\black_scratched_festive_rubber.json b9848330619d1022b37b5d3291d1fc491fc93c03 data\extravaganza\loot_table\blocks\yellow_perforated_festive_rubber_wall.json 80145747fd3b5102bdc925fd973626d7e1572963 data\extravaganza\loot_table\blocks\hevea_brasiliensis_pressure_plate.json f49dd92959feb5071f148469fc485b134fbde7a1 data\extravaganza\loot_table\blocks\light_gray_screwed_festive_rubber.json @@ -1377,8 +1378,8 @@ e8896a432c6a0450b3fdd3030023fb0bacc33dca data\extravaganza\loot_table\blocks\bro 8d6d4597ad9729142d1e9ff39d9206fc3b7dd56f data\extravaganza\loot_table\blocks\lime_perforated_festive_rubber_slab.json aa08b541556145e5b4d0214ecf8f44fed8d89b52 data\extravaganza\loot_table\blocks\pink_tiled_festive_rubber.json 67a2221dc10470abfa534bf733f20e1e45085e50 data\extravaganza\loot_table\blocks\yellow_windowed_festive_rubber.json -6016201c2a37102093a1014b5b08d8a7e6938cb0 data\extravaganza\loot_table\blocks\tear_split_festive_rubber.json e751d4db7ee253e969deeb9438d50f35f054acc6 data\extravaganza\loot_table\blocks\white_windowed_festive_rubber_stairs.json +6016201c2a37102093a1014b5b08d8a7e6938cb0 data\extravaganza\loot_table\blocks\tear_split_festive_rubber.json 26d99c4de1cf306dd9af194f276bf2c9eda1af7a data\extravaganza\loot_table\blocks\green_wooded_festive_rubber.json 02ea696c98783f42375fe055d850eb29ca635294 data\extravaganza\loot_table\blocks\blue_dotted_festive_rubber_stairs.json 921cbeed1ecae558ad36eeba152bba97611e65ab data\extravaganza\loot_table\blocks\nymph_festive_rubber_wall.json diff --git a/src/main/generated/.cache/97a4721ed155c6fdfa3ad558e447c8340a205f56 b/src/main/generated/.cache/97a4721ed155c6fdfa3ad558e447c8340a205f56 index 512a93b9..e537d6b4 100644 --- a/src/main/generated/.cache/97a4721ed155c6fdfa3ad558e447c8340a205f56 +++ b/src/main/generated/.cache/97a4721ed155c6fdfa3ad558e447c8340a205f56 @@ -1,4 +1,4 @@ -// 1.21 2024-06-20T14:36:59.856642 Extravaganza!/Model Definitions +// 1.21 2024-06-21T00:55:03.8966554 Extravaganza!/Model Definitions 09069aeb77e14004aeda8fa0146eb6ccff536f60 assets\extravaganza\models\block\brown_split_festive_rubber_wall_post.json d1ed7f65065fc79cfeedfa82dca34a19eedecb03 assets\extravaganza\blockstates\light_gray_festive_rubber_grate_wall.json 875af43ba13f0c507f90a04acd0ffc1d8260b000 assets\extravaganza\models\block\plant_padded_festive_rubber_slab_top.json @@ -27,8 +27,8 @@ c12d7256a6f4ad3244e46d398554cd0a23e21605 assets\extravaganza\blockstates\brown_w 9cd1a3da953c863e57b55208f802b483c71b7834 assets\extravaganza\blockstates\light_gray_split_festive_rubber.json c299db58c6e60a1e50c0a1c5fa0bab1e4a8fa810 assets\extravaganza\models\block\black_perforated_festive_rubber_wall_side_tall.json 2df0920e031a46d7de44849a3a7406b4da1929e2 assets\extravaganza\models\item\lime_screwed_festive_rubber_stairs.json -eba05828d234b6e23a61407abf3537933a149e57 assets\extravaganza\blockstates\lime_bent_festive_rubber.json 5e277a2a5455a7d1eaa9fcc8fdf454c18690a89f assets\extravaganza\blockstates\brown_split_festive_rubber_stairs.json +eba05828d234b6e23a61407abf3537933a149e57 assets\extravaganza\blockstates\lime_bent_festive_rubber.json e28ad3bc2f5162e557f28046955ed571ebdfae32 assets\extravaganza\blockstates\light_blue_festive_rubber_stairs.json 1cf5687848fa9763c0228525f6bfb1f8c9ca26a0 assets\extravaganza\blockstates\black_dotted_festive_rubber_stairs.json 2b8c28c5ea97b3d52be8aca412a91e28a4101cdf assets\extravaganza\models\block\magenta_split_festive_rubber_wall_inventory.json @@ -261,8 +261,8 @@ f17ba933e01b1f8253a1f34e1a1b4274bc2aedef assets\extravaganza\models\block\light_ 73002ccaac046ce36639b35bf1bd8b0336c247aa assets\extravaganza\models\block\cyan_split_festive_rubber_wall_side.json 0fa4a38bb83af5b4546a7ebba9b3692496b8bd64 assets\extravaganza\models\item\plant_dotted_festive_rubber_wall.json 6651a82080b4c26786afa06a66ec33c82892734a assets\extravaganza\models\block\brown_striped_festive_rubber_slab_top.json -f090e9858fc4be8adcb1fcce20aea867c0d53398 assets\extravaganza\blockstates\light_gray_screwed_festive_rubber_wall.json 6aa79e5e3132c875996faddddf234370ca35f293 assets\extravaganza\blockstates\lime_curved_festive_rubber_wall.json +f090e9858fc4be8adcb1fcce20aea867c0d53398 assets\extravaganza\blockstates\light_gray_screwed_festive_rubber_wall.json c6eac12c4f85f2772de479969482b49df10585b7 assets\extravaganza\blockstates\brown_slipped_festive_rubber_slab.json cc8be6a6b5eb4453d492cbaf20db8387224f440c assets\extravaganza\models\block\purple_screwed_festive_rubber_slab_top.json 6e418d6860bc60f816945b74125ec8d97edfc55d assets\extravaganza\blockstates\white_bent_festive_rubber_wall.json @@ -356,8 +356,8 @@ f269adf80a50571c8da22587ee788ac786454613 assets\extravaganza\models\block\cyan_s 3443eb81474cd0379a00a13c6984431c8a7e9475 assets\extravaganza\models\item\brown_striped_festive_rubber.json 28b91e440edb39090a4d5e6569deb88b99391c13 assets\extravaganza\models\block\plant_curved_festive_rubber_wall_post.json 825f877183bdba94d1808b4aa3f1d94f3ffc20c8 assets\extravaganza\models\item\tear_padded_festive_rubber_stairs.json -7396836acfc76c38fe9b1496898c636b858d188b assets\extravaganza\blockstates\pink_windowed_festive_rubber_wall.json fadd5a6c3815e1f8e4cea2b62b6a2abb8d27cb67 assets\extravaganza\models\block\light_gray_barred_festive_rubber_wall_side_tall.json +7396836acfc76c38fe9b1496898c636b858d188b assets\extravaganza\blockstates\pink_windowed_festive_rubber_wall.json 94028566dfc5ff9b8a270cad8837f9635b6cbd9a assets\extravaganza\blockstates\tear_festive_rubber_grate_slab.json 84cf389a78d90b6d0171c1570ffa3ed6f42a8f81 assets\extravaganza\models\block\light_blue_poured_festive_rubber.json 9e06bbada79e954207ce4398de04dc92db961c7a assets\extravaganza\models\block\tear_festive_rubber.json @@ -391,13 +391,13 @@ bd3cc51cb090966b8482cebd3aa0ae9d8f1de6e2 assets\extravaganza\models\item\red_til c5edc0310659bec79fdfbe6a43f174523944c7c7 assets\extravaganza\models\block\lime_curved_festive_rubber_stairs_inner.json 2dcb8f9eb2e6235deb313a039915cf1372c62c85 assets\extravaganza\models\block\tomato_scratched_festive_rubber_wall_side_tall.json 30993462334890b5b9a42f34916a9ce0ecf3fa50 assets\extravaganza\models\block\nymph_split_festive_rubber_wall_inventory.json -fb07e98d22a05479b92876f342b9e92208f66962 assets\extravaganza\blockstates\brown_striped_festive_rubber_slab.json 500554fff2aaed1b22b744f30527b92b21b0bd91 assets\extravaganza\blockstates\red_slipped_festive_rubber_stairs.json +fb07e98d22a05479b92876f342b9e92208f66962 assets\extravaganza\blockstates\brown_striped_festive_rubber_slab.json 353d179b4e2b9125f595726b27ddc262cd2a721d assets\extravaganza\models\block\black_wooded_festive_rubber_wall_side_tall.json 757de408b3e4351e94149a4b8b2f23e91eb354f3 assets\extravaganza\models\block\red_curved_festive_rubber_wall_side_tall.json 16e362c2271bd78f628b4f71955f65c83e293b43 assets\extravaganza\models\block\plant_sharped_festive_rubber_wall_inventory.json -4c026736850261e82adcb163602320faee2a7f99 assets\extravaganza\blockstates\nymph_screwed_festive_rubber.json 967acd6654260c6f86f63f4d3e37af73b8cdc38a assets\extravaganza\blockstates\tomato_curved_festive_rubber_stairs.json +4c026736850261e82adcb163602320faee2a7f99 assets\extravaganza\blockstates\nymph_screwed_festive_rubber.json ef6f358f1e7364f14a2dc5108a6b3fc38266e61d assets\extravaganza\models\block\tear_windowed_festive_rubber_wall_post.json 1581000e483f43c2d2e7fce1c4723d8200693be9 assets\extravaganza\models\item\tomato_tiled_festive_rubber.json 15c8d4ce5d420ba2ac02cf5a04fa675832ca481d assets\extravaganza\models\block\black_tiled_festive_rubber_stairs.json @@ -471,8 +471,8 @@ cbc63125c1a9d82ced96a6aab0249f5fb6f2e5f7 assets\extravaganza\blockstates\plant_w 10fa925c71f2a541ee8d4c31f6cd6d375d6aae9c assets\extravaganza\blockstates\gray_festive_rubber_grate.json 0d962f5d9e2b6161e658e9f7e48f2e76b4ffdc58 assets\extravaganza\models\item\purple_dotted_festive_rubber_slab.json 1852d3cdf2355ff23e642ba40883e9643ec28179 assets\extravaganza\blockstates\red_sharped_festive_rubber.json -311af2b6977847b4b33316ae0a58e0db768f7e90 assets\extravaganza\blockstates\light_blue_poured_festive_rubber_stairs.json 74794f41207db64f577e455e53e01402c53986b8 assets\extravaganza\blockstates\magenta_sharped_festive_rubber_wall.json +311af2b6977847b4b33316ae0a58e0db768f7e90 assets\extravaganza\blockstates\light_blue_poured_festive_rubber_stairs.json fba72213233f7d7f2acca1be8ae9a1e0e4f0d9b4 assets\extravaganza\models\item\magenta_poured_festive_rubber_wall.json 864a177db6dfed1bb837b295184e3a269c186b8e assets\extravaganza\models\item\light_blue_curved_festive_rubber_wall.json 588cb75f44d7d1da9fe4951563c4c9ae07ffe9a5 assets\extravaganza\blockstates\brown_slipped_festive_rubber_stairs.json @@ -828,13 +828,13 @@ a079279328aea7641eb0b3959eb58a02ae17c4d0 assets\extravaganza\blockstates\purple_ 50072a7dfdd30143662755fa0ce9958682d4216c assets\extravaganza\blockstates\nymph_wooded_festive_rubber.json fef86f1c1e4d0c32292c76b7b1b503499ae12bca assets\extravaganza\blockstates\plant_screwed_festive_rubber_wall.json ffd574e461d5e36a699cd0567edf63407c8d5683 assets\extravaganza\models\block\light_blue_striped_festive_rubber_wall_post.json -a39a3688505dd9057420b5b4825a8833bde1e8e9 assets\extravaganza\models\block\brown_festive_rubber_grate.json bb153d14d8ef0bceab99535210ad812d5c15d243 assets\extravaganza\models\block\gray_scratched_festive_rubber_slab.json +a39a3688505dd9057420b5b4825a8833bde1e8e9 assets\extravaganza\models\block\brown_festive_rubber_grate.json c424297837e98b2cd46261eb6ee7d52375cccd1d assets\extravaganza\blockstates\lime_festive_rubber.json a82d502e412efd7b1c151a457c25c99df2f2bea8 assets\extravaganza\models\block\brown_windowed_festive_rubber_stairs_outer.json add9d6fcf0738cbdf22f760a180673b487b01ff8 assets\extravaganza\models\block\orange_split_festive_rubber_stairs_outer.json -6ff1de352930a2ef364a3deb3d688da24d87fe91 assets\extravaganza\blockstates\red_striped_festive_rubber_wall.json fe444370cd4e2b9982e06cb7958baf627cc039cb assets\extravaganza\blockstates\plant_dotted_festive_rubber.json +6ff1de352930a2ef364a3deb3d688da24d87fe91 assets\extravaganza\blockstates\red_striped_festive_rubber_wall.json 6f69ef2d19890611987b6231da3a0832ff6ea5e4 assets\extravaganza\models\block\nymph_dotted_festive_rubber.json bcda89de5da08a5f17429f1111efabbd8bb09b5a assets\extravaganza\models\item\yellow_scratched_festive_rubber_slab.json 24ec4c64fa97dc502fb5dc1535a5aa2fe87094c1 assets\extravaganza\blockstates\blue_tiled_festive_rubber.json @@ -946,8 +946,8 @@ ee638bc1eb27b4f198ce2608ecae454a09520157 assets\extravaganza\models\block\tomato eaf9b2e3025f5f199f1af9e17bad451fd7384f3f assets\extravaganza\models\block\tear_scratched_festive_rubber_stairs.json 644671d2f679ff17a023bfc6854df87f2932eab1 assets\extravaganza\models\block\white_windowed_festive_rubber_stairs_outer.json 954571a28342c2f9c1f35235ee1c5afb8e94adc2 assets\extravaganza\models\block\light_gray_poured_festive_rubber_wall_side.json -1b0a7b6e76ca94feaf0ff618894c3c1602462d4c assets\extravaganza\models\item\orange_scratched_festive_rubber_wall.json 80ddfc7a2b0a0b81b7f03c5adcae23f806c21dfb assets\extravaganza\models\item\brown_festive_rubber_slab.json +1b0a7b6e76ca94feaf0ff618894c3c1602462d4c assets\extravaganza\models\item\orange_scratched_festive_rubber_wall.json f973217a444fdd1ae1ef37861dd3aeb988c4c4fc assets\extravaganza\blockstates\blue_windowed_festive_rubber.json 0c644a96748a808e06f9947185185b6874636672 assets\extravaganza\models\block\white_perforated_festive_rubber_stairs_outer.json 52b5236441f9042b111d46cd0ba5cb83aeb13c29 assets\extravaganza\models\block\gray_windowed_festive_rubber_wall_post.json @@ -1060,8 +1060,8 @@ baf39074719e99c5dea6193f88feebecbef87154 assets\extravaganza\models\item\green_s 21f97b7ac0334adbfde13cd448ac981f6a8c3230 assets\extravaganza\models\block\white_windowed_festive_rubber_wall_inventory.json c7fef235281daf1e615504c05a50f05400fe90c8 assets\extravaganza\models\block\blue_split_festive_rubber_slab.json bcab6b2759832a34525660e77b1ae6e0985445d6 assets\extravaganza\models\block\red_padded_festive_rubber_slab_top.json -607c97be1c21478c28914a2522425d190a93e0a1 assets\extravaganza\models\block\purple_festive_rubber_grate_stairs_outer.json 3b1e8b3c3734d0941c1eec29885bc80adaf2bfea assets\extravaganza\models\item\gray_perforated_festive_rubber_stairs.json +607c97be1c21478c28914a2522425d190a93e0a1 assets\extravaganza\models\block\purple_festive_rubber_grate_stairs_outer.json 9bec755e35287c2476c8f9127e44c852083feaa9 assets\extravaganza\models\item\nymph_festive_rubber_grate_wall.json af53148a6c5a9b351d6f3ff1dbfe45da556fbe90 assets\extravaganza\models\item\pink_windowed_festive_rubber_stairs.json e75d5432feace75d117cc6ba55d0b77bffddb654 assets\extravaganza\models\item\brown_sharped_festive_rubber_slab.json @@ -1099,13 +1099,13 @@ d886d17623a6d48b49430a6fa9aa60ea1d540918 assets\extravaganza\models\block\cyan_s d3c2a10094356828fc5ddf6e20c5043f9c54f041 assets\extravaganza\models\block\brown_striped_festive_rubber_slab.json 087450cd211cedc6695be10f6a391c534c71e62c assets\extravaganza\models\item\pink_slipped_festive_rubber_wall.json 5fd58258a7e5dace73d5926201555247dfa2a868 assets\extravaganza\models\item\light_blue_windowed_festive_rubber.json +7f4997eed6e3ceeafdb920a11f87f4f301c8e52b assets\extravaganza\blockstates\brown_split_festive_rubber_slab.json 4cc0ff233750a4e2c8723e90003951f54983a21f assets\extravaganza\blockstates\green_wooded_festive_rubber_stairs.json 1ccacf040c334baa078c8c113990f246927cd70b assets\extravaganza\blockstates\white_dotted_festive_rubber_wall.json -7f4997eed6e3ceeafdb920a11f87f4f301c8e52b assets\extravaganza\blockstates\brown_split_festive_rubber_slab.json 127f0512459f2c72004d0fbccfd205660d104a9d assets\extravaganza\blockstates\light_blue_bent_festive_rubber_wall.json 7d02caff0eb290267ffe9523ebaf9279a0309c5c assets\extravaganza\blockstates\purple_sharped_festive_rubber_stairs.json -311c66ea1155d307ec0f05afd1d18bc893b8242f assets\extravaganza\blockstates\blue_wooded_festive_rubber_slab.json 09f39073650af508330afb1ee404ee63c75a9ad1 assets\extravaganza\blockstates\magenta_tiled_festive_rubber_slab.json +311c66ea1155d307ec0f05afd1d18bc893b8242f assets\extravaganza\blockstates\blue_wooded_festive_rubber_slab.json 2df7dd1a65dc6b1020def278bcf07a0087211084 assets\extravaganza\models\block\white_bent_festive_rubber_stairs_inner.json a41c976c5a9b9feffb7e8fe1c0e87b301c3dfd84 assets\extravaganza\models\item\white_perforated_festive_rubber_stairs.json 295e01f4b52813885967527aa1a398b2fdc5d448 assets\extravaganza\models\block\orange_windowed_festive_rubber_stairs.json @@ -1198,8 +1198,8 @@ ec853f24d6dbad57b124b813cb6ead6ffce015d0 assets\extravaganza\models\block\black_ 3bd5dc5bfa12656e797d69e85fd08d192cd2c321 assets\extravaganza\models\block\nymph_tiled_festive_rubber_wall_side_tall.json 51ca6861430758540a642528963a63233ad4f850 assets\extravaganza\models\block\red_perforated_festive_rubber_wall_inventory.json d68f7e21620502b56636936b39a0d2e33fab1bb0 assets\extravaganza\models\block\black_padded_festive_rubber_stairs.json -d2101b88cc49c40662ed5afb33200ea608cf77d1 assets\extravaganza\blockstates\white_curved_festive_rubber_wall.json ece4f3a33e5833ad08e6e094543643eb84114379 assets\extravaganza\blockstates\blue_tiled_festive_rubber_stairs.json +d2101b88cc49c40662ed5afb33200ea608cf77d1 assets\extravaganza\blockstates\white_curved_festive_rubber_wall.json 88d7f7bef83a4b2ee771ed1b3ad3857e3b2bcb84 assets\extravaganza\models\block\lime_dotted_festive_rubber_wall_side_tall.json 3a0fbea6c22c7a0bc1fb0285b551dce1c0193a03 assets\extravaganza\models\item\blue_striped_festive_rubber.json fa6765294661c7aa458f142c3a2155cfaf08cc92 assets\extravaganza\models\block\tomato_padded_festive_rubber_slab.json @@ -1339,8 +1339,8 @@ f0544d1b406b581561bb5338c4273f1f5a2b53fb assets\extravaganza\models\block\purple 0b0f673741149ec3cdc1d59db8ea9522a2e01a05 assets\extravaganza\blockstates\pink_festive_rubber.json 2b77bdd52c182fc277c2189ba1db464a8e58b599 assets\extravaganza\models\item\lime_bent_festive_rubber_wall.json f20a2b10d5b8e46a0cb94848f2d66bb90736da2b assets\extravaganza\models\block\gray_tiled_festive_rubber_wall_post.json -88e21555ee909ff8ab2da844865f7bbb9a80da63 assets\extravaganza\blockstates\gray_screwed_festive_rubber_slab.json bcad5862b0c07b93a50d82043c1634bec113bf51 assets\extravaganza\blockstates\purple_poured_festive_rubber.json +88e21555ee909ff8ab2da844865f7bbb9a80da63 assets\extravaganza\blockstates\gray_screwed_festive_rubber_slab.json 9cc11835e39e4e0d1cc674c092c9f252db7bd03d assets\extravaganza\blockstates\red_padded_festive_rubber_stairs.json d80340a93c287c31063d882885f027b917584fd2 assets\extravaganza\blockstates\cyan_bent_festive_rubber_wall.json 63980af56192aa6441aeecbb078cf0c9d8c91e84 assets\extravaganza\models\item\black_windowed_festive_rubber_stairs.json @@ -1731,8 +1731,8 @@ c36c8f0673673759f5ad1261903072464e94986d assets\extravaganza\models\block\green_ 1a3827ec0ad667af16cf8873931fddb50e72cad9 assets\extravaganza\models\item\blue_bent_festive_rubber.json 0966de014979d8aae8f94247f731b7172b1c68f4 assets\extravaganza\blockstates\light_blue_barred_festive_rubber_stairs.json 7f4094ccaf25b022f213394b8de27f5efb0bbebf assets\extravaganza\models\item\tomato_scratched_festive_rubber_wall.json -3e0ff96983e1b9328911fb84eaa5a5400752ea01 assets\extravaganza\blockstates\yellow_padded_festive_rubber.json d02986f7c75221feb60a43c708ebc3b7f1009c17 assets\extravaganza\blockstates\blue_scratched_festive_rubber_stairs.json +3e0ff96983e1b9328911fb84eaa5a5400752ea01 assets\extravaganza\blockstates\yellow_padded_festive_rubber.json 2781736fab0b6efc7d1928e2f94472d0609c3e28 assets\extravaganza\models\item\brown_scratched_festive_rubber_stairs.json fa1aa88485633b8816ddb05582cc4187a0229a16 assets\extravaganza\models\block\red_festive_rubber_wall_inventory.json ce66dc9233aa7361ec036a7d90aa92c405609438 assets\extravaganza\models\block\orange_tiled_festive_rubber_wall_side.json @@ -2026,8 +2026,8 @@ bcaf759ca4a5fd3406bca15904a162bf70671ab6 assets\extravaganza\models\block\red_sh 077df012989f7be756044910fd6b3dc79f05bd1f assets\extravaganza\blockstates\orange_screwed_festive_rubber_stairs.json 8196528b8e44cd553a78d64d2f9227cdb9d3f2bf assets\extravaganza\models\block\green_tiled_festive_rubber_slab.json 759addc7275db8be944d62d0b6b10099aefa2ef2 assets\extravaganza\models\item\tear_festive_rubber.json -beb93ff8e23fec1c03acf07c06b6171539d09dac assets\extravaganza\models\item\black_striped_festive_rubber_slab.json 925a83a87b72cd8a32c3640517be66b55abd34cb assets\extravaganza\models\block\gray_poured_festive_rubber_wall_side_tall.json +beb93ff8e23fec1c03acf07c06b6171539d09dac assets\extravaganza\models\item\black_striped_festive_rubber_slab.json 2352752a636410aa0992df610ad0477fe09cc4ef assets\extravaganza\blockstates\orange_slipped_festive_rubber_slab.json 9e64e8d6cfdbd0f0eda81746d029f8dd4923fb64 assets\extravaganza\models\block\light_gray_barred_festive_rubber_stairs_outer.json ee882d0fdbef9e0f008b258fc711af6b4866d3d6 assets\extravaganza\blockstates\gray_striped_festive_rubber_slab.json @@ -2195,6 +2195,7 @@ e8ab44679638de55d1edd46a0d6ae9922b27ed1e assets\extravaganza\blockstates\tomato_ 97601898b3ad4ddfbc032a5f52f1c0c2bc1ed7ce assets\extravaganza\models\block\plant_stained_glass.json b4735bc70e91cb5db54fc7f170ddfcc3bf6b7ea7 assets\extravaganza\models\block\cyan_barred_festive_rubber_stairs_outer.json 9d6aef32f385f6ba6111872d2ef95f6913d872f1 assets\extravaganza\models\block\black_sharped_festive_rubber_wall_side_tall.json +b3e0b5d776278295865ef75544349e1b96b08e57 assets\extravaganza\models\block\hevea_brasiliensis_log_rubber.json 027eba3ca8d9868ea2b176212a6bb44d0f3da489 assets\extravaganza\models\block\brown_slipped_festive_rubber_stairs_outer.json eea1b9ee1156fb00a4f550b16c98929d746e4759 assets\extravaganza\models\item\light_gray_barred_festive_rubber_wall.json aa7aefb21eb758c56cce77c4fbe81e30b564761f assets\extravaganza\models\block\nymph_wooded_festive_rubber_wall_inventory.json @@ -2261,8 +2262,8 @@ d7caa0672cd17aaa6b619a75894006124ff83563 assets\extravaganza\blockstates\orange_ 44cbd2735d4be1ad3534e0cf2d11fe4d0a446692 assets\extravaganza\models\block\nymph_sharped_festive_rubber_wall_side_tall.json 07c8cb0e276557c66d712085901959d6d2b27497 assets\extravaganza\models\block\tear_slipped_festive_rubber_slab.json e93b4f90eadf9f1ad0be95a6a308a75b39a4d162 assets\extravaganza\models\block\plant_slipped_festive_rubber_wall_inventory.json -54b669abfe85a622d4a3faa062632fb4973a4dd5 assets\extravaganza\blockstates\blue_scratched_festive_rubber_wall.json 1b8744484fd0741ef62c008820a39125ec285e21 assets\extravaganza\blockstates\magenta_barred_festive_rubber_wall.json +54b669abfe85a622d4a3faa062632fb4973a4dd5 assets\extravaganza\blockstates\blue_scratched_festive_rubber_wall.json c4271fe2e16ab5511d47f4f55d8cc5b0e77c1edf assets\extravaganza\models\block\nymph_perforated_festive_rubber_slab.json 6cf48fd0118719a8930e8ce4ed9e9e397284a3a7 assets\extravaganza\models\item\plant_sharped_festive_rubber_wall.json f49ec91a2242160652af15052795bdfa556375cf assets\extravaganza\blockstates\red_tiled_festive_rubber_stairs.json @@ -2290,6 +2291,7 @@ ab5585d63dab788aee14192516ab27bf6c0330af assets\extravaganza\models\block\yellow 4f6974977e98c7b8ae4fe203f82b716b481a45fe assets\extravaganza\models\item\green_sharped_festive_rubber.json 3bd192208de4a50c2fa7766d3c9bf08833af0387 assets\extravaganza\models\block\nymph_split_festive_rubber_stairs.json cbf89558e8618b48ae452e2e92ba8a3e11e0e469 assets\extravaganza\models\block\blue_slipped_festive_rubber_stairs_inner.json +9262ee430bca1e7ca5708a0620697e22e0b22fef assets\extravaganza\models\item\ball_pool_registration_table.json 6f633c2fe02351056e5158c8ced15f1dd7c8d482 assets\extravaganza\models\block\nymph_slipped_festive_rubber_stairs.json 7628eec1c22a58bbe8b57c7e430ce563e7836d30 assets\extravaganza\models\block\white_wooded_festive_rubber_stairs_outer.json 23d22b3a94e49d4e9f07bdaf168978b86f0cadac assets\extravaganza\models\item\yellow_festive_rubber.json @@ -2385,8 +2387,8 @@ b5671def716e2e9ed900b76cb47a652fba17e7ff assets\extravaganza\models\item\brown_p 0af97cc099a18a2b0b03cc840e44ddfa7a777cd0 assets\extravaganza\models\block\pink_perforated_festive_rubber_wall_side_tall.json 4f4f7636390f23331778de57417ca1e035a49c5a assets\extravaganza\models\block\green_striped_festive_rubber_stairs.json 4f0188ec4e0cd8a8fa9aeca9823cbc1080c2c56f assets\extravaganza\models\item\gray_festive_ball.json -74c3cbcddbf10003927c343bfd89fbc3ebc9eb32 assets\extravaganza\models\block\yellow_padded_festive_rubber.json c80eaa0aec56f1b510a686de74eec5e578482aa4 assets\extravaganza\models\block\purple_screwed_festive_rubber_slab.json +74c3cbcddbf10003927c343bfd89fbc3ebc9eb32 assets\extravaganza\models\block\yellow_padded_festive_rubber.json 8dbc905ef8f5251c342b865c1e9bb40e7fdfa01b assets\extravaganza\models\block\nymph_trash_can.json 105ee07b7981dcf1f6497e5050ff44ce15fd0b0a assets\extravaganza\blockstates\magenta_barred_festive_rubber_slab.json feaa89a1509c27039ef6ea17b576fe5db0d2bab9 assets\extravaganza\models\block\red_slipped_festive_rubber_slab_top.json @@ -2428,14 +2430,15 @@ b080a111bda00ef909d99bc0dbf94d46012bbf40 assets\extravaganza\blockstates\brown_p 1c12cf2402e4b7db61d79f60c1db5b7c8bad9e2b assets\extravaganza\models\block\blue_windowed_festive_rubber_slab_top.json b6e1d01f793acc9e19f62104c2ce9f53990f47fd assets\extravaganza\models\item\light_blue_striped_festive_rubber_stairs.json 9d0f32056964561ce680727749b78f1cc7c6890f assets\extravaganza\models\block\brown_padded_festive_rubber_wall_side_tall.json -8101211c9c04ccda2840a2c85c8a5c19dbb6b544 assets\extravaganza\blockstates\brown_scratched_festive_rubber_stairs.json 661354a90d788dc130244a388d36f3a852ab376e assets\extravaganza\blockstates\red_split_festive_rubber_stairs.json +8101211c9c04ccda2840a2c85c8a5c19dbb6b544 assets\extravaganza\blockstates\brown_scratched_festive_rubber_stairs.json 5cda1d989bb1895274e22c77c3f19ab38336920c assets\extravaganza\models\block\gray_dotted_festive_rubber_wall_post.json 090b582248e89eb7b41951cedd7d41bef3359b7e assets\extravaganza\models\item\light_gray_scratched_festive_rubber_slab.json 186929b27ec846f8e65098703974ec5311ce3852 assets\extravaganza\models\item\red_dotted_festive_rubber_stairs.json 4fda12152f30e0bc2715f33d35b93cdd170b2cfb assets\extravaganza\blockstates\orange_barred_festive_rubber_stairs.json 8498eb76d443f63555598b8fedf3848f4a95e0c1 assets\extravaganza\blockstates\orange_festive_rubber_slab.json 60bdb01c0ca8211150e2dade53c73cb7c64bf52b assets\extravaganza\models\block\brown_wooded_festive_rubber_slab_top.json +15e832a39b29c77a3a0bacdbc9dd47060d62de69 assets\extravaganza\models\item\empty_popcorn.json 454de238ddba0c11d501a65d81909f42491906b6 assets\extravaganza\models\block\white_wooded_festive_rubber_stairs.json d1d826a8c2117001dd66610904aa2373e7f00132 assets\extravaganza\models\block\red_scratched_festive_rubber_stairs_inner.json 528024a6b9dcdff37d86adad2606871853b6dabe assets\extravaganza\models\block\light_gray_barred_festive_rubber_stairs_inner.json @@ -2468,8 +2471,8 @@ c435b6054751859ca95ed9b3d14b9383d969d691 assets\extravaganza\blockstates\pink_po b2d9dbf642820d05722a23931161258f325a4964 assets\extravaganza\models\item\brown_split_festive_rubber.json 4657f5ad21a6f8280450766791f35f8dd4fd73e0 assets\extravaganza\models\block\cyan_sharped_festive_rubber_wall_side.json 2de83192b7eb97005214ce885e1ee3eb502f6dcd assets\extravaganza\models\item\blue_wooded_festive_rubber_stairs.json -fe9866cfbe3136080b777c65005b37911081d28d assets\extravaganza\models\item\magenta_bent_festive_rubber_stairs.json 72cb26e9d6de69fe6bd46457e11b5b8db4edbdcb assets\extravaganza\models\item\plant_sharped_festive_rubber_slab.json +fe9866cfbe3136080b777c65005b37911081d28d assets\extravaganza\models\item\magenta_bent_festive_rubber_stairs.json 761012af1320a8f8ff40aacef34db9deedabfe39 assets\extravaganza\models\block\white_split_festive_rubber_slab.json 1104681c4db7790ad7d397e7f6bfa61ca83b9cc1 assets\extravaganza\models\block\yellow_bent_festive_rubber_wall_inventory.json 7ad8d07beb3bd068dea2059c2331ac6ff88d9716 assets\extravaganza\models\block\pink_split_festive_rubber_wall_inventory.json @@ -2615,8 +2618,8 @@ ea405a9d73bca23935ce71652027b3ee7aa5c986 assets\extravaganza\blockstates\tear_sp 6f9dd8729ca0b3858ff2c944968fe2f2b9d357c8 assets\extravaganza\models\block\brown_bent_festive_rubber_wall_side.json 04782b9014b253c93995d7c83604af35b5137ae6 assets\extravaganza\blockstates\gray_wooded_festive_rubber_stairs.json adab1e0eb04f9542e76e28f5994e30e7a482fd2c assets\extravaganza\blockstates\tear_curved_festive_rubber.json -8637594d73576284d3bff6a5a4cb23e6fab4df63 assets\extravaganza\blockstates\brown_festive_rubber_grate_slab.json abd700ddab88ac138c70e254ce62091e54ac6663 assets\extravaganza\blockstates\white_tiled_festive_rubber_stairs.json +8637594d73576284d3bff6a5a4cb23e6fab4df63 assets\extravaganza\blockstates\brown_festive_rubber_grate_slab.json 5cbc131d405b85107de8f3f92b8aaab1028f73dd assets\extravaganza\blockstates\gray_windowed_festive_rubber_stairs.json 417b7cc3218e0d6ff148b07dd89a4911d53349c8 assets\extravaganza\models\block\yellow_dotted_festive_rubber_wall_side_tall.json f41869e07369ee8171457f0c01a9983416b07eb4 assets\extravaganza\models\block\purple_bent_festive_rubber_wall_inventory.json @@ -2778,6 +2781,7 @@ f89afe066b83eef4c2e568e0ba451b38c6b7e04c assets\extravaganza\models\block\yellow b3792e781bbba35bb1f1b3db9f0b049d92eb979f assets\extravaganza\models\block\tear_perforated_festive_rubber.json 2f10462daccfb53fbf3e08843a2caa8d856c103d assets\extravaganza\models\block\lime_curved_festive_rubber_stairs.json cb2de26a3245d567a2698e72952e47e138c18d4c assets\extravaganza\blockstates\cyan_barred_festive_rubber_stairs.json +59947e1774a4ac4011e143d70f49915fe9f6966b assets\extravaganza\models\item\hevea_brasiliensis_sapling.json c3429632e2e944dc2efe9a54d2bb87e63e05d3fe assets\extravaganza\models\block\light_blue_sharped_festive_rubber_stairs_inner.json 9a857e56a9a459368f144792abe0b11f6ab3d58e assets\extravaganza\models\item\black_bent_festive_rubber_wall.json 38d55b890ec857de4db2a68931b6bc8f3dac4b94 assets\extravaganza\models\block\brown_barred_festive_rubber_stairs_inner.json @@ -2881,6 +2885,7 @@ d34ab9d13fcf1422787d40b1d24d008d756bf0d7 assets\extravaganza\blockstates\blue_be 21973cdecafbe887ca7c9569748c432384f56f08 assets\extravaganza\models\block\tomato_split_festive_rubber_slab_top.json df6755897a63b78113d7aedaeec58fa52d8c9215 assets\extravaganza\models\block\green_dotted_festive_rubber_stairs_outer.json cc6b981e89309eaf8d8a4f613de51ed68666293c assets\extravaganza\models\block\blue_padded_festive_rubber_slab.json +e490ece7403a44c5e605b7d1b9c6fc09dec9e7db assets\extravaganza\blockstates\hevea_brasiliensis_sapling.json 8cdddaa0762e252243a3584a3a6a92c9fb7cff0a assets\extravaganza\blockstates\purple_perforated_festive_rubber_stairs.json 32d6006f4c72d2ce9d8a7b8c87b5fca688fcf220 assets\extravaganza\models\block\light_blue_screwed_festive_rubber_wall_side.json fc93acc804cb6775f072125de5e8ba50a372a4a4 assets\extravaganza\models\item\red_perforated_festive_rubber_stairs.json @@ -2969,8 +2974,8 @@ f5b7aa211a456feff04a834f27bf9586f604d66d assets\extravaganza\models\item\light_b 8d50b0c7fb724ae79e229a3c4a207ceb0cd08cfd assets\extravaganza\models\item\gray_tiled_festive_rubber_stairs.json bded7850420c9dd11dd0e2a708bdc57ff131db80 assets\extravaganza\models\item\orange_wooded_festive_rubber_wall.json c3547bb76d8734811f880922f6ec707018c57f6b assets\extravaganza\blockstates\white_split_festive_rubber_stairs.json -621417d21a9bd9e43c27e55d9880850dd25568d5 assets\extravaganza\blockstates\yellow_screwed_festive_rubber.json 4f73b92b76725b592ac562da05220fa211d782ba assets\extravaganza\blockstates\red_padded_festive_rubber_wall.json +621417d21a9bd9e43c27e55d9880850dd25568d5 assets\extravaganza\blockstates\yellow_screwed_festive_rubber.json b561a992965d09853c1b8b52f37f17dc3d6698ac assets\extravaganza\models\block\black_festive_rubber_wall_post.json a5a322de80e6408b4f36b1f2b7a0399105f8f948 assets\extravaganza\models\block\tear_wooded_festive_rubber_slab.json fdd05166394270c4345301261af3a16871e6a3c9 assets\extravaganza\models\block\light_gray_striped_festive_rubber_slab_top.json @@ -3065,8 +3070,8 @@ ac8c7d3ca1097cdc944b714cd62d026c8d21a151 assets\extravaganza\models\block\gray_p 29d8e6361ff2122f857474f6ed94cf00cd1136c6 assets\extravaganza\models\block\light_blue_striped_festive_rubber_stairs_inner.json 21f2c79c187627ec40482da7c792d0ab7d6e52f1 assets\extravaganza\models\block\white_barred_festive_rubber_slab_top.json ee62261bb42902250036c96bcd67551620867ef3 assets\extravaganza\blockstates\magenta_perforated_festive_rubber_slab.json -ea34b509673581781e10a666ea40fd83dbe5aa11 assets\extravaganza\blockstates\magenta_screwed_festive_rubber.json 87c720f955e2c751b58c3a1d103250f9f9e4a081 assets\extravaganza\blockstates\light_gray_split_festive_rubber_wall.json +ea34b509673581781e10a666ea40fd83dbe5aa11 assets\extravaganza\blockstates\magenta_screwed_festive_rubber.json fe1504e0136dee8bc137d84eb6d8493a9a297381 assets\extravaganza\models\block\tomato_striped_festive_rubber.json 2b5868f4e378ea58263b7cc8b29448f8f0e31f85 assets\extravaganza\blockstates\orange_trash_can.json 51a63b19618583bd74216ead25c31a535ce9cc07 assets\extravaganza\models\block\cyan_screwed_festive_rubber_wall_post.json @@ -3103,8 +3108,8 @@ cf1f65aa578c19704783cb9c259c13b5276c6e10 assets\extravaganza\models\block\white_ 66e265a3eca2c16857927b169a06f4e7121f8e06 assets\extravaganza\models\item\gray_striped_festive_rubber.json 526e5c69e46bb7718a164e00b83277a1c450225c assets\extravaganza\models\block\tear_festive_rubber_slab_top.json b67eb9cc2e5058599f86b740b3e5e556deac286c assets\extravaganza\models\block\green_tiled_festive_rubber.json -fbe9a123d71a2a5d8fdc9c4c5341ab9066681dfe assets\extravaganza\blockstates\blue_sharped_festive_rubber_stairs.json d255d6c84dca411a73c37c15a569ffee23b284d9 assets\extravaganza\blockstates\black_bent_festive_rubber_stairs.json +fbe9a123d71a2a5d8fdc9c4c5341ab9066681dfe assets\extravaganza\blockstates\blue_sharped_festive_rubber_stairs.json 70161055fe76a7939704941321cc59fbfad40bb0 assets\extravaganza\models\item\yellow_slipped_festive_rubber.json 92a96cb39c4f84ec2d822ea17fca2ddf81343868 assets\extravaganza\models\block\orange_slipped_festive_rubber_wall_post.json d7612159db2b78b1ebdf571c764713fcd05eb30f assets\extravaganza\models\item\blue_barred_festive_rubber_wall.json @@ -3167,8 +3172,8 @@ e2f42ecf0a3466fa899e408d4a84515f48a50404 assets\extravaganza\models\item\nymph_s 7732efc687c33ea4a082e7c422e1ca46cc9c2dfb assets\extravaganza\blockstates\magenta_perforated_festive_rubber_stairs.json 96c46aadb740315897221a4a34b6acca2177feff assets\extravaganza\models\item\tomato_screwed_festive_rubber_wall.json c4a544e792399595a1625cb005111ab1d792876d assets\extravaganza\models\block\tomato_curved_festive_rubber_wall_side.json -fb9ec4f1c2a0788ef7bac16b126b26ad89768053 assets\extravaganza\models\block\red_wooded_festive_rubber.json 991d1e0843edfaa6f1fc322500ae4a0f2f9206d5 assets\extravaganza\models\item\lime_screwed_festive_rubber_wall.json +fb9ec4f1c2a0788ef7bac16b126b26ad89768053 assets\extravaganza\models\block\red_wooded_festive_rubber.json ed5c45da6c68c097ba74688a9a94c4920b45ebbc assets\extravaganza\models\block\gray_sharped_festive_rubber_wall_side_tall.json 521c63c9b7527210dbfa7ccb8b75827b5fbff81a assets\extravaganza\models\block\purple_poured_festive_rubber_slab_top.json e28304e8698f61c697cb01f5132cbfe76b44e962 assets\extravaganza\models\item\lime_perforated_festive_rubber.json @@ -3202,8 +3207,8 @@ d385d20dea2ca29d50144705d373e2753550fc0f assets\extravaganza\models\block\light_ 57a8a24b57d000d2f1d6d70dd1f63fe508702960 assets\extravaganza\models\item\purple_scratched_festive_rubber_wall.json 95879d1233f0d5b36a99e7004784874554867dce assets\extravaganza\models\block\brown_wooded_festive_rubber_stairs_inner.json b3db280093b02a33f64c3bc6f34fa767011900e5 assets\extravaganza\models\block\purple_curved_festive_rubber_wall_inventory.json -a3c97ddf1eb33b1134b7040ec390c0cdb742c77e assets\extravaganza\blockstates\gray_bent_festive_rubber_slab.json cacbe4e968d124332bb90930fbe230f1761e8a59 assets\extravaganza\blockstates\tomato_scratched_festive_rubber_wall.json +a3c97ddf1eb33b1134b7040ec390c0cdb742c77e assets\extravaganza\blockstates\gray_bent_festive_rubber_slab.json 8a73e36463cb43714454e2219b35fdea51b40e25 assets\extravaganza\models\block\magenta_tiled_festive_rubber_wall_side.json 00d6bc833cea0cbf6da1e51724b97b2f8866ad6e assets\extravaganza\models\item\light_blue_poured_festive_rubber_wall.json 027ec7a83861b9cf9e0387cf2bcc198e5bb1b1f8 assets\extravaganza\models\item\plant_padded_festive_rubber_stairs.json @@ -3253,8 +3258,8 @@ d2d4d876ff85bba8fafacff45d54e26c4bd118e8 assets\extravaganza\models\block\orange 632ccd53fbfcc052dc191faf34e3817af10c5da1 assets\extravaganza\blockstates\green_split_festive_rubber_stairs.json ee1c368b81f2dd35733b1f7ab1e1aaedb04dce8f assets\extravaganza\blockstates\black_split_festive_rubber_wall.json 0858db5b79a48d6cc9d1477e9073b0f7d43f6bd6 assets\extravaganza\models\block\pink_scratched_festive_rubber_stairs_outer.json -99e8810f34dc3cf47d5ac8d5aaf21e2fabbc9325 assets\extravaganza\blockstates\pink_scratched_festive_rubber.json 1541c0c7a1bb81c8ac1f971e179da33204bd507f assets\extravaganza\blockstates\orange_split_festive_rubber_slab.json +99e8810f34dc3cf47d5ac8d5aaf21e2fabbc9325 assets\extravaganza\blockstates\pink_scratched_festive_rubber.json 76608642e7e6debfa56eeae7270f2fb097e6f998 assets\extravaganza\models\item\light_gray_padded_festive_rubber_stairs.json 03985073c51fdf57023fa392fa21ac48485282b7 assets\extravaganza\models\item\tear_curved_festive_rubber.json 9b135643c1e4fd75fba22c61a5159d9ab11ae3c4 assets\extravaganza\models\item\tomato_wooded_festive_rubber.json @@ -3271,7 +3276,6 @@ bf0314c3ff3c37e87e8d1449c757dfcd5dcd4ac4 assets\extravaganza\models\item\cyan_wi 8550342c5cfd55f9b5a65bab348eaa9a77087a7c assets\extravaganza\models\block\black_curved_festive_rubber_slab.json 5b154359e1268bbb7c1e864c70d1a4e38868c21e assets\extravaganza\models\block\black_striped_festive_rubber_stairs_inner.json cc8a0500208aeff90df03ea57fa064071a756d54 assets\extravaganza\models\block\hevea_brasiliensis_trapdoor_bottom.json -68f77be6a0a67d0b5cd01d2820d91061bc8e81d8 assets\extravaganza\blockstates\ball_pool_inscription_table.json f626e956d64ea289b4f32bca79414040362e0221 assets\extravaganza\models\block\brown_dotted_festive_rubber_wall_side_tall.json 2dbedcedb23c55862bf1227df33c2bd457ed7de4 assets\extravaganza\models\item\yellow_striped_festive_rubber_wall.json 8b12a9458d58502cdff98e8ad96d3457bd0f2e42 assets\extravaganza\blockstates\light_gray_windowed_festive_rubber.json @@ -3368,6 +3372,7 @@ a88ddfaccdc29281cd0e47559417bf1ac52fdbca assets\extravaganza\blockstates\red_per 7e6ac2ea27fa435e00c04c78729f9eb0fea276be assets\extravaganza\models\item\pink_festive_rubber_stairs.json 038de3bb8487baaad72333b5369976bb96d0c1b0 assets\extravaganza\models\block\tear_padded_festive_rubber_wall_inventory.json bd5647f5da83ce2d9ca44cb2be752b5d8dc67467 assets\extravaganza\blockstates\lime_trash_can.json +5b72ef4dec1e24024e5a724ef6e6513fe9f3f27e assets\extravaganza\blockstates\ball_pool_registration_table.json 030d2b24a5b9a6744f96760f99023332e7c73ff5 assets\extravaganza\blockstates\lime_scratched_festive_rubber_stairs.json a213db11ca66113743bdd93a8cefd1417a9c7c4d assets\extravaganza\models\block\pink_padded_festive_rubber_wall_inventory.json ad4cea2114c6f73db8d0cfcbace1ae83d63ca1ec assets\extravaganza\models\block\green_striped_festive_rubber_slab_top.json @@ -3429,6 +3434,7 @@ e635301e8263208d9975904174478c8ce662d174 assets\extravaganza\models\block\tomato e6708d6ca061d88ba8c98acf4c37de8260b563c9 assets\extravaganza\blockstates\lime_tiled_festive_rubber_wall.json a5b940fe7dbda736929f3da9970cc1e64e62248a assets\extravaganza\models\block\gray_tiled_festive_rubber_wall_inventory.json 8d7612cc0825cf9aa0c1b07840141b768cbd61bf assets\extravaganza\models\item\magenta_perforated_festive_rubber_stairs.json +93bf8d76802b8a53151d36fccc0147c1e37fd5d8 assets\extravaganza\models\item\popcorn.json 66dff2ce38b5a89fba26f53e0e225e9f031e5f1f assets\extravaganza\models\item\magenta_festive_ball.json 84b0313f00bda0c48db8db68a291111fb1af0cc6 assets\extravaganza\models\item\uncommon_festive_coin.json cbdec29da1b7971730ffd4ad4a1ce2b8364596fc assets\extravaganza\blockstates\green_sharped_festive_rubber_stairs.json @@ -3592,8 +3598,8 @@ af6bbcc7b798d964a6a2c1184e2f4ddb90cf979d assets\extravaganza\models\block\red_sh c6222e9a4bfa9015355032451ef8797b0a985654 assets\extravaganza\models\block\brown_festive_rubber_grate_wall_post.json 5f0582d51aed0fd31a2e221c8e42a7bf25e329bf assets\extravaganza\models\block\purple_bent_festive_rubber.json eff848815c6770a525c0309e98ba576a45579f48 assets\extravaganza\models\item\tear_padded_festive_rubber_wall.json -2419b287e01aea374467cfb0cbe5eafeb31d8d23 assets\extravaganza\blockstates\yellow_screwed_festive_rubber_wall.json 76c9b98ebecd6afcd35a09501f66d4103cd1b9ce assets\extravaganza\blockstates\tear_striped_festive_rubber.json +2419b287e01aea374467cfb0cbe5eafeb31d8d23 assets\extravaganza\blockstates\yellow_screwed_festive_rubber_wall.json 23923430609d7c9edf121fcb95acb7e623c2296a assets\extravaganza\models\block\blue_bent_festive_rubber_stairs.json 4771569b55d1a91ec46937562f5a69ab643584f0 assets\extravaganza\models\block\brown_striped_festive_rubber_stairs.json 29b2d8d76eb1d05181672134f4a5a6e2ae162b01 assets\extravaganza\models\block\plant_scratched_festive_rubber_wall_inventory.json @@ -3628,8 +3634,8 @@ b4d5c252df13500b980b49fe566cc1d5b3777b32 assets\extravaganza\models\item\red_fes c36451cd74bcd39d236794ab2331740012a0411f assets\extravaganza\models\block\brown_poured_festive_rubber_slab_top.json 10b7391616130c45354bc647ce4f816855567fef assets\extravaganza\blockstates\black_festive_rubber_grate_wall.json 72900c117af783071b04a610f7c42cf2371baa81 assets\extravaganza\models\block\tomato_slipped_festive_rubber_stairs.json -cde7533031aa3981b3a04faccb7b356f9e9be802 assets\extravaganza\blockstates\yellow_split_festive_rubber_wall.json 3b6ddaa1b49f2968e8953bcd92827cb57681c666 assets\extravaganza\blockstates\cyan_dotted_festive_rubber_slab.json +cde7533031aa3981b3a04faccb7b356f9e9be802 assets\extravaganza\blockstates\yellow_split_festive_rubber_wall.json 20c1e25ccd9e0104682205f2766ac2e7c750546f assets\extravaganza\models\block\nymph_split_festive_rubber_wall_side.json 505364688e0a992b062de0734fcfc106626c9ac5 assets\extravaganza\blockstates\orange_festive_rubber_grate_slab.json 7e6607ee3c0539acec5073a7994e6ac2ea152d8b assets\extravaganza\models\item\tomato_festive_ball.json @@ -3712,8 +3718,8 @@ f9e642777606643379ea1566f9df055a3a203a16 assets\extravaganza\models\block\cyan_f b129b594fb56c6ceb1a93cebb91e4f3d612e1338 assets\extravaganza\models\item\magenta_curved_festive_rubber.json 8b2ed5e7de7f20defd94fba9415e7dd5f9df9626 assets\extravaganza\blockstates\nymph_windowed_festive_rubber.json e95246c3b8818a65d483b5d6e19f56a7c8e0b01f assets\extravaganza\models\block\lime_poured_festive_rubber_wall_side_tall.json -758ff06e3ca47043d926b01e81be8ff48f653a5f assets\extravaganza\blockstates\cyan_bent_festive_rubber_stairs.json 7e42a766f37fdaf442b0abcb1d7e47c88a4d334d assets\extravaganza\blockstates\pink_windowed_festive_rubber_stairs.json +758ff06e3ca47043d926b01e81be8ff48f653a5f assets\extravaganza\blockstates\cyan_bent_festive_rubber_stairs.json d6c33b7b8ee4eb99dc7e84e881998e4e46361d5e assets\extravaganza\blockstates\blue_slipped_festive_rubber.json cd95ce073953ce4a91dc628722f6a3746abce0d2 assets\extravaganza\models\block\nymph_screwed_festive_rubber.json 57da538a9eada0fecb9268fd1492036a4cbef5cd assets\extravaganza\models\block\light_blue_trash_can.json @@ -3920,8 +3926,8 @@ a7c43c741e76dc940c16105114f44afc6251a5e4 assets\extravaganza\blockstates\pink_cu 76a7139d5637c1dc6f7ef4c24545fb9ce419b8a3 assets\extravaganza\models\block\pink_poured_festive_rubber_stairs_inner.json ff55daadd114fa77eb7d3332fa32a6cb149394f1 assets\extravaganza\models\block\light_blue_bent_festive_rubber_wall_post.json 7a1741a910cbe97c1716e606cee3e6cbeac0294f assets\extravaganza\blockstates\light_gray_dotted_festive_rubber_wall.json -d15aeaf4a19cc22425541d3833a7d1b4b2fa76c0 assets\extravaganza\blockstates\white_screwed_festive_rubber_wall.json c225be97e330b5ea615afd29478af0693d48ba09 assets\extravaganza\blockstates\magenta_screwed_festive_rubber_slab.json +d15aeaf4a19cc22425541d3833a7d1b4b2fa76c0 assets\extravaganza\blockstates\white_screwed_festive_rubber_wall.json 82d86febd3cf12e41f251767222765c6cae4f743 assets\extravaganza\models\item\plant_slipped_festive_rubber_wall.json d1b153479486e9caf202140cda0d7bee88e783c7 assets\extravaganza\models\item\nymph_windowed_festive_rubber_slab.json c6214ccf9d4fbc682c5501941b5b5c31c04ccdf2 assets\extravaganza\models\block\magenta_curved_festive_rubber_stairs_inner.json @@ -4155,8 +4161,8 @@ cb65884ee4146c46beecef69d7bb85d4268fb472 assets\extravaganza\models\block\pink_f 9434d5c0abe8d51f897c7b4430aa0ba23ced18ee assets\extravaganza\models\item\gray_scratched_festive_rubber_slab.json a2f45d1eb38e3adcc75e1608c6513927d2377e0b assets\extravaganza\models\block\magenta_festive_rubber_grate_stairs.json c9cc8d2443868ebb95fcc3b182a94f2eee2c6ba4 assets\extravaganza\models\block\nymph_poured_festive_rubber_stairs.json -0e80e976d63be4142515cd3cb4c62c21d250904c assets\extravaganza\blockstates\green_dotted_festive_rubber_stairs.json 01899a2d47ae9e867258d4e132d76b9da8860895 assets\extravaganza\models\block\pink_sharped_festive_rubber_wall_post.json +0e80e976d63be4142515cd3cb4c62c21d250904c assets\extravaganza\blockstates\green_dotted_festive_rubber_stairs.json a22e7d51ef1e4489366c04ebaeb3aee1bd8d39f9 assets\extravaganza\models\block\tear_windowed_festive_rubber_slab_top.json a4cf60ec3410118bee66c096c74d72a32086e485 assets\extravaganza\models\item\cyan_wooded_festive_rubber_wall.json efd2e0fba75cc9a075b854001713770c3f5fc77d assets\extravaganza\models\block\tear_poured_festive_rubber_wall_inventory.json @@ -4300,8 +4306,8 @@ e2feedd9f4537c62f09f0cf5e7a498962c2b973f assets\extravaganza\blockstates\black_s a544de918bfcd47b3ae5f0014d923409e2092ded assets\extravaganza\models\block\lime_poured_festive_rubber_stairs_inner.json d64717e42e0f9cf9cf0a0b75fa31781ce839b583 assets\extravaganza\models\item\blue_dotted_festive_rubber_slab.json 66f6ebe381f3ae4b516b6453ed85dc21629fbeac assets\extravaganza\models\block\nymph_striped_festive_rubber_wall_post.json -d0a43e0cb141385aae0ed737778f88c918cea0b6 assets\extravaganza\blockstates\gray_perforated_festive_rubber_stairs.json e2b414f321d8f78e95bda0b61a8e3bd597c53126 assets\extravaganza\blockstates\lime_screwed_festive_rubber.json +d0a43e0cb141385aae0ed737778f88c918cea0b6 assets\extravaganza\blockstates\gray_perforated_festive_rubber_stairs.json b837f8dc7f0f31a24bd83c24d482fe597d6574af assets\extravaganza\models\block\purple_wooded_festive_rubber.json 72f174e8f107c4cf79c6086692b9346421ddcfe7 assets\extravaganza\blockstates\magenta_tiled_festive_rubber_wall.json ad0783abb87d630f2da0b6624fe0f24b0dc63703 assets\extravaganza\models\block\yellow_poured_festive_rubber_stairs.json @@ -4316,8 +4322,8 @@ ef600df32d0de16914cda186d45e4d2f2ac47db9 assets\extravaganza\models\item\purple_ f0513dcf7af4f23b012f3bfb04d5eba731ab5c6f assets\extravaganza\models\block\gray_curved_festive_rubber_stairs_outer.json 39e9719c9eb09044eae76098cc9bc34ed9a5eb06 assets\extravaganza\blockstates\orange_padded_festive_rubber.json cf2df3b6c528f978ade8d3d4df8d79fc71c27a01 assets\extravaganza\models\item\brown_curved_festive_rubber_slab.json -463d4a2e2fb57f77e0b433ea5f4cf45dc6b55d13 assets\extravaganza\blockstates\light_gray_tiled_festive_rubber_wall.json 32213ec5f5a2bdfe5048ef9bd78f53c962a6b394 assets\extravaganza\blockstates\purple_striped_festive_rubber.json +463d4a2e2fb57f77e0b433ea5f4cf45dc6b55d13 assets\extravaganza\blockstates\light_gray_tiled_festive_rubber_wall.json 6f7f49c887c353353a1b9f1c4d917779493b7f08 assets\extravaganza\models\item\black_festive_rubber_grate_stairs.json 05f7602230c9ec6006bfdfde466e51f5deb6065c assets\extravaganza\models\item\magenta_bent_festive_rubber.json 6bb0b4e9ceb4abc19a6f09c903a82949e09c6e5c assets\extravaganza\models\block\gray_slipped_festive_rubber.json @@ -4648,8 +4654,8 @@ bf80ae2a816f6716649d5c464dbb94c1259e960d assets\extravaganza\models\item\pink_sl e36e3153946e18b08843405c2866a53f34c13ae6 assets\extravaganza\models\item\green_slipped_festive_rubber.json 68e69f5ef3bdb4cbe3acc84bfccb5417c01d4dc6 assets\extravaganza\models\block\gray_tiled_festive_rubber_wall_side_tall.json 818cfd0fc9198dc6043a78038532e2fd24230831 assets\extravaganza\models\block\cyan_screwed_festive_rubber_slab_top.json -10646d5022cea0752c6180650fda05cc2974c2e1 assets\extravaganza\blockstates\blue_perforated_festive_rubber_wall.json 4a74b20ebf1eeff6b40cdb0e769c00820c9cbf9e assets\extravaganza\blockstates\orange_tiled_festive_rubber.json +10646d5022cea0752c6180650fda05cc2974c2e1 assets\extravaganza\blockstates\blue_perforated_festive_rubber_wall.json 7c3806d5d01f097debea03e43c5441d57dae7ccd assets\extravaganza\models\block\gray_perforated_festive_rubber_stairs_outer.json e98e369c38fe6cf6c22353a3a07176e2c48dd348 assets\extravaganza\blockstates\orange_wooded_festive_rubber.json c6410a2f665131be3591796fe6f9b8e054fa61c0 assets\extravaganza\blockstates\nymph_curved_festive_rubber_wall.json @@ -4667,8 +4673,8 @@ ff514abf9cd1910e30be44bcc68f8c33de8329d6 assets\extravaganza\models\block\purple 03bd5a188edf452aed1cdc2b36f5c7b7aa1ecac5 assets\extravaganza\models\block\magenta_festive_rubber_stairs.json 78a4bc45efaaa1b69e2c4455f2bccaa1c19e4c71 assets\extravaganza\models\block\cyan_poured_festive_rubber_slab_top.json f03a598ea2a3afdb90082b3eeecd1f847369831f assets\extravaganza\models\block\purple_barred_festive_rubber_stairs_inner.json -6664f516afad2a13415dcc4fa58a9ee666499499 assets\extravaganza\blockstates\tear_tiled_festive_rubber.json e8369e551d2fe5d068d02a2f7a89d87b1a71b7fd assets\extravaganza\blockstates\cyan_screwed_festive_rubber_stairs.json +6664f516afad2a13415dcc4fa58a9ee666499499 assets\extravaganza\blockstates\tear_tiled_festive_rubber.json 687260825f448c1960b21fff5061fdcb1e06c642 assets\extravaganza\blockstates\gray_scratched_festive_rubber_wall.json 157d88dc082f1404c3968ef99c9eedfb1b908c29 assets\extravaganza\models\block\orange_dotted_festive_rubber.json 20457d5fe3a5772544c61edabcf960a51d64e057 assets\extravaganza\models\block\green_perforated_festive_rubber_slab_top.json @@ -4791,8 +4797,8 @@ d1b3f612d3fa230a1d36504efbbfeefc949ff454 assets\extravaganza\models\block\yellow 8aeb860ed1dcc202f994d37402d48514d7e17f74 assets\extravaganza\models\item\orange_perforated_festive_rubber_stairs.json 676b29a3fb3eda44c164a0ece573c7964d6fc73f assets\extravaganza\models\block\tear_sharped_festive_rubber_stairs.json cae45ca37d34d43d74165bc9b32f00a029ed9b9c assets\extravaganza\blockstates\lime_dotted_festive_rubber_stairs.json -902184a0f61df1ddb6ba58f82016a725d4441b61 assets\extravaganza\models\block\plant_split_festive_rubber_stairs.json 02a96b4c14565c822fb73bae9c53cc20662d881d assets\extravaganza\models\item\brown_scratched_festive_rubber_wall.json +902184a0f61df1ddb6ba58f82016a725d4441b61 assets\extravaganza\models\block\plant_split_festive_rubber_stairs.json 23622f8e3189a914386f698260e678006f5dab1f assets\extravaganza\models\item\green_slipped_festive_rubber_wall.json 9d7dbd10ef8a01ae4d96832e158bcd9bf2f2a6ab assets\extravaganza\blockstates\gray_padded_festive_rubber.json 8c83bc29a38c66800d52278c5a46177dfc76b4e3 assets\extravaganza\models\block\nymph_windowed_festive_rubber_wall_side_tall.json @@ -4876,9 +4882,9 @@ f05ef4708fc23cce9ce6d796ed209b2b4e735c0e assets\extravaganza\models\block\cyan_s d3324e35c8afa42cbd9826f1014684ddda27957a assets\extravaganza\models\block\brown_tiled_festive_rubber_stairs_outer.json 25244e5f2b30987be294f46b01861e7b7ce816c5 assets\extravaganza\blockstates\orange_slipped_festive_rubber.json 8a1a698d3acc569a78893ffa21d8bfdda8e3091b assets\extravaganza\models\block\tear_festive_rubber_wall_inventory.json -0e068142317a0662496cf594cc99007e7d38ff1c assets\extravaganza\blockstates\orange_slipped_festive_rubber_stairs.json 1c75b66ceae5d06e0e419a08931ccf2d4968273b assets\extravaganza\blockstates\gray_screwed_festive_rubber_wall.json c7953d222febfcceb8335863a2051e29d65f0395 assets\extravaganza\blockstates\black_dotted_festive_rubber.json +0e068142317a0662496cf594cc99007e7d38ff1c assets\extravaganza\blockstates\orange_slipped_festive_rubber_stairs.json af4636f4c5685709b220b71862c72a316538f393 assets\extravaganza\models\block\nymph_scratched_festive_rubber_stairs_outer.json 940eae3f54492cfe4bf83343e976b135643976f3 assets\extravaganza\models\block\purple_striped_festive_rubber_wall_side.json bf1046776567a32759cd2b5a7faa3904a915f98f assets\extravaganza\blockstates\gray_perforated_festive_rubber_slab.json @@ -4930,8 +4936,8 @@ c3d6931d0d66b4b679fd963274ba9efcb5460342 assets\extravaganza\models\block\yellow f5c85c3b90b14f3da272e73833b1bc343c548a37 assets\extravaganza\models\block\magenta_dotted_festive_rubber_slab.json 35862fd304f31fb45c12c92680e3c5e37c919618 assets\extravaganza\models\item\white_windowed_festive_rubber_slab.json 8c03682ca405730d4c8a6e41bf2852fb88357582 assets\extravaganza\models\block\purple_windowed_festive_rubber_stairs_inner.json -f2746c9fa0030092b90bc132f35664cc7aa1a578 assets\extravaganza\blockstates\light_gray_wooded_festive_rubber.json e11587cb0e50d5e88f2cac9205d94390aed1058f assets\extravaganza\blockstates\white_scratched_festive_rubber.json +f2746c9fa0030092b90bc132f35664cc7aa1a578 assets\extravaganza\blockstates\light_gray_wooded_festive_rubber.json 79c9294178e6aa78ba6b776273e0bd3cbb570614 assets\extravaganza\blockstates\red_curved_festive_rubber_wall.json e693a948c44cac9a4499e1a80dba88554bda296a assets\extravaganza\models\block\cyan_barred_festive_rubber_slab_top.json dd729768dbbbea7e41b5c51a1cb3e150382dd091 assets\extravaganza\models\block\orange_festive_rubber_grate_stairs_outer.json @@ -5305,8 +5311,8 @@ c8f9e5cccb4520ae5bb25da74f5f99f6b8616d98 assets\extravaganza\models\item\nymph_d 943f767a57522d85bc158b27d797b0bc45c03d5f assets\extravaganza\blockstates\magenta_festive_rubber_grate_slab.json fb84b8560c73f869b89004fb372b346953189216 assets\extravaganza\models\item\nymph_scratched_festive_rubber_stairs.json 393a064384cd917bb8bf717ab5a4774ad7d287f1 assets\extravaganza\models\block\plant_scratched_festive_rubber_stairs.json -dbe36bc883f03d6b0e0e6118c3d92c742d4ad9b7 assets\extravaganza\models\block\cyan_bent_festive_rubber_stairs.json 6f6b147b7a34ddd865b08f2f9bb555ef7374ff00 assets\extravaganza\models\block\red_screwed_festive_rubber_wall_side.json +dbe36bc883f03d6b0e0e6118c3d92c742d4ad9b7 assets\extravaganza\models\block\cyan_bent_festive_rubber_stairs.json 2c035a8ed0095ff548d8fb58085c517ee392f0e4 assets\extravaganza\blockstates\orange_striped_festive_rubber_wall.json e8ef7d16570f6e83a833c662929d734ecfb48332 assets\extravaganza\models\block\lime_poured_festive_rubber_stairs.json 439f3fa067e9e72fed689ff58113116e33a6f203 assets\extravaganza\models\block\plant_curved_festive_rubber_stairs_outer.json @@ -5318,11 +5324,11 @@ a39e1d83621fc0d9ce2d14137c14f84249a1fff2 assets\extravaganza\models\block\black_ 50ffc8408e97c580d198cb29cf39871b6174b980 assets\extravaganza\models\item\black_perforated_festive_rubber_wall.json f45a74fea45086bee21c03f7031f5b1005c2b112 assets\extravaganza\models\block\light_blue_bent_festive_rubber_slab.json 7f99e6136cb4c6479840ad92b2d170290382035e assets\extravaganza\models\block\tear_sharped_festive_rubber_wall_side.json -2f6f8cfe03779ab39d35d3fe0112076820515b1d assets\extravaganza\blockstates\tomato_dotted_festive_rubber_wall.json c005641f894b1858480bab0292cfb2898b54b38a assets\extravaganza\blockstates\nymph_screwed_festive_rubber_wall.json +2f6f8cfe03779ab39d35d3fe0112076820515b1d assets\extravaganza\blockstates\tomato_dotted_festive_rubber_wall.json f091ac42705f8298522053360f0e9d9e2f28531e assets\extravaganza\models\block\lime_scratched_festive_rubber_slab_top.json -34b69d11d4a08839848e969dc4da19e684a27c51 assets\extravaganza\blockstates\magenta_festive_rubber_grate_wall.json 8ac7e0fd9b0f3666981e4d2b902c9fdc8ab5a575 assets\extravaganza\blockstates\pink_festive_rubber_grate.json +34b69d11d4a08839848e969dc4da19e684a27c51 assets\extravaganza\blockstates\magenta_festive_rubber_grate_wall.json 40bd9a5f12fe6cabe4b46e244f2171b884adbef9 assets\extravaganza\blockstates\green_windowed_festive_rubber_slab.json f002545d9c4093b1f59b34c4cca810ece9464816 assets\extravaganza\models\block\blue_curved_festive_rubber_stairs_outer.json 997aa90a8e4171c4b75702eefc335aace034df2c assets\extravaganza\models\block\lime_bent_festive_rubber_wall_post.json @@ -5356,8 +5362,8 @@ cc7fc3a2e9f1b25a244eca15db1e35ccd27ba031 assets\extravaganza\models\block\purple cb1159642ff2eb8a69133943e6d1708caac43155 assets\extravaganza\models\item\lime_barred_festive_rubber_stairs.json 80c5ff4c68a7c5d8dcea49bdcc0f506ad17a31f0 assets\extravaganza\models\block\light_blue_dotted_festive_rubber_stairs_outer.json 1aa40fd613376f1957590393bb842b6dabab2c34 assets\extravaganza\models\item\plant_tiled_festive_rubber_wall.json +a14b5736d51f3264912f9ee94a603e585e112e0d assets\extravaganza\blockstates\hevea_brasiliensis_log.json 1faf603463216b28e27894c0f80e7bab0318b8e0 assets\extravaganza\blockstates\brown_sharped_festive_rubber_stairs.json -9f0e44d510ca8c6aca862af790cc34a1bc5cde9e assets\extravaganza\blockstates\hevea_brasiliensis_log.json 9980ad517c488e92d434376798852bb4bd2c7040 assets\extravaganza\models\block\purple_tiled_festive_rubber_wall_side.json 8b39f86d1d8b8342348b63976660a48a4e003cf6 assets\extravaganza\models\block\tomato_sharped_festive_rubber_wall_side.json 9ba9cd8d5b6dd24300083136e5fab854ad83ba58 assets\extravaganza\models\block\green_split_festive_rubber.json @@ -5372,8 +5378,8 @@ dc970a044498f8a9b346cd641a2ca5772e48c0ef assets\extravaganza\models\item\tomato_ 9b0eb9006c42ed407c093cdd2f7059d7954e9d1c assets\extravaganza\models\item\white_striped_festive_rubber_wall.json fec73a88293014d76f9e7721a42cbeaac7da55b5 assets\extravaganza\models\item\orange_festive_rubber_ladder.json 3a520036572f2d9896eea64b03ba875e0617fb7f assets\extravaganza\models\block\green_windowed_festive_rubber_wall_side_tall.json -a73116e40244a185d36ebf8a3f8bc2f09f8360da assets\extravaganza\models\block\tear_screwed_festive_rubber_wall_inventory.json 5fbbe0a274969fa701bfa1bd85f6c0473c711f4d assets\extravaganza\models\block\white_festive_rubber_slab_top.json +a73116e40244a185d36ebf8a3f8bc2f09f8360da assets\extravaganza\models\block\tear_screwed_festive_rubber_wall_inventory.json e350588ce939afc4a9c6639b68c2115419e07deb assets\extravaganza\models\block\red_festive_rubber.json 639f98f9937befcc9ca60ece0f31ed313d6625e8 assets\extravaganza\models\block\light_gray_dotted_festive_rubber_stairs_inner.json 0467de630384b6ce68535427f7042873c81ed2ec assets\extravaganza\models\block\purple_curved_festive_rubber_slab.json @@ -5607,8 +5613,8 @@ e12cf4e74ce056109768081210d3f0f0031bc454 assets\extravaganza\models\block\green_ 64791f3820e948eb9484465a0a35f92480b98fed assets\extravaganza\blockstates\brown_windowed_festive_rubber_slab.json 0b23a24364293e950c688ed5723615e6a4213de7 assets\extravaganza\models\block\white_screwed_festive_rubber.json b66c835f2ca681ec2d3f089145fc9bc8bd0bbb3c assets\extravaganza\models\block\purple_striped_festive_rubber_wall_side_tall.json -ee9cf571957d195658c50daf63446426f533958b assets\extravaganza\blockstates\tear_bent_festive_rubber_slab.json 62ca56e5aeff9798d250332366c4c7fa39ded700 assets\extravaganza\blockstates\red_festive_rubber_stairs.json +ee9cf571957d195658c50daf63446426f533958b assets\extravaganza\blockstates\tear_bent_festive_rubber_slab.json e1492a267563d5c235f6ff8908765ac9289e3fbc assets\extravaganza\models\block\nymph_scratched_festive_rubber.json 316c8e83c219ca7d1176e2dd0fc7ba0b11bb3648 assets\extravaganza\models\block\lime_striped_festive_rubber_slab.json 3b5712f08810cc01887258c403b171e59b51daca assets\extravaganza\models\item\light_blue_padded_festive_rubber_slab.json @@ -5867,8 +5873,8 @@ becf28611cfaa075a7a50785c3e56f527675cf3f assets\extravaganza\blockstates\brown_s c5952752e780c1846f2b83cc8f94e3ebdddb8990 assets\extravaganza\models\block\light_gray_sharped_festive_rubber_wall_side.json 3274a501e16d7b000e73611df8708937f3088c95 assets\extravaganza\models\block\gray_poured_festive_rubber_stairs_inner.json 00fce8dec6c49adceb53f4952a6f25e012d3144c assets\extravaganza\models\block\lime_curved_festive_rubber_wall_side_tall.json -78be7af9643198271f68733d0bc5cf2daa9725b9 assets\extravaganza\blockstates\nymph_dotted_festive_rubber_stairs.json 064089b76f2cd592dd07d6f2820e5c861ed93e82 assets\extravaganza\blockstates\plant_padded_festive_rubber.json +78be7af9643198271f68733d0bc5cf2daa9725b9 assets\extravaganza\blockstates\nymph_dotted_festive_rubber_stairs.json 5d00a5b6abd19adb57483d45ef703262b3ba959c assets\extravaganza\models\block\blue_poured_festive_rubber_stairs_outer.json 5a31705ccfb30b40b79e80d423b1f7666b6b230d assets\extravaganza\models\block\orange_scratched_festive_rubber_stairs_inner.json c1bb646764fbb26e1422b299f983f0b3c1f2ea8d assets\extravaganza\models\item\magenta_dotted_festive_rubber_slab.json @@ -6266,8 +6272,8 @@ d6b2505e9c146e724f5a49ab31ff9860e308c73e assets\extravaganza\models\block\red_be 26cb57ac0a5f3a42defb8a1f214ee8c675dff9a6 assets\extravaganza\blockstates\brown_striped_festive_rubber_stairs.json 843998c4776af34be57fdc4522b0e9f336d91655 assets\extravaganza\models\block\magenta_dotted_festive_rubber_slab_top.json 21d3a340a52b52cecbed7450a4a74343d78d3ca0 assets\extravaganza\models\block\hevea_brasiliensis_stairs.json -635c9999e5b55e360da467d3cf02f4ad32e36613 assets\extravaganza\blockstates\tomato_curved_festive_rubber_slab.json eb7524778abf35ff8ffc21012ccdfc96edbf151c assets\extravaganza\blockstates\orange_windowed_festive_rubber_slab.json +635c9999e5b55e360da467d3cf02f4ad32e36613 assets\extravaganza\blockstates\tomato_curved_festive_rubber_slab.json 2ebfc2b8cf217dfcde121d43dc870d65424adc03 assets\extravaganza\models\item\red_windowed_festive_rubber.json 367ea8801dc94d25b3b7b708434d43ccf0ea3b34 assets\extravaganza\models\item\lime_dotted_festive_rubber_stairs.json 707463c81d9a27225044f549baf2bdb332212169 assets\extravaganza\blockstates\cyan_festive_rubber_grate_stairs.json @@ -6355,8 +6361,8 @@ c56b5123dc82e4635e5d01fa34a3b195407b14f5 assets\extravaganza\models\item\blue_po 3d7482cfd6e31ea1eadb562ff0f90728ff75f0ec assets\extravaganza\models\item\nymph_barred_festive_rubber_slab.json 1af12b3cc4e7c7f1ce7ce3eb28fc84ee6c007877 assets\extravaganza\models\block\purple_poured_festive_rubber_slab.json 35e7b944aede334b5732ee5c95d7a50431e90f97 assets\extravaganza\models\block\nymph_tiled_festive_rubber.json -1b74a61789d9d4fd89763e38a55a4a0022a5b162 assets\extravaganza\blockstates\blue_poured_festive_rubber.json d06bc54db4095e3b172bc2ac80d30ffbfcc6002a assets\extravaganza\blockstates\lime_festive_rubber_slab.json +1b74a61789d9d4fd89763e38a55a4a0022a5b162 assets\extravaganza\blockstates\blue_poured_festive_rubber.json eae6d454f0320eba378c0ddfb0529094822c6ea5 assets\extravaganza\blockstates\brown_sharped_festive_rubber_slab.json 54c24f580e87bf112fa478301e8720893e16b62c assets\extravaganza\models\item\pink_slipped_festive_rubber_stairs.json b9a9428d57a3eeacd540341d633f699ded553be4 assets\extravaganza\models\block\red_split_festive_rubber_wall_inventory.json @@ -6473,7 +6479,6 @@ bd33053e603066b8b58b1b35f7bd239a0b75f3f3 assets\extravaganza\models\block\white_ 4a3cf29a174569f94e41eac1bd1f9efdbd449c3f assets\extravaganza\blockstates\white_barred_festive_rubber_slab.json 13b4abc8203d6a3ddba07cf8ac62e14166f6af3e assets\extravaganza\models\item\orange_wooded_festive_rubber_stairs.json 4e157a4946c7b18e5bca7e17807b899bd6ad7a33 assets\extravaganza\models\block\red_padded_festive_rubber_slab.json -55a269881eda7722d2630ad4a7b14a61733be154 assets\extravaganza\models\item\ball_pool_inscription_table.json 33278aa571a452a22fe133f95153dafdfcb53df9 assets\extravaganza\models\item\lime_striped_festive_rubber_slab.json 0c203f20055287d0fdac4855f6e6336ad4fc3d02 assets\extravaganza\models\block\lime_perforated_festive_rubber_wall_side.json 502daa2b5958d1be428bf72de05b8496525206ba assets\extravaganza\models\block\light_gray_slipped_festive_rubber_stairs_outer.json @@ -6546,8 +6551,8 @@ cd835922c86c00bb3ece85ce68d6ecbb120a4019 assets\extravaganza\models\block\pink_b a6e7911b7bc8b29a0d3e9403d63fb1c18ab8aa10 assets\extravaganza\models\block\green_screwed_festive_rubber_wall_post.json 0ef7e8b122c0a535e47bfb6db75f1337b3c819b2 assets\extravaganza\models\item\green_scratched_festive_rubber_stairs.json b82c83cf21d8a82eebc64baa1fb1715e42312a22 assets\extravaganza\models\block\red_festive_rubber_stairs_outer.json -b76d5a2c26d8a9ff5b4f70c3f604a6c9ea9c432a assets\extravaganza\models\item\lime_striped_festive_rubber_wall.json c315bd2e43a2331dfb02381b47e0aef6a6a64c80 assets\extravaganza\models\block\plant_sharped_festive_rubber_wall_post.json +b76d5a2c26d8a9ff5b4f70c3f604a6c9ea9c432a assets\extravaganza\models\item\lime_striped_festive_rubber_wall.json e1422db139c7154db854459917630214ce2e0524 assets\extravaganza\blockstates\white_barred_festive_rubber_wall.json 221555f123cc08ad2b90de30061af8802e0479d0 assets\extravaganza\models\item\tomato_striped_festive_rubber_wall.json bc5c18bff62fbd96356869b0475a4577c6d59662 assets\extravaganza\models\block\nymph_barred_festive_rubber_wall_side.json @@ -6599,8 +6604,8 @@ b9a93410f69054d2e773332cc756adbcc317e9ec assets\extravaganza\models\block\red_st fa0f1c49702a7706d3ad74fc2a8291af18759f38 assets\extravaganza\models\block\red_barred_festive_rubber_wall_post.json 7210a4ad3ca752cb8d389010e478c4ae944d90d3 assets\extravaganza\models\block\nymph_festive_rubber_wall_side_tall.json 7d8ca4d9b3ad7cbf6457120136568c2cdd876578 assets\extravaganza\models\block\orange_festive_rubber_stairs_outer.json -ad568389b03da6ebb9649234c738f2f5a0bb6129 assets\extravaganza\models\block\pink_screwed_festive_rubber_stairs_outer.json faf7ede56484a88f9776cc25a54d951f0f6086d1 assets\extravaganza\models\block\nymph_scratched_festive_rubber_slab.json +ad568389b03da6ebb9649234c738f2f5a0bb6129 assets\extravaganza\models\block\pink_screwed_festive_rubber_stairs_outer.json 14e49b65f7f8547ac429f2ba407b4e48df2ff26d assets\extravaganza\models\block\purple_perforated_festive_rubber_slab.json 9df996a7bfb9ff18270755210858f8ff7c37c62c assets\extravaganza\blockstates\pink_perforated_festive_rubber_stairs.json 6d3d17d7e5e3dfd5d383e0a19ff3240c1b222fdc assets\extravaganza\models\item\nymph_slipped_festive_rubber_stairs.json @@ -6613,8 +6618,8 @@ ae2b490a921c737f203ee7fc2755f55e113a208e assets\extravaganza\models\block\brown_ 2fab1aa456d596f95c32c9ca6b11b9d87ccdc2cd assets\extravaganza\models\block\tear_split_festive_rubber_wall_inventory.json 0ca8ff8acd77b9bf17f0fecf58f234c47a287b2e assets\extravaganza\blockstates\nymph_festive_rubber_grate_slab.json d3c49d9aa6774b01571f9c720f5f0f136cf2f9cf assets\extravaganza\blockstates\white_slipped_festive_rubber_wall.json -a1281709b462ec91394dfe277cae70f60ed3d561 assets\extravaganza\models\block\light_gray_slipped_festive_rubber_stairs.json d3df4726d2bc53e0be97b8d6ba4600831ab1c480 assets\extravaganza\models\block\cyan_sharped_festive_rubber.json +a1281709b462ec91394dfe277cae70f60ed3d561 assets\extravaganza\models\block\light_gray_slipped_festive_rubber_stairs.json a6ff666f7bcdbc09f36da46d41638682e92fe4ff assets\extravaganza\models\block\gray_dotted_festive_rubber.json 2a21c01648e97c6449535904f1bd099a793d932a assets\extravaganza\models\block\light_blue_trash_can_lid.json d03a44816e7378fb31e778f34eae811b5c1a6c53 assets\extravaganza\models\block\pink_perforated_festive_rubber.json diff --git a/src/main/generated/.cache/d37a63a7993c504d0eaad0ecdd7aacdf9f76c455 b/src/main/generated/.cache/d37a63a7993c504d0eaad0ecdd7aacdf9f76c455 index feebd49b..89ef52d5 100644 --- a/src/main/generated/.cache/d37a63a7993c504d0eaad0ecdd7aacdf9f76c455 +++ b/src/main/generated/.cache/d37a63a7993c504d0eaad0ecdd7aacdf9f76c455 @@ -1,4 +1,4 @@ -// 1.21 2024-06-20T14:37:00.0406954 Extravaganza!/Recipes +// 1.21 2024-06-21T00:55:03.9353733 Extravaganza!/Recipes bd2e4393c47b28a8b8218e719d7c282e9ede79d8 data\extravaganza\recipe\purple_scratched_festive_rubber.json b3c33c9b73f19d02bd8570e940d595bb29d951c4 data\extravaganza\advancement\recipes\decorations\hevea_brasiliensis_fence.json 21521f4eb0157c8b0d8b5b2fa64fddff24daf54f data\extravaganza\advancement\recipes\building_blocks\light_blue_festive_rubber_grate.json @@ -40,8 +40,8 @@ fe3f44bd33789351d203b3974ceabe2d57d77115 data\extravaganza\advancement\recipes\b 6676cc927d3e2a60cae0b377037b8bc95b35102c data\extravaganza\advancement\recipes\building_blocks\magenta_festive_rubber.json a43b60afc43b793acf6637632d6967f9e9548f56 data\extravaganza\advancement\recipes\building_blocks\magenta_windowed_festive_rubber.json 3d9ed27779a66cfedce1208abbda0947191f5c90 data\extravaganza\advancement\recipes\building_blocks\hevea_brasiliensis_slab.json -1af3b2dc3466ab021761d34a7e73eea8d47703e6 data\extravaganza\recipe\magenta_perforated_festive_rubber.json cdb7fa91a1c19f8d0a0b5bbfc29c797f25992bd5 data\extravaganza\recipe\lime_festive_rubber.json +1af3b2dc3466ab021761d34a7e73eea8d47703e6 data\extravaganza\recipe\magenta_perforated_festive_rubber.json 05c5425b9c36dc6cf06a773a3c86842eb673e4e3 data\extravaganza\advancement\recipes\building_blocks\black_barred_festive_rubber.json 6ed1524d8c0cda50755a55bfa3018ac88d292c2a data\extravaganza\advancement\recipes\building_blocks\tomato_slipped_festive_rubber.json 432949753566be6efaf368ddb895c60fdcabeb7f data\extravaganza\advancement\recipes\building_blocks\black_sharped_festive_rubber.json @@ -103,6 +103,7 @@ b6e53fad109ae81ef5874299781616c74c392ced data\extravaganza\advancement\recipes\b e1efd481f03e02b0543f553de6ac8d2793d0f0ba data\extravaganza\advancement\recipes\building_blocks\magenta_barred_festive_rubber.json 802315a5a727682c15ff640b7aeb0237b64332c3 data\extravaganza\recipe\black_wooded_festive_rubber.json 2fb06ff8735ec2ae1d718ae1ee544d8d9ba6610d data\extravaganza\advancement\recipes\redstone\hevea_brasiliensis_fence_gate.json +a9b5e0e03411b2cb51cf3faa7e6ef719ac3aa507 data\extravaganza\recipe\rubber.json ff7dc437fce94a18cea0449e988b84f81a5d771a data\extravaganza\advancement\recipes\building_blocks\gray_tiled_festive_rubber.json 2d54d100526edb6d8ecc68baa5e38f8ac436e8ea data\extravaganza\advancement\recipes\building_blocks\plant_curved_festive_rubber.json 6b86ffa457b1367a1735963dcee51ab8851c8664 data\extravaganza\advancement\recipes\building_blocks\lime_festive_rubber_grate.json @@ -132,8 +133,8 @@ a50137a10063d83e91d1eea2b5a709539cf4e560 data\extravaganza\recipe\tear_tiled_fes fbb989442cf83d633e79831ea7c1d77ec08a40e9 data\extravaganza\advancement\recipes\building_blocks\lime_tiled_festive_rubber.json 574483465a1c633c8eb507501ab84aaa309ba85e data\extravaganza\recipe\purple_sharped_festive_rubber.json ccd0e519765283c11b3d4eb898a1b9d4ff23d932 data\extravaganza\advancement\recipes\building_blocks\blue_screwed_festive_rubber.json -cf7f4c052fe96bea2e9b2c8064f907c679b7c585 data\extravaganza\recipe\tomato_barred_festive_rubber.json e17e25e5b7d84ee02b420d0000c66a0eafc179fe data\extravaganza\advancement\recipes\building_blocks\tomato_windowed_festive_rubber.json +cf7f4c052fe96bea2e9b2c8064f907c679b7c585 data\extravaganza\recipe\tomato_barred_festive_rubber.json f796210b2f8759afdff1f15e466466c9de7f885d data\extravaganza\advancement\recipes\building_blocks\nymph_slipped_festive_rubber.json 16a80d1f380cde6038eae7506df3c81e4d404a5b data\extravaganza\advancement\recipes\redstone\hevea_brasiliensis_button.json 066a7435919afa54ef8ea2eb955921df96de4afd data\extravaganza\advancement\recipes\building_blocks\orange_scratched_festive_rubber.json @@ -167,6 +168,7 @@ a4d1e69a7a457dc4c594b9d0f0b27b7e4aed3a9e data\extravaganza\recipe\white_bent_fes 2dc0afda87372e30f7927ca632b4422b1bc55eee data\extravaganza\recipe\red_poured_festive_rubber.json c64af86ce6cfa4ae48f00988374ca0c88f944d7a data\extravaganza\recipe\purple_screwed_festive_rubber.json bedfd40a21a5b4f33b9b2a7b0817adad8f3eaa68 data\extravaganza\recipe\yellow_split_festive_rubber.json +df5ee87f4a2ad9c518a81f1b44a62baa5089ccd8 data\extravaganza\advancement\recipes\tools\rubber.json 84f26b81ca858f180461c60ee58f0553d5695af5 data\extravaganza\recipe\lime_sharped_festive_rubber.json cb8b5460f01e018c4fefc297438384aedb835587 data\extravaganza\advancement\recipes\building_blocks\pink_padded_festive_rubber.json 61ca1395d313e00e03ee5c2e06e0d72f97799ca0 data\extravaganza\recipe\orange_sharped_festive_rubber.json @@ -318,8 +320,8 @@ acbc97b6f92c30100f4fff866992622917d443bc data\extravaganza\advancement\recipes\b 1a6d090f42ddb5c6e5ad7429e7fc8e2c12a8e349 data\extravaganza\advancement\recipes\building_blocks\plant_barred_festive_rubber.json fe7487b4a464878190a07aea1cd33175a17ff5f4 data\extravaganza\advancement\recipes\building_blocks\cyan_perforated_festive_rubber.json bfa97f6463c5c9d69026a0e0c9b8b1636358f0b3 data\extravaganza\advancement\recipes\building_blocks\light_blue_striped_festive_rubber.json -d48e49c9d4686e0c98adcf558f71e2aacdf0c68a data\extravaganza\recipe\plant_poured_festive_rubber.json a6189816475bc7f3f13b38417609a16ad932b2ed data\extravaganza\recipe\plant_curved_festive_rubber.json +d48e49c9d4686e0c98adcf558f71e2aacdf0c68a data\extravaganza\recipe\plant_poured_festive_rubber.json eeb063b85e00afdf42db5f224377c48bea2d2e3f data\extravaganza\advancement\recipes\building_blocks\red_bent_festive_rubber.json d2699b95157bf6e9ed9ead94b86ba58327cf9979 data\extravaganza\advancement\recipes\building_blocks\white_festive_rubber.json cb0186c2e00833243b9d00e102692d4dafc52591 data\extravaganza\advancement\recipes\building_blocks\light_gray_dotted_festive_rubber.json @@ -381,8 +383,8 @@ a3bbd4c520bb47cd74067b0f8b5dc0edc0cc9002 data\extravaganza\advancement\recipes\b c3b184eef28a04809b8a61f705e6e1332cb7402e data\extravaganza\recipe\light_blue_barred_festive_rubber.json 03de134842106ee522dce024f203ee035e6902f4 data\extravaganza\recipe\tomato_striped_festive_rubber.json 332af1b55c35e29ef399fb0114380b0876f115f6 data\extravaganza\advancement\recipes\building_blocks\black_poured_festive_rubber.json -6efb7cbc526cc316adde0a59121ba852b84a147c data\extravaganza\advancement\recipes\building_blocks\yellow_wooded_festive_rubber.json 895f6256de58948e24fdbeba21ae6c45caf7cae3 data\extravaganza\recipe\yellow_dotted_festive_rubber.json +6efb7cbc526cc316adde0a59121ba852b84a147c data\extravaganza\advancement\recipes\building_blocks\yellow_wooded_festive_rubber.json 062a9dc03a15e0cdd7a08b342e72f6046ffb29be data\extravaganza\recipe\white_wooded_festive_rubber.json a2d095119e8ba255610ce1552122f159b64bae07 data\extravaganza\recipe\orange_curved_festive_rubber.json 7ecff5f594b8b5c7e42a5a8654b9460615abe9e7 data\extravaganza\advancement\recipes\building_blocks\plant_windowed_festive_rubber.json @@ -465,8 +467,8 @@ ebb9b1debdce7ec3973062dffbe2af56d23d8fc8 data\extravaganza\recipe\tear_barred_fe 0009817b0203d3d99dd6e16ca311e7a5ea505d34 data\extravaganza\advancement\recipes\building_blocks\light_blue_dotted_festive_rubber.json 211748dba3cd6ff9896fb1b52ef6a4862c488a73 data\extravaganza\recipe\lime_padded_festive_rubber.json e9c8687686e54a1c700c8115b77ddead7b69bff5 data\extravaganza\advancement\recipes\building_blocks\cyan_screwed_festive_rubber.json -d456c679f8f187c23e2ca2acb316b139ae0ebdd7 data\extravaganza\advancement\recipes\building_blocks\light_gray_barred_festive_rubber.json 0a9567956b1dcfd90ecce83e5ccc4522fa9ecf4f data\extravaganza\advancement\recipes\building_blocks\light_gray_split_festive_rubber.json +d456c679f8f187c23e2ca2acb316b139ae0ebdd7 data\extravaganza\advancement\recipes\building_blocks\light_gray_barred_festive_rubber.json 74484a617231a71f821fd1e9ebb6066a4cd7bd48 data\extravaganza\advancement\recipes\building_blocks\magenta_dotted_festive_rubber.json e2538d8bdd6f26fa35ac97d2be8c450fc98c9f11 data\extravaganza\advancement\recipes\building_blocks\tomato_padded_festive_rubber.json 7d5384935b94af14c992e591594beabfddb526a8 data\extravaganza\advancement\recipes\building_blocks\cyan_windowed_festive_rubber.json @@ -497,8 +499,8 @@ a335bfb8d6e287c85f064a4d4f3e8559265e965c data\extravaganza\recipe\lime_poured_fe 47bd4bbbe6630eec6e841e986f3acf950df96251 data\extravaganza\advancement\recipes\building_blocks\purple_wooded_festive_rubber.json 1c639121a373158e23c12660f5534e39fa84fc0a data\extravaganza\advancement\recipes\building_blocks\red_windowed_festive_rubber.json 11d6304988f737cd40f5b5dc1739e105cd9e654d data\extravaganza\advancement\recipes\building_blocks\gray_wooded_festive_rubber.json -30d144aab87b6111184e7812b60e3509059f6765 data\extravaganza\advancement\recipes\building_blocks\nymph_split_festive_rubber.json b1d8642a43783249b3d0b35bc4e90261cf624b3f data\extravaganza\advancement\recipes\building_blocks\nymph_curved_festive_rubber.json +30d144aab87b6111184e7812b60e3509059f6765 data\extravaganza\advancement\recipes\building_blocks\nymph_split_festive_rubber.json 5966395887dfdbf1613ce393d3cc8f5924c2472e data\extravaganza\advancement\recipes\building_blocks\tomato_festive_rubber_grate.json 4296c6ba4b2be0c7a143618d595562b07803e7e7 data\extravaganza\recipe\black_slipped_festive_rubber.json f700a82344bc100b70d62f95589224f0e281d3d9 data\extravaganza\recipe\red_padded_festive_rubber.json @@ -542,8 +544,8 @@ d9109f345496f755810f629b9c8b031bc08a351a data\extravaganza\recipe\light_blue_spl d7a04f9dbc378ef7f91483836ba7616c80472dfa data\extravaganza\recipe\green_festive_rubber_grate.json acfd695fef5194e2894e49f307dde971450c382a data\extravaganza\advancement\recipes\building_blocks\tear_scratched_festive_rubber.json 448f972d54f235adcdfdeadc8fdd9e82af9578a7 data\extravaganza\recipe\blue_festive_rubber.json -1b98de179c1da2d45abaa95b1f10dc08a42e2f4b data\extravaganza\advancement\recipes\building_blocks\lime_perforated_festive_rubber.json eebe10f7f398e6f19a6b4d264e877b0361021597 data\extravaganza\recipe\lime_windowed_festive_rubber.json +1b98de179c1da2d45abaa95b1f10dc08a42e2f4b data\extravaganza\advancement\recipes\building_blocks\lime_perforated_festive_rubber.json 9c320417f0705690e41fd177c56d455dbbb9e44e data\extravaganza\advancement\recipes\building_blocks\green_curved_festive_rubber.json 78dd7b8fdad82680b5b348bed7b637d45932adb6 data\extravaganza\recipe\plant_windowed_festive_rubber.json dca71368987251f429e057dae0c77878d67b2f3f data\extravaganza\advancement\recipes\building_blocks\cyan_festive_rubber.json @@ -562,8 +564,8 @@ bfa7ec87c4d198006960c8e1989dd43159018a94 data\extravaganza\advancement\recipes\b 7501a7d684a8ecd24168661ea2c168aed74ccdad data\extravaganza\recipe\white_poured_festive_rubber.json 9f650ba0476631fa0380181b06557cb0dd3c3b1c data\extravaganza\recipe\light_blue_padded_festive_rubber.json 7bb4c7a1db771cf7bc3d52f0d43f25034b7fe037 data\extravaganza\advancement\recipes\building_blocks\yellow_poured_festive_rubber.json -da1abd6be70dcbd0fa4bad376b7940aaa3f9fab5 data\extravaganza\advancement\recipes\building_blocks\purple_barred_festive_rubber.json ba74d995c7532622e3df8e04afcadeba2a84308a data\extravaganza\advancement\recipes\building_blocks\purple_split_festive_rubber.json +da1abd6be70dcbd0fa4bad376b7940aaa3f9fab5 data\extravaganza\advancement\recipes\building_blocks\purple_barred_festive_rubber.json 714361cff4ab2cc3e5b2302b38090bf0f9c0d640 data\extravaganza\advancement\recipes\building_blocks\brown_festive_rubber.json 3365bb6bd2c5eea95a450b348cd49dcfc1fa4d84 data\extravaganza\recipe\green_perforated_festive_rubber.json 89835ae1845cdb2a1f075303604580895629fbd6 data\extravaganza\advancement\recipes\building_blocks\purple_curved_festive_rubber.json @@ -618,8 +620,8 @@ f8e742163c855a6d14501e0ddb7465ebe0c120e3 data\extravaganza\recipe\white_perforat 0b4ec48dfed0f74c561cf749a7abfb5a74b2f2ff data\extravaganza\advancement\recipes\building_blocks\red_curved_festive_rubber.json ac481e79e76fa1b8486b40f9b822b1791539fbb4 data\extravaganza\recipe\magenta_sharped_festive_rubber.json 2d6b4ccae6df71415bf46a241f5ef24e58cb6ad6 data\extravaganza\advancement\recipes\building_blocks\orange_windowed_festive_rubber.json -771ffdd199a8e5b94f15a47c243bb800fffbc1d4 data\extravaganza\recipe\plant_wooded_festive_rubber.json fe41a422100ff6d399043539b23b28fa3b7c2ce3 data\extravaganza\advancement\recipes\building_blocks\plant_bent_festive_rubber.json +771ffdd199a8e5b94f15a47c243bb800fffbc1d4 data\extravaganza\recipe\plant_wooded_festive_rubber.json 6797e361ce86ed3c13cffd0baebad8498ec0ad9e data\extravaganza\advancement\recipes\building_blocks\purple_poured_festive_rubber.json 31672f4fdee1088df505e1dde3972576a0094875 data\extravaganza\recipe\pink_festive_rubber.json 771b441b543adb89a4fac05e3aed88060f3801c7 data\extravaganza\advancement\recipes\building_blocks\green_wooded_festive_rubber.json @@ -685,8 +687,8 @@ eb5e24771f66327ddbbf0d593194ca5e46228820 data\extravaganza\recipe\light_gray_cur 25878b7399ed19b3f05807c5d2afe96218ff8ab7 data\extravaganza\advancement\recipes\building_blocks\yellow_bent_festive_rubber.json a8fd72bf754ff9ec9efe6c1e520cabd2dc91c831 data\extravaganza\advancement\recipes\building_blocks\tear_split_festive_rubber.json e979189080291be3b0aad91817a947ca2e8ded75 data\extravaganza\recipe\blue_wooded_festive_rubber.json -559147d664cf4421cddf27ba887f6b43c6ec03e4 data\extravaganza\advancement\recipes\building_blocks\light_blue_sharped_festive_rubber.json 29fc7f290c3021a9e0a2c25b3fc3f00f8d7988e2 data\extravaganza\advancement\recipes\building_blocks\light_blue_wooded_festive_rubber.json +559147d664cf4421cddf27ba887f6b43c6ec03e4 data\extravaganza\advancement\recipes\building_blocks\light_blue_sharped_festive_rubber.json 93e4a9bc2765ffc8d5d052ace33541e79dbe2832 data\extravaganza\advancement\recipes\building_blocks\brown_sharped_festive_rubber.json f522a1763bf1e7b780c1de5da5b12047c7aab8da data\extravaganza\advancement\recipes\building_blocks\gray_perforated_festive_rubber.json e8b6597a1e6a436d26236a28b8e5963d99dd15b1 data\extravaganza\advancement\recipes\building_blocks\black_scratched_festive_rubber.json diff --git a/src/main/generated/.cache/ea38d437bba961a39355c1fcb8fe7bfeb267e512 b/src/main/generated/.cache/ea38d437bba961a39355c1fcb8fe7bfeb267e512 index 1c6c3c41..b12ab140 100644 --- a/src/main/generated/.cache/ea38d437bba961a39355c1fcb8fe7bfeb267e512 +++ b/src/main/generated/.cache/ea38d437bba961a39355c1fcb8fe7bfeb267e512 @@ -1,2 +1,2 @@ -// 1.21 2024-06-20T14:37:00.0141748 Extravaganza!/Language (en_us) -2ba251ed9e924532d59ee8b1fce36fd01081cca3 assets\extravaganza\lang\en_us.json +// 1.21 2024-06-21T00:55:03.9298631 Extravaganza!/Language (en_us) +cfa57a699d6128d2af8ef326bcd7f463421e2ca3 assets\extravaganza\lang\en_us.json diff --git a/src/main/generated/assets/extravaganza/blockstates/ball_pool_inscription_table.json b/src/main/generated/assets/extravaganza/blockstates/ball_pool_inscription_table.json deleted file mode 100644 index 30e284b5..00000000 --- a/src/main/generated/assets/extravaganza/blockstates/ball_pool_inscription_table.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "variants": { - "facing=east": { - "model": "extravaganza:block/ball_pool_inscription_table", - "y": 90 - }, - "facing=north": { - "model": "extravaganza:block/ball_pool_inscription_table" - }, - "facing=south": { - "model": "extravaganza:block/ball_pool_inscription_table", - "y": 180 - }, - "facing=west": { - "model": "extravaganza:block/ball_pool_inscription_table", - "y": 270 - } - } -} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/blockstates/ball_pool_registration_table.json b/src/main/generated/assets/extravaganza/blockstates/ball_pool_registration_table.json new file mode 100644 index 00000000..607c38c0 --- /dev/null +++ b/src/main/generated/assets/extravaganza/blockstates/ball_pool_registration_table.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "extravaganza:block/ball_pool_registration_table", + "y": 90 + }, + "facing=north": { + "model": "extravaganza:block/ball_pool_registration_table" + }, + "facing=south": { + "model": "extravaganza:block/ball_pool_registration_table", + "y": 180 + }, + "facing=west": { + "model": "extravaganza:block/ball_pool_registration_table", + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_log.json b/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_log.json index f761633c..89544812 100644 --- a/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_log.json +++ b/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_log.json @@ -1,14 +1,26 @@ { "variants": { - "axis=x": { + "axis=x,rubber=false": { "model": "extravaganza:block/hevea_brasiliensis_log_horizontal", "x": 90, "y": 90 }, - "axis=y": { + "axis=x,rubber=true": { + "model": "extravaganza:block/hevea_brasiliensis_log_horizontal", + "x": 90, + "y": 90 + }, + "axis=y,rubber=false": { "model": "extravaganza:block/hevea_brasiliensis_log" }, - "axis=z": { + "axis=y,rubber=true": { + "model": "extravaganza:block/hevea_brasiliensis_log_rubber" + }, + "axis=z,rubber=false": { + "model": "extravaganza:block/hevea_brasiliensis_log_horizontal", + "x": 90 + }, + "axis=z,rubber=true": { "model": "extravaganza:block/hevea_brasiliensis_log_horizontal", "x": 90 } diff --git a/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_sapling.json b/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_sapling.json new file mode 100644 index 00000000..e1529113 --- /dev/null +++ b/src/main/generated/assets/extravaganza/blockstates/hevea_brasiliensis_sapling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "extravaganza:block/hevea_brasiliensis_sapling" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/lang/en_us.json b/src/main/generated/assets/extravaganza/lang/en_us.json index 48ff465e..26bd0674 100644 --- a/src/main/generated/assets/extravaganza/lang/en_us.json +++ b/src/main/generated/assets/extravaganza/lang/en_us.json @@ -1,7 +1,7 @@ { "block.extravaganza.ball_distributor": "Ball Distributor", "block.extravaganza.ball_pool_content": "Ball Pool Content", - "block.extravaganza.ball_pool_inscription_table": "Ball Pool Inscription Table", + "block.extravaganza.ball_pool_registration_table": "Ball Pool Registration Table", "block.extravaganza.black_barred_festive_rubber": "Black Barred Festive Rubber", "block.extravaganza.black_barred_festive_rubber_slab": "Black Barred Festive Rubber Slab", "block.extravaganza.black_barred_festive_rubber_stairs": "Black Barred Festive Rubber Stairs", @@ -455,6 +455,7 @@ "block.extravaganza.hevea_brasiliensis_log": "Hevea Brasiliensis Log", "block.extravaganza.hevea_brasiliensis_planks": "Hevea Brasiliensis Planks", "block.extravaganza.hevea_brasiliensis_pressure_plate": "Hevea Brasiliensis Pressure Plate", + "block.extravaganza.hevea_brasiliensis_sapling": "Hevea Brasiliensis Sapling", "block.extravaganza.hevea_brasiliensis_slab": "Hevea Brasiliensis Slab", "block.extravaganza.hevea_brasiliensis_stairs": "Hevea Brasiliensis Stairs", "block.extravaganza.hevea_brasiliensis_trapdoor": "Hevea Brasiliensis Trapdoor", @@ -1511,6 +1512,7 @@ "item.extravaganza.common_festive_coin": "Common Festive Coin", "item.extravaganza.creeper_balloon": "Creeper Balloon", "item.extravaganza.cyan_festive_ball": "Cyan Festive Ball", + "item.extravaganza.empty_popcorn": "Empty Popcorn", "item.extravaganza.golden_candy_cane": "Golden Candy Cane", "item.extravaganza.golden_festive_coin": "Golden Festive Coin", "item.extravaganza.gray_festive_ball": "Gray Festive Ball", @@ -1527,6 +1529,7 @@ "item.extravaganza.orange_festive_ball": "Orange Festive Ball", "item.extravaganza.pink_festive_ball": "Pink Festive Ball", "item.extravaganza.plant_festive_ball": "Plant Festive Ball", + "item.extravaganza.popcorn": "Popcorn", "item.extravaganza.purple_festive_ball": "Purple Festive Ball", "item.extravaganza.red_candy_cane": "Red Candy Cane", "item.extravaganza.red_festive_ball": "Red Festive Ball", @@ -1542,5 +1545,7 @@ "message.extravaganza.trash_can.opening_trash": "The player can throw entities to trash by putting them on top of the opened trash.", "message.extravaganza.trash_can.quick_throw": "The player can throw items to trash (one by one) by sneaking + right-clicking whenever the trash is open or not.", "message.extravaganza.trash_can.right_click": "The player can open the trash by right-clicking.", - "message.extravaganza.trash_can.throw_whole_stack": "If the player wants to throw an entire stack, he needs to open the trash and then throw the whole stack." + "message.extravaganza.trash_can.throw_whole_stack": "If the player wants to throw an entire stack, he needs to open the trash and then throw the whole stack.", + "painting.extravaganza.reflect.author": "Aeramisu", + "painting.extravaganza.reflect.title": "Reflect" } \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/block/hevea_brasiliensis_log_rubber.json b/src/main/generated/assets/extravaganza/models/block/hevea_brasiliensis_log_rubber.json new file mode 100644 index 00000000..b6f8ee2e --- /dev/null +++ b/src/main/generated/assets/extravaganza/models/block/hevea_brasiliensis_log_rubber.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "extravaganza:block/hevea_brasiliensis_log_top", + "side": "extravaganza:block/hevea_brasiliensis_log_rubber" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/item/ball_pool_inscription_table.json b/src/main/generated/assets/extravaganza/models/item/ball_pool_inscription_table.json deleted file mode 100644 index 8ab74bdb..00000000 --- a/src/main/generated/assets/extravaganza/models/item/ball_pool_inscription_table.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "extravaganza:block/ball_pool_inscription_table" -} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/item/ball_pool_registration_table.json b/src/main/generated/assets/extravaganza/models/item/ball_pool_registration_table.json new file mode 100644 index 00000000..4da99e85 --- /dev/null +++ b/src/main/generated/assets/extravaganza/models/item/ball_pool_registration_table.json @@ -0,0 +1,3 @@ +{ + "parent": "extravaganza:block/ball_pool_registration_table" +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/item/empty_popcorn.json b/src/main/generated/assets/extravaganza/models/item/empty_popcorn.json new file mode 100644 index 00000000..7eceb522 --- /dev/null +++ b/src/main/generated/assets/extravaganza/models/item/empty_popcorn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "extravaganza:item/empty_popcorn" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/item/hevea_brasiliensis_sapling.json b/src/main/generated/assets/extravaganza/models/item/hevea_brasiliensis_sapling.json new file mode 100644 index 00000000..0786b7c6 --- /dev/null +++ b/src/main/generated/assets/extravaganza/models/item/hevea_brasiliensis_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "extravaganza:block/hevea_brasiliensis_sapling" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/extravaganza/models/item/popcorn.json b/src/main/generated/assets/extravaganza/models/item/popcorn.json new file mode 100644 index 00000000..dae78e6e --- /dev/null +++ b/src/main/generated/assets/extravaganza/models/item/popcorn.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "extravaganza:item/popcorn" + } +} \ No newline at end of file diff --git a/src/main/generated/data/extravaganza/advancement/recipes/tools/rubber.json b/src/main/generated/data/extravaganza/advancement/recipes/tools/rubber.json new file mode 100644 index 00000000..5e243735 --- /dev/null +++ b/src/main/generated/data/extravaganza/advancement/recipes/tools/rubber.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_rubber": { + "conditions": { + "items": [ + { + "items": "extravaganza:rubber" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "extravaganza:rubber" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_rubber" + ] + ], + "rewards": { + "recipes": [ + "extravaganza:rubber" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_registration_table.json b/src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_registration_table.json new file mode 100644 index 00000000..2bcf8429 --- /dev/null +++ b/src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_registration_table.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "extravaganza:ball_pool_registration_table" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_inscription_table.json b/src/main/generated/data/extravaganza/loot_table/blocks/hevea_brasiliensis_sapling.json similarity index 82% rename from src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_inscription_table.json rename to src/main/generated/data/extravaganza/loot_table/blocks/hevea_brasiliensis_sapling.json index e602311c..5927c5af 100644 --- a/src/main/generated/data/extravaganza/loot_table/blocks/ball_pool_inscription_table.json +++ b/src/main/generated/data/extravaganza/loot_table/blocks/hevea_brasiliensis_sapling.json @@ -11,7 +11,7 @@ "entries": [ { "type": "minecraft:item", - "name": "extravaganza:ball_pool_inscription_table" + "name": "extravaganza:hevea_brasiliensis_sapling" } ], "rolls": 1.0 diff --git a/src/main/generated/data/extravaganza/recipe/rubber.json b/src/main/generated/data/extravaganza/recipe/rubber.json new file mode 100644 index 00000000..1b6d13bc --- /dev/null +++ b/src/main/generated/data/extravaganza/recipe/rubber.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "key": { + "I": { + "item": "minecraft:iron_ingot" + } + }, + "pattern": [ + "III", + "I ", + "I " + ], + "result": { + "count": 1, + "id": "extravaganza:rubber" + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json index 99e4ba1d..191174ab 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -14,7 +14,8 @@ "extravaganza:hevea_brasiliensis_pressure_plate", "extravaganza:hevea_brasiliensis_button", "extravaganza:hevea_brasiliensis_leaves", - "extravaganza:ball_pool_inscription_table", + "extravaganza:hevea_brasiliensis_sapling", + "extravaganza:ball_pool_registration_table", "extravaganza:ball_distributor", "extravaganza:popcorn_machine", "extravaganza:black_trash_can", diff --git a/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json index 99e4ba1d..191174ab 100644 --- a/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json +++ b/src/main/generated/data/minecraft/tags/block/needs_stone_tool.json @@ -14,7 +14,8 @@ "extravaganza:hevea_brasiliensis_pressure_plate", "extravaganza:hevea_brasiliensis_button", "extravaganza:hevea_brasiliensis_leaves", - "extravaganza:ball_pool_inscription_table", + "extravaganza:hevea_brasiliensis_sapling", + "extravaganza:ball_pool_registration_table", "extravaganza:ball_distributor", "extravaganza:popcorn_machine", "extravaganza:black_trash_can", diff --git a/src/main/java/com/mmodding/extravaganza/Extravaganza.java b/src/main/java/com/mmodding/extravaganza/Extravaganza.java index a87ef43a..c22c373b 100644 --- a/src/main/java/com/mmodding/extravaganza/Extravaganza.java +++ b/src/main/java/com/mmodding/extravaganza/Extravaganza.java @@ -3,12 +3,15 @@ import com.mmodding.extravaganza.init.*; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; import net.fabricmc.fabric.api.event.registry.DynamicRegistrySetupCallback; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.entry.RegistryEntry; +import net.minecraft.server.command.CommandManager; import net.minecraft.util.Identifier; +import net.minecraft.util.math.Vec3d; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -30,11 +33,28 @@ public void onInitialize() { ExtravaganzaGameRules.register(); ExtravaganzaParticleTypes.register(); ExtravaganzaWorldGeneration.register(); + ExtravaganzaDataAttachments.register(); DynamicRegistrySetupCallback.EVENT.register(view -> { if (view.getOptional(RegistryKeys.CONFIGURED_FEATURE).isPresent() && view.getOptional(RegistryKeys.PLACED_FEATURE).isPresent()) { ExtravaganzaWorldGeneration.callback(view.getOptional(RegistryKeys.CONFIGURED_FEATURE).get(), view.getOptional(RegistryKeys.PLACED_FEATURE).get()); } }); + CommandRegistrationCallback.EVENT.register((dispatcher, registries, environment) -> { + dispatcher.register(CommandManager.literal("before-entering-poll") + .executes(context -> { + if (context.getSource().getPlayer() != null && context.getSource().getPlayer().hasAttached(ExtravaganzaDataAttachments.BEFORE_ENTERING_POOL)) { + Vec3d position = context.getSource().getPlayer().getAttached(ExtravaganzaDataAttachments.BEFORE_ENTERING_POOL); + assert position != null; + context.getSource().getPlayer().teleport(position.getX(), position.getY(), position.getZ(), false); + context.getSource().getPlayer().removeAttached(ExtravaganzaDataAttachments.BEFORE_ENTERING_POOL); + return 1; + } + else { + return 0; + } + }) + ); + }); } public static Logger getLogger() { diff --git a/src/main/java/com/mmodding/extravaganza/ExtravaganzaDataGenerator.java b/src/main/java/com/mmodding/extravaganza/ExtravaganzaDataGenerator.java index 7a2dc130..7996acb5 100644 --- a/src/main/java/com/mmodding/extravaganza/ExtravaganzaDataGenerator.java +++ b/src/main/java/com/mmodding/extravaganza/ExtravaganzaDataGenerator.java @@ -1,6 +1,7 @@ package com.mmodding.extravaganza; import com.mmodding.extravaganza.block.BallDistributorBlock; +import com.mmodding.extravaganza.block.HeveaBrasiliensisLog; import com.mmodding.extravaganza.block.TrashCanBlock; import com.mmodding.extravaganza.init.ExtravaganzaBlocks; import com.mmodding.extravaganza.init.ExtravaganzaItems; @@ -16,6 +17,7 @@ import net.minecraft.data.server.recipe.*; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; +import net.minecraft.item.Items; import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.book.RecipeCategory; import net.minecraft.registry.Registries; @@ -97,6 +99,8 @@ public void generateTranslations(RegistryWrapper.WrapperLookup registryLookup, T translationBuilder.add("message.extravaganza.trash_can.quick_throw", "The player can throw items to trash (one by one) by sneaking + right-clicking whenever the trash is open or not."); translationBuilder.add("message.extravaganza.trash_can.opening_trash", "The player can throw entities to trash by putting them on top of the opened trash."); translationBuilder.add("message.extravaganza.trash_can.throw_whole_stack", "If the player wants to throw an entire stack, he needs to open the trash and then throw the whole stack."); + translationBuilder.add("painting.extravaganza.reflect.author", "Aeramisu"); + translationBuilder.add("painting.extravaganza.reflect.title", "Reflect"); Extravaganza.executeKeyForRegistry(Registries.ITEM, key -> translationBuilder.add(Registries.ITEM.get(key), this.makeItReadable(key))); } @@ -122,8 +126,9 @@ public static class ExtravaganzaModelProvider extends FabricModelProvider { block instanceof TransparentBlock || block instanceof TrashCanBlock || block instanceof LadderBlock || - block.equals(ExtravaganzaBlocks.BALL_POOL_INSCRIPTION_TABLE) || + block.equals(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE) || block.equals(ExtravaganzaBlocks.BALL_POOL_CONTENT) || + block.equals(ExtravaganzaBlocks.BALL_POOL_PROTECTION) || block.equals(ExtravaganzaBlocks.BALL_DISTRIBUTOR) || block.equals(ExtravaganzaBlocks.POPCORN_MACHINE) || block.equals(ExtravaganzaBlocks.GARLAND) || @@ -145,8 +150,66 @@ private ExtravaganzaModelProvider(FabricDataOutput output) { @Override public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { + Block logBlock = ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LOG; + Identifier cubeColumn = Models.CUBE_COLUMN.upload(logBlock, TextureMap.sideAndEndForTop(logBlock), blockStateModelGenerator.modelCollector); + Identifier cubeColumnHorizontal = Models.CUBE_COLUMN_HORIZONTAL.upload(logBlock, TextureMap.sideAndEndForTop(logBlock), blockStateModelGenerator.modelCollector); + Identifier cubeColumnRubber = Models.CUBE_COLUMN.upload( + logBlock, + "_rubber", + new TextureMap() + .put(TextureKey.SIDE, TextureMap.getSubId(logBlock, "_rubber")) + .put(TextureKey.END, TextureMap.getSubId(logBlock, "_top")) + .put(TextureKey.PARTICLE, TextureMap.getSubId(logBlock, "rubber")), + blockStateModelGenerator.modelCollector + ); + VariantsBlockStateSupplier supplier = VariantsBlockStateSupplier.create(logBlock) + .coordinate( + BlockStateVariantMap.create(HeveaBrasiliensisLog.AXIS, HeveaBrasiliensisLog.RUBBER) + .register( + Direction.Axis.Y, + false, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumn) + ) + .register( + Direction.Axis.Z, + false, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumnHorizontal) + .put(VariantSettings.X, VariantSettings.Rotation.R90) + ) + .register( + Direction.Axis.X, + false, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumnHorizontal) + .put(VariantSettings.X, VariantSettings.Rotation.R90) + .put(VariantSettings.Y, VariantSettings.Rotation.R90) + ) + .register( + Direction.Axis.Y, + true, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumnRubber) + ) + .register( + Direction.Axis.Z, + true, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumnHorizontal) + .put(VariantSettings.X, VariantSettings.Rotation.R90) + ) + .register( + Direction.Axis.X, + true, + BlockStateVariant.create() + .put(VariantSettings.MODEL, cubeColumnHorizontal) + .put(VariantSettings.X, VariantSettings.Rotation.R90) + .put(VariantSettings.Y, VariantSettings.Rotation.R90) + ) + ); + blockStateModelGenerator.blockStateCollector.accept(supplier); BlockStateModelGenerator.LogTexturePool log = blockStateModelGenerator.registerLog(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LOG); - log.log(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LOG); log.wood(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_WOOD); BlockStateModelGenerator.LogTexturePool stripped = blockStateModelGenerator.registerLog(ExtravaganzaBlocks.STRIPPED_HEVEA_BRASILIENSIS_LOG); stripped.log(ExtravaganzaBlocks.STRIPPED_HEVEA_BRASILIENSIS_LOG); @@ -161,6 +224,8 @@ public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGen planks.pressurePlate(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_PRESSURE_PLATE); planks.button(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_BUTTON); blockStateModelGenerator.registerSingleton(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LEAVES, TexturedModel.LEAVES); + blockStateModelGenerator.registerSimpleState(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_SAPLING); + blockStateModelGenerator.registerItemModel(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_SAPLING); Extravaganza.executeForRegistry(Registries.BLOCK, block -> { if (!ExtravaganzaModelProvider.UNCOMMON_BLOCKS.test(block) && !Registries.BLOCK.getId(block).getPath().contains("hevea_brasiliensis")) { if (!(block instanceof StairsBlock) && !(block instanceof SlabBlock) && !(block instanceof WallBlock)) { @@ -275,9 +340,9 @@ else if (block.equals(ExtravaganzaBlocks.GARLAND)) { .with(When.create().set(Properties.EAST, true), BlockStateVariant.create().put(VariantSettings.MODEL, east)) ); } - else if (block.equals(ExtravaganzaBlocks.BALL_POOL_INSCRIPTION_TABLE) || block.equals(ExtravaganzaBlocks.POPCORN_MACHINE)) { + else if (block.equals(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE) || block.equals(ExtravaganzaBlocks.POPCORN_MACHINE)) { blockStateModelGenerator.registerNorthDefaultHorizontalRotation(block); - if (block.equals(ExtravaganzaBlocks.BALL_POOL_INSCRIPTION_TABLE)) { + if (block.equals(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE)) { blockStateModelGenerator.registerParentedItemModel(block, ModelIds.getBlockModelId(block)); } } @@ -415,6 +480,13 @@ public void generate(RecipeExporter exporter) { Registries.ITEM.get(Extravaganza.createId(color.asString() + "_festive_rubber_grate")) ).criterion(ExtravaganzaRecipeProvider.hasItem(item), ExtravaganzaRecipeProvider.conditionsFromItem(item)).offerTo(exporter); }); + ShapedRecipeJsonBuilder.create(RecipeCategory.TOOLS, ExtravaganzaItems.RUBBER) + .criterion(ExtravaganzaRecipeProvider.hasItem(ExtravaganzaItems.RUBBER), ExtravaganzaRecipeProvider.conditionsFromItem(ExtravaganzaItems.RUBBER)) + .input('I', Items.IRON_INGOT) + .pattern("III") + .pattern("I ") + .pattern("I ") + .offerTo(exporter); } } diff --git a/src/main/java/com/mmodding/extravaganza/block/BallPoolContentBlock.java b/src/main/java/com/mmodding/extravaganza/block/BallPoolContentBlock.java index 2cd462d5..846ca82e 100644 --- a/src/main/java/com/mmodding/extravaganza/block/BallPoolContentBlock.java +++ b/src/main/java/com/mmodding/extravaganza/block/BallPoolContentBlock.java @@ -1,10 +1,22 @@ package com.mmodding.extravaganza.block; import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.IntProperty; +import net.minecraft.state.property.Properties; public class BallPoolContentBlock extends Block { + public static final IntProperty POWER = Properties.POWER; + public BallPoolContentBlock(Settings settings) { super(settings); + this.setDefaultState(this.getDefaultState().with(BallPoolContentBlock.POWER, 3)); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(BallPoolContentBlock.POWER); } } diff --git a/src/main/java/com/mmodding/extravaganza/block/BallPoolInscriptionTableBlock.java b/src/main/java/com/mmodding/extravaganza/block/BallPoolInscriptionTableBlock.java deleted file mode 100644 index ceaac8e8..00000000 --- a/src/main/java/com/mmodding/extravaganza/block/BallPoolInscriptionTableBlock.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.mmodding.extravaganza.block; - -import com.mmodding.extravaganza.block.entity.BallPoolInscriptionTableBlockEntity; -import com.mojang.serialization.MapCodec; -import net.minecraft.block.Block; -import net.minecraft.block.BlockRenderType; -import net.minecraft.block.BlockState; -import net.minecraft.block.BlockWithEntity; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.item.ItemPlacementContext; -import net.minecraft.item.ItemStack; -import net.minecraft.state.StateManager; -import net.minecraft.state.property.DirectionProperty; -import net.minecraft.state.property.Properties; -import net.minecraft.util.BlockMirror; -import net.minecraft.util.BlockRotation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; -import org.jetbrains.annotations.Nullable; - -// This block will manage the full Ball Pool, including changing the power of the velocity in example. -public class BallPoolInscriptionTableBlock extends BlockWithEntity { - - public static final MapCodec CODEC = BallPoolInscriptionTableBlock.createCodec(BallPoolInscriptionTableBlock::new); - - public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING; - - public BallPoolInscriptionTableBlock(Settings settings) { - super(settings); - } - - @Override - protected MapCodec getCodec() { - return BallPoolInscriptionTableBlock.CODEC; - } - - @Nullable - @Override - public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { - return new BallPoolInscriptionTableBlockEntity(pos, state); - } - - @Override - protected BlockRenderType getRenderType(BlockState state) { - return BlockRenderType.MODEL; - } - - @Override - public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) { - if (world.getBlockEntity(pos) instanceof BallPoolInscriptionTableBlockEntity bpitbe) { - bpitbe.setScannedStart(pos); - bpitbe.setScannedEnd(pos); - } - super.onPlaced(world, pos, state, placer, itemStack); - } - - @Override - protected BlockState rotate(BlockState state, BlockRotation rotation) { - return state.with(BallPoolInscriptionTableBlock.FACING, rotation.rotate(state.get(BallPoolInscriptionTableBlock.FACING))); - } - - @Override - protected BlockState mirror(BlockState state, BlockMirror mirror) { - return state.rotate(mirror.getRotation(state.get(BallPoolInscriptionTableBlock.FACING))); - } - - @Override - public BlockState getPlacementState(ItemPlacementContext ctx) { - return this.getDefaultState().with(BallPoolInscriptionTableBlock.FACING, ctx.getHorizontalPlayerFacing().getOpposite()); - } - - @Override - protected void appendProperties(StateManager.Builder builder) { - builder.add(BallPoolInscriptionTableBlock.FACING); - } -} diff --git a/src/main/java/com/mmodding/extravaganza/block/BallPoolProtectionBlock.java b/src/main/java/com/mmodding/extravaganza/block/BallPoolProtectionBlock.java new file mode 100644 index 00000000..80dd39c8 --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/block/BallPoolProtectionBlock.java @@ -0,0 +1,48 @@ +package com.mmodding.extravaganza.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; +import net.minecraft.block.BlockState; +import net.minecraft.block.ShapeContext; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.shape.VoxelShape; +import net.minecraft.util.shape.VoxelShapes; +import net.minecraft.world.BlockView; + +public class BallPoolProtectionBlock extends Block { + + public BallPoolProtectionBlock(Settings settings) { + super(settings); + } + + @Override + protected BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.INVISIBLE; + } + + @Override + protected boolean isTransparent(BlockState state, BlockView world, BlockPos pos) { + return true; + } + + @Override + protected int getOpacity(BlockState state, BlockView world, BlockPos pos) { + return 0; + } + + @Override + protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + return VoxelShapes.empty(); + } + + @Override + protected VoxelShape getCollisionShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) { + for (Direction direction : Direction.values()) { + if (world.getBlockState(pos.offset(direction)).isAir()) { + return VoxelShapes.cuboid(0.0, 0.1, 0.0, 1.0, 1.0, 1.0); + } + } + return VoxelShapes.empty(); + } +} diff --git a/src/main/java/com/mmodding/extravaganza/block/BallPoolRegistrationTableBlock.java b/src/main/java/com/mmodding/extravaganza/block/BallPoolRegistrationTableBlock.java new file mode 100644 index 00000000..d8524482 --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/block/BallPoolRegistrationTableBlock.java @@ -0,0 +1,128 @@ +package com.mmodding.extravaganza.block; + +import com.mmodding.extravaganza.block.entity.BallPoolRegistrationTableBlockEntity; +import com.mmodding.extravaganza.init.ExtravaganzaBlockEntities; +import com.mmodding.extravaganza.init.ExtravaganzaDataAttachments; +import com.mmodding.extravaganza.init.ExtravaganzaItems; +import com.mojang.serialization.MapCodec; +import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; +import net.minecraft.block.BlockState; +import net.minecraft.block.BlockWithEntity; +import net.minecraft.block.entity.BlockEntity; +import net.minecraft.block.entity.BlockEntityTicker; +import net.minecraft.block.entity.BlockEntityType; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.item.ItemStack; +import net.minecraft.item.Items; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.state.property.DirectionProperty; +import net.minecraft.state.property.Properties; +import net.minecraft.text.Text; +import net.minecraft.util.*; +import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.Direction; +import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; +import org.jetbrains.annotations.Nullable; + +// This block will manage the full Ball Pool, including changing the power of the velocity in example. +public class BallPoolRegistrationTableBlock extends BlockWithEntity { + + public static final MapCodec CODEC = BallPoolRegistrationTableBlock.createCodec(BallPoolRegistrationTableBlock::new); + + public static final DirectionProperty FACING = Properties.HORIZONTAL_FACING; + + public static final BooleanProperty LOCK_SCAN = BooleanProperty.of("lock_scan"); + public static final BooleanProperty LOCK_SETTINGS = BooleanProperty.of("lock_settings"); + + public BallPoolRegistrationTableBlock(Settings settings) { + super(settings); + this.setDefaultState(this.getDefaultState().with(BallPoolRegistrationTableBlock.FACING, Direction.NORTH).with(BallPoolRegistrationTableBlock.LOCK_SCAN, false).with(BallPoolRegistrationTableBlock.LOCK_SETTINGS, false)); + } + + @Override + protected MapCodec getCodec() { + return BallPoolRegistrationTableBlock.CODEC; + } + + @Nullable + @Override + public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { + return new BallPoolRegistrationTableBlockEntity(pos, state); + } + + @Override + protected BlockRenderType getRenderType(BlockState state) { + return BlockRenderType.MODEL; + } + + @Override + protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { + if (world.getBlockEntity(pos) instanceof BallPoolRegistrationTableBlockEntity bpitbe) { + if (player instanceof ServerPlayerEntity serverPlayer) { + serverPlayer.setAttached(ExtravaganzaDataAttachments.BEFORE_ENTERING_POOL, serverPlayer.getPos()); + } + Vec3d center = bpitbe.getRelativeFullScanned(pos).getCenter(); + player.teleport(center.getX(), center.getY(), center.getZ(), false); + } + return ActionResult.SUCCESS; + } + + @Override + protected ItemActionResult onUseWithItem(ItemStack stack, BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { + if (player.getStackInHand(hand).isOf(ExtravaganzaItems.WRENCH_AGANZA) || player.getStackInHand(hand).isOf(Items.DEBUG_STICK)) { + return ItemActionResult.FAIL; + } + else { + return ItemActionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION; + } + } + + @Override + protected void onBlockBreakStart(BlockState state, World world, BlockPos pos, PlayerEntity player) { + if (world.getBlockEntity(pos) instanceof BallPoolRegistrationTableBlockEntity bpitbe && !world.getBlockState(pos).get(BallPoolRegistrationTableBlock.LOCK_SCAN)) { + bpitbe.switchSelectionMode(); + if (!world.isClient()) { + Object object; + if (bpitbe.getSelectionMode().equals(BallPoolRegistrationTableBlockEntity.SelectionMode.SOURCE)) { + object = bpitbe.isSource(); + } else { + object = bpitbe.getScannedCurrent(); + } + player.sendMessage(Text.literal(bpitbe.getSelectionMode().asString() + ": " + object), true); + } + } + } + + @Override + public BlockEntityTicker getTicker(World world, BlockState state, BlockEntityType type) { + return BallPoolRegistrationTableBlock.validateTicker(type, ExtravaganzaBlockEntities.BALL_POOl_REGISTRATION_TABLE, BallPoolRegistrationTableBlockEntity::tick); + } + + @Override + protected BlockState rotate(BlockState state, BlockRotation rotation) { + return state.with(BallPoolRegistrationTableBlock.FACING, rotation.rotate(state.get(BallPoolRegistrationTableBlock.FACING))); + } + + @Override + protected BlockState mirror(BlockState state, BlockMirror mirror) { + return state.rotate(mirror.getRotation(state.get(BallPoolRegistrationTableBlock.FACING))); + } + + @Override + public BlockState getPlacementState(ItemPlacementContext ctx) { + return this.getDefaultState().with(BallPoolRegistrationTableBlock.FACING, ctx.getHorizontalPlayerFacing().getOpposite()); + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + builder.add(BallPoolRegistrationTableBlock.FACING); + builder.add(BallPoolRegistrationTableBlock.LOCK_SCAN); + builder.add(BallPoolRegistrationTableBlock.LOCK_SETTINGS); + } +} diff --git a/src/main/java/com/mmodding/extravaganza/block/HeveaBrasiliensisLog.java b/src/main/java/com/mmodding/extravaganza/block/HeveaBrasiliensisLog.java new file mode 100644 index 00000000..188eb4f7 --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/block/HeveaBrasiliensisLog.java @@ -0,0 +1,33 @@ +package com.mmodding.extravaganza.block; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.block.PillarBlock; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.state.StateManager; +import net.minecraft.state.property.BooleanProperty; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; + +public class HeveaBrasiliensisLog extends PillarBlock { + + public static final BooleanProperty RUBBER = BooleanProperty.of("rubber"); + + public HeveaBrasiliensisLog(Settings settings) { + super(settings); + this.setDefaultState(this.getDefaultState().with(HeveaBrasiliensisLog.RUBBER, false)); + } + + @Override + protected void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random) { + if (!state.get(HeveaBrasiliensisLog.RUBBER) && world.getRandom().nextFloat() < 0.25f) { + world.setBlockState(pos, state.with(HeveaBrasiliensisLog.RUBBER, true)); + } + } + + @Override + protected void appendProperties(StateManager.Builder builder) { + super.appendProperties(builder); + builder.add(HeveaBrasiliensisLog.RUBBER); + } +} diff --git a/src/main/java/com/mmodding/extravaganza/block/entity/BallPoolInscriptionTableBlockEntity.java b/src/main/java/com/mmodding/extravaganza/block/entity/BallPoolRegistrationTableBlockEntity.java similarity index 75% rename from src/main/java/com/mmodding/extravaganza/block/entity/BallPoolInscriptionTableBlockEntity.java rename to src/main/java/com/mmodding/extravaganza/block/entity/BallPoolRegistrationTableBlockEntity.java index 37bf1fb8..4c13c502 100644 --- a/src/main/java/com/mmodding/extravaganza/block/entity/BallPoolInscriptionTableBlockEntity.java +++ b/src/main/java/com/mmodding/extravaganza/block/entity/BallPoolRegistrationTableBlockEntity.java @@ -1,6 +1,8 @@ package com.mmodding.extravaganza.block.entity; +import com.mmodding.extravaganza.block.BallPoolContentBlock; import com.mmodding.extravaganza.init.ExtravaganzaBlockEntities; +import com.mmodding.extravaganza.init.ExtravaganzaBlocks; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; import net.minecraft.nbt.NbtCompound; @@ -12,9 +14,10 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; import net.minecraft.util.math.Vec3d; +import net.minecraft.world.World; import org.jetbrains.annotations.Nullable; -public class BallPoolInscriptionTableBlockEntity extends BlockEntity { +public class BallPoolRegistrationTableBlockEntity extends BlockEntity { private final PoolSettings poolSettings = new PoolSettings(); @@ -25,8 +28,8 @@ public class BallPoolInscriptionTableBlockEntity extends BlockEntity { private boolean source = true; - public BallPoolInscriptionTableBlockEntity(BlockPos pos, BlockState state) { - super(ExtravaganzaBlockEntities.BALL_POOl_INSCRIPTION_TABLE, pos, state); + public BallPoolRegistrationTableBlockEntity(BlockPos pos, BlockState state) { + super(ExtravaganzaBlockEntities.BALL_POOl_REGISTRATION_TABLE, pos, state); } @Override @@ -71,6 +74,19 @@ public NbtCompound toInitialChunkDataNbt(RegistryWrapper.WrapperLookup registryL return this.createComponentlessNbt(registryLookup); } + public static void tick(World world, BlockPos pos, BlockState state, BallPoolRegistrationTableBlockEntity bpitbe) { + for (BlockPos current : BlockPos.iterate(bpitbe.getRelativeScannedStart(pos), bpitbe.getRelativeScannedEnd(pos))) { + if (world.getBlockState(current).isAir()) { + world.setBlockState(current, ExtravaganzaBlocks.BALL_POOL_PROTECTION.getDefaultState()); + } + else if (world.getBlockState(current).isOf(ExtravaganzaBlocks.BALL_POOL_CONTENT)) { + if (world.getBlockState(current).get(BallPoolContentBlock.POWER) != bpitbe.getPoolSettings().power) { + world.setBlockState(current, world.getBlockState(current).with(BallPoolContentBlock.POWER, bpitbe.getPoolSettings().power)); + } + } + } + } + public BlockPos getScannedStart() { return this.scannedStart; } @@ -80,7 +96,19 @@ public BlockPos getScannedEnd() { } public Box getFullScanned() { - return new Box(Vec3d.of(this.getScannedStart()), Vec3d.of(this.getScannedEnd())); + return new Box(Vec3d.of(this.getScannedStart()), Vec3d.of(this.getScannedEnd())).stretch(1, 1, 1); + } + + public BlockPos getRelativeScannedStart(BlockPos pos) { + return pos.add(this.getScannedStart()); + } + + public BlockPos getRelativeScannedEnd(BlockPos pos) { + return pos.add(this.getScannedEnd()); + } + + public Box getRelativeFullScanned(BlockPos pos) { + return new Box(Vec3d.of(this.getRelativeScannedStart(pos)), Vec3d.of(this.getRelativeScannedEnd(pos))).stretch(1, 1, 1); } public PoolSettings getPoolSettings() { diff --git a/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolInscriptionTableBlockEntityRenderer.java b/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolInscriptionTableBlockEntityRenderer.java deleted file mode 100644 index 20f8deab..00000000 --- a/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolInscriptionTableBlockEntityRenderer.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.mmodding.extravaganza.client.block.entity.renderer; - -import com.mmodding.extravaganza.Extravaganza; -import com.mmodding.extravaganza.block.entity.BallPoolInscriptionTableBlockEntity; -import net.minecraft.client.render.RenderLayer; -import net.minecraft.client.render.VertexConsumerProvider; -import net.minecraft.client.render.WorldRenderer; -import net.minecraft.client.render.block.entity.BlockEntityRenderer; -import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.util.math.Box; - -public class BallPoolInscriptionTableBlockEntityRenderer implements BlockEntityRenderer { - - @Override - public void render(BallPoolInscriptionTableBlockEntity entity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertices, int light, int overlay) { - matrices.push(); - Box box = entity.getFullScanned().expand(1.0, 1.0, 1.0); - WorldRenderer.drawBox(matrices, vertices.getBuffer(RenderLayer.getLines()), box, 0.9f, 0.9f, 0.9f, 1.0f); - Extravaganza.getLogger().info(box.toString()); - matrices.pop(); - } - - @Override - public boolean rendersOutsideBoundingBox(BallPoolInscriptionTableBlockEntity blockEntity) { - return true; - } - - @Override - public int getRenderDistance() { - return 96; - } -} diff --git a/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolRegistrationTableBlockEntityRenderer.java b/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolRegistrationTableBlockEntityRenderer.java new file mode 100644 index 00000000..e4f9353a --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/client/block/entity/renderer/BallPoolRegistrationTableBlockEntityRenderer.java @@ -0,0 +1,28 @@ +package com.mmodding.extravaganza.client.block.entity.renderer; + +import com.mmodding.extravaganza.block.entity.BallPoolRegistrationTableBlockEntity; +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.VertexConsumerProvider; +import net.minecraft.client.render.WorldRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.util.math.MatrixStack; + +public class BallPoolRegistrationTableBlockEntityRenderer implements BlockEntityRenderer { + + @Override + public void render(BallPoolRegistrationTableBlockEntity entity, float tickDelta, MatrixStack matrices, VertexConsumerProvider vertices, int light, int overlay) { + matrices.push(); + WorldRenderer.drawBox(matrices, vertices.getBuffer(RenderLayer.getLines()), entity.getFullScanned(), 0.9f, 0.9f, 0.9f, 1.0f); + matrices.pop(); + } + + @Override + public boolean rendersOutsideBoundingBox(BallPoolRegistrationTableBlockEntity blockEntity) { + return true; + } + + @Override + public int getRenderDistance() { + return 96; + } +} diff --git a/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderLayers.java b/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderLayers.java index c3023551..7aedff04 100644 --- a/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderLayers.java +++ b/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderLayers.java @@ -11,7 +11,7 @@ public class ExtravaganzaRenderLayers { - private static final Set CUTOUT = Set.of("table", "popcorn", "garland", "pinata", "grate", "windowed", "ladder"); + private static final Set CUTOUT = Set.of("sapling", "table", "popcorn", "garland", "pinata", "grate", "windowed", "ladder"); private static final Set TRANSLUCENT = Set.of("distributor", "stained"); diff --git a/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderers.java b/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderers.java index ce495dcf..c9b66d5a 100644 --- a/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderers.java +++ b/src/main/java/com/mmodding/extravaganza/client/init/ExtravaganzaRenderers.java @@ -1,6 +1,6 @@ package com.mmodding.extravaganza.client.init; -import com.mmodding.extravaganza.client.block.entity.renderer.BallPoolInscriptionTableBlockEntityRenderer; +import com.mmodding.extravaganza.client.block.entity.renderer.BallPoolRegistrationTableBlockEntityRenderer; import com.mmodding.extravaganza.client.entity.renderer.FestiveBallEntityRenderer; import com.mmodding.extravaganza.client.entity.renderer.HeliumBalloonEntityRenderer; import com.mmodding.extravaganza.client.entity.renderer.MerryGoRoundEntityRenderer; @@ -15,6 +15,6 @@ public static void register() { EntityRendererRegistry.register(ExtravaganzaEntities.FESTIVE_BALL, FestiveBallEntityRenderer::new); EntityRendererRegistry.register(ExtravaganzaEntities.HELIUM_BALLOON, HeliumBalloonEntityRenderer::new); EntityRendererRegistry.register(ExtravaganzaEntities.MERRY_GO_ROUND, MerryGoRoundEntityRenderer::new); - BlockEntityRendererFactories.register(ExtravaganzaBlockEntities.BALL_POOl_INSCRIPTION_TABLE, ctx -> new BallPoolInscriptionTableBlockEntityRenderer()); + BlockEntityRendererFactories.register(ExtravaganzaBlockEntities.BALL_POOl_REGISTRATION_TABLE, ctx -> new BallPoolRegistrationTableBlockEntityRenderer()); } } diff --git a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlockEntities.java b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlockEntities.java index f11c060f..82a8f3ab 100644 --- a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlockEntities.java +++ b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlockEntities.java @@ -1,7 +1,7 @@ package com.mmodding.extravaganza.init; import com.mmodding.extravaganza.Extravaganza; -import com.mmodding.extravaganza.block.entity.BallPoolInscriptionTableBlockEntity; +import com.mmodding.extravaganza.block.entity.BallPoolRegistrationTableBlockEntity; import net.minecraft.block.entity.BlockEntityType; import net.minecraft.registry.Registries; import net.minecraft.registry.Registry; @@ -10,13 +10,13 @@ public class ExtravaganzaBlockEntities { - public static final BlockEntityType BALL_POOl_INSCRIPTION_TABLE = new BlockEntityType<>( - BallPoolInscriptionTableBlockEntity::new, - Set.of(ExtravaganzaBlocks.BALL_POOL_INSCRIPTION_TABLE), + public static final BlockEntityType BALL_POOl_REGISTRATION_TABLE = new BlockEntityType<>( + BallPoolRegistrationTableBlockEntity::new, + Set.of(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE), null ); public static void register() { - Registry.register(Registries.BLOCK_ENTITY_TYPE, Extravaganza.createId("ball_pool_inscription_table"), ExtravaganzaBlockEntities.BALL_POOl_INSCRIPTION_TABLE); + Registry.register(Registries.BLOCK_ENTITY_TYPE, Extravaganza.createId("ball_pool_registration_table"), ExtravaganzaBlockEntities.BALL_POOl_REGISTRATION_TABLE); } } diff --git a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlocks.java b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlocks.java index 68c6a58a..5635b5b5 100644 --- a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlocks.java +++ b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaBlocks.java @@ -10,13 +10,15 @@ import net.minecraft.registry.Registry; import net.minecraft.sound.BlockSoundGroup; +import java.util.Optional; + public class ExtravaganzaBlocks { public static final BlockSetType HEVEA_BRASILIENSIS_TYPE = new BlockSetType("hevea_brasiliensis"); public static final WoodType HEVEA_BRASILIENSIS = new WoodType("hevea_brasiliensis", ExtravaganzaBlocks.HEVEA_BRASILIENSIS_TYPE); - public static final Block HEVEA_BRASILIENSIS_LOG = new PillarBlock(AbstractBlock.Settings.create().strength(2.0f).sounds(BlockSoundGroup.WOOD).burnable()); + public static final Block HEVEA_BRASILIENSIS_LOG = new HeveaBrasiliensisLog(AbstractBlock.Settings.create().ticksRandomly().strength(2.0f).sounds(BlockSoundGroup.WOOD).burnable()); public static final Block HEVEA_BRASILIENSIS_WOOD = new PillarBlock(AbstractBlock.Settings.create().strength(2.0f).sounds(BlockSoundGroup.WOOD).burnable()); public static final Block STRIPPED_HEVEA_BRASILIENSIS_LOG = new PillarBlock(AbstractBlock.Settings.create().strength(2.0f).sounds(BlockSoundGroup.WOOD).burnable()); @@ -34,8 +36,11 @@ public class ExtravaganzaBlocks { public static final Block HEVEA_BRASILIENSIS_LEAVES = Blocks.createLeavesBlock(BlockSoundGroup.AZALEA_LEAVES); - public static final Block BALL_POOL_INSCRIPTION_TABLE = new BallPoolInscriptionTableBlock(AbstractBlock.Settings.create().nonOpaque().strength(2.0f).sounds(BlockSoundGroup.WOOD)); + public static final Block HEVEA_BRASILIENSIS_SAPLING = new SaplingBlock(new SaplingGenerator("hevea_brasiliensis", Optional.empty(), Optional.of(ExtravaganzaWorldGeneration.HEVEA_BRASILIENSIS), Optional.empty()), AbstractBlock.Settings.create().sounds(BlockSoundGroup.AZALEA_LEAVES)); + + public static final Block BALL_POOL_REGISTRATION_TABLE = new BallPoolRegistrationTableBlock(AbstractBlock.Settings.create().nonOpaque().strength(2.0f).sounds(BlockSoundGroup.WOOD)); public static final Block BALL_POOL_CONTENT = new BallPoolContentBlock(AbstractBlock.Settings.create().noCollision().sounds(BlockSoundGroup.SLIME)); + public static final Block BALL_POOL_PROTECTION = new BallPoolProtectionBlock(AbstractBlock.Settings.create().noCollision().allowsSpawning(Blocks::never).solidBlock(Blocks::never).suffocates(Blocks::never).blockVision(Blocks::always).replaceable()); public static final Block BALL_DISTRIBUTOR = new BallDistributorBlock(AbstractBlock.Settings.create().requiresTool().strength(2.5f, 3.0f).nonOpaque().sounds(BlockSoundGroup.LANTERN)); @@ -65,8 +70,10 @@ public static void register() { ExtravaganzaBlocks.registerBlockWithItem("hevea_brasiliensis_pressure_plate", ExtravaganzaBlocks.HEVEA_BRASILIENSIS_PRESSURE_PLATE); ExtravaganzaBlocks.registerBlockWithItem("hevea_brasiliensis_button", ExtravaganzaBlocks.HEVEA_BRASILIENSIS_BUTTON); ExtravaganzaBlocks.registerBlockWithItem("hevea_brasiliensis_leaves", ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LEAVES); - ExtravaganzaBlocks.registerBlockWithItem("ball_pool_inscription_table", ExtravaganzaBlocks.BALL_POOL_INSCRIPTION_TABLE); + ExtravaganzaBlocks.registerBlockWithItem("hevea_brasiliensis_sapling", ExtravaganzaBlocks.HEVEA_BRASILIENSIS_SAPLING); + ExtravaganzaBlocks.registerBlockWithItem("ball_pool_registration_table", ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE); ExtravaganzaBlocks.registerBlockWithItem("ball_pool_content", ExtravaganzaBlocks.BALL_POOL_CONTENT); + Registry.register(Registries.BLOCK, "ball_pool_protection", ExtravaganzaBlocks.BALL_POOL_PROTECTION); ExtravaganzaBlocks.registerBlockWithItem("ball_distributor", ExtravaganzaBlocks.BALL_DISTRIBUTOR); ExtravaganzaBlocks.registerBlockWithItem("popcorn_machine", ExtravaganzaBlocks.POPCORN_MACHINE); ExtravaganzaBlocks.registerBlockWithItem("garland", ExtravaganzaBlocks.GARLAND); diff --git a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaDataAttachments.java b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaDataAttachments.java new file mode 100644 index 00000000..78c97508 --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaDataAttachments.java @@ -0,0 +1,13 @@ +package com.mmodding.extravaganza.init; + +import com.mmodding.extravaganza.Extravaganza; +import net.fabricmc.fabric.api.attachment.v1.AttachmentRegistry; +import net.fabricmc.fabric.api.attachment.v1.AttachmentType; +import net.minecraft.util.math.Vec3d; + +public class ExtravaganzaDataAttachments { + + public static final AttachmentType BEFORE_ENTERING_POOL = AttachmentRegistry.createPersistent(Extravaganza.createId("before_entering_pool"), Vec3d.CODEC); + + public static void register() {} +} diff --git a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaItems.java b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaItems.java index afea1262..a8f45e0e 100644 --- a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaItems.java +++ b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaItems.java @@ -31,6 +31,9 @@ public class ExtravaganzaItems { public static final Item HOT_DOG = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(4).saturationModifier(1.0f).snack().build())); public static final Item HOT_DOG_WITH_MAYONNAISE = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(4).saturationModifier(1.5f).snack().build())); + public static final Item EMPTY_POPCORN = new EmptyPopcornItem(new Item.Settings().maxCount(1)); + public static final Item POPCORN = new Item(new Item.Settings().food(new FoodComponent.Builder().nutrition(2).saturationModifier(0.5f).alwaysEdible().usingConvertsTo(ExtravaganzaItems.EMPTY_POPCORN).build()).maxCount(1)); + public static final Item CHERRY_BALLOON = new HeliumBalloonItem("cherry", new Item.Settings().maxCount(1)); public static final Item CREEPER_BALLOON = new HeliumBalloonItem("creeper", new Item.Settings().maxCount(1)); @@ -55,6 +58,8 @@ public static void register() { Registry.register(Registries.ITEM, Extravaganza.createId("red_candy_cane"), ExtravaganzaItems.RED_CANDY_CANE); Registry.register(Registries.ITEM, Extravaganza.createId("hot_dog"), ExtravaganzaItems.HOT_DOG); Registry.register(Registries.ITEM, Extravaganza.createId("hot_dog_with_mayonnaise"), ExtravaganzaItems.HOT_DOG_WITH_MAYONNAISE); + Registry.register(Registries.ITEM, Extravaganza.createId("empty_popcorn"), ExtravaganzaItems.EMPTY_POPCORN); + Registry.register(Registries.ITEM, Extravaganza.createId("popcorn"), ExtravaganzaItems.POPCORN); Registry.register(Registries.ITEM, Extravaganza.createId("cherry_balloon"), ExtravaganzaItems.CHERRY_BALLOON); Registry.register(Registries.ITEM, Extravaganza.createId("creeper_balloon"), ExtravaganzaItems.CREEPER_BALLOON); Registry.register(Registries.ITEM, Extravaganza.createId("bat"), ExtravaganzaItems.BAT); diff --git a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaWorldGeneration.java b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaWorldGeneration.java index 723eedbb..11f8f3ab 100644 --- a/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaWorldGeneration.java +++ b/src/main/java/com/mmodding/extravaganza/init/ExtravaganzaWorldGeneration.java @@ -3,12 +3,10 @@ import com.mmodding.extravaganza.Extravaganza; import net.fabricmc.fabric.api.biome.v1.BiomeModifications; import net.fabricmc.fabric.api.biome.v1.BiomeSelectors; -import net.minecraft.block.Blocks; import net.minecraft.registry.Registry; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.util.math.intprovider.ConstantIntProvider; -import net.minecraft.world.dimension.DimensionOptions; import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.feature.size.TwoLayersFeatureSize; @@ -52,7 +50,7 @@ public static void callback(Registry> configuredFeatures ExtravaganzaWorldGeneration.HEVEA_BRASILIENSIS_CHECKED, new PlacedFeature( configuredFeatures.getEntry(ExtravaganzaWorldGeneration.HEVEA_BRASILIENSIS).orElseThrow(), - List.of(PlacedFeatures.wouldSurvive(Blocks.SHORT_GRASS)) + List.of(PlacedFeatures.wouldSurvive(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_SAPLING)) ) ); } diff --git a/src/main/java/com/mmodding/extravaganza/item/EmptyPopcornItem.java b/src/main/java/com/mmodding/extravaganza/item/EmptyPopcornItem.java new file mode 100644 index 00000000..3e1ee266 --- /dev/null +++ b/src/main/java/com/mmodding/extravaganza/item/EmptyPopcornItem.java @@ -0,0 +1,25 @@ +package com.mmodding.extravaganza.item; + +import com.mmodding.extravaganza.init.ExtravaganzaBlocks; +import com.mmodding.extravaganza.init.ExtravaganzaItems; +import net.minecraft.item.Item; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.util.ActionResult; + +public class EmptyPopcornItem extends Item { + + public EmptyPopcornItem(Settings settings) { + super(settings); + } + + @Override + public ActionResult useOnBlock(ItemUsageContext context) { + if (context.getPlayer() != null && context.getWorld().getBlockState(context.getBlockPos()).isOf(ExtravaganzaBlocks.POPCORN_MACHINE)) { + context.getPlayer().setStackInHand(context.getHand(), ExtravaganzaItems.POPCORN.getDefaultStack()); + return ActionResult.SUCCESS; + } + else { + return super.useOnBlock(context); + } + } +} diff --git a/src/main/java/com/mmodding/extravaganza/item/RubberExtractorItem.java b/src/main/java/com/mmodding/extravaganza/item/RubberExtractorItem.java index 437e360c..7457c49b 100644 --- a/src/main/java/com/mmodding/extravaganza/item/RubberExtractorItem.java +++ b/src/main/java/com/mmodding/extravaganza/item/RubberExtractorItem.java @@ -1,10 +1,30 @@ package com.mmodding.extravaganza.item; +import com.mmodding.extravaganza.block.HeveaBrasiliensisLog; +import com.mmodding.extravaganza.init.ExtravaganzaBlocks; +import com.mmodding.extravaganza.init.ExtravaganzaItems; +import net.minecraft.entity.ItemEntity; import net.minecraft.item.Item; +import net.minecraft.item.ItemUsageContext; +import net.minecraft.util.ActionResult; +import net.minecraft.util.math.Vec3d; public class RubberExtractorItem extends Item { public RubberExtractorItem(Settings settings) { super(settings); } + + @Override + public ActionResult useOnBlock(ItemUsageContext context) { + if (context.getWorld().getBlockState(context.getBlockPos()).isOf(ExtravaganzaBlocks.HEVEA_BRASILIENSIS_LOG) && context.getWorld().getBlockState(context.getBlockPos()).get(HeveaBrasiliensisLog.RUBBER)) { + Vec3d position = Vec3d.ofCenter(context.getBlockPos()); + context.getWorld().spawnEntity(new ItemEntity(context.getWorld(), position.getX(), position.getY(), position.getZ(), ExtravaganzaItems.RUBBER.getDefaultStack())); + context.getWorld().setBlockState(context.getBlockPos(), context.getWorld().getBlockState(context.getBlockPos()).with(HeveaBrasiliensisLog.RUBBER, false)); + return ActionResult.SUCCESS; + } + else { + return super.useOnBlock(context); + } + } } diff --git a/src/main/java/com/mmodding/extravaganza/item/WrenchAganzaItem.java b/src/main/java/com/mmodding/extravaganza/item/WrenchAganzaItem.java index 8fd21b2c..fc85242d 100644 --- a/src/main/java/com/mmodding/extravaganza/item/WrenchAganzaItem.java +++ b/src/main/java/com/mmodding/extravaganza/item/WrenchAganzaItem.java @@ -1,6 +1,7 @@ package com.mmodding.extravaganza.item; -import com.mmodding.extravaganza.block.entity.BallPoolInscriptionTableBlockEntity; +import com.mmodding.extravaganza.block.BallPoolRegistrationTableBlock; +import com.mmodding.extravaganza.block.entity.BallPoolRegistrationTableBlockEntity; import net.minecraft.block.BlockState; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -8,10 +9,9 @@ import net.minecraft.text.Text; import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.world.World; -import java.util.Objects; - public class WrenchAganzaItem extends Item { public WrenchAganzaItem(Settings settings) { @@ -20,11 +20,11 @@ public WrenchAganzaItem(Settings settings) { @Override public boolean canMine(BlockState state, World world, BlockPos pos, PlayerEntity miner) { - if (world.getBlockEntity(pos) instanceof BallPoolInscriptionTableBlockEntity bpitbe) { + if (world.getBlockEntity(pos) instanceof BallPoolRegistrationTableBlockEntity bpitbe && !world.getBlockState(pos).get(BallPoolRegistrationTableBlock.LOCK_SCAN)) { bpitbe.switchSelectionMode(); if (!world.isClient()) { Object object; - if (bpitbe.getSelectionMode().equals(BallPoolInscriptionTableBlockEntity.SelectionMode.SOURCE)) { + if (bpitbe.getSelectionMode().equals(BallPoolRegistrationTableBlockEntity.SelectionMode.SOURCE)) { object = bpitbe.isSource(); } else { object = bpitbe.getScannedCurrent(); @@ -37,27 +37,43 @@ public boolean canMine(BlockState state, World world, BlockPos pos, PlayerEntity @Override public ActionResult useOnBlock(ItemUsageContext context) { - if (context.getWorld().getBlockEntity(context.getBlockPos()) instanceof BallPoolInscriptionTableBlockEntity bpitbe) { - switch (bpitbe.getSelectionMode()) { - case POSITIVE_X -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(1, 0, 0)); - case NEGATIVE_X -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(-1, 0, 0)); - case POSITIVE_Y -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 1, 0)); - case NEGATIVE_Y -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, -1, 0)); - case POSITIVE_Z -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 0, 1)); - case NEGATIVE_Z -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 0, -1)); - case SOURCE -> bpitbe.switchSource(); + if (context.getWorld().getBlockEntity(context.getBlockPos()) instanceof BallPoolRegistrationTableBlockEntity bpitbe) { + assert context.getPlayer() != null; + if (!context.getPlayer().isSneaking() && !context.getWorld().getBlockState(context.getBlockPos()).get(BallPoolRegistrationTableBlock.LOCK_SCAN)) { + switch (bpitbe.getSelectionMode()) { + case POSITIVE_X -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(1, 0, 0)); + case NEGATIVE_X -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(-1, 0, 0)); + case POSITIVE_Y -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 1, 0)); + case NEGATIVE_Y -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, -1, 0)); + case POSITIVE_Z -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 0, 1)); + case NEGATIVE_Z -> bpitbe.setScannedCurrent(bpitbe.getScannedCurrent().add(0, 0, -1)); + case SOURCE -> bpitbe.switchSource(); + } + if (!context.getWorld().isClient()) { + Object object; + if (bpitbe.getSelectionMode().equals(BallPoolRegistrationTableBlockEntity.SelectionMode.SOURCE)) { + object = bpitbe.isSource(); + } + else { + object = bpitbe.getScannedCurrent(); + } + context.getPlayer().sendMessage(Text.literal(bpitbe.getSelectionMode().asString() + ": " + object), true); + } + return ActionResult.SUCCESS; } - if (!context.getWorld().isClient()) { - Object object; - if (bpitbe.getSelectionMode().equals(BallPoolInscriptionTableBlockEntity.SelectionMode.SOURCE)) { - object = bpitbe.isSource(); + if (!context.getPlayer().isSneaking() && !context.getWorld().getBlockState(context.getBlockPos()).get(BallPoolRegistrationTableBlock.LOCK_SETTINGS)) { + if (bpitbe.getPoolSettings().power < 15) { + bpitbe.getPoolSettings().power = MathHelper.clamp(bpitbe.getPoolSettings().power + 1, 1, 15); } else { - object = bpitbe.getScannedCurrent(); + bpitbe.getPoolSettings().power = 1; + } + if (!context.getWorld().isClient()) { + context.getPlayer().sendMessage(Text.translatable("enchantment.minecraft.power").append(": " + bpitbe.getPoolSettings().power), true); } - Objects.requireNonNull(context.getPlayer()).sendMessage(Text.literal(bpitbe.getSelectionMode().asString() + ": " + object), true); + return ActionResult.SUCCESS; } - return ActionResult.SUCCESS; + return ActionResult.FAIL; } else { return super.useOnBlock(context); diff --git a/src/main/java/com/mmodding/extravaganza/mixin/ClientPlayerInteractionManagerMixin.java b/src/main/java/com/mmodding/extravaganza/mixin/ClientPlayerInteractionManagerMixin.java index 99d4b7ba..7472bdc3 100644 --- a/src/main/java/com/mmodding/extravaganza/mixin/ClientPlayerInteractionManagerMixin.java +++ b/src/main/java/com/mmodding/extravaganza/mixin/ClientPlayerInteractionManagerMixin.java @@ -2,6 +2,7 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.mmodding.extravaganza.block.TrashCanBlock; +import com.mmodding.extravaganza.init.ExtravaganzaBlocks; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.client.network.ClientPlayerInteractionManager; import net.minecraft.util.Hand; @@ -14,6 +15,6 @@ public class ClientPlayerInteractionManagerMixin { @ModifyExpressionValue(method = "interactBlockInternal", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayerEntity;shouldCancelInteraction()Z")) private boolean allowTrashCan(boolean original, ClientPlayerEntity player, Hand hand, BlockHitResult hitResult) { - return original && !(player.getWorld().getBlockState(hitResult.getBlockPos()).getBlock() instanceof TrashCanBlock); + return original && !(player.getWorld().getBlockState(hitResult.getBlockPos()).getBlock() instanceof TrashCanBlock) && !player.getWorld().getBlockState(hitResult.getBlockPos()).isOf(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE); } } diff --git a/src/main/java/com/mmodding/extravaganza/mixin/EntityMixin.java b/src/main/java/com/mmodding/extravaganza/mixin/EntityMixin.java index d00d9ab3..6644d873 100644 --- a/src/main/java/com/mmodding/extravaganza/mixin/EntityMixin.java +++ b/src/main/java/com/mmodding/extravaganza/mixin/EntityMixin.java @@ -2,6 +2,7 @@ import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.mmodding.extravaganza.block.BallPoolContentBlock; import com.mmodding.extravaganza.init.ExtravaganzaBlocks; import net.minecraft.block.Block; import net.minecraft.block.BlockState; @@ -40,9 +41,9 @@ private void applyBallPoolContentLogic(CallbackInfo ci) { if (!underState.isOf(ExtravaganzaBlocks.BALL_POOL_CONTENT) && currentState.isOf(ExtravaganzaBlocks.BALL_POOL_CONTENT)) { if (!this.bypassesLandingEffects()) { this.addVelocity( - this.getRandom().nextDouble() * (this.getRandom().nextBoolean() ? -1 : 1), - this.getRandom().nextDouble(), - this.getRandom().nextDouble() * (this.getRandom().nextBoolean() ? -1 : 1) + this.getRandom().nextDouble() * (this.getRandom().nextBoolean() ? -1 : 1) / 10 * currentState.get(BallPoolContentBlock.POWER), + this.getRandom().nextDouble() / 10 * currentState.get(BallPoolContentBlock.POWER), + this.getRandom().nextDouble() * (this.getRandom().nextBoolean() ? -1 : 1) / 10 * currentState.get(BallPoolContentBlock.POWER) ); } } diff --git a/src/main/java/com/mmodding/extravaganza/mixin/ServerPlayerInteractionManagerMixin.java b/src/main/java/com/mmodding/extravaganza/mixin/ServerPlayerInteractionManagerMixin.java index 370868d8..3d7a12f7 100644 --- a/src/main/java/com/mmodding/extravaganza/mixin/ServerPlayerInteractionManagerMixin.java +++ b/src/main/java/com/mmodding/extravaganza/mixin/ServerPlayerInteractionManagerMixin.java @@ -2,6 +2,7 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.mmodding.extravaganza.block.TrashCanBlock; +import com.mmodding.extravaganza.init.ExtravaganzaBlocks; import net.minecraft.item.ItemStack; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.network.ServerPlayerInteractionManager; @@ -16,6 +17,6 @@ public class ServerPlayerInteractionManagerMixin { @ModifyExpressionValue(method = "interactBlock", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/network/ServerPlayerEntity;shouldCancelInteraction()Z")) private boolean allowTrashCan(boolean original, ServerPlayerEntity player, World world, ItemStack stack, Hand hand, BlockHitResult hitResult) { - return original && !(world.getBlockState(hitResult.getBlockPos()).getBlock() instanceof TrashCanBlock); + return original && !(world.getBlockState(hitResult.getBlockPos()).getBlock() instanceof TrashCanBlock) && !player.getWorld().getBlockState(hitResult.getBlockPos()).isOf(ExtravaganzaBlocks.BALL_POOL_REGISTRATION_TABLE); } } diff --git a/src/main/resources/assets/extravaganza/blockstates/ball_pool_protection.json b/src/main/resources/assets/extravaganza/blockstates/ball_pool_protection.json new file mode 100644 index 00000000..f17f93e2 --- /dev/null +++ b/src/main/resources/assets/extravaganza/blockstates/ball_pool_protection.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "minecraft:block/air" + } + } +} diff --git a/src/main/resources/assets/extravaganza/models/block/ball_pool_inscription_table.json b/src/main/resources/assets/extravaganza/models/block/ball_pool_registration_table.json similarity index 97% rename from src/main/resources/assets/extravaganza/models/block/ball_pool_inscription_table.json rename to src/main/resources/assets/extravaganza/models/block/ball_pool_registration_table.json index 3b70a8d8..7ca30f78 100644 --- a/src/main/resources/assets/extravaganza/models/block/ball_pool_inscription_table.json +++ b/src/main/resources/assets/extravaganza/models/block/ball_pool_registration_table.json @@ -2,8 +2,8 @@ "credit": "Made with Blockbench", "texture_size": [64, 64], "textures": { - "main": "extravaganza:block/ball_pool_inscription_table", - "particle": "extravaganza:block/ball_pool_inscription_table" + "main": "extravaganza:block/ball_pool_registration_table", + "particle": "extravaganza:block/ball_pool_registration_table" }, "elements": [ { diff --git a/src/main/resources/assets/extravaganza/models/block/hevea_brasiliensis_sapling.json b/src/main/resources/assets/extravaganza/models/block/hevea_brasiliensis_sapling.json new file mode 100644 index 00000000..6cbf0aff --- /dev/null +++ b/src/main/resources/assets/extravaganza/models/block/hevea_brasiliensis_sapling.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "extravaganza:block/hevea_brasiliensis_sapling" + } +} diff --git a/src/main/resources/assets/extravaganza/textures/block/ball_pool_inscription_table.png b/src/main/resources/assets/extravaganza/textures/block/ball_pool_registration_table.png similarity index 100% rename from src/main/resources/assets/extravaganza/textures/block/ball_pool_inscription_table.png rename to src/main/resources/assets/extravaganza/textures/block/ball_pool_registration_table.png diff --git a/src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_log_rubber.png b/src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_log_rubber.png new file mode 100644 index 0000000000000000000000000000000000000000..0306a0d56e5aab01dcd18bbab81cf2794d85c884 GIT binary patch literal 514 zcmV+d0{#7oP)Px#1ZP1_K>z@;j|==^1poj6l1W5CR5(v{lg~;5Q543%neh*mLz&D%$T3XXh0rD{ zqDP39ZCdppy+ZqzK@ZZRb(?}H30(-ONsgHLC+j=T8SYs9;Cj#H`rUi(Ip0_p$9q$R z*{o8YKqK1&qJ}IhuGm-77v3W?iwDR z?>l&_1>w$2s5k3SBm)M$>?X?lNAP@4Hg2ykQ5aQYPf^S#*!&^6(m^C{)|#>=dYj%{ zZ+wbaiHex^H;{1GvFsIOqg}m`xsq?nOtc1?0g(e(eZprbOn=pPB{qwv=pp~Mk?8xi zGiG7QQ)4>o0)^$g74v|$RK?6f59G}hlV3jg3oWEsJR)5P<5;@pAoXNP1_kCI&S9x| zZdnujm=dY9jmcmHXCW!?eeAEHHD1B)$r%b;+gS1|=yqSR^3}q}aCWz?9bkIeYl<~p z`hmV6^oja|I*wQkh*<}khOJf6d$W#l@FFqW9JP@hFl#{OO`{&6kZ6XHk(kB&A&P!T zghDMK0DJ@Y8TiWMP@Xyf000hUSV?A0O#mtY000O800000007cclK=n!07*qoM6N<$ Ef}4)uC;$Ke literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_sapling.png b/src/main/resources/assets/extravaganza/textures/block/hevea_brasiliensis_sapling.png new file mode 100644 index 0000000000000000000000000000000000000000..09af92009ec2d817365ecc6960b077047d7bbae5 GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WChB3db&7eQRMjjqQYKnJ*72n9UdiIii#ikSCoV=SS~o%uf*!& zg~bhqRliN1l z`!Qi(Qr!1zUe{-CTn7HGc{ogINKUoyWtfrN?w(*wd z|4W&(a#wh3F;AapFd?YcAzs~^N0+yP(~Geu>Y^F5*N(N4wTE(C>KKYc=9{seDRc)0 hGGA(hXPU1sgBFm@0mLA1DR?r7@^tlcS?83{1ON