diff --git a/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86
new file mode 100644
index 000000000..1032eeea9
--- /dev/null
+++ b/src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86
@@ -0,0 +1,2 @@
+// 1.20.1 2023-08-11T18:07:58.544232 Pack Metadata
+60407eb0002eb7abfde2a9917ad3f606c7563f4e pack.mcmeta
diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924
new file mode 100644
index 000000000..1cc5f2444
--- /dev/null
+++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924
@@ -0,0 +1,30 @@
+// 1.20.1 2023-08-11T18:31:56.1619183 Registries
+4387b3e6bd6f9ff8d3ae66e966e738a5fde4337f data/farmersdelight/damage_type/stove_burn.json
+361f9d2b6150daa6d15b03ef4f29680041551432 data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json
+0b5a5357f41b4c2c64e856414a05fbaab895a635 data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json
+a6435d8e4d0dbac9b128fa3806c5d2f0b1a3e300 data/farmersdelight/forge/biome_modifier/wild_beetroots.json
+cbe3cd5686ad84fdb80d9be27a1ec03d66e525c4 data/farmersdelight/forge/biome_modifier/wild_cabbages.json
+ffcc0c7cc7da20b79b888b046a6df80fedbdd2d3 data/farmersdelight/forge/biome_modifier/wild_carrots.json
+72e9f101f4664b366a9c4820c988493bb2c30817 data/farmersdelight/forge/biome_modifier/wild_onions.json
+e09f0fc07387bf8cc3f6b7cd58a0a443ee9a2115 data/farmersdelight/forge/biome_modifier/wild_potatoes.json
+48e0088b84306be36b54bb097cd429bfd8aff735 data/farmersdelight/forge/biome_modifier/wild_rice.json
+f3baa880d6889a535f87c2ead7543e7f7b49a72e data/farmersdelight/forge/biome_modifier/wild_tomatoes.json
+f39a2d7ed1eaa4cda012a85d69ee56abf30ea10e data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json
+584846e3229fa4587204b1fdd5ff8e6fe7836009 data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json
+e3c8a1ea50b010de426f96772929616890a02a7f data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
+8f9675b5ef3d04c3a35bdcd4530f6d3a722e6759 data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
+a239483228d40679183c64da5df643fd5d943394 data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
+f1b0a905c24fc9586ff2faa91c1d5b82e61b328a data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
+6e2b9dadb61813dfc9fbe0a30fb19a76203c171a data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
+d49a6b0d6f072bbdc0b548261a7bd490a836e021 data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
+67e9b95ef47808ade91c1b0d315e0dd78d1ebe74 data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
+086392944c4f4512cd2f33be7be6dc9268b2600a data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
+e5a340593fef17334cf944f1ccad603caa89825e data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json
+903cd7906654430e62803ee7e718ed1ae64808b7 data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json
+a1297cf83bc9ae40f53c8d98ce2ab5c9cc7a90ad data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json
+132b6db9c0c6c71cfa966a3033c9e97307a3d5ec data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json
+1667f7fd78d6320e911e6660e47f8f2dd5886ef7 data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json
+34670ed948555afdec580f9dd92258b3e6275ce4 data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json
+5495473575ef637f995df4100cb2cb9ecdf43acb data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json
+d7847a6e2325a88a6689a4dc65fc1f07fd09b51d data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json
+652c9b8f9ce78c63c479d6d8b8cd730c26c3f834 data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json
diff --git a/src/generated/resources/.cache/55b530523832603ee79ac7ef34cbb3a3a66f5973 b/src/generated/resources/.cache/55b530523832603ee79ac7ef34cbb3a3a66f5973
index 6c186e453..602662029 100644
--- a/src/generated/resources/.cache/55b530523832603ee79ac7ef34cbb3a3a66f5973
+++ b/src/generated/resources/.cache/55b530523832603ee79ac7ef34cbb3a3a66f5973
@@ -1,4 +1,4 @@
-// 1.20.1 2023-07-18T01:25:51.0661414 Tags for minecraft:block mod id farmersdelight
+// 1.20.1 2023-08-11T12:48:49.7161551 Tags for minecraft:block mod id farmersdelight
97e4acbe405d9adae7df8073ec6e9af828285ec9 data/create/tags/blocks/brittle.json
89dff4a2813a4b6fe13cde6e775266a1d606a4aa data/create/tags/blocks/passive_boiler_heaters.json
8d7cbaffcdabbd68f45063e7fa616212824d0ca6 data/farmersdelight/tags/blocks/compost_activators.json
@@ -13,6 +13,7 @@ e4d28099b3557b120274c2ef7593e202019c4d65 data/farmersdelight/tags/blocks/terrain
90c6f0a64d1a682335e4b5dca86a5c85073951a0 data/farmersdelight/tags/blocks/tray_heat_sources.json
a3f8c7e1c1273e4619df79645193c14be80145df data/farmersdelight/tags/blocks/unaffected_by_rich_soil.json
5596501768488a25c5bcc6ef16c2fc5ca3ab49e9 data/farmersdelight/tags/blocks/wild_crops.json
+c68b392e14e1ef79cdfd2f5b66c58329ffb23a75 data/farmersdelight/tags/blocks/wild_tomato_grows_on.json
35133e95f1c8fdd7a1c21afcc231fc0bffefb9a8 data/forge/tags/blocks/mineable/knife.json
d0812613832bbc602d7ff3274c81d5729e91c2ea data/minecraft/tags/blocks/bamboo_plantable_on.json
859810b0bf4f36e275af5b6a86c3c7b9a968dbd3 data/minecraft/tags/blocks/ceiling_hanging_signs.json
diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
index c03f9c103..a9046c3f9 100644
--- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
+++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -1,50 +1,107 @@
-// 1.20.1 2023-07-12T00:47:26.3173204 Loot Tables
+// 1.20.1 2023-08-11T12:48:49.7191193 Loot Tables
228f5797c46d942e33e7dec7ba2caebb37d26905 data/farmersdelight/loot_tables/blocks/acacia_cabinet.json
+23fb8611e8fde16b90b760500fb6d39c0042c092 data/farmersdelight/loot_tables/blocks/apple_pie.json
9aa2c1672193447d3a448e1aa985ccbc1044542f data/farmersdelight/loot_tables/blocks/bamboo_cabinet.json
78195f3e9ce8add38a620c1e643d648b6126d88b data/farmersdelight/loot_tables/blocks/basket.json
da434db268e536926559cbd2a6ef9f9de09fa673 data/farmersdelight/loot_tables/blocks/beetroot_crate.json
64663cac270094e22966594bac0e2409ade93092 data/farmersdelight/loot_tables/blocks/birch_cabinet.json
+125f58c92dfe754760f9de87892744b65ab58144 data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
45fc89cfebf9966e7fc7f096a76ee7acf2cbeb46 data/farmersdelight/loot_tables/blocks/black_hanging_canvas_sign.json
+60e56b2a833cec57f77b15765abf1912473922bf data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
f9eabbb7f589639600b06f7de82c16b1bfcc5500 data/farmersdelight/loot_tables/blocks/blue_hanging_canvas_sign.json
+b1e7a56d66e290349c2cf4c225d9768788cb4a2a data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
7f94b52e3e9ca3a365f333752ea5b22372d70a28 data/farmersdelight/loot_tables/blocks/brown_hanging_canvas_sign.json
+cfeace1d59d274235908ac5e88a6795cdacfa61d data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
+810b8a869e8485e0bbed4cb6053d1e10a1b926e8 data/farmersdelight/loot_tables/blocks/budding_tomatoes.json
+b8a2b6a9304806f1be910c1660cbf669dd45e434 data/farmersdelight/loot_tables/blocks/cabbages.json
ef30aafe2e8e73ef42ddedc5793ab18ee034aceb data/farmersdelight/loot_tables/blocks/cabbage_crate.json
b528bf71d8eff4d7ebbdf465d0ba09f0c0109df4 data/farmersdelight/loot_tables/blocks/canvas_rug.json
+45b9267d8fe04f46d2d742f5c9327907776220eb data/farmersdelight/loot_tables/blocks/canvas_sign.json
5e10190fc83f2ece9e8d48708b269e9fcc7a02bf data/farmersdelight/loot_tables/blocks/carrot_crate.json
3557fc439bfaeb2e48a062fed12e86a2947b7b2a data/farmersdelight/loot_tables/blocks/cherry_cabinet.json
+6964c37344609eccdc841f5365bc31624a2983e2 data/farmersdelight/loot_tables/blocks/chocolate_pie.json
58cd2733fcc220b719e96f4359f404883f7416ff data/farmersdelight/loot_tables/blocks/cooking_pot.json
d60b423fe6a969feb517e45c86d47b9f1deb13ac data/farmersdelight/loot_tables/blocks/crimson_cabinet.json
8dcd4c77dc83f4b5f09a61c4c91252408155f5af data/farmersdelight/loot_tables/blocks/cutting_board.json
+5ceb276a44167095c01d7722d15aaec47527678b data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
a65e59e4721635a0e414ce4a20dc2d533d713ee5 data/farmersdelight/loot_tables/blocks/cyan_hanging_canvas_sign.json
39dbc641d7f13f744f9bae41f24d075d0b9c0167 data/farmersdelight/loot_tables/blocks/dark_oak_cabinet.json
+88a96703cb60bdcd9d3d23c8afe1d57621609160 data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
+4d845038b429cdeb02c2bd3e34d1eafc5ddbcc08 data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
efb1d02be56af5931db784b1a8f59e74e1e9c530 data/farmersdelight/loot_tables/blocks/gray_hanging_canvas_sign.json
+bad04fd6f62ecfe5555dd0d4320c3e8bfe414262 data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
4105a63be53f1a06dbc21fa1a7d48ceca1b2f4c0 data/farmersdelight/loot_tables/blocks/green_hanging_canvas_sign.json
87360ee6a0b76f9b31c6e33993e4c09d1b994ab7 data/farmersdelight/loot_tables/blocks/half_tatami_mat.json
5d447efa169496f63fe5cdbba1edb608722e1154 data/farmersdelight/loot_tables/blocks/hanging_canvas_sign.json
+5b77127e8c7dc8168ac520afe87a56c25103d59d data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
00bd074a3a9bb34ee1b8bcaf7f5c20c384592855 data/farmersdelight/loot_tables/blocks/jungle_cabinet.json
+61d6fc49ad6388ba31c7a580b59ba41124df73ac data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
d82a0d0b3eabbc7eabe9d73bf28c2c97f0774b52 data/farmersdelight/loot_tables/blocks/light_blue_hanging_canvas_sign.json
+884c8df9a08b83831edfa423fc1f0cc88d21485d data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
268ead03375ab5fd1364d8162085588d6ac18977 data/farmersdelight/loot_tables/blocks/light_gray_hanging_canvas_sign.json
+6e8590e2e70370fa0236307e3f118263fcc61b37 data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
917b487bad6b3156f9798558a31cb5e893f13acf data/farmersdelight/loot_tables/blocks/lime_hanging_canvas_sign.json
+258b2410199336f6ea621d8ba385aa694077941b data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
92912842a5b383afe9767014fcabd67804b48703 data/farmersdelight/loot_tables/blocks/magenta_hanging_canvas_sign.json
86b8ba66204ec6a391e2d5b165a41c41220c1ca9 data/farmersdelight/loot_tables/blocks/mangrove_cabinet.json
ee89136fc930117ff6acc2093ecfdf1603d39567 data/farmersdelight/loot_tables/blocks/oak_cabinet.json
+3353404c9738428313450cce621d9689ca12b32e data/farmersdelight/loot_tables/blocks/onions.json
7cf62b3338d016d91651d1cf29463532cf0e93dd data/farmersdelight/loot_tables/blocks/onion_crate.json
+126ff540f386733d5c9f8abd4019ede05444f5f1 data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
8c915f1d051cbeb95df494d2e22e74366b6d470f data/farmersdelight/loot_tables/blocks/orange_hanging_canvas_sign.json
49ddd1bd1007fba1abe10a6a5d07b8323267c2a8 data/farmersdelight/loot_tables/blocks/organic_compost.json
+014d4efe43b8e05411515efbe0cb2afdb514ac44 data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
29289334a9e02966378640bf8962ab3e94800ba2 data/farmersdelight/loot_tables/blocks/pink_hanging_canvas_sign.json
5b6fbf70eb057a3225bf33109249208fdf76c201 data/farmersdelight/loot_tables/blocks/potato_crate.json
+15735bd85b408fb2d87ac9daef3a8cd922881082 data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
c84027d9499abaf0147d2b6d4b926ba0bc528495 data/farmersdelight/loot_tables/blocks/purple_hanging_canvas_sign.json
+28d82b66e8d0c86419ae321d5b4827748a5f0aab data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
28aab00e4d4dba456b286e9462a1da65ce69303c data/farmersdelight/loot_tables/blocks/red_hanging_canvas_sign.json
+ab49f9c9166c962b2faeb30529405028e58420f7 data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
+4b28affd1eb40a3648fa76211963d7a742ddef9a data/farmersdelight/loot_tables/blocks/rice.json
5631a97f846bda9766d1357746ef530593aeea31 data/farmersdelight/loot_tables/blocks/rice_bag.json
601eb487c5b3b053e076f067bc861f464961bd9e data/farmersdelight/loot_tables/blocks/rice_bale.json
+e6cdffd4ed578278d84ca6d181f8f892d01b2f87 data/farmersdelight/loot_tables/blocks/rice_panicles.json
+40117d39c42ac15305859c87d5063fa779274510 data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
fc7e3156f648c2134f235208d9c2b22964c735e7 data/farmersdelight/loot_tables/blocks/rich_soil.json
c1d03a43ac609d07995c2aa0e9b2abd73cefe3ae data/farmersdelight/loot_tables/blocks/rich_soil_farmland.json
+62f85673d10bc300044b5f909aec017b0e33fefd data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
37528dbafe10dcbb0b52f7858cd67b84fa27587c data/farmersdelight/loot_tables/blocks/rope.json
4022aaf7e682d2846d57833eaf3a5d201a96a874 data/farmersdelight/loot_tables/blocks/safety_net.json
+54b21e61cb534a1dfdd1d4733033ac8152ab8cf2 data/farmersdelight/loot_tables/blocks/sandy_shrub.json
+8d990d5783094b750d98b649076d9a040df5b506 data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
+e3e7a97b507231eaf6bab7914659bd95b3321e56 data/farmersdelight/loot_tables/blocks/skillet.json
645dc739b1c44d69ab46a455d6e03408ca2886ca data/farmersdelight/loot_tables/blocks/spruce_cabinet.json
4f43c96dcffa0a206cb08178c5d5a1d579749564 data/farmersdelight/loot_tables/blocks/stove.json
4457c2b15dac4b716e0d03c249728b65d12b0317 data/farmersdelight/loot_tables/blocks/straw_bale.json
+f3cf5a0368e06ba5d28a6614cc1494d3c46e4597 data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
+4c479a56ddc822da575cb1a3e0b07d95e9e0292d data/farmersdelight/loot_tables/blocks/sweet_berry_cheesecake.json
c0fb174db26a5834f442e2e0be23f2422355866e data/farmersdelight/loot_tables/blocks/tatami.json
+7267ae9031194b816df4fd0f824c5d64b64b7d45 data/farmersdelight/loot_tables/blocks/tomatoes.json
8b1f49427d5719b897c3dc8aa2a7984af67a6bcd data/farmersdelight/loot_tables/blocks/tomato_crate.json
79a1b4b2ea795880306e990703b655e57cd07efa data/farmersdelight/loot_tables/blocks/warped_cabinet.json
+31b05783f24e3a87674ee216c702178cbaf2f690 data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
b8e545f14f0fd94d7a67f4afe8111c686b019cd2 data/farmersdelight/loot_tables/blocks/white_hanging_canvas_sign.json
+41b5ece8e16d170a489ed097f3760771f4e11b9b data/farmersdelight/loot_tables/blocks/wild_beetroots.json
+e9ef3e1c5cae937fefb4c63d77bb7fe806bd935f data/farmersdelight/loot_tables/blocks/wild_cabbages.json
+0a13d294f0ae6bedaaa6dc847122b63ec27d49aa data/farmersdelight/loot_tables/blocks/wild_carrots.json
+5bbb10545b3211371d20f9c74db1f956ba7a9b6f data/farmersdelight/loot_tables/blocks/wild_onions.json
+bb3d82358cc587ce10365a97c7ef78644f83282d data/farmersdelight/loot_tables/blocks/wild_potatoes.json
+6a17376ee31a64d9af6a7c6e45f8b4590e67d9ba data/farmersdelight/loot_tables/blocks/wild_rice.json
+7ddce8aa327ea2518e430218a7800b66eb6e311d data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
+95ea36155e6f8a089b4ca93783af1d5cd27e44d4 data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
94feb431ac6b7039d5e76313342a50982b6bac54 data/farmersdelight/loot_tables/blocks/yellow_hanging_canvas_sign.json
+29257be8f8e8b315f9818c64153d316cb94ec35b data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
+5c749bbd8439693ec5fa41c5aaf0f6f4a23046a8 data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
+8fecaeba9749b96f4c55dc6d77983847a0c6bd4a data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
+c23cf39d23daa9966b9fb7ce15abc451d7ce8c59 data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
+aeb2c76cecb777c5bc8561fde5dc68d1731e6fc7 data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json
+57c57254c5196472c2efa82b444c9a27b328d652 data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
+f4a742b27346772ccf8b80bd3d9a3f476ba66289 data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json
+0c9e6b49d541660a95d278e4dab45892b75829cc data/farmersdelight/loot_tables/chests/fd_simple_dungeons.json
+2a03dbad18c0bd6a128c32e0aadc137b1bb96a46 data/farmersdelight/loot_tables/chests/fd_village_butcher.json
+8df787d9322491c0683d953108c7bbb831c42ef8 data/farmersdelight/loot_tables/chests/fd_village_desert_shouse.json
+da9439a0bbc2880d234c1298afb165088efdd77d data/farmersdelight/loot_tables/chests/fd_village_plains_shouse.json
+ee957e7c974845b71f7ef373b2f62ce79bfb54b0 data/farmersdelight/loot_tables/chests/fd_village_savanna_shouse.json
+0512aefcee9ad98b483abbbdc75db14183c77083 data/farmersdelight/loot_tables/chests/fd_village_snowy_shouse.json
+869d1fa2a1d0d54c2560023f7e81299f444e71a5 data/farmersdelight/loot_tables/chests/fd_village_taiga_shouse.json
diff --git a/src/generated/resources/.cache/744202df1d69ca3f1fe9bb1ddcd98221c68c3b51 b/src/generated/resources/.cache/744202df1d69ca3f1fe9bb1ddcd98221c68c3b51
new file mode 100644
index 000000000..d05f4d4e1
--- /dev/null
+++ b/src/generated/resources/.cache/744202df1d69ca3f1fe9bb1ddcd98221c68c3b51
@@ -0,0 +1,35 @@
+// 1.20.1 2023-08-11T12:48:49.7141327 Global Loot Modifiers : farmersdelight
+e58c0e0a845668e7b62b3b8a65ea8c75943add3b data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
+0c04670363f256c5cd01a4a304a1792d18cbbb94 data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
+beebe5a6989f5d1bfa8677a3cffda60a1c7c68b3 data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
+de339b8f805e7d1e700b21a802a05f3d1f8df81b data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
+b99f8eeb9a386279c2c108cd468db5ce37b97c9d data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
+08a2b62233217ba17aec9a451c9d3bcd1714e80b data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
+c69316fa3e4fdb22db1fdeb643107802c137b7f8 data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
+5bc5d2dc8fae9ae61913dfeb7cc8310f6e63bff9 data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
+4006d399ec9580e9ac29692fbb91a202b606245b data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
+098559030f0f5a66db66ab8adbaea391db05b1a1 data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
+2650fc9f198e03f27270964c3540191535a8ee4e data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
+3f43a840f18ed4b43bc3fd23d05439c30b6da455 data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
+6d29d7d74986cd18f6e64eac087aff48412ba325 data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
+8690c3e655daec69090e8e176c61b3dc2aba7f6e data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
+e6be30363e7ae0b0295484365dfb3d6ce22e8823 data/farmersdelight/loot_modifiers/scavenging_feather.json
+c35f13d1cc769fca69f533e19040863ba434378d data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
+af5b43f02652f4791f149a606155ff1c0b92f99e data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
+89361871dc52a963c99a1194bc1f70ee7976c46e data/farmersdelight/loot_modifiers/scavenging_leather.json
+564b098249dba390818b503c532732c6120bfe01 data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
+ace1aafff9a04035c1291af81d42d087224a030f data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
+7ab4f7706b3236f5b3c15fc68fc8f6523dabdd1a data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
+e71609ce4e5898bce3b4e31961aac3d5200754c4 data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
+3d605a341f9a849eb350a60ca154007e25d17731 data/farmersdelight/loot_modifiers/scavenging_string.json
+70fc885a0c8a1ed4b686a3c80f7ccf5bfb56a965 data/farmersdelight/loot_modifiers/slicing_apple_pie.json
+b1050052a24748a79ccede902fb285e86a44360f data/farmersdelight/loot_modifiers/slicing_cake.json
+fdba174ede54db0d7947cac1fdb54111f4f3ef8b data/farmersdelight/loot_modifiers/slicing_candle_cake.json
+1762f45fc5ca9594ac4796334bfc0f8dc3a9ffbb data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
+e28a80212b816291955661e6d0d64e4c06a10c5a data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
+be64e92170fbba2770b44bd1728c803dea792492 data/farmersdelight/loot_modifiers/straw_from_grass.json
+b0b82d2c21861569541f5d547d203ee46ef38785 data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
+213fdc917cd4776c9de67df3e48371fc232ab09c data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
+ac60502120207ab5e1ad8b9b7017f105119fcf81 data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json
+d54a9eb0e3752e3d49304a6c28c1059d82276d6e data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
+7b3aab49f04cd3f31d26365972441c2a5211a9d4 data/forge/loot_modifiers/global_loot_modifiers.json
diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
index 5da770034..2c3832e1d 100644
--- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
+++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
@@ -1,4 +1,5 @@
-// 1.20.1 2023-07-10T23:57:14.5461455 Recipes
+// 1.20.1 2023-08-11T12:48:49.7201181 Recipes
+169cfc1d11ca3cede161363799f6c0e00bc1412e data/farmersdelight/advancements/recipes/beetroot_crate.json
a498fcc8b72b6631ddbb164a0245b37491e7571a data/farmersdelight/advancements/recipes/building_blocks/cabbage_crate.json
c941206993bfa59d31b38132b898fb94c29746a6 data/farmersdelight/advancements/recipes/building_blocks/onion_crate.json
2b93ef657fca92a73775c750079ea1503d8f02cc data/farmersdelight/advancements/recipes/building_blocks/organic_compost_from_rotten_flesh.json
@@ -11,6 +12,7 @@ f95302bf38534b74c05b40fee70719e9f4d55625 data/farmersdelight/advancements/recipe
11c505095c0ccbe460bbfed21ffa1460898116d5 data/farmersdelight/advancements/recipes/building_blocks/tatami.json
53c774f3d3a9b525d0a633e55ede9239a238125b data/farmersdelight/advancements/recipes/building_blocks/tatami_block_from_full.json
01f7094e16fbda1f2e5ec1c9273825d99ba72f17 data/farmersdelight/advancements/recipes/building_blocks/tomato_crate.json
+3b28c64fc2f30a4378d063f040e611ed3e8438da data/farmersdelight/advancements/recipes/carrot_crate.json
fb66ffdb7f4929d3518fba6654d5fcfe929f06a8 data/farmersdelight/advancements/recipes/combat/diamond_knife.json
7cc62d06c6ffb8bc82192899902d2dbb4bba3c5d data/farmersdelight/advancements/recipes/combat/flint_knife.json
24b9428ec8e9aa3f65c5a8bc3882e66b2c3ecc1c data/farmersdelight/advancements/recipes/combat/golden_knife.json
@@ -186,6 +188,7 @@ c49076d75127020586d2f2f3b80f176fb11c0559 data/farmersdelight/advancements/recipe
264dcde3e3439a84d6999fcc7927e5db103f6a3e data/farmersdelight/advancements/recipes/misc/pumpkin_seeds_from_slice.json
20c2403458bde981b58cbe4ad7e9cefe2f2b0cd5 data/farmersdelight/advancements/recipes/misc/straw.json
96a0982ee32cec2d757a7bff2e357de83846aca7 data/farmersdelight/advancements/recipes/misc/tomato_seeds.json
+bba92b413391dfb2e04cbc06cb90d0373df460b5 data/farmersdelight/advancements/recipes/potato_crate.json
6db2487428e09c60a03cb2ba8c6e4f1b8b224d07 data/farmersdelight/advancements/recipes/tools/lead_from_straw.json
ad4e1f45cec9b201a9a6480c4b8690c240ba252e data/farmersdelight/recipes/acacia_cabinet.json
e441d02e4ca9781f43f414ba6ff1a887e94461d0 data/farmersdelight/recipes/apple_pie.json
@@ -198,6 +201,7 @@ dba29897f252e03a7024205626973379e279edac data/farmersdelight/recipes/barbecue_st
8346be37cb408fb3220aed4ddbe74669ec52f6c3 data/farmersdelight/recipes/beef_patty.json
7b1ce243e3e465a597a14b359a8b2ed2732493bb data/farmersdelight/recipes/beef_patty_from_campfire_cooking.json
c83f611a203e6b174c1c2c0e1ff02b105299faf3 data/farmersdelight/recipes/beef_patty_from_smoking.json
+8bd78c4bb13ffb616e92ef922d687cb4f1a86967 data/farmersdelight/recipes/beetroot_crate.json
55ecdd3c870864b5b6fa108520215e19c8a58ff4 data/farmersdelight/recipes/beetroot_from_crate.json
6b5f3b153e8c68455081c332e8e8091611a48b01 data/farmersdelight/recipes/birch_cabinet.json
d231e4c2a4a921cc59ce6f030145590caf504795 data/farmersdelight/recipes/black_canvas_sign.json
@@ -218,6 +222,7 @@ ee9a433ad4c2a01b83536b233f0bf914229e2eff data/farmersdelight/recipes/cake_from_s
b9bc2d35050198d9cb5f5d1b3f32399e638997e6 data/farmersdelight/recipes/canvas_from_canvas_rug.json
b56967133fc640a9c37d5c0f925e3ae0d3639c1a data/farmersdelight/recipes/canvas_rug.json
c919255b338d8a029954f2f584fb2a9f1a72f2c9 data/farmersdelight/recipes/canvas_sign.json
+02baf1abf7b18325db7df456743d833400007721 data/farmersdelight/recipes/carrot_crate.json
070d0371046b2e1e5cd9abb43d6ed0241aa216c2 data/farmersdelight/recipes/carrot_from_crate.json
dfb21c9fac85f9c55f3059d0d1a9d3e77025dd19 data/farmersdelight/recipes/cherry_cabinet.json
21c077801a0f5bc11954e144c0f61ee6586b1757 data/farmersdelight/recipes/chicken_sandwich.json
@@ -455,6 +460,7 @@ ab396b98bcef906a7253605388b4037e7a3851c0 data/farmersdelight/recipes/paper_from_
816fd67bb63432a741a6cc26e7e06d45016a6e48 data/farmersdelight/recipes/pie_crust.json
2fb3b6ad42dcdafbbbdc1dbb4262eb26bf477e3b data/farmersdelight/recipes/pink_canvas_sign.json
b200c2ca3c440b9edf81eaadff9312147c0c7fdb data/farmersdelight/recipes/pink_hanging_canvas_sign.json
+f6988d7fc44ee139bf3128d6823b8b5b5a29e799 data/farmersdelight/recipes/potato_crate.json
36c7bb00a4bd87813f4106ec32609214a076349c data/farmersdelight/recipes/potato_from_crate.json
f9c822d428e938e926b44fd5615b28022dfa1394 data/farmersdelight/recipes/pumpkin_from_slices.json
f340ee4b30ed35a7e5f521de55d0d949f805e126 data/farmersdelight/recipes/pumpkin_seeds_from_slice.json
diff --git a/src/generated/resources/.cache/eb988f5004aa6ab76b05474d295e626a254364e4 b/src/generated/resources/.cache/eb988f5004aa6ab76b05474d295e626a254364e4
index 711f1c552..9c694b864 100644
--- a/src/generated/resources/.cache/eb988f5004aa6ab76b05474d295e626a254364e4
+++ b/src/generated/resources/.cache/eb988f5004aa6ab76b05474d295e626a254364e4
@@ -1,4 +1,4 @@
-// 1.20.1 2023-07-12T00:04:43.1623939 Block States: farmersdelight
+// 1.20.1 2023-08-11T12:48:49.717125 Block States: farmersdelight
d4d9057afde725ea2a48206d8c1ea6eee4ec1c24 assets/farmersdelight/blockstates/acacia_cabinet.json
c1a643b06507467b350b8eedb4cc05f93d71abb2 assets/farmersdelight/blockstates/apple_pie.json
5cf28a36e15368244462670289f57eb16fa0a086 assets/farmersdelight/blockstates/bamboo_cabinet.json
@@ -21,11 +21,13 @@ a9fe3db0d209aa7e3dd328b32ebc776e0b8e998d assets/farmersdelight/blockstates/birch
07e7cbfda72043537fb5be1765cfa8864c17a205 assets/farmersdelight/blockstates/budding_tomatoes.json
0e2dcbbb710b5aac3929ecbecc1e158abe456087 assets/farmersdelight/blockstates/cabbages.json
b95ef5c1d0b1538ac6b6c9c538760d4106ac18ca assets/farmersdelight/blockstates/cabbage_crate.json
+c24712bba0c0bf4d82e5c4d10366e1c1bf6b8ef2 assets/farmersdelight/blockstates/canvas_rug.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/canvas_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/canvas_wall_sign.json
c0f89cb303eb1a79be5959b3af35f486786bbfad assets/farmersdelight/blockstates/carrot_crate.json
8426c4e5f1684aaf8be4d78082e548dacc3af5e1 assets/farmersdelight/blockstates/cherry_cabinet.json
47ee340614aea91969545b1f55cb9ef4a6052b52 assets/farmersdelight/blockstates/chocolate_pie.json
+8c798800a3fb083159ed1722d4729a2d735780d5 assets/farmersdelight/blockstates/cooking_pot.json
c04b606f243c989a5ef6718961134ccf92fd1323 assets/farmersdelight/blockstates/crimson_cabinet.json
f2cdfdf57f84b5e538ef28b793361da993bcc7d3 assets/farmersdelight/blockstates/cutting_board.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/cyan_canvas_sign.json
@@ -33,6 +35,7 @@ f2cdfdf57f84b5e538ef28b793361da993bcc7d3 assets/farmersdelight/blockstates/cutti
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/cyan_hanging_canvas_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/cyan_wall_hanging_canvas_sign.json
7fe5bdcd3dab8725b3f9457657d11c490f9e4750 assets/farmersdelight/blockstates/dark_oak_cabinet.json
+55c4c48f207c7ad958f5d591c207847ab52b311d assets/farmersdelight/blockstates/full_tatami_mat.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/gray_canvas_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/gray_canvas_wall_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/gray_hanging_canvas_sign.json
@@ -69,6 +72,7 @@ f81af0a46763e17ef99dcdee35610540af574672 assets/farmersdelight/blockstates/onion
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/orange_canvas_wall_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/orange_hanging_canvas_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/orange_wall_hanging_canvas_sign.json
+9efb87bac540a9e1da27e081aeca383356477721 assets/farmersdelight/blockstates/organic_compost.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/pink_canvas_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/pink_canvas_wall_sign.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/pink_hanging_canvas_sign.json
@@ -83,20 +87,26 @@ f81af0a46763e17ef99dcdee35610540af574672 assets/farmersdelight/blockstates/onion
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/red_hanging_canvas_sign.json
0c61048a65e6b8999e03986101f35fda3a088574 assets/farmersdelight/blockstates/red_mushroom_colony.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/red_wall_hanging_canvas_sign.json
+e178501982b618876daf01ff44ac5947c7bf9888 assets/farmersdelight/blockstates/rice.json
d0b942f2e9c9036277e4cb89a70a56877df0e678 assets/farmersdelight/blockstates/rice_bag.json
980cc829202fcd8649768dd586ec546eb98ba757 assets/farmersdelight/blockstates/rice_bale.json
52b8c058185c61469e179156c24cbdda195d0d14 assets/farmersdelight/blockstates/rice_panicles.json
b7193e19fd0c247bb749688b483ff5098dfd90ee assets/farmersdelight/blockstates/rice_roll_medley_block.json
ee9526c2fe9ef142e74d2f52b3ba25dd7f5d55c4 assets/farmersdelight/blockstates/rich_soil.json
+8554219ee8e40471f8ac0d2b2f1f16227a6b636c assets/farmersdelight/blockstates/rich_soil_farmland.json
1d166f08356c7778f8f71e6e903e92c76f472177 assets/farmersdelight/blockstates/roast_chicken_block.json
+50b80e7e84e50cb4ffd96d5ac84284668ffb27ee assets/farmersdelight/blockstates/rope.json
61339c185ed423cf1b33dfd7d540977ab83a2a2a assets/farmersdelight/blockstates/safety_net.json
487d56bbfa59470e8eca28982c05791be4791ed2 assets/farmersdelight/blockstates/sandy_shrub.json
121e03bd07dcbc39c64a2f9dc1c1a77633a65a4f assets/farmersdelight/blockstates/shepherds_pie_block.json
+e84d606c5539bd91aa17fa783751522c263c78f6 assets/farmersdelight/blockstates/skillet.json
16597c0101a4c2ce503d003edcfaa0873691d60b assets/farmersdelight/blockstates/spruce_cabinet.json
653635b0425a7ff2454da971a8560c2c2bde97cb assets/farmersdelight/blockstates/stove.json
e275dcdaf2a65932201b532fc34d083c41c4d0a0 assets/farmersdelight/blockstates/straw_bale.json
bdb7a47a0e248d9f67be404f44d5a97676cd582f assets/farmersdelight/blockstates/stuffed_pumpkin_block.json
27b03cbc175283c7940eb6fffc11454aac15f156 assets/farmersdelight/blockstates/sweet_berry_cheesecake.json
+19e8d4cb9ce19b5ea6d59ef0a1c0e237c7f6f39b assets/farmersdelight/blockstates/tatami.json
+695ba4e0778505245f4a16c82253859419a3310d assets/farmersdelight/blockstates/tomatoes.json
0666ee92b7657919e5167bb5da94d890eb97661c assets/farmersdelight/blockstates/tomato_crate.json
8ee2f7c922e1e098812e0bd0cc5c7633f5632216 assets/farmersdelight/blockstates/wall_hanging_canvas_sign.json
698a33c1632c8b9e29f528a6692800b9670b96b5 assets/farmersdelight/blockstates/warped_cabinet.json
@@ -157,6 +167,14 @@ b28744d36508e1d5d6deb7c94e68f188bdfcd68b assets/farmersdelight/models/block/onio
f5c7b74e81b0a265515507c490971e2df772f1f1 assets/farmersdelight/models/block/onions_stage2.json
a64ec960f3d5575f8a2ce4daf4c36239c4f39f81 assets/farmersdelight/models/block/onions_stage3.json
c44ae5cec8d0595293a80824a8b013dee710be86 assets/farmersdelight/models/block/onion_crate.json
+78d1def19336a05151ff87e48b4d917bbdaac9b2 assets/farmersdelight/models/block/organic_compost_0.json
+78d1def19336a05151ff87e48b4d917bbdaac9b2 assets/farmersdelight/models/block/organic_compost_1.json
+ec4ca27f8c944993841015c79550c8bc2004a774 assets/farmersdelight/models/block/organic_compost_2.json
+ec4ca27f8c944993841015c79550c8bc2004a774 assets/farmersdelight/models/block/organic_compost_3.json
+b47635a33020e3bc72553d5b8d5333de319ba660 assets/farmersdelight/models/block/organic_compost_4.json
+b47635a33020e3bc72553d5b8d5333de319ba660 assets/farmersdelight/models/block/organic_compost_5.json
+3b799a62220cd8f9fc5ed09b5ff5926de6a408a8 assets/farmersdelight/models/block/organic_compost_6.json
+3b799a62220cd8f9fc5ed09b5ff5926de6a408a8 assets/farmersdelight/models/block/organic_compost_7.json
5c4b76209d4fd845774d983b573024b52fbf3f57 assets/farmersdelight/models/block/potato_crate.json
8820611c3fffb261b829c9c04c454a61a60a78c0 assets/farmersdelight/models/block/red_mushroom_colony_stage0.json
0a360060dde0a6ebe4b76b7c7edae2062888c795 assets/farmersdelight/models/block/red_mushroom_colony_stage1.json
@@ -175,6 +193,7 @@ bee1fa8b8cfae229b920578100130bf29545b8c4 assets/farmersdelight/models/block/spru
3546e13bda0952bbf34366087aab27b5822bd1fb assets/farmersdelight/models/block/stove_on.json
f837eb2172d2e9c93511715b8ad99eefea0f1306 assets/farmersdelight/models/block/straw_bale.json
a38791dde4f9a0a964579cacaa579a3d21045b09 assets/farmersdelight/models/block/straw_bale_horizontal.json
+73293b6f6be6379d499556364dc3ecf0b0e8815d assets/farmersdelight/models/block/tatami_half.json
16a3aff2e9db72922a9f927a7226cd7c6f087e5e assets/farmersdelight/models/block/tomato_crate.json
6446b367173a02332113194898e86426cedbb9dc assets/farmersdelight/models/block/warped_cabinet.json
f68ef3c4f9a9a03980b6853c8b9cbe6a9faad24d assets/farmersdelight/models/block/warped_cabinet_open.json
diff --git a/src/main/resources/assets/farmersdelight/blockstates/canvas_rug.json b/src/generated/resources/assets/farmersdelight/blockstates/canvas_rug.json
similarity index 100%
rename from src/main/resources/assets/farmersdelight/blockstates/canvas_rug.json
rename to src/generated/resources/assets/farmersdelight/blockstates/canvas_rug.json
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/cooking_pot.json b/src/generated/resources/assets/farmersdelight/blockstates/cooking_pot.json
new file mode 100644
index 000000000..ef28503d1
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/cooking_pot.json
@@ -0,0 +1,94 @@
+{
+ "variants": {
+ "facing=east,support=handle,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 270
+ },
+ "facing=east,support=handle,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 270
+ },
+ "facing=east,support=none,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 270
+ },
+ "facing=east,support=none,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 270
+ },
+ "facing=east,support=tray,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 270
+ },
+ "facing=east,support=tray,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 270
+ },
+ "facing=north,support=handle,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 180
+ },
+ "facing=north,support=handle,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 180
+ },
+ "facing=north,support=none,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 180
+ },
+ "facing=north,support=none,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 180
+ },
+ "facing=north,support=tray,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 180
+ },
+ "facing=north,support=tray,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 180
+ },
+ "facing=south,support=handle,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_handle"
+ },
+ "facing=south,support=handle,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_handle"
+ },
+ "facing=south,support=none,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot"
+ },
+ "facing=south,support=none,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot"
+ },
+ "facing=south,support=tray,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_tray"
+ },
+ "facing=south,support=tray,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_tray"
+ },
+ "facing=west,support=handle,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 90
+ },
+ "facing=west,support=handle,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_handle",
+ "y": 90
+ },
+ "facing=west,support=none,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 90
+ },
+ "facing=west,support=none,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot",
+ "y": 90
+ },
+ "facing=west,support=tray,waterlogged=false": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 90
+ },
+ "facing=west,support=tray,waterlogged=true": {
+ "model": "farmersdelight:block/cooking_pot_tray",
+ "y": 90
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/full_tatami_mat.json b/src/generated/resources/assets/farmersdelight/blockstates/full_tatami_mat.json
new file mode 100644
index 000000000..5c73454d0
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/full_tatami_mat.json
@@ -0,0 +1,34 @@
+{
+ "variants": {
+ "facing=east,part=foot": {
+ "model": "farmersdelight:block/tatami_mat_foot",
+ "y": 270
+ },
+ "facing=east,part=head": {
+ "model": "farmersdelight:block/tatami_mat_head",
+ "y": 270
+ },
+ "facing=north,part=foot": {
+ "model": "farmersdelight:block/tatami_mat_foot",
+ "y": 180
+ },
+ "facing=north,part=head": {
+ "model": "farmersdelight:block/tatami_mat_head",
+ "y": 180
+ },
+ "facing=south,part=foot": {
+ "model": "farmersdelight:block/tatami_mat_foot"
+ },
+ "facing=south,part=head": {
+ "model": "farmersdelight:block/tatami_mat_head"
+ },
+ "facing=west,part=foot": {
+ "model": "farmersdelight:block/tatami_mat_foot",
+ "y": 90
+ },
+ "facing=west,part=head": {
+ "model": "farmersdelight:block/tatami_mat_head",
+ "y": 90
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/organic_compost.json b/src/generated/resources/assets/farmersdelight/blockstates/organic_compost.json
new file mode 100644
index 000000000..a470235c7
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/organic_compost.json
@@ -0,0 +1,140 @@
+{
+ "variants": {
+ "composting=0": [
+ {
+ "model": "farmersdelight:block/organic_compost_0"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_0",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_0",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_0",
+ "y": 270
+ }
+ ],
+ "composting=1": [
+ {
+ "model": "farmersdelight:block/organic_compost_1"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_1",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_1",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_1",
+ "y": 270
+ }
+ ],
+ "composting=2": [
+ {
+ "model": "farmersdelight:block/organic_compost_2"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_2",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_2",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_2",
+ "y": 270
+ }
+ ],
+ "composting=3": [
+ {
+ "model": "farmersdelight:block/organic_compost_3"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_3",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_3",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_3",
+ "y": 270
+ }
+ ],
+ "composting=4": [
+ {
+ "model": "farmersdelight:block/organic_compost_4"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_4",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_4",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_4",
+ "y": 270
+ }
+ ],
+ "composting=5": [
+ {
+ "model": "farmersdelight:block/organic_compost_5"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_5",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_5",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_5",
+ "y": 270
+ }
+ ],
+ "composting=6": [
+ {
+ "model": "farmersdelight:block/organic_compost_6"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_6",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_6",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_6",
+ "y": 270
+ }
+ ],
+ "composting=7": [
+ {
+ "model": "farmersdelight:block/organic_compost_7"
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_7",
+ "y": 90
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_7",
+ "y": 180
+ },
+ {
+ "model": "farmersdelight:block/organic_compost_7",
+ "y": 270
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/rice.json b/src/generated/resources/assets/farmersdelight/blockstates/rice.json
new file mode 100644
index 000000000..34c2c0dd4
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/rice.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "age=0,supporting=false": {
+ "model": "farmersdelight:block/rice_stage0"
+ },
+ "age=0,supporting=true": {
+ "model": "farmersdelight:block/rice_stage0"
+ },
+ "age=1,supporting=false": {
+ "model": "farmersdelight:block/rice_stage1"
+ },
+ "age=1,supporting=true": {
+ "model": "farmersdelight:block/rice_stage1"
+ },
+ "age=2,supporting=false": {
+ "model": "farmersdelight:block/rice_stage2"
+ },
+ "age=2,supporting=true": {
+ "model": "farmersdelight:block/rice_stage2"
+ },
+ "age=3,supporting=false": {
+ "model": "farmersdelight:block/rice_stage3"
+ },
+ "age=3,supporting=true": {
+ "model": "farmersdelight:block/rice_supporting"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json b/src/generated/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json
new file mode 100644
index 000000000..a22379aad
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "moisture=0": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=1": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=2": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=3": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=4": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=5": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=6": {
+ "model": "farmersdelight:block/rich_soil_farmland"
+ },
+ "moisture=7": {
+ "model": "farmersdelight:block/rich_soil_farmland_moist"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/rope.json b/src/generated/resources/assets/farmersdelight/blockstates/rope.json
new file mode 100644
index 000000000..093dfb371
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/rope.json
@@ -0,0 +1,51 @@
+{
+ "multipart": [
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_post"
+ }
+ },
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_bell_tie"
+ },
+ "when": {
+ "tied_to_bell": "true"
+ }
+ },
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_side"
+ },
+ "when": {
+ "north": "true"
+ }
+ },
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_side",
+ "y": 90
+ },
+ "when": {
+ "east": "true"
+ }
+ },
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_side_alt"
+ },
+ "when": {
+ "south": "true"
+ }
+ },
+ {
+ "apply": {
+ "model": "farmersdelight:block/rope_side_alt",
+ "y": 90
+ },
+ "when": {
+ "west": "true"
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/blockstates/skillet.json b/src/generated/resources/assets/farmersdelight/blockstates/skillet.json
similarity index 100%
rename from src/main/resources/assets/farmersdelight/blockstates/skillet.json
rename to src/generated/resources/assets/farmersdelight/blockstates/skillet.json
index eaa0e0e7b..85de8e888 100644
--- a/src/main/resources/assets/farmersdelight/blockstates/skillet.json
+++ b/src/generated/resources/assets/farmersdelight/blockstates/skillet.json
@@ -1,32 +1,32 @@
{
"variants": {
- "facing=north,support=false": {
- "model": "farmersdelight:block/skillet"
- },
- "facing=south,support=false": {
+ "facing=east,support=false": {
"model": "farmersdelight:block/skillet",
- "y": 180
+ "y": 270
},
- "facing=west,support=false": {
- "model": "farmersdelight:block/skillet",
+ "facing=east,support=true": {
+ "model": "farmersdelight:block/skillet_tray",
"y": 270
},
- "facing=east,support=false": {
+ "facing=north,support=false": {
"model": "farmersdelight:block/skillet",
- "y": 90
+ "y": 180
},
"facing=north,support=true": {
- "model": "farmersdelight:block/skillet_tray"
- },
- "facing=south,support=true": {
"model": "farmersdelight:block/skillet_tray",
"y": 180
},
- "facing=west,support=true": {
- "model": "farmersdelight:block/skillet_tray",
- "y": 270
+ "facing=south,support=false": {
+ "model": "farmersdelight:block/skillet"
},
- "facing=east,support=true": {
+ "facing=south,support=true": {
+ "model": "farmersdelight:block/skillet_tray"
+ },
+ "facing=west,support=false": {
+ "model": "farmersdelight:block/skillet",
+ "y": 90
+ },
+ "facing=west,support=true": {
"model": "farmersdelight:block/skillet_tray",
"y": 90
}
diff --git a/src/generated/resources/assets/farmersdelight/blockstates/tatami.json b/src/generated/resources/assets/farmersdelight/blockstates/tatami.json
new file mode 100644
index 000000000..d9525eb7b
--- /dev/null
+++ b/src/generated/resources/assets/farmersdelight/blockstates/tatami.json
@@ -0,0 +1,56 @@
+{
+ "variants": {
+ "facing=down,paired=false": {
+ "model": "farmersdelight:block/tatami_half",
+ "x": 180
+ },
+ "facing=down,paired=true": {
+ "model": "farmersdelight:block/tatami_even",
+ "x": 180
+ },
+ "facing=east,paired=false": {
+ "model": "farmersdelight:block/tatami_half",
+ "x": 90,
+ "y": 90
+ },
+ "facing=east,paired=true": {
+ "model": "farmersdelight:block/tatami_odd",
+ "x": 90,
+ "y": 90
+ },
+ "facing=north,paired=false": {
+ "model": "farmersdelight:block/tatami_half",
+ "x": 90
+ },
+ "facing=north,paired=true": {
+ "model": "farmersdelight:block/tatami_even",
+ "x": 90
+ },
+ "facing=south,paired=false": {
+ "model": "farmersdelight:block/tatami_half",
+ "x": 90,
+ "y": 180
+ },
+ "facing=south,paired=true": {
+ "model": "farmersdelight:block/tatami_odd",
+ "x": 90,
+ "y": 180
+ },
+ "facing=up,paired=false": {
+ "model": "farmersdelight:block/tatami_half"
+ },
+ "facing=up,paired=true": {
+ "model": "farmersdelight:block/tatami_odd"
+ },
+ "facing=west,paired=false": {
+ "model": "farmersdelight:block/tatami_half",
+ "x": 90,
+ "y": 270
+ },
+ "facing=west,paired=true": {
+ "model": "farmersdelight:block/tatami_even",
+ "x": 90,
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/blockstates/tomatoes.json b/src/generated/resources/assets/farmersdelight/blockstates/tomatoes.json
similarity index 100%
rename from src/main/resources/assets/farmersdelight/blockstates/tomatoes.json
rename to src/generated/resources/assets/farmersdelight/blockstates/tomatoes.json
index a81e633b2..c65be23d5 100644
--- a/src/main/resources/assets/farmersdelight/blockstates/tomatoes.json
+++ b/src/generated/resources/assets/farmersdelight/blockstates/tomatoes.json
@@ -3,24 +3,24 @@
"age=0,ropelogged=false": {
"model": "farmersdelight:block/tomatoes_stage0"
},
- "age=1,ropelogged=false": {
- "model": "farmersdelight:block/tomatoes_stage1"
- },
- "age=2,ropelogged=false": {
- "model": "farmersdelight:block/tomatoes_stage2"
- },
- "age=3,ropelogged=false": {
- "model": "farmersdelight:block/tomatoes_stage3"
- },
"age=0,ropelogged=true": {
"model": "farmersdelight:block/tomatoes_vine_stage0"
},
+ "age=1,ropelogged=false": {
+ "model": "farmersdelight:block/tomatoes_stage1"
+ },
"age=1,ropelogged=true": {
"model": "farmersdelight:block/tomatoes_vine_stage1"
},
+ "age=2,ropelogged=false": {
+ "model": "farmersdelight:block/tomatoes_stage2"
+ },
"age=2,ropelogged=true": {
"model": "farmersdelight:block/tomatoes_vine_stage2"
},
+ "age=3,ropelogged=false": {
+ "model": "farmersdelight:block/tomatoes_stage3"
+ },
"age=3,ropelogged=true": {
"model": "farmersdelight:block/tomatoes_vine_stage3"
}
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_0.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_0.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_0.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_0.json
index 7b8317c74..d7ff21604 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_0.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_0.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage0"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_1.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_1.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_1.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_1.json
index 7b8317c74..d7ff21604 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_1.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_1.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage0"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_2.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_2.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_2.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_2.json
index 8a67195ff..8e0ebe2f9 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_2.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_2.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage1"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_3.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_3.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_3.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_3.json
index 8a67195ff..8e0ebe2f9 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_3.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_3.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage1"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_4.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_4.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_4.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_4.json
index aae247071..13092b6f7 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_4.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_4.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage2"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_5.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_5.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_5.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_5.json
index aae247071..13092b6f7 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_5.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_5.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage2"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_6.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_6.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_6.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_6.json
index 13633461f..2b0de4090 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_6.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_6.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage3"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/organic_compost_7.json b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_7.json
similarity index 65%
rename from src/main/resources/assets/farmersdelight/models/block/organic_compost_7.json
rename to src/generated/resources/assets/farmersdelight/models/block/organic_compost_7.json
index 13633461f..2b0de4090 100644
--- a/src/main/resources/assets/farmersdelight/models/block/organic_compost_7.json
+++ b/src/generated/resources/assets/farmersdelight/models/block/organic_compost_7.json
@@ -1,6 +1,6 @@
{
- "parent": "block/cube_all",
+ "parent": "minecraft:block/cube_all",
"textures": {
"all": "farmersdelight:block/organic_compost_stage3"
}
-}
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/models/block/tatami_half.json b/src/generated/resources/assets/farmersdelight/models/block/tatami_half.json
similarity index 100%
rename from src/main/resources/assets/farmersdelight/models/block/tatami_half.json
rename to src/generated/resources/assets/farmersdelight/models/block/tatami_half.json
diff --git a/src/generated/resources/data/farmersdelight/advancements/recipes/beetroot_crate.json b/src/generated/resources/data/farmersdelight/advancements/recipes/beetroot_crate.json
new file mode 100644
index 000000000..3d2b8b185
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/advancements/recipes/beetroot_crate.json
@@ -0,0 +1,46 @@
+{
+ "advancements": [
+ {
+ "advancement": {
+ "parent": "minecraft:recipes/root",
+ "criteria": {
+ "has_beetroot": {
+ "conditions": {
+ "items": [
+ {
+ "items": [
+ "minecraft:beetroot"
+ ]
+ }
+ ]
+ },
+ "trigger": "minecraft:inventory_changed"
+ },
+ "has_the_recipe": {
+ "conditions": {
+ "recipe": "farmersdelight:beetroot_crate"
+ },
+ "trigger": "minecraft:recipe_unlocked"
+ }
+ },
+ "requirements": [
+ [
+ "has_beetroot",
+ "has_the_recipe"
+ ]
+ ],
+ "rewards": {
+ "recipes": [
+ "farmersdelight:beetroot_crate"
+ ]
+ },
+ "sends_telemetry_event": false
+ },
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/advancements/recipes/carrot_crate.json b/src/generated/resources/data/farmersdelight/advancements/recipes/carrot_crate.json
new file mode 100644
index 000000000..aa0474f6d
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/advancements/recipes/carrot_crate.json
@@ -0,0 +1,46 @@
+{
+ "advancements": [
+ {
+ "advancement": {
+ "parent": "minecraft:recipes/root",
+ "criteria": {
+ "has_carrot": {
+ "conditions": {
+ "items": [
+ {
+ "items": [
+ "minecraft:carrot"
+ ]
+ }
+ ]
+ },
+ "trigger": "minecraft:inventory_changed"
+ },
+ "has_the_recipe": {
+ "conditions": {
+ "recipe": "farmersdelight:carrot_crate"
+ },
+ "trigger": "minecraft:recipe_unlocked"
+ }
+ },
+ "requirements": [
+ [
+ "has_carrot",
+ "has_the_recipe"
+ ]
+ ],
+ "rewards": {
+ "recipes": [
+ "farmersdelight:carrot_crate"
+ ]
+ },
+ "sends_telemetry_event": false
+ },
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/advancements/recipes/potato_crate.json b/src/generated/resources/data/farmersdelight/advancements/recipes/potato_crate.json
new file mode 100644
index 000000000..6f541b79e
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/advancements/recipes/potato_crate.json
@@ -0,0 +1,46 @@
+{
+ "advancements": [
+ {
+ "advancement": {
+ "parent": "minecraft:recipes/root",
+ "criteria": {
+ "has_potato": {
+ "conditions": {
+ "items": [
+ {
+ "items": [
+ "minecraft:potato"
+ ]
+ }
+ ]
+ },
+ "trigger": "minecraft:inventory_changed"
+ },
+ "has_the_recipe": {
+ "conditions": {
+ "recipe": "farmersdelight:potato_crate"
+ },
+ "trigger": "minecraft:recipe_unlocked"
+ }
+ },
+ "requirements": [
+ [
+ "has_potato",
+ "has_the_recipe"
+ ]
+ ],
+ "rewards": {
+ "recipes": [
+ "farmersdelight:potato_crate"
+ ]
+ },
+ "sends_telemetry_event": false
+ },
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/damage_type/stove_burn.json b/src/generated/resources/data/farmersdelight/damage_type/stove_burn.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/damage_type/stove_burn.json
rename to src/generated/resources/data/farmersdelight/damage_type/stove_burn.json
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json
diff --git a/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json
new file mode 100644
index 000000000..82c541c4f
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json
@@ -0,0 +1,6 @@
+{
+ "type": "farmersdelight:add_features_by_filter",
+ "allowed_biomes": "#minecraft:is_beach",
+ "features": "farmersdelight:patch_wild_beetroots",
+ "step": "vegetal_decoration"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json
new file mode 100644
index 000000000..17aa0c059
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json
@@ -0,0 +1,6 @@
+{
+ "type": "farmersdelight:add_features_by_filter",
+ "allowed_biomes": "#minecraft:is_beach",
+ "features": "farmersdelight:patch_wild_cabbages",
+ "step": "vegetal_decoration"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json
similarity index 73%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json
index 78e1a3c9e..18bda75fa 100644
--- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json
+++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json
@@ -1,9 +1,12 @@
{
"type": "farmersdelight:add_features_by_filter",
"allowed_biomes": "#minecraft:is_overworld",
- "denied_biomes": ["minecraft:lush_caves", "minecraft:mushroom_fields"],
- "min_temperature": 0.4,
- "max_temperature": 0.9,
+ "denied_biomes": [
+ "minecraft:lush_caves",
+ "minecraft:mushroom_fields"
+ ],
"features": "farmersdelight:patch_wild_carrots",
+ "max_temperature": 0.9,
+ "min_temperature": 0.4,
"step": "vegetal_decoration"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json
similarity index 59%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json
index 90ed617b7..bd1430f9e 100644
--- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json
+++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json
@@ -1,9 +1,9 @@
{
"type": "farmersdelight:add_features_by_filter",
"allowed_biomes": "#minecraft:is_overworld",
- "denied_biomes": ["minecraft:lush_caves", "minecraft:mushroom_fields"],
- "min_temperature": 0.4,
- "max_temperature": 0.9,
+ "denied_biomes": "#forge:is_underground",
"features": "farmersdelight:patch_wild_onions",
+ "max_temperature": 0.3,
+ "min_temperature": 0.1,
"step": "vegetal_decoration"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json
index 5103ebb5b..2b773b00d 100644
--- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json
+++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json
@@ -2,8 +2,8 @@
"type": "farmersdelight:add_features_by_filter",
"allowed_biomes": "#minecraft:is_overworld",
"denied_biomes": "#forge:is_underground",
- "min_temperature": 0.1,
- "max_temperature": 0.3,
"features": "farmersdelight:patch_wild_potatoes",
+ "max_temperature": 0.3,
+ "min_temperature": 0.1,
"step": "vegetal_decoration"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json
rename to src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
index 56fd81799..1a0a3d578 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/abandoned_mineshaft"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
similarity index 92%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
index 4ab47c700..ab5f4c747 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/bastion_hoglin_stable"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
index a3b4d6d02..04c32ba64 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/bastion_treasure"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
index bdb3329a4..02615bf57 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/end_city_treasure"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
index c96ef4649..6200d17a2 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/pillager_outpost"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
index 726780057..6ea8817ed 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/ruined_portal"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
index e8633b2f6..f4e2ca2f3 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/shipwreck_supply"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
similarity index 67%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
index 2f0d492c5..053646ffd 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/simple_dungeon"
}
],
- "lootTable": "farmersdelight:chests/fd_simple_dungeon"
+ "lootTable": "farmersdelight:chests/fd_simple_dungeons"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
similarity index 91%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
index c86e3454f..9c33b60fc 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json
@@ -1,7 +1,6 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_butcher"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
similarity index 67%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
index e260128ae..e08430cea 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_desert_house"
}
],
- "lootTable": "farmersdelight:chests/fd_village_desert_house"
+ "lootTable": "farmersdelight:chests/fd_village_desert_shouse"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
similarity index 67%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
index 0df13a349..854dff75d 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_plains_house"
}
],
- "lootTable": "farmersdelight:chests/fd_village_plains_house"
+ "lootTable": "farmersdelight:chests/fd_village_plains_shouse"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
similarity index 67%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
index 4ac9e76f8..c9cd50e8a 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_savanna_house"
}
],
- "lootTable": "farmersdelight:chests/fd_village_savanna_house"
+ "lootTable": "farmersdelight:chests/fd_village_savanna_shouse"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
similarity index 68%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
index f3e52d962..73f64364b 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_snowy_house"
}
],
- "lootTable": "farmersdelight:chests/fd_village_snowy_house"
+ "lootTable": "farmersdelight:chests/fd_village_snowy_shouse"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
similarity index 68%
rename from src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
index 50adbdbf2..98822430b 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json
@@ -1,11 +1,10 @@
{
"type": "farmersdelight:add_loot_table",
- "conditions":
- [
+ "conditions": [
{
"condition": "forge:loot_table_id",
"loot_table_id": "minecraft:chests/village/village_taiga_house"
}
],
- "lootTable": "farmersdelight:chests/fd_village_taiga_house"
+ "lootTable": "farmersdelight:chests/fd_village_taiga_shouse"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json
similarity index 58%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json
index 90cd6dd71..54438b1b5 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json
@@ -13,11 +13,16 @@
}
},
{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:chicken"
- }
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "type": "minecraft:chicken"
+ }
+ }
+ ]
}
],
"item": "minecraft:feather"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
index f04710bd9..c7922e3d8 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json
@@ -16,16 +16,16 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "flags": {
- "is_on_fire": false
- }
+ "type": "minecraft:hoglin"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:hoglin"
+ "flags": {
+ "is_on_fire": false
+ }
}
}
],
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
similarity index 83%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
index 4c0759876..ae8598f3b 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json
@@ -16,22 +16,17 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "flags": {
- "is_on_fire": false
- }
+ "type": "minecraft:pig"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:pig"
+ "flags": {
+ "is_on_fire": false
+ }
}
- },
- {
- "condition": "minecraft:random_chance_with_looting",
- "chance": 0.5,
- "looting_multiplier": 0.1
}
],
"item": "farmersdelight:ham"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json
index 5e04ade19..fa436b829 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json
@@ -33,14 +33,14 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:donkey"
+ "type": "minecraft:horse"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:horse"
+ "type": "minecraft:donkey"
}
},
{
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
similarity index 58%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
index 0e6448754..7d5f07930 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json
@@ -13,11 +13,16 @@
}
},
{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:rabbit"
- }
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "type": "minecraft:rabbit"
+ }
+ }
+ ]
}
],
"item": "minecraft:rabbit_hide"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
similarity index 58%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
index ac5df341c..7d361d495 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json
@@ -13,11 +13,16 @@
}
},
{
- "condition": "minecraft:entity_properties",
- "entity": "this",
- "predicate": {
- "type": "minecraft:shulker"
- }
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "condition": "minecraft:entity_properties",
+ "entity": "this",
+ "predicate": {
+ "type": "minecraft:shulker"
+ }
+ }
+ ]
}
],
"item": "minecraft:shulker_shell"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
similarity index 94%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
index ecba3cc57..075dc8bb4 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json
@@ -16,18 +16,18 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "flags": {
- "is_on_fire": true
- }
+ "type": "minecraft:hoglin"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:hoglin"
+ "flags": {
+ "is_on_fire": true
+ }
}
}
],
- "item": "farmersdelight:smoked_ham"
+ "item": "farmersdelight:ham"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
similarity index 79%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
index 0e35dc6c8..4afbd6133 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json
@@ -16,23 +16,18 @@
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "flags": {
- "is_on_fire": true
- }
+ "type": "minecraft:pig"
}
},
{
"condition": "minecraft:entity_properties",
"entity": "this",
"predicate": {
- "type": "minecraft:pig"
+ "flags": {
+ "is_on_fire": true
+ }
}
- },
- {
- "condition": "minecraft:random_chance_with_looting",
- "chance": 0.5,
- "looting_multiplier": 0.1
}
],
- "item": "farmersdelight:smoked_ham"
+ "item": "farmersdelight:ham"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/scavenging_string.json b/src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_string.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/loot_modifiers/scavenging_string.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/scavenging_string.json
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json
similarity index 57%
rename from src/main/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json
index ee9323b3e..19fbfade9 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json
@@ -8,8 +8,13 @@
}
},
{
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:apple_pie"
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "block": "farmersdelight:apple_pie",
+ "condition": "minecraft:block_state_property"
+ }
+ ]
}
],
"slice": "farmersdelight:apple_pie_slice"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_cake.json b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_cake.json
similarity index 58%
rename from src/main/resources/data/farmersdelight/loot_modifiers/slicing_cake.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/slicing_cake.json
index 0a51344d8..5eb729869 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_cake.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_cake.json
@@ -8,8 +8,13 @@
}
},
{
- "condition": "minecraft:block_state_property",
- "block": "minecraft:cake"
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "block": "minecraft:cake",
+ "condition": "minecraft:block_state_property"
+ }
+ ]
}
],
"slice": "farmersdelight:cake_slice"
diff --git a/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json
new file mode 100644
index 000000000..4866f06e7
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json
@@ -0,0 +1,85 @@
+{
+ "type": "farmersdelight:pastry_slicing",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "farmersdelight:tools/knives"
+ }
+ },
+ {
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "block": "minecraft:candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:white_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:orange_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:magenta_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:light_blue_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:yellow_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:lime_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:pink_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:gray_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:light_gray_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:cyan_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:purple_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:blue_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:brown_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:green_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:red_candle_cake",
+ "condition": "minecraft:block_state_property"
+ },
+ {
+ "block": "minecraft:black_candle_cake",
+ "condition": "minecraft:block_state_property"
+ }
+ ]
+ }
+ ],
+ "slice": "farmersdelight:cake_slice"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
similarity index 57%
rename from src/main/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
index 3122283a9..bf3d1934b 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json
@@ -8,8 +8,13 @@
}
},
{
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:chocolate_pie"
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "block": "farmersdelight:chocolate_pie",
+ "condition": "minecraft:block_state_property"
+ }
+ ]
}
],
"slice": "farmersdelight:chocolate_pie_slice"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
similarity index 57%
rename from src/main/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
index b0c0a8faa..d5b301cba 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json
@@ -8,8 +8,13 @@
}
},
{
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:sweet_berry_cheesecake"
+ "condition": "minecraft:any_of",
+ "terms": [
+ {
+ "block": "farmersdelight:sweet_berry_cheesecake",
+ "condition": "minecraft:block_state_property"
+ }
+ ]
}
],
"slice": "farmersdelight:sweet_berry_cheesecake_slice"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json
similarity index 51%
rename from src/main/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json
index 22088655c..b726344b7 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json
@@ -1,19 +1,19 @@
{
"type": "farmersdelight:add_item",
"conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- },
{
"condition": "minecraft:match_tool",
"predicate": {
- "tag": "farmersdelight:straw_harvesters"
+ "tag": "farmersdelight:tools/knives"
}
},
{
- "condition": "block_state_property",
- "block": "minecraft:grass"
+ "chance": 0.2,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "block": "minecraft:grass",
+ "condition": "minecraft:block_state_property"
}
],
"item": "farmersdelight:straw"
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
similarity index 52%
rename from src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
index 63909afdf..29bd93aed 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json
@@ -4,12 +4,16 @@
{
"condition": "minecraft:match_tool",
"predicate": {
- "tag": "farmersdelight:straw_harvesters"
+ "tag": "farmersdelight:tools/knives"
}
},
{
- "condition": "block_state_property",
- "block": "farmersdelight:rice_panicles",
+ "chance": 1.0,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "block": "farmersdelight:rice",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "3"
}
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
similarity index 60%
rename from src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
index 50db275d5..e119afbd1 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json
@@ -4,12 +4,16 @@
{
"condition": "minecraft:match_tool",
"predicate": {
- "tag": "farmersdelight:straw_harvesters"
+ "tag": "farmersdelight:tools/knives"
}
},
{
- "condition": "block_state_property",
+ "chance": 1.0,
+ "condition": "minecraft:random_chance"
+ },
+ {
"block": "minecraft:wheat",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "7"
}
diff --git a/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json
new file mode 100644
index 000000000..dc3e7ae33
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json
@@ -0,0 +1,20 @@
+{
+ "type": "farmersdelight:add_item",
+ "conditions": [
+ {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "farmersdelight:tools/knives"
+ }
+ },
+ {
+ "chance": 0.3,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "block": "farmersdelight:sandy_shrub",
+ "condition": "minecraft:block_state_property"
+ }
+ ],
+ "item": "farmersdelight:straw"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
similarity index 50%
rename from src/main/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
rename to src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
index 6923357dc..414412a84 100644
--- a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
+++ b/src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json
@@ -1,19 +1,19 @@
{
"type": "farmersdelight:add_item",
"conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- },
{
"condition": "minecraft:match_tool",
"predicate": {
- "tag": "farmersdelight:straw_harvesters"
+ "tag": "farmersdelight:tools/knives"
}
},
{
- "condition": "block_state_property",
- "block": "minecraft:tall_grass"
+ "chance": 0.2,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "block": "minecraft:tall_grass",
+ "condition": "minecraft:block_state_property"
}
],
"item": "farmersdelight:straw"
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/blocks/apple_pie.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/apple_pie.json
new file mode 100644
index 000000000..9c0173203
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/apple_pie.json
@@ -0,0 +1,4 @@
+{
+ "type": "minecraft:block",
+ "random_sequence": "farmersdelight:blocks/apple_pie"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
index 4db723870..ce400339d 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:black_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/black_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
index 159e6ab61..f97fb9a96 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:blue_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/blue_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
index f3750c2e3..d026b8392 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:brown_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/brown_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
similarity index 84%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
index db82fa3ff..91c4e8a82 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json
@@ -1,9 +1,13 @@
{
"type": "minecraft:block",
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -12,8 +16,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:brown_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "0"
}
@@ -21,8 +25,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 2
+ "add": false,
+ "count": 2.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:brown_mushroom"
@@ -31,8 +36,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:brown_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "1"
}
@@ -40,8 +45,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 3
+ "add": false,
+ "count": 3.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:brown_mushroom"
@@ -50,8 +56,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:brown_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "2"
}
@@ -59,8 +65,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 4
+ "add": false,
+ "count": 4.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:brown_mushroom"
@@ -68,13 +75,6 @@
{
"type": "minecraft:item",
"conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:brown_mushroom_colony",
- "properties": {
- "age": "3"
- }
- },
{
"condition": "minecraft:inverted",
"term": {
@@ -83,12 +83,20 @@
"tag": "forge:shears"
}
}
+ },
+ {
+ "block": "farmersdelight:brown_mushroom_colony",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "3"
+ }
}
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 5
+ "add": false,
+ "count": 5.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:brown_mushroom"
@@ -96,30 +104,27 @@
{
"type": "minecraft:item",
"conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:brown_mushroom_colony",
- "properties": {
- "age": "3"
- }
- },
{
"condition": "minecraft:match_tool",
"predicate": {
"tag": "forge:shears"
}
+ },
+ {
+ "block": "farmersdelight:brown_mushroom_colony",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "3"
+ }
}
],
"name": "farmersdelight:brown_mushroom_colony"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/brown_mushroom_colony"
}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json
new file mode 100644
index 000000000..c68f07f91
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "farmersdelight:tomato_seeds"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "farmersdelight:blocks/budding_tomatoes"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/cabbages.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/cabbages.json
similarity index 89%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/cabbages.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/cabbages.json
index 105952532..e8c6a6e49 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/cabbages.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/cabbages.json
@@ -1,9 +1,13 @@
{
"type": "minecraft:block",
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -12,8 +16,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:cabbages",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "7"
}
@@ -27,19 +31,28 @@
}
]
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "block": "farmersdelight:cabbages",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "7"
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:binomial_with_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"extra": 3,
"probability": 0.5714286
@@ -49,20 +62,8 @@
"name": "farmersdelight:cabbage_seeds"
}
],
- "conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:cabbages",
- "properties": {
- "age": "7"
- }
- }
- ]
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/cabbages"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json
similarity index 71%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json
index 4151c3ae3..de4c7ed76 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/canvas_sign"
}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/blocks/chocolate_pie.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/chocolate_pie.json
new file mode 100644
index 000000000..8c9c8ed8e
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/chocolate_pie.json
@@ -0,0 +1,4 @@
+{
+ "type": "minecraft:block",
+ "random_sequence": "farmersdelight:blocks/chocolate_pie"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
index 3e27a2e5e..6ec872321 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:cyan_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/cyan_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
similarity index 82%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
index dd84bfa23..53d250439 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json
@@ -2,15 +2,19 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:full_tatami_mat",
+ "condition": "minecraft:block_state_property",
"properties": {
"part": "head"
}
@@ -19,11 +23,8 @@
"name": "farmersdelight:full_tatami_mat"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/full_tatami_mat"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
index b520509c3..3683c5712 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:gray_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/gray_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
index 28e2e405a..624a77f8f 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:green_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/green_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
similarity index 84%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
index 29a35aca6..7eb5cb2c3 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json
@@ -2,67 +2,68 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:honey_glazed_ham_block"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:honey_glazed_ham_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
- ]
- },
- {
- "name": "pool2",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bowl"
+ "name": "farmersdelight:honey_glazed_ham_block"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:honey_glazed_ham_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
}
- ]
- },
- {
- "name": "pool3",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bone"
+ "name": "minecraft:bowl"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:honey_glazed_ham_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:bone"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/honey_glazed_ham_block"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
similarity index 69%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
index b86f0dd3f..f7c7a75dd 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:light_blue_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/light_blue_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
similarity index 69%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
index c12093a9b..1be2f1d3f 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:light_gray_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/light_gray_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
index f0525bac4..321b3d724 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:lime_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/lime_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
index 3ff3b6151..ae4027b4e 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:magenta_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/magenta_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/onions.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/onions.json
similarity index 85%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/onions.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/onions.json
index 6c76f6c9e..f17ad6c5c 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/onions.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/onions.json
@@ -1,27 +1,40 @@
{
"type": "minecraft:block",
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:onion"
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "block": "farmersdelight:onions",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "7"
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:binomial_with_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"extra": 3,
"probability": 0.5714286
@@ -31,20 +44,8 @@
"name": "farmersdelight:onion"
}
],
- "conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:onions",
- "properties": {
- "age": "7"
- }
- }
- ]
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/onions"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
index ee0fe7c1f..84377986b 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:orange_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/orange_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
index dfec62e12..957095fb0 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:pink_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/pink_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
index 8c3ea4fa5..d9d84d65f 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:purple_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/purple_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
index b127d8d00..f89022163 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:red_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/red_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
similarity index 84%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
index e58a82f61..564bea13f 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json
@@ -1,9 +1,13 @@
{
"type": "minecraft:block",
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -12,8 +16,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:red_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "0"
}
@@ -21,8 +25,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 2
+ "add": false,
+ "count": 2.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:red_mushroom"
@@ -31,8 +36,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:red_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "1"
}
@@ -40,8 +45,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 3
+ "add": false,
+ "count": 3.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:red_mushroom"
@@ -50,8 +56,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:red_mushroom_colony",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "2"
}
@@ -59,8 +65,9 @@
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 4
+ "add": false,
+ "count": 4.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:red_mushroom"
@@ -68,13 +75,6 @@
{
"type": "minecraft:item",
"conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:red_mushroom_colony",
- "properties": {
- "age": "3"
- }
- },
{
"condition": "minecraft:inverted",
"term": {
@@ -83,12 +83,20 @@
"tag": "forge:shears"
}
}
+ },
+ {
+ "block": "farmersdelight:red_mushroom_colony",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "3"
+ }
}
],
"functions": [
{
- "function": "minecraft:set_count",
- "count": 5
+ "add": false,
+ "count": 5.0,
+ "function": "minecraft:set_count"
}
],
"name": "minecraft:red_mushroom"
@@ -96,30 +104,27 @@
{
"type": "minecraft:item",
"conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:red_mushroom_colony",
- "properties": {
- "age": "3"
- }
- },
{
"condition": "minecraft:match_tool",
"predicate": {
"tag": "forge:shears"
}
+ },
+ {
+ "block": "farmersdelight:red_mushroom_colony",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "age": "3"
+ }
}
],
"name": "farmersdelight:red_mushroom_colony"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/red_mushroom_colony"
}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice.json
new file mode 100644
index 000000000..41a5e02e7
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "farmersdelight:rice"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "farmersdelight:blocks/rice"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json
similarity index 84%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json
index e2d5ace69..e3bd2a208 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json
@@ -2,8 +2,7 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -12,8 +11,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:rice_panicles",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "3"
}
@@ -31,8 +30,8 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:rice_panicles",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "3"
}
@@ -42,12 +41,14 @@
}
]
}
- ]
+ ],
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/rice_panicles"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
similarity index 82%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
index 781437418..81d309671 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json
@@ -2,45 +2,46 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:rice_roll_medley_block"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:rice_roll_medley_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "8"
}
}
- ]
- },
- {
- "name": "pool2",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bowl"
+ "name": "farmersdelight:rice_roll_medley_block"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:rice_roll_medley_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "8"
}
}
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:bowl"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/rice_roll_medley_block"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
similarity index 84%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
index 951b33c1b..f11102252 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json
@@ -2,67 +2,68 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:roast_chicken_block"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:roast_chicken_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
- ]
- },
- {
- "name": "pool2",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bowl"
+ "name": "farmersdelight:roast_chicken_block"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:roast_chicken_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
}
- ]
- },
- {
- "name": "pool3",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bone_meal"
+ "name": "minecraft:bowl"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:roast_chicken_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:bone_meal"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/roast_chicken_block"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json
similarity index 83%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json
index 8fad08bdb..7f7987514 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json
@@ -2,7 +2,6 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1.0,
"bonus_rolls": 0.0,
"entries": [
{
@@ -14,9 +13,7 @@
{
"condition": "minecraft:match_tool",
"predicate": {
- "items": [
- "minecraft:shears"
- ]
+ "tag": "forge:shears"
}
}
],
@@ -26,28 +23,30 @@
"type": "minecraft:item",
"conditions": [
{
- "condition": "minecraft:random_chance",
- "chance": 0.125
+ "chance": 0.125,
+ "condition": "minecraft:random_chance"
}
],
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "minecraft:beetroot_seeds"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/sandy_shrub"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
similarity index 82%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
index 2c1f16c59..0de5ca675 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json
@@ -2,45 +2,46 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:shepherds_pie_block"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:shepherds_pie_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
- ]
- },
- {
- "name": "pool2",
- "rolls": 1,
+ ],
"entries": [
{
"type": "minecraft:item",
- "name": "minecraft:bowl"
+ "name": "farmersdelight:shepherds_pie_block"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:inverted",
"term": {
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:shepherds_pie_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "minecraft:bowl"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/shepherds_pie_block"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/skillet.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/skillet.json
similarity index 67%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/skillet.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/skillet.json
index 52ae396df..d8765f60e 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/skillet.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/skillet.json
@@ -2,25 +2,25 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "farmersdelight:copy_skillet",
- "source": "block_entity"
+ "function": "farmersdelight:copy_skillet"
}
],
"name": "farmersdelight:skillet"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/skillet"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
similarity index 77%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
index faba89425..5ffb2bfc3 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json
@@ -2,23 +2,24 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:stuffed_pumpkin_block"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:stuffed_pumpkin_block",
+ "condition": "minecraft:block_state_property",
"properties": {
"servings": "4"
}
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "farmersdelight:stuffed_pumpkin_block"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/stuffed_pumpkin_block"
}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/blocks/sweet_berry_cheesecake.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/sweet_berry_cheesecake.json
new file mode 100644
index 000000000..2ce31f776
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/sweet_berry_cheesecake.json
@@ -0,0 +1,4 @@
+{
+ "type": "minecraft:block",
+ "random_sequence": "farmersdelight:blocks/sweet_berry_cheesecake"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json
similarity index 74%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json
index 87dde393d..dbe66a613 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json
@@ -1,91 +1,91 @@
{
"type": "minecraft:block",
+ "functions": [
+ {
+ "function": "minecraft:explosion_decay"
+ }
+ ],
"pools": [
{
- "name": "pool1",
- "rolls": 1.0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:tomato"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:tomatoes",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "3"
}
}
],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "farmersdelight:tomato"
+ }
+ ],
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 1.0,
+ "type": "minecraft:uniform",
"max": 2.0,
- "type": "minecraft:uniform"
- }
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
},
{
- "function": "minecraft:apply_bonus",
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 1
}
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1.0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:tomato_seeds"
- }
- ],
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:tomatoes",
+ "condition": "minecraft:block_state_property",
"properties": {
- "ropelogged": false
+ "ropelogged": "false"
}
}
- ]
- },
- {
- "name": "pool3",
- "rolls": 1.0,
+ ],
"entries": [
{
"type": "minecraft:item",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.05
- }
- ],
- "name": "farmersdelight:rotten_tomato"
+ "name": "farmersdelight:tomato_seeds"
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:tomatoes",
+ "condition": "minecraft:block_state_property",
"properties": {
"age": "3"
}
+ },
+ {
+ "chance": 0.05,
+ "condition": "minecraft:random_chance"
}
- ]
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "farmersdelight:rotten_tomato"
+ }
+ ],
+ "rolls": 1.0
}
],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
+ "random_sequence": "farmersdelight:blocks/tomatoes"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
index f8e8d8f95..b707d40bd 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:white_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/white_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json
index ac4dfcf60..17f4d5698 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json
@@ -2,33 +2,32 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "chance": 0.2,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "condition": "minecraft:inverted",
+ "term": {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "forge:shears"
+ }
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "forge:shears"
- }
- }
- }
- ],
"name": "minecraft:beetroot"
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -49,22 +48,24 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "minecraft:beetroot_seeds"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_beetroots"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json
index d081e8c7d..7046bf5cf 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json
@@ -2,33 +2,32 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "chance": 0.2,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "condition": "minecraft:inverted",
+ "term": {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "forge:shears"
+ }
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "forge:shears"
- }
- }
- }
- ],
"name": "farmersdelight:cabbage"
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -49,22 +48,24 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "farmersdelight:cabbage_seeds"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_cabbages"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json
similarity index 90%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json
index 5b152d635..68aec8144 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json
@@ -2,7 +2,7 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -23,22 +23,24 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "minecraft:carrot"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_carrots"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json
similarity index 65%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json
index d14f4462a..bdca8c1b9 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json
@@ -2,7 +2,7 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -23,52 +23,56 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "farmersdelight:onion"
}
]
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:inverted",
+ "term": {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "forge:shears"
+ }
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
- "conditions": [
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "forge:shears"
- }
- }
- }
- ],
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
"name": "minecraft:allium"
}
- ]
+ ],
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_onions"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json
similarity index 90%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json
index 1834dbd24..ae7b019f0 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json
@@ -2,7 +2,7 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -23,22 +23,24 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "minecraft:potato"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_potatoes"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json
similarity index 85%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json
index 0da4df752..3525cc992 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json
@@ -2,7 +2,30 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1.0,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "block": "farmersdelight:wild_rice",
+ "condition": "minecraft:block_state_property",
+ "properties": {
+ "half": "lower"
+ }
+ },
+ {
+ "condition": "minecraft:location_check",
+ "offsetY": 1,
+ "predicate": {
+ "block": {
+ "blocks": [
+ "farmersdelight:wild_rice"
+ ],
+ "state": {
+ "half": "upper"
+ }
+ }
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:alternatives",
@@ -31,30 +54,33 @@
]
}
],
+ "rolls": 1.0
+ },
+ {
+ "bonus_rolls": 0.0,
"conditions": [
{
- "condition": "minecraft:block_state_property",
"block": "farmersdelight:wild_rice",
+ "condition": "minecraft:block_state_property",
"properties": {
- "half": "lower"
+ "half": "upper"
}
},
{
"condition": "minecraft:location_check",
+ "offsetY": -1,
"predicate": {
"block": {
- "block": "farmersdelight:wild_rice",
+ "blocks": [
+ "farmersdelight:wild_rice"
+ ],
"state": {
- "half": "upper"
+ "half": "lower"
}
}
- },
- "offsetY": 1
+ }
}
- ]
- },
- {
- "rolls": 1.0,
+ ],
"entries": [
{
"type": "minecraft:alternatives",
@@ -83,27 +109,8 @@
]
}
],
- "conditions": [
- {
- "condition": "minecraft:block_state_property",
- "block": "farmersdelight:wild_rice",
- "properties": {
- "half": "upper"
- }
- },
- {
- "condition": "minecraft:location_check",
- "predicate": {
- "block": {
- "block": "farmersdelight:wild_rice",
- "state": {
- "half": "lower"
- }
- }
- },
- "offsetY": -1
- }
- ]
+ "rolls": 1.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_rice"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
index c6769b685..44064ac87 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json
@@ -2,33 +2,32 @@
"type": "minecraft:block",
"pools": [
{
- "name": "pool1",
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "chance": 0.2,
+ "condition": "minecraft:random_chance"
+ },
+ {
+ "condition": "minecraft:inverted",
+ "term": {
+ "condition": "minecraft:match_tool",
+ "predicate": {
+ "tag": "forge:shears"
+ }
+ }
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.2
- },
- {
- "condition": "minecraft:inverted",
- "term": {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "forge:shears"
- }
- }
- }
- ],
"name": "farmersdelight:tomato"
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "name": "pool2",
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:alternatives",
@@ -49,22 +48,24 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:apply_bonus",
+ "function": "minecraft:explosion_decay"
+ },
+ {
"enchantment": "minecraft:fortune",
"formula": "minecraft:uniform_bonus_count",
+ "function": "minecraft:apply_bonus",
"parameters": {
"bonusMultiplier": 2
}
- },
- {
- "function": "minecraft:explosion_decay"
}
],
"name": "farmersdelight:tomato_seeds"
}
]
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/wild_tomatoes"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json b/src/generated/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
similarity index 70%
rename from src/main/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
rename to src/generated/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
index ba526f18a..77d76ddf8 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json
@@ -2,18 +2,20 @@
"type": "minecraft:block",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
"entries": [
{
"type": "minecraft:item",
"name": "farmersdelight:yellow_canvas_sign"
}
],
- "conditions": [
- {
- "condition": "minecraft:survives_explosion"
- }
- ]
+ "rolls": 1.0
}
- ]
+ ],
+ "random_sequence": "farmersdelight:blocks/yellow_canvas_sign"
}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
similarity index 57%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
index e82bb84a1..f6c4a61bb 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json
@@ -1,7 +1,8 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
@@ -11,11 +12,13 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_damage",
+ "add": false,
"damage": {
- "min": 0.15,
- "max": 0.8
- }
+ "type": "minecraft:uniform",
+ "max": 0.8,
+ "min": 0.15
+ },
+ "function": "minecraft:set_damage"
}
],
"name": "farmersdelight:skillet"
@@ -24,25 +27,23 @@
"type": "minecraft:empty",
"weight": 6
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "rolls": {
- "min": 1.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- },
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 4.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:tomato_seeds"
@@ -51,12 +52,13 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 4.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:cabbage_seeds"
@@ -65,12 +67,13 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 4.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:rice"
@@ -79,21 +82,27 @@
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 1.0
+ }
},
{
- "rolls": 3,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 12.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:rope"
@@ -102,7 +111,9 @@
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": 3.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_abandoned_mineshaft"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
similarity index 50%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
index 45c83c341..27c1589e8 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json
@@ -1,82 +1,87 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_damage",
+ "add": false,
"damage": {
- "min": 0.15,
- "max": 0.8
- }
- },
- {
- "function": "minecraft:enchant_randomly"
+ "type": "minecraft:uniform",
+ "max": 0.8,
+ "min": 0.15
+ },
+ "function": "minecraft:set_damage"
}
],
"name": "farmersdelight:diamond_knife"
},
{
"type": "minecraft:item",
- "weight": 2,
"functions": [
{
"function": "minecraft:enchant_randomly"
}
],
- "name": "farmersdelight:golden_knife"
+ "name": "farmersdelight:golden_knife",
+ "weight": 2
},
{
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "rolls": {
- "min": 1.0,
- "max": 2.0,
- "type": "minecraft:uniform"
- },
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
- "weight": 4,
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 5.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
- "name": "farmersdelight:ham"
+ "name": "farmersdelight:ham",
+ "weight": 4
},
{
"type": "minecraft:item",
- "weight": 2,
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 5.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
- "name": "farmersdelight:smoked_ham"
+ "name": "farmersdelight:smoked_ham",
+ "weight": 2
},
{
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 2.0,
+ "min": 1.0
+ }
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_bastion_hoglin_stable"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
similarity index 59%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
index a32b888aa..dac9012a0 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json
@@ -1,17 +1,20 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_damage",
+ "add": false,
"damage": {
- "min": 0.8,
- "max": 1.0
- }
+ "type": "minecraft:uniform",
+ "max": 1.0,
+ "min": 0.8
+ },
+ "function": "minecraft:set_damage"
},
{
"function": "minecraft:enchant_randomly"
@@ -27,7 +30,9 @@
"type": "minecraft:empty",
"weight": 6
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_bastion_treasure"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
similarity index 72%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
index 725e89e2b..aa4d77c4e 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json
@@ -1,7 +1,8 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
@@ -9,9 +10,9 @@
{
"function": "minecraft:enchant_with_levels",
"levels": {
- "min": 20.0,
+ "type": "minecraft:uniform",
"max": 39.0,
- "type": "minecraft:uniform"
+ "min": 20.0
},
"treasure": true
}
@@ -24,9 +25,9 @@
{
"function": "minecraft:enchant_with_levels",
"levels": {
- "min": 20.0,
+ "type": "minecraft:uniform",
"max": 39.0,
- "type": "minecraft:uniform"
+ "min": 20.0
},
"treasure": true
}
@@ -37,7 +38,9 @@
"type": "minecraft:empty",
"weight": 6
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_end_city_treasure"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json
new file mode 100644
index 000000000..ad311f227
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json
@@ -0,0 +1,52 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 12.0,
+ "min": 4.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:onion",
+ "weight": 5
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:onion_crate",
+ "weight": 2
+ },
+ {
+ "type": "minecraft:empty",
+ "weight": 2
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 2.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_pillager_outpost"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
similarity index 69%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
index 4e8388573..99a967cdd 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json
@@ -1,7 +1,8 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
@@ -16,7 +17,9 @@
"type": "minecraft:empty",
"weight": 3
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_ruined_portal"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json
new file mode 100644
index 000000000..145859304
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json
@@ -0,0 +1,109 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:tomato_seeds",
+ "weight": 6
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:cabbage_seeds",
+ "weight": 6
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:onion",
+ "weight": 6
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:rice",
+ "weight": 6
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 2.0,
+ "min": 1.0
+ }
+ },
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 12.0,
+ "min": 4.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:rope",
+ "weight": 2
+ },
+ {
+ "type": "minecraft:empty"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_shipwreck_supply"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeon.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeons.json
similarity index 55%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeon.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeons.json
index 170d6b2ca..13412cb6b 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeon.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeons.json
@@ -1,22 +1,20 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": {
- "min": 1.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- },
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 4.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:tomato_seeds"
@@ -25,12 +23,13 @@
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 4.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:cabbage_seeds"
@@ -39,21 +38,27 @@
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 4.0,
+ "min": 1.0
+ }
},
{
- "rolls": 3,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 12.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
"name": "farmersdelight:rope"
@@ -62,7 +67,9 @@
"type": "minecraft:empty",
"weight": 2
}
- ]
+ ],
+ "rolls": 1.0
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_simple_dungeons"
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json
similarity index 52%
rename from src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json
rename to src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json
index 630e7dce3..64071470c 100644
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json
@@ -1,7 +1,8 @@
{
+ "type": "minecraft:chest",
"pools": [
{
- "rolls": 1,
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
@@ -14,14 +15,11 @@
{
"type": "minecraft:empty"
}
- ]
+ ],
+ "rolls": 1.0
},
{
- "rolls": {
- "min": 1.0,
- "max": 2.0,
- "type": "minecraft:uniform"
- },
+ "bonus_rolls": 0.0,
"entries": [
{
"type": "minecraft:item",
@@ -29,53 +27,62 @@
},
{
"type": "minecraft:item",
- "weight": 3,
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 6.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
- "name": "farmersdelight:minced_beef"
+ "name": "farmersdelight:minced_beef",
+ "weight": 3
},
{
"type": "minecraft:item",
- "weight": 3,
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 6.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
- "name": "farmersdelight:bacon"
+ "name": "farmersdelight:bacon",
+ "weight": 3
},
{
"type": "minecraft:item",
- "weight": 3,
"functions": [
{
- "function": "minecraft:set_count",
+ "add": false,
"count": {
- "min": 2.0,
+ "type": "minecraft:uniform",
"max": 6.0,
- "type": "minecraft:uniform"
- }
+ "min": 2.0
+ },
+ "function": "minecraft:set_count"
}
],
- "name": "farmersdelight:mutton_chops"
+ "name": "farmersdelight:mutton_chops",
+ "weight": 3
},
{
"type": "minecraft:empty"
}
- ]
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 2.0,
+ "min": 1.0
+ }
}
- ]
-}
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_butcher"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_shouse.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_shouse.json
new file mode 100644
index 000000000..8a390aa3f
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_shouse.json
@@ -0,0 +1,46 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:tomato_seeds"
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:cabbage_seeds"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_desert_shouse"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_shouse.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_shouse.json
new file mode 100644
index 000000000..4bf7e6063
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_shouse.json
@@ -0,0 +1,46 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:onion"
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:tomato_seeds"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_plains_shouse"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_shouse.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_shouse.json
new file mode 100644
index 000000000..18f49f63b
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_shouse.json
@@ -0,0 +1,46 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:tomato_seeds"
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:cabbage_seeds"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_savanna_shouse"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_shouse.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_shouse.json
new file mode 100644
index 000000000..2cf6043f9
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_shouse.json
@@ -0,0 +1,46 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:onion"
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:cabbage_seeds"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_snowy_shouse"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_shouse.json b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_shouse.json
new file mode 100644
index 000000000..9f0554c49
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_shouse.json
@@ -0,0 +1,46 @@
+{
+ "type": "minecraft:chest",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:cabbage_seeds"
+ },
+ {
+ "type": "minecraft:item",
+ "functions": [
+ {
+ "add": false,
+ "count": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ },
+ "function": "minecraft:set_count"
+ }
+ ],
+ "name": "farmersdelight:rice"
+ }
+ ],
+ "rolls": {
+ "type": "minecraft:uniform",
+ "max": 3.0,
+ "min": 1.0
+ }
+ }
+ ],
+ "random_sequence": "farmersdelight:chests/fd_village_taiga_shouse"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/recipes/beetroot_crate.json b/src/generated/resources/data/farmersdelight/recipes/beetroot_crate.json
new file mode 100644
index 000000000..87d375588
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/recipes/beetroot_crate.json
@@ -0,0 +1,30 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "building",
+ "key": {
+ "#": {
+ "item": "minecraft:beetroot"
+ }
+ },
+ "pattern": [
+ "###",
+ "###",
+ "###"
+ ],
+ "result": {
+ "item": "farmersdelight:beetroot_crate"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/recipes/carrot_crate.json b/src/generated/resources/data/farmersdelight/recipes/carrot_crate.json
new file mode 100644
index 000000000..fea9685af
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/recipes/carrot_crate.json
@@ -0,0 +1,30 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "building",
+ "key": {
+ "#": {
+ "item": "minecraft:carrot"
+ }
+ },
+ "pattern": [
+ "###",
+ "###",
+ "###"
+ ],
+ "result": {
+ "item": "farmersdelight:carrot_crate"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/recipes/potato_crate.json b/src/generated/resources/data/farmersdelight/recipes/potato_crate.json
new file mode 100644
index 000000000..700067015
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/recipes/potato_crate.json
@@ -0,0 +1,30 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "farmersdelight:vanilla_crates_enabled"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "building",
+ "key": {
+ "#": {
+ "item": "minecraft:potato"
+ }
+ },
+ "pattern": [
+ "###",
+ "###",
+ "###"
+ ],
+ "result": {
+ "item": "farmersdelight:potato_crate"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/farmersdelight/tags/blocks/wild_tomato_grows_on.json b/src/generated/resources/data/farmersdelight/tags/blocks/wild_tomato_grows_on.json
new file mode 100644
index 000000000..4870fb245
--- /dev/null
+++ b/src/generated/resources/data/farmersdelight/tags/blocks/wild_tomato_grows_on.json
@@ -0,0 +1,9 @@
+{
+ "values": [
+ "minecraft:dirt",
+ "minecraft:coarse_dirt",
+ "minecraft:grass_block",
+ "minecraft:sand",
+ "minecraft:red_sand"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
similarity index 94%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
index 206b79277..7092dc200 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json
@@ -25,12 +25,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:sand",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:sand"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
similarity index 93%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
index fba25158f..731af832d 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json
@@ -25,12 +25,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:sand",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:sand"
}
]
}
@@ -61,12 +61,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:sand",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:sand"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
similarity index 93%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
index 73c391645..81a823096 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json
@@ -25,12 +25,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:sand",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:sand"
}
]
}
@@ -61,12 +61,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:sand",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:sand"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
similarity index 94%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
index 7f1be2df7..e4c966c88 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json
@@ -1,14 +1,14 @@
{
"type": "farmersdelight:wild_crop",
"config": {
- "primary_feature": {
+ "floor_feature": {
"feature": {
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
- "Name": "farmersdelight:wild_carrots"
+ "Name": "minecraft:coarse_dirt"
}
}
}
@@ -20,31 +20,30 @@
"type": "minecraft:all_of",
"predicates": [
{
- "type": "minecraft:matching_blocks",
- "blocks": "minecraft:air"
- },
- {
- "type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
+ "type": "minecraft:replaceable",
"offset": [
0,
- -1,
+ 1,
0
]
+ },
+ {
+ "type": "minecraft:matching_block_tag",
+ "tag": "minecraft:dirt"
}
]
}
}
]
},
- "secondary_feature": {
+ "primary_feature": {
"feature": {
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
- "Name": "minecraft:grass"
+ "Name": "farmersdelight:wild_carrots"
}
}
}
@@ -61,26 +60,26 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
}
]
},
- "floor_feature": {
+ "secondary_feature": {
"feature": {
"type": "minecraft:simple_block",
"config": {
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
- "Name": "minecraft:coarse_dirt"
+ "Name": "minecraft:fern"
}
}
}
@@ -92,15 +91,16 @@
"type": "minecraft:all_of",
"predicates": [
{
- "type": "minecraft:replaceable",
- "offset": [
- 0,
- 1,
- 0
- ]
+ "type": "minecraft:matching_blocks",
+ "blocks": "minecraft:air"
},
{
"type": "minecraft:matching_block_tag",
+ "offset": [
+ 0,
+ -1,
+ 0
+ ],
"tag": "minecraft:dirt"
}
]
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
similarity index 93%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
index b19d035fb..163cfcce0 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json
@@ -25,12 +25,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
@@ -61,12 +61,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
similarity index 93%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
index 7939f61e6..bd6479e98 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json
@@ -25,12 +25,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
@@ -61,12 +61,12 @@
},
{
"type": "minecraft:matching_block_tag",
- "tag": "minecraft:dirt",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
similarity index 74%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
index 13471c188..4a82b591a 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json
@@ -8,7 +8,11 @@
"to_place": {
"type": "minecraft:simple_state_provider",
"state": {
- "Name": "farmersdelight:wild_rice"
+ "Name": "farmersdelight:wild_rice",
+ "Properties": {
+ "half": "lower",
+ "waterlogged": "true"
+ }
}
}
}
@@ -24,13 +28,13 @@
"blocks": "minecraft:air"
},
{
- "type": "minecraft:matching_blocks",
- "blocks": "minecraft:dirt",
+ "type": "minecraft:matching_block_tag",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "minecraft:dirt"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
similarity index 74%
rename from src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
rename to src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
index fe7598f5e..c0936fbaf 100644
--- a/src/main/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
+++ b/src/generated/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json
@@ -24,19 +24,13 @@
"blocks": "minecraft:air"
},
{
- "type": "minecraft:matching_blocks",
- "blocks": [
- "minecraft:dirt",
- "minecraft:grass_block",
- "minecraft:coarse_dirt",
- "minecraft:sand",
- "minecraft:red_sand"
- ],
+ "type": "minecraft:matching_block_tag",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "farmersdelight:wild_tomato_grows_on"
}
]
}
@@ -66,19 +60,13 @@
"blocks": "minecraft:air"
},
{
- "type": "minecraft:matching_blocks",
- "blocks": [
- "minecraft:dirt",
- "minecraft:grass_block",
- "minecraft:coarse_dirt",
- "minecraft:sand",
- "minecraft:red_sand"
- ],
+ "type": "minecraft:matching_block_tag",
"offset": [
0,
-1,
0
- ]
+ ],
+ "tag": "farmersdelight:wild_tomato_grows_on"
}
]
}
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json
diff --git a/src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json b/src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json
similarity index 100%
rename from src/main/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json
rename to src/generated/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json
diff --git a/src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json b/src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json
similarity index 93%
rename from src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json
rename to src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json
index 6063f1cf5..2da327894 100644
--- a/src/main/resources/data/forge/loot_modifiers/global_loot_modifiers.json
+++ b/src/generated/resources/data/forge/loot_modifiers/global_loot_modifiers.json
@@ -1,38 +1,38 @@
{
- "replace": false,
"entries": [
- "farmersdelight:add_loot_abandoned_mineshaft",
+ "farmersdelight:add_loot_village_desert_house",
+ "farmersdelight:scavenging_smoked_ham_from_pig",
+ "farmersdelight:scavenging_string",
+ "farmersdelight:add_loot_village_plains_house",
+ "farmersdelight:add_loot_village_savanna_house",
+ "farmersdelight:straw_from_mature_wheat",
"farmersdelight:add_loot_bastion_hoglin_stable",
- "farmersdelight:add_loot_bastion_treasure",
+ "farmersdelight:scavenging_shulker_shell",
+ "farmersdelight:straw_from_grass",
+ "farmersdelight:scavenging_rabbit_hide",
"farmersdelight:add_loot_end_city_treasure",
- "farmersdelight:add_loot_pillager_outpost",
- "farmersdelight:add_loot_ruined_portal",
- "farmersdelight:add_loot_shipwreck_supply",
+ "farmersdelight:slicing_apple_pie",
"farmersdelight:add_loot_simple_dungeon",
- "farmersdelight:add_loot_village_butcher",
- "farmersdelight:add_loot_village_plains_house",
- "farmersdelight:add_loot_village_taiga_house",
- "farmersdelight:add_loot_village_snowy_house",
- "farmersdelight:add_loot_village_desert_house",
- "farmersdelight:add_loot_village_savanna_house",
- "farmersdelight:scavenging_ham_from_pig",
- "farmersdelight:scavenging_ham_from_hoglin",
- "farmersdelight:scavenging_smoked_ham_from_pig",
- "farmersdelight:scavenging_smoked_ham_from_hoglin",
"farmersdelight:scavenging_feather",
"farmersdelight:scavenging_leather",
- "farmersdelight:scavenging_rabbit_hide",
- "farmersdelight:scavenging_shulker_shell",
- "farmersdelight:scavenging_string",
- "farmersdelight:slicing_cake",
+ "farmersdelight:straw_from_tall_grass",
+ "farmersdelight:add_loot_village_taiga_house",
+ "farmersdelight:add_loot_pillager_outpost",
"farmersdelight:slicing_candle_cake",
- "farmersdelight:slicing_apple_pie",
"farmersdelight:slicing_sweet_berry_cheesecake",
+ "farmersdelight:add_loot_abandoned_mineshaft",
+ "farmersdelight:add_loot_village_snowy_house",
+ "farmersdelight:scavenging_ham_from_pig",
+ "farmersdelight:add_loot_village_butcher",
"farmersdelight:slicing_chocolate_pie",
- "farmersdelight:straw_from_grass",
+ "farmersdelight:add_loot_ruined_portal",
+ "farmersdelight:add_loot_shipwreck_supply",
+ "farmersdelight:scavenging_smoked_ham_from_hoglin",
"farmersdelight:straw_from_sandy_shrub",
- "farmersdelight:straw_from_tall_grass",
- "farmersdelight:straw_from_mature_wheat",
- "farmersdelight:straw_from_mature_rice"
- ]
+ "farmersdelight:straw_from_mature_rice",
+ "farmersdelight:add_loot_bastion_treasure",
+ "farmersdelight:scavenging_ham_from_hoglin",
+ "farmersdelight:slicing_cake"
+ ],
+ "replace": false
}
\ No newline at end of file
diff --git a/src/generated/resources/pack.mcmeta b/src/generated/resources/pack.mcmeta
new file mode 100644
index 000000000..43a4f270e
--- /dev/null
+++ b/src/generated/resources/pack.mcmeta
@@ -0,0 +1,8 @@
+{
+ "pack": {
+ "description": {
+ "text": "Farmer's Delight resources"
+ },
+ "pack_format": 15
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/vectorwing/farmersdelight/FarmersDelight.java b/src/main/java/vectorwing/farmersdelight/FarmersDelight.java
index a0f38b4b6..95553cbe2 100644
--- a/src/main/java/vectorwing/farmersdelight/FarmersDelight.java
+++ b/src/main/java/vectorwing/farmersdelight/FarmersDelight.java
@@ -16,7 +16,6 @@
import vectorwing.farmersdelight.common.Configuration;
import vectorwing.farmersdelight.common.registry.*;
import vectorwing.farmersdelight.common.world.VillageStructures;
-import vectorwing.farmersdelight.common.world.WildCropGeneration;
@Mod(FarmersDelight.MODID)
public class FarmersDelight
@@ -54,7 +53,6 @@ public FarmersDelight() {
ModLootFunctions.LOOT_FUNCTIONS.register(modEventBus);
ModLootModifiers.LOOT_MODIFIERS.register(modEventBus);
- WildCropGeneration.load();
MinecraftForge.EVENT_BUS.addListener(VillageStructures::addNewVillageBuilding);
MinecraftForge.EVENT_BUS.register(this);
diff --git a/src/main/java/vectorwing/farmersdelight/client/event/ClientSetupEvents.java b/src/main/java/vectorwing/farmersdelight/client/event/ClientSetupEvents.java
index 90a8bbc0e..d74c2ccd1 100644
--- a/src/main/java/vectorwing/farmersdelight/client/event/ClientSetupEvents.java
+++ b/src/main/java/vectorwing/farmersdelight/client/event/ClientSetupEvents.java
@@ -10,7 +10,6 @@
import net.minecraftforge.client.event.ModelEvent;
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
import net.minecraftforge.client.event.RegisterRecipeBookCategoriesEvent;
-import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
diff --git a/src/main/java/vectorwing/farmersdelight/client/gui/ComfortHealthOverlay.java b/src/main/java/vectorwing/farmersdelight/client/gui/ComfortHealthOverlay.java
index c1097d5a1..b59a8b785 100644
--- a/src/main/java/vectorwing/farmersdelight/client/gui/ComfortHealthOverlay.java
+++ b/src/main/java/vectorwing/farmersdelight/client/gui/ComfortHealthOverlay.java
@@ -34,7 +34,7 @@ public static void init() {
}
- static ResourceLocation PLAYER_HEALTH_ELEMENT = new ResourceLocation("minecraft", "player_health");
+ static final ResourceLocation PLAYER_HEALTH_ELEMENT = new ResourceLocation("minecraft", "player_health");
@SubscribeEvent
public void onRenderGuiOverlayPost(RenderGuiOverlayEvent.Post event) {
@@ -76,7 +76,7 @@ public static void renderComfortOverlay(ForgeGui gui, GuiGraphics graphics) {
public static void drawComfortOverlay(Player player, Minecraft minecraft, GuiGraphics graphics, int left, int top) {
int ticks = minecraft.gui.getGuiTicks();
Random rand = new Random();
- rand.setSeed((long) (ticks * 312871));
+ rand.setSeed(ticks * 312871);
int health = Mth.ceil(player.getHealth());
float absorb = Mth.ceil(player.getAbsorptionAmount());
diff --git a/src/main/java/vectorwing/farmersdelight/client/gui/CookingPotScreen.java b/src/main/java/vectorwing/farmersdelight/client/gui/CookingPotScreen.java
index 025c3f8b1..43268bc8a 100644
--- a/src/main/java/vectorwing/farmersdelight/client/gui/CookingPotScreen.java
+++ b/src/main/java/vectorwing/farmersdelight/client/gui/CookingPotScreen.java
@@ -1,7 +1,6 @@
package vectorwing.farmersdelight.client.gui;
import com.mojang.blaze3d.systems.RenderSystem;
-import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.ChatFormatting;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.ImageButton;
@@ -53,7 +52,7 @@ public void init() {
{
this.recipeBookComponent.toggleVisibility();
this.leftPos = this.recipeBookComponent.updateScreenPosition(this.width, this.imageWidth);
- ((ImageButton) button).setPosition(this.leftPos + 5, this.height / 2 - 49);
+ button.setPosition(this.leftPos + 5, this.height / 2 - 49);
}));
} else {
this.recipeBookComponent.hide();
diff --git a/src/main/java/vectorwing/farmersdelight/client/gui/NourishmentHungerOverlay.java b/src/main/java/vectorwing/farmersdelight/client/gui/NourishmentHungerOverlay.java
index 336be8718..217e15711 100644
--- a/src/main/java/vectorwing/farmersdelight/client/gui/NourishmentHungerOverlay.java
+++ b/src/main/java/vectorwing/farmersdelight/client/gui/NourishmentHungerOverlay.java
@@ -23,7 +23,7 @@
/**
* Credits to squeek502 (AppleSkin) for the implementation reference!
- * https://www.curseforge.com/minecraft/mc-mods/appleskin
+ * ...
*/
@OnlyIn(Dist.CLIENT)
@@ -36,7 +36,7 @@ public static void init() {
MinecraftForge.EVENT_BUS.register(new NourishmentHungerOverlay());
}
- static ResourceLocation FOOD_LEVEL_ELEMENT = new ResourceLocation("minecraft", "food_level");
+ static final ResourceLocation FOOD_LEVEL_ELEMENT = new ResourceLocation("minecraft", "food_level");
@SubscribeEvent
public void onRenderGuiOverlayPost(RenderGuiOverlayEvent.Post event) {
diff --git a/src/main/java/vectorwing/farmersdelight/client/model/WrappedItemModel.java b/src/main/java/vectorwing/farmersdelight/client/model/WrappedItemModel.java
index ced536afe..059c4fb0e 100644
--- a/src/main/java/vectorwing/farmersdelight/client/model/WrappedItemModel.java
+++ b/src/main/java/vectorwing/farmersdelight/client/model/WrappedItemModel.java
@@ -1,7 +1,6 @@
package vectorwing.farmersdelight.client.model;
import com.mojang.blaze3d.vertex.PoseStack;
-import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
diff --git a/src/main/java/vectorwing/farmersdelight/client/renderer/CanvasSignRenderer.java b/src/main/java/vectorwing/farmersdelight/client/renderer/CanvasSignRenderer.java
index eed6a3097..b2e451464 100644
--- a/src/main/java/vectorwing/farmersdelight/client/renderer/CanvasSignRenderer.java
+++ b/src/main/java/vectorwing/farmersdelight/client/renderer/CanvasSignRenderer.java
@@ -36,7 +36,7 @@
@OnlyIn(Dist.CLIENT)
public class CanvasSignRenderer extends SignRenderer
{
- public static final Vec3 TEXT_OFFSET = new Vec3(0.0D, (double) 0.33333334F, (double) 0.046666667F);
+ public static final Vec3 TEXT_OFFSET = new Vec3(0.0D, 0.33333334F, 0.046666667F);
private static final int OUTLINE_RENDER_DISTANCE = Mth.square(16);
private final SignModel signModel;
diff --git a/src/main/java/vectorwing/farmersdelight/client/renderer/CuttingBoardRenderer.java b/src/main/java/vectorwing/farmersdelight/client/renderer/CuttingBoardRenderer.java
index b512359e9..95d0a7e39 100644
--- a/src/main/java/vectorwing/farmersdelight/client/renderer/CuttingBoardRenderer.java
+++ b/src/main/java/vectorwing/farmersdelight/client/renderer/CuttingBoardRenderer.java
@@ -4,7 +4,6 @@
import com.mojang.math.Axis;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
-import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.client.renderer.entity.ItemRenderer;
diff --git a/src/main/java/vectorwing/farmersdelight/client/renderer/HangingCanvasSignRenderer.java b/src/main/java/vectorwing/farmersdelight/client/renderer/HangingCanvasSignRenderer.java
index 3bc8e4eb1..7112d0c47 100644
--- a/src/main/java/vectorwing/farmersdelight/client/renderer/HangingCanvasSignRenderer.java
+++ b/src/main/java/vectorwing/farmersdelight/client/renderer/HangingCanvasSignRenderer.java
@@ -22,7 +22,7 @@
public class HangingCanvasSignRenderer extends CanvasSignRenderer
{
- private static final Vec3 TEXT_OFFSET = new Vec3(0.0D, (double) -0.32F, (double) 0.073F);
+ private static final Vec3 TEXT_OFFSET = new Vec3(0.0D, -0.32F, 0.073F);
private final HangingSignRenderer.HangingSignModel signModel;
public HangingCanvasSignRenderer(BlockEntityRendererProvider.Context context) {
diff --git a/src/main/java/vectorwing/farmersdelight/client/renderer/SkilletRenderer.java b/src/main/java/vectorwing/farmersdelight/client/renderer/SkilletRenderer.java
index f07cab819..50ffadd54 100644
--- a/src/main/java/vectorwing/farmersdelight/client/renderer/SkilletRenderer.java
+++ b/src/main/java/vectorwing/farmersdelight/client/renderer/SkilletRenderer.java
@@ -4,7 +4,6 @@
import com.mojang.math.Axis;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
-import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.core.Direction;
diff --git a/src/main/java/vectorwing/farmersdelight/common/CommonSetup.java b/src/main/java/vectorwing/farmersdelight/common/CommonSetup.java
index dc4097817..6074b844d 100644
--- a/src/main/java/vectorwing/farmersdelight/common/CommonSetup.java
+++ b/src/main/java/vectorwing/farmersdelight/common/CommonSetup.java
@@ -15,11 +15,9 @@
import net.minecraft.world.level.block.ComposterBlock;
import net.minecraft.world.level.block.DispenserBlock;
import net.minecraftforge.common.crafting.CompoundIngredient;
-import net.minecraftforge.common.crafting.CraftingHelper;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.util.ObfuscationReflectionHelper;
import net.minecraftforge.registries.ForgeRegistries;
-import vectorwing.farmersdelight.common.crafting.condition.VanillaCrateEnabledCondition;
import vectorwing.farmersdelight.common.entity.RottenTomatoEntity;
import vectorwing.farmersdelight.common.registry.ModAdvancements;
import vectorwing.farmersdelight.common.registry.ModItems;
@@ -38,7 +36,6 @@ public static void init(final FMLCommonSetupEvent event) {
});
ModAdvancements.register();
- CraftingHelper.register(new VanillaCrateEnabledCondition.Serializer());
}
public static void registerStackSizeOverrides() {
diff --git a/src/main/java/vectorwing/farmersdelight/common/Configuration.java b/src/main/java/vectorwing/farmersdelight/common/Configuration.java
index 902a0a2e7..f11556bdd 100644
--- a/src/main/java/vectorwing/farmersdelight/common/Configuration.java
+++ b/src/main/java/vectorwing/farmersdelight/common/Configuration.java
@@ -9,63 +9,63 @@
@Mod.EventBusSubscriber
public class Configuration
{
- public static ForgeConfigSpec COMMON_CONFIG;
- public static ForgeConfigSpec CLIENT_CONFIG;
+ public static final ForgeConfigSpec COMMON_CONFIG;
+ public static final ForgeConfigSpec CLIENT_CONFIG;
// COMMON
public static final String CATEGORY_SETTINGS = "settings";
- public static ForgeConfigSpec.BooleanValue ENABLE_VANILLA_CROP_CRATES;
- public static ForgeConfigSpec.BooleanValue FARMERS_BUY_FD_CROPS;
- public static ForgeConfigSpec.BooleanValue WANDERING_TRADER_SELLS_FD_ITEMS;
- public static ForgeConfigSpec.DoubleValue RICH_SOIL_BOOST_CHANCE;
- public static ForgeConfigSpec.DoubleValue CUTTING_BOARD_FORTUNE_BONUS;
- public static ForgeConfigSpec.BooleanValue ENABLE_ROPE_REELING;
- public static ForgeConfigSpec.ConfigValue> CANVAS_SIGN_DARK_BACKGROUND_LIST;
+ public static final ForgeConfigSpec.BooleanValue ENABLE_VANILLA_CROP_CRATES;
+ public static final ForgeConfigSpec.BooleanValue FARMERS_BUY_FD_CROPS;
+ public static final ForgeConfigSpec.BooleanValue WANDERING_TRADER_SELLS_FD_ITEMS;
+ public static final ForgeConfigSpec.DoubleValue RICH_SOIL_BOOST_CHANCE;
+ public static final ForgeConfigSpec.DoubleValue CUTTING_BOARD_FORTUNE_BONUS;
+ public static final ForgeConfigSpec.BooleanValue ENABLE_ROPE_REELING;
+ public static final ForgeConfigSpec.ConfigValue> CANVAS_SIGN_DARK_BACKGROUND_LIST;
public static final String CATEGORY_FARMING = "farming";
- public static ForgeConfigSpec.ConfigValue DEFAULT_TOMATO_VINE_ROPE;
- public static ForgeConfigSpec.BooleanValue ENABLE_TOMATO_VINE_CLIMBING_TAGGED_ROPES;
+ public static final ForgeConfigSpec.ConfigValue DEFAULT_TOMATO_VINE_ROPE;
+ public static final ForgeConfigSpec.BooleanValue ENABLE_TOMATO_VINE_CLIMBING_TAGGED_ROPES;
public static final String CATEGORY_RECIPE_BOOK = "recipe_book";
- public static ForgeConfigSpec.BooleanValue ENABLE_RECIPE_BOOK_COOKING_POT;
+ public static final ForgeConfigSpec.BooleanValue ENABLE_RECIPE_BOOK_COOKING_POT;
public static final String CATEGORY_OVERRIDES = "overrides";
- public static ForgeConfigSpec.BooleanValue VANILLA_SOUP_EXTRA_EFFECTS;
- public static ForgeConfigSpec.BooleanValue RABBIT_STEW_JUMP_BOOST;
- public static ForgeConfigSpec.BooleanValue DISPENSER_TOOLS_CUTTING_BOARD;
+ public static final ForgeConfigSpec.BooleanValue VANILLA_SOUP_EXTRA_EFFECTS;
+ public static final ForgeConfigSpec.BooleanValue RABBIT_STEW_JUMP_BOOST;
+ public static final ForgeConfigSpec.BooleanValue DISPENSER_TOOLS_CUTTING_BOARD;
public static final String CATEGORY_OVERRIDES_STACK_SIZE = "stack_size";
- public static ForgeConfigSpec.BooleanValue ENABLE_STACKABLE_SOUP_ITEMS;
- public static ForgeConfigSpec.ConfigValue> SOUP_ITEM_LIST;
+ public static final ForgeConfigSpec.BooleanValue ENABLE_STACKABLE_SOUP_ITEMS;
+ public static final ForgeConfigSpec.ConfigValue> SOUP_ITEM_LIST;
public static final String CATEGORY_WORLD = "world";
- public static ForgeConfigSpec.BooleanValue GENERATE_FD_CHEST_LOOT;
- public static ForgeConfigSpec.BooleanValue GENERATE_VILLAGE_COMPOST_HEAPS;
+ public static final ForgeConfigSpec.BooleanValue GENERATE_FD_CHEST_LOOT;
+ public static final ForgeConfigSpec.BooleanValue GENERATE_VILLAGE_COMPOST_HEAPS;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_CABBAGES;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_CABBAGES;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_CABBAGES;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_BEETROOTS;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_BEETROOTS;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_BEETROOTS;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_POTATOES;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_POTATOES;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_POTATOES;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_ONIONS;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_ONIONS;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_ONIONS;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_CARROTS;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_CARROTS;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_CARROTS;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_TOMATOES;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_TOMATOES;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_TOMATOES;
public static ForgeConfigSpec.BooleanValue GENERATE_WILD_RICE;
- public static ForgeConfigSpec.IntValue CHANCE_WILD_RICE;
- public static ForgeConfigSpec.BooleanValue GENERATE_BROWN_MUSHROOM_COLONIES;
- public static ForgeConfigSpec.IntValue CHANCE_BROWN_MUSHROOM_COLONIES;
- public static ForgeConfigSpec.BooleanValue GENERATE_RED_MUSHROOM_COLONIES;
- public static ForgeConfigSpec.IntValue CHANCE_RED_MUSHROOM_COLONIES;
+ public static final ForgeConfigSpec.IntValue CHANCE_WILD_RICE;
+ public static final ForgeConfigSpec.BooleanValue GENERATE_BROWN_MUSHROOM_COLONIES;
+ public static final ForgeConfigSpec.IntValue CHANCE_BROWN_MUSHROOM_COLONIES;
+ public static final ForgeConfigSpec.BooleanValue GENERATE_RED_MUSHROOM_COLONIES;
+ public static final ForgeConfigSpec.IntValue CHANCE_RED_MUSHROOM_COLONIES;
// CLIENT
public static final String CATEGORY_CLIENT = "client";
- public static ForgeConfigSpec.BooleanValue NOURISHED_HUNGER_OVERLAY;
- public static ForgeConfigSpec.BooleanValue COMFORT_HEALTH_OVERLAY;
- public static ForgeConfigSpec.BooleanValue FOOD_EFFECT_TOOLTIP;
+ public static final ForgeConfigSpec.BooleanValue NOURISHED_HUNGER_OVERLAY;
+ public static final ForgeConfigSpec.BooleanValue COMFORT_HEALTH_OVERLAY;
+ public static final ForgeConfigSpec.BooleanValue FOOD_EFFECT_TOOLTIP;
static {
ForgeConfigSpec.Builder COMMON_BUILDER = new ForgeConfigSpec.Builder();
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/BasketBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/BasketBlock.java
index dbb79c386..7ff4b2b14 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/BasketBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/BasketBlock.java
@@ -39,8 +39,6 @@
import javax.annotation.Nullable;
-import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
-
@SuppressWarnings("deprecation")
public class BasketBlock extends BaseEntityBlock implements SimpleWaterloggedBlock
{
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/CanvasRugBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/CanvasRugBlock.java
index fda9600f0..1d6ba5300 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/CanvasRugBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/CanvasRugBlock.java
@@ -3,15 +3,11 @@
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
-import net.minecraft.world.level.block.Blocks;
-import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
-import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
-
public class CanvasRugBlock extends Block
{
protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 1.0D, 16.0D);
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/CookingPotBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/CookingPotBlock.java
index 086c5ea6e..3047aba05 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/CookingPotBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/CookingPotBlock.java
@@ -35,7 +35,6 @@
import net.minecraft.world.level.block.state.properties.EnumProperty;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.material.Fluids;
-import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.CollisionContext;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/OrganicCompostBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/OrganicCompostBlock.java
index 03fa07c28..5bcc99ee4 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/OrganicCompostBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/OrganicCompostBlock.java
@@ -19,7 +19,7 @@
@SuppressWarnings("deprecation")
public class OrganicCompostBlock extends Block
{
- public static IntegerProperty COMPOSTING = IntegerProperty.create("composting", 0, 7);
+ public static final IntegerProperty COMPOSTING = IntegerProperty.create("composting", 0, 7);
public OrganicCompostBlock(Properties properties) {
super(properties);
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/PieBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/PieBlock.java
index c2a4673a3..4edbfcb8c 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/PieBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/PieBlock.java
@@ -5,7 +5,6 @@
import net.minecraft.core.Direction;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
-import net.minecraft.world.Containers;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.effect.MobEffectInstance;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/RiceBaleBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/RiceBaleBlock.java
index 701f97b64..d9e07d7da 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/RiceBaleBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/RiceBaleBlock.java
@@ -2,7 +2,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
-import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/RiceRollMedleyBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/RiceRollMedleyBlock.java
index 430eb8d7b..e3305daa2 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/RiceRollMedleyBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/RiceRollMedleyBlock.java
@@ -1,19 +1,13 @@
package vectorwing.farmersdelight.common.block;
import net.minecraft.core.BlockPos;
-import net.minecraft.core.Direction;
-import net.minecraft.world.InteractionHand;
-import net.minecraft.world.InteractionResult;
-import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.BlockGetter;
-import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.IntegerProperty;
-import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.BooleanOp;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/SafetyNetBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/SafetyNetBlock.java
index 26de581c6..599672577 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/SafetyNetBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/SafetyNetBlock.java
@@ -2,8 +2,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
-import net.minecraft.world.damagesource.DamageSource;
-import net.minecraft.world.damagesource.DamageSources;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.context.BlockPlaceContext;
@@ -11,9 +9,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
import net.minecraft.world.level.block.Block;
-import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.SimpleWaterloggedBlock;
-import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/SandyShrubBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/SandyShrubBlock.java
index 66f0e5126..cf8949a18 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/SandyShrubBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/SandyShrubBlock.java
@@ -46,8 +46,6 @@ public boolean isBonemealSuccess(Level level, RandomSource random, BlockPos pos,
@Override
public void performBonemeal(ServerLevel level, RandomSource random, BlockPos pos, BlockState state) {
- level.registryAccess().registry(Registries.CONFIGURED_FEATURE).flatMap((value) -> value.getHolder(WildCropGeneration.FEATURE_PATCH_SANDY_SHRUB)).ifPresent((value) -> {
- value.value().place(level, level.getChunkSource().getGenerator(), random, pos.above());
- });
+ level.registryAccess().registryOrThrow(Registries.CONFIGURED_FEATURE).getOrThrow(WildCropGeneration.SANDY_SHRUB).place(level, level.getChunkSource().getGenerator(), random, pos.above());
}
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/SkilletBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/SkilletBlock.java
index bf0a909ed..7a879d33e 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/SkilletBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/SkilletBlock.java
@@ -20,7 +20,6 @@
import net.minecraft.world.level.block.BaseEntityBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.RenderShape;
-import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.entity.BlockEntityType;
@@ -30,7 +29,6 @@
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
-import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/TatamiBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/TatamiBlock.java
index 3bb1b33b6..8d6f88ddc 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/TatamiBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/TatamiBlock.java
@@ -36,11 +36,7 @@ public BlockState getStateForPlacement(BlockPlaceContext context) {
Direction face = context.getClickedFace();
BlockPos targetPos = context.getClickedPos().relative(face.getOpposite());
BlockState targetState = context.getLevel().getBlockState(targetPos);
- boolean pairing = false;
-
- if (context.getPlayer() != null && !context.getPlayer().isShiftKeyDown() && targetState.getBlock() == this && !targetState.getValue(PAIRED)) {
- pairing = true;
- }
+ boolean pairing = context.getPlayer() != null && !context.getPlayer().isShiftKeyDown() && targetState.getBlock() == this && !targetState.getValue(PAIRED);
return this.defaultBlockState().setValue(FACING, context.getClickedFace().getOpposite()).setValue(PAIRED, pairing);
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/TatamiHalfMatBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/TatamiHalfMatBlock.java
index a9b10aee8..becf22bf2 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/TatamiHalfMatBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/TatamiHalfMatBlock.java
@@ -15,8 +15,6 @@
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
-import net.minecraft.world.level.block.state.BlockBehaviour.Properties;
-
@SuppressWarnings("deprecation")
public class TatamiHalfMatBlock extends HorizontalDirectionalBlock
{
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/TatamiMatBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/TatamiMatBlock.java
index 19c06fe6e..5838964fb 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/TatamiMatBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/TatamiMatBlock.java
@@ -20,7 +20,6 @@
import net.minecraft.world.level.block.state.properties.BedPart;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.EnumProperty;
-import net.minecraft.world.level.material.PushReaction;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/TomatoVineBlock.java b/src/main/java/vectorwing/farmersdelight/common/block/TomatoVineBlock.java
index 4392cfdf3..f718feb76 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/TomatoVineBlock.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/TomatoVineBlock.java
@@ -22,7 +22,6 @@
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.IntegerProperty;
-import net.minecraft.world.level.material.PushReaction;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/CabinetBlockEntity.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/CabinetBlockEntity.java
index 6225ad9a1..503cf2357 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/CabinetBlockEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/CabinetBlockEntity.java
@@ -26,7 +26,7 @@
public class CabinetBlockEntity extends RandomizableContainerBlockEntity
{
private NonNullList contents = NonNullList.withSize(27, ItemStack.EMPTY);
- private ContainerOpenersCounter openersCounter = new ContainerOpenersCounter()
+ private final ContainerOpenersCounter openersCounter = new ContainerOpenersCounter()
{
protected void onOpen(Level level, BlockPos pos, BlockState state) {
CabinetBlockEntity.this.playSound(state, ModSounds.BLOCK_CABINET_OPEN.get());
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/CuttingBoardBlockEntity.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/CuttingBoardBlockEntity.java
index d70e13881..f74d0f23f 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/CuttingBoardBlockEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/CuttingBoardBlockEntity.java
@@ -122,7 +122,7 @@ private Optional getMatchingRecipe(RecipeWrapper recipeWrapp
return Optional.empty();
}
Optional recipe = recipeList.stream().filter(cuttingRecipe -> cuttingRecipe.getTool().test(toolStack)).findFirst();
- if (!recipe.isPresent()) {
+ if (recipe.isEmpty()) {
if (player != null)
player.displayClientMessage(TextUtils.getTranslation("block.cutting_board.invalid_tool"), true);
return Optional.empty();
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/HangingCanvasSignBlockEntity.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/HangingCanvasSignBlockEntity.java
index 3ab4be806..82a2a8b4f 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/HangingCanvasSignBlockEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/HangingCanvasSignBlockEntity.java
@@ -3,7 +3,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.block.entity.BlockEntityType;
import net.minecraft.world.level.block.entity.HangingSignBlockEntity;
-import net.minecraft.world.level.block.entity.SignBlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import vectorwing.farmersdelight.common.registry.ModBlockEntityTypes;
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/SkilletBlockEntity.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/SkilletBlockEntity.java
index 5423b36bb..21a7b64ea 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/SkilletBlockEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/SkilletBlockEntity.java
@@ -212,8 +212,4 @@ protected void onContentsChanged(int slot) {
};
}
- @Override
- public void setRemoved() {
- super.setRemoved();
- }
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/StoveBlockEntity.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/StoveBlockEntity.java
index a3b7ec94a..0764589ab 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/StoveBlockEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/StoveBlockEntity.java
@@ -35,7 +35,7 @@ public class StoveBlockEntity extends SyncedBlockEntity
private final ItemStackHandler inventory;
private final int[] cookingTimes;
private final int[] cookingTimesTotal;
- private ResourceLocation[] lastRecipeIDs;
+ private final ResourceLocation[] lastRecipeIDs;
public StoveBlockEntity(BlockPos pos, BlockState state) {
super(ModBlockEntityTypes.STOVE.get(), pos, state);
diff --git a/src/main/java/vectorwing/farmersdelight/common/block/entity/container/CookingPotResultSlot.java b/src/main/java/vectorwing/farmersdelight/common/block/entity/container/CookingPotResultSlot.java
index ed9456ddb..bc6d41f47 100644
--- a/src/main/java/vectorwing/farmersdelight/common/block/entity/container/CookingPotResultSlot.java
+++ b/src/main/java/vectorwing/farmersdelight/common/block/entity/container/CookingPotResultSlot.java
@@ -8,7 +8,6 @@
import javax.annotation.Nonnull;
import javax.annotation.ParametersAreNonnullByDefault;
-import java.util.List;
@ParametersAreNonnullByDefault
public class CookingPotResultSlot extends SlotItemHandler
diff --git a/src/main/java/vectorwing/farmersdelight/common/crafting/CookingPotRecipe.java b/src/main/java/vectorwing/farmersdelight/common/crafting/CookingPotRecipe.java
index f7c3e8a33..562c628ad 100644
--- a/src/main/java/vectorwing/farmersdelight/common/crafting/CookingPotRecipe.java
+++ b/src/main/java/vectorwing/farmersdelight/common/crafting/CookingPotRecipe.java
@@ -160,7 +160,7 @@ public int hashCode() {
result = 31 * result + inputItems.hashCode();
result = 31 * result + output.hashCode();
result = 31 * result + container.hashCode();
- result = 31 * result + (getExperience() != +0.0f ? Float.floatToIntBits(getExperience()) : 0);
+ result = 31 * result + (getExperience() != 0.0f ? Float.floatToIntBits(getExperience()) : 0);
result = 31 * result + getCookTime();
return result;
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/crafting/condition/VanillaCrateEnabledCondition.java b/src/main/java/vectorwing/farmersdelight/common/crafting/condition/VanillaCrateEnabledCondition.java
index 2e212b77b..fcbafe0c9 100644
--- a/src/main/java/vectorwing/farmersdelight/common/crafting/condition/VanillaCrateEnabledCondition.java
+++ b/src/main/java/vectorwing/farmersdelight/common/crafting/condition/VanillaCrateEnabledCondition.java
@@ -9,15 +9,15 @@
public class VanillaCrateEnabledCondition implements ICondition
{
- private final ResourceLocation location;
+ private static final ResourceLocation ID = new ResourceLocation(FarmersDelight.MODID, "vanilla_crates_enabled");
+ public static final VanillaCrateEnabledCondition INSTANCE = new VanillaCrateEnabledCondition();
- public VanillaCrateEnabledCondition(ResourceLocation location) {
- this.location = location;
+ private VanillaCrateEnabledCondition() {
}
@Override
public ResourceLocation getID() {
- return this.location;
+ return ID;
}
@Override
@@ -27,20 +27,20 @@ public boolean test(IContext context) {
public static class Serializer implements IConditionSerializer
{
- private final ResourceLocation location;
+
+ public static final Serializer INSTANCE = new Serializer();
public Serializer() {
- this.location = new ResourceLocation(FarmersDelight.MODID, "vanilla_crates_enabled");
}
@Override
public ResourceLocation getID() {
- return this.location;
+ return ID;
}
@Override
public VanillaCrateEnabledCondition read(JsonObject json) {
- return new VanillaCrateEnabledCondition(this.location);
+ return new VanillaCrateEnabledCondition();
}
@Override
diff --git a/src/main/java/vectorwing/farmersdelight/common/entity/RottenTomatoEntity.java b/src/main/java/vectorwing/farmersdelight/common/entity/RottenTomatoEntity.java
index 5f0846bd6..e8e61add2 100644
--- a/src/main/java/vectorwing/farmersdelight/common/entity/RottenTomatoEntity.java
+++ b/src/main/java/vectorwing/farmersdelight/common/entity/RottenTomatoEntity.java
@@ -6,7 +6,6 @@
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
-import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
diff --git a/src/main/java/vectorwing/farmersdelight/common/event/SetupEvents.java b/src/main/java/vectorwing/farmersdelight/common/event/SetupEvents.java
index a03e85d20..8f01d0c3a 100644
--- a/src/main/java/vectorwing/farmersdelight/common/event/SetupEvents.java
+++ b/src/main/java/vectorwing/farmersdelight/common/event/SetupEvents.java
@@ -6,6 +6,7 @@
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegisterEvent;
+import vectorwing.farmersdelight.common.crafting.condition.VanillaCrateEnabledCondition;
import vectorwing.farmersdelight.common.crafting.ingredient.ToolActionIngredient;
import static vectorwing.farmersdelight.FarmersDelight.MODID;
@@ -17,6 +18,7 @@ public class SetupEvents
public static void registerRecipeElements(RegisterEvent event) {
if (event.getRegistryKey().equals(ForgeRegistries.Keys.RECIPE_SERIALIZERS)) {
CraftingHelper.register(new ResourceLocation(MODID, "tool_action"), ToolActionIngredient.SERIALIZER);
+ CraftingHelper.register(VanillaCrateEnabledCondition.Serializer.INSTANCE);
}
}
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/item/DrinkableItem.java b/src/main/java/vectorwing/farmersdelight/common/item/DrinkableItem.java
index c1ff7327e..971108049 100644
--- a/src/main/java/vectorwing/farmersdelight/common/item/DrinkableItem.java
+++ b/src/main/java/vectorwing/farmersdelight/common/item/DrinkableItem.java
@@ -1,7 +1,5 @@
package vectorwing.farmersdelight.common.item;
-import net.minecraft.sounds.SoundEvent;
-import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.entity.player.Player;
diff --git a/src/main/java/vectorwing/farmersdelight/common/loot/function/CopySkilletFunction.java b/src/main/java/vectorwing/farmersdelight/common/loot/function/CopySkilletFunction.java
index 91c3bb868..0e03ae20e 100644
--- a/src/main/java/vectorwing/farmersdelight/common/loot/function/CopySkilletFunction.java
+++ b/src/main/java/vectorwing/farmersdelight/common/loot/function/CopySkilletFunction.java
@@ -14,7 +14,6 @@
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import vectorwing.farmersdelight.FarmersDelight;
import vectorwing.farmersdelight.common.block.entity.SkilletBlockEntity;
-import vectorwing.farmersdelight.common.registry.ModLootFunctions;
import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddItemModifier.java b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddItemModifier.java
index 2a88397bb..f9c47e0ed 100644
--- a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddItemModifier.java
+++ b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddItemModifier.java
@@ -32,7 +32,7 @@ public class AddItemModifier extends LootModifier
/**
* This loot modifier adds an item to the loot table, given the conditions specified.
*/
- protected AddItemModifier(LootItemCondition[] conditionsIn, Item addedItemIn, int count) {
+ public AddItemModifier(LootItemCondition[] conditionsIn, Item addedItemIn, int count) {
super(conditionsIn);
this.addedItem = addedItemIn;
this.count = count;
diff --git a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddLootTableModifier.java b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddLootTableModifier.java
index fbe0e5c65..eb1e9f49e 100644
--- a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddLootTableModifier.java
+++ b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/AddLootTableModifier.java
@@ -7,7 +7,6 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.storage.loot.LootContext;
-import net.minecraft.world.level.storage.loot.LootDataResolver;
import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import net.minecraftforge.common.loot.IGlobalLootModifier;
@@ -31,7 +30,7 @@ public class AddLootTableModifier extends LootModifier
private final ResourceLocation lootTable;
- protected AddLootTableModifier(LootItemCondition[] conditionsIn, ResourceLocation lootTable) {
+ public AddLootTableModifier(LootItemCondition[] conditionsIn, ResourceLocation lootTable) {
super(conditionsIn);
this.lootTable = lootTable;
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/PastrySlicingModifier.java b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/PastrySlicingModifier.java
index d1380c925..5210993c2 100644
--- a/src/main/java/vectorwing/farmersdelight/common/loot/modifier/PastrySlicingModifier.java
+++ b/src/main/java/vectorwing/farmersdelight/common/loot/modifier/PastrySlicingModifier.java
@@ -37,7 +37,7 @@ public class PastrySlicingModifier extends LootModifier
* If the block is a PieBlock, it drops up to 4 slices.
* Otherwise, this does nothing.
*/
- protected PastrySlicingModifier(LootItemCondition[] conditionsIn, Item pastrySliceIn) {
+ public PastrySlicingModifier(LootItemCondition[] conditionsIn, Item pastrySliceIn) {
super(conditionsIn);
this.pastrySlice = pastrySliceIn;
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/mixin/HideBlockBreakProgressMixin.java b/src/main/java/vectorwing/farmersdelight/common/mixin/HideBlockBreakProgressMixin.java
index 8aae928ff..80ca98b21 100644
--- a/src/main/java/vectorwing/farmersdelight/common/mixin/HideBlockBreakProgressMixin.java
+++ b/src/main/java/vectorwing/farmersdelight/common/mixin/HideBlockBreakProgressMixin.java
@@ -15,7 +15,7 @@
@Mixin(BlockRenderDispatcher.class)
public abstract class HideBlockBreakProgressMixin
{
- @Inject(method = "renderBreakingTexture", at = @At("HEAD"), cancellable = true)
+ @Inject(method = "renderBreakingTexture(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/BlockAndTintGetter;Lcom/mojang/blaze3d/vertex/PoseStack;Lcom/mojang/blaze3d/vertex/VertexConsumer;)V", at = @At("HEAD"), cancellable = true)
private void hideBlockDamage(BlockState blockStateIn, BlockPos posIn, BlockAndTintGetter lightReaderIn, PoseStack matrixStackIn, VertexConsumer vertexBuilderIn, CallbackInfo ci) {
if (blockStateIn.getBlock() == ModBlocks.CANVAS_RUG.get()) {
ci.cancel();
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModAdvancements.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModAdvancements.java
index 27c4f7c8e..7b3689ffc 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModAdvancements.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModAdvancements.java
@@ -5,7 +5,7 @@
public class ModAdvancements
{
- public static CuttingBoardTrigger CUTTING_BOARD = new CuttingBoardTrigger();
+ public static final CuttingBoardTrigger CUTTING_BOARD = new CuttingBoardTrigger();
public static void register() {
CriteriaTriggers.register(CUTTING_BOARD);
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java
index 0afb63ee6..e0d745ce4 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java
@@ -2,24 +2,34 @@
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
+import net.minecraft.core.HolderGetter;
+import net.minecraft.core.HolderSet;
+import net.minecraft.core.registries.Registries;
+import net.minecraft.data.worldgen.BootstapContext;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.tags.BiomeTags;
import net.minecraft.world.level.biome.Biome;
+import net.minecraft.world.level.biome.Biomes;
import net.minecraft.world.level.levelgen.GenerationStep;
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
+import net.minecraftforge.common.Tags;
import net.minecraftforge.common.world.BiomeModifier;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import vectorwing.farmersdelight.FarmersDelight;
+import vectorwing.farmersdelight.common.world.WildCropGeneration;
import vectorwing.farmersdelight.common.world.modifier.AddFeaturesByFilterBiomeModifier;
import java.util.Optional;
public class ModBiomeModifiers
{
- public static DeferredRegister> BIOME_MODIFIER_SERIALIZERS =
+ public static final DeferredRegister> BIOME_MODIFIER_SERIALIZERS =
DeferredRegister.create(ForgeRegistries.Keys.BIOME_MODIFIER_SERIALIZERS, FarmersDelight.MODID);
- public static RegistryObject> ADD_FEATURES_BY_FILTER = BIOME_MODIFIER_SERIALIZERS.register("add_features_by_filter", () ->
+ public static final RegistryObject> ADD_FEATURES_BY_FILTER = BIOME_MODIFIER_SERIALIZERS.register("add_features_by_filter", () ->
RecordCodecBuilder.create(builder -> builder.group(
Biome.LIST_CODEC.fieldOf("allowed_biomes").forGetter(AddFeaturesByFilterBiomeModifier::allowedBiomes),
Biome.LIST_CODEC.optionalFieldOf("denied_biomes").orElse(Optional.empty()).forGetter(AddFeaturesByFilterBiomeModifier::deniedBiomes),
@@ -28,4 +38,32 @@ public class ModBiomeModifiers
PlacedFeature.LIST_CODEC.fieldOf("features").forGetter(AddFeaturesByFilterBiomeModifier::features),
GenerationStep.Decoration.CODEC.fieldOf("step").forGetter(AddFeaturesByFilterBiomeModifier::step)
).apply(builder, AddFeaturesByFilterBiomeModifier::new)));
+
+ public static final ResourceKey BROWN_MUSHROOM_COLONY = registerKey("brown_mushroom_colony");
+ public static final ResourceKey RED_MUSHROOM_COLONY = registerKey("red_mushroom_colony");
+ public static final ResourceKey WILD_BEETROOTS = registerKey("wild_beetroots");
+ public static final ResourceKey WILD_CABBAGES = registerKey("wild_cabbages");
+ public static final ResourceKey WILD_CARROTS = registerKey("wild_carrots");
+ public static final ResourceKey WILD_ONIONS = registerKey("wild_onions");
+ public static final ResourceKey WILD_POTATOES = registerKey("wild_potatoes");
+ public static final ResourceKey WILD_RICE = registerKey("wild_rice");
+ public static final ResourceKey WILD_TOMATOES = registerKey("wild_tomatoes");
+
+ private static ResourceKey registerKey(String name) {
+ return ResourceKey.create(ForgeRegistries.Keys.BIOME_MODIFIERS, new ResourceLocation(FarmersDelight.MODID, name));
+ }
+
+ public static void bootstrap(BootstapContext context) {
+ HolderGetter biomeGetter = context.lookup(Registries.BIOME);
+ HolderGetter featureGetter = context.lookup(Registries.PLACED_FEATURE);
+ context.register(BROWN_MUSHROOM_COLONY, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(Tags.Biomes.IS_MUSHROOM), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_BROWN_MUSHROOM_COLONY)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(RED_MUSHROOM_COLONY, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(Tags.Biomes.IS_MUSHROOM), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_RED_MUSHROOM_COLONY)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_BEETROOTS, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(BiomeTags.IS_BEACH), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_BEETROOTS)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_CABBAGES, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(BiomeTags.IS_BEACH), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_CABBAGES)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_CARROTS, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(BiomeTags.IS_OVERWORLD), HolderSet.direct(biomeGetter.getOrThrow(Biomes.LUSH_CAVES), biomeGetter.getOrThrow(Biomes.MUSHROOM_FIELDS)), 0.4F, 0.9F, HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_CARROTS)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_ONIONS, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(BiomeTags.IS_OVERWORLD), biomeGetter.getOrThrow(Tags.Biomes.IS_UNDERGROUND), 0.1F, 0.3F, HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_ONIONS)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_POTATOES, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(BiomeTags.IS_OVERWORLD), biomeGetter.getOrThrow(Tags.Biomes.IS_UNDERGROUND), 0.1F, 0.3F, HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_POTATOES)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_RICE, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(Tags.Biomes.IS_WET_OVERWORLD), Optional.of(biomeGetter.getOrThrow(Tags.Biomes.IS_UNDERGROUND)), Optional.empty(), Optional.empty(), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_RICE)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ context.register(WILD_TOMATOES, new AddFeaturesByFilterBiomeModifier(biomeGetter.getOrThrow(Tags.Biomes.IS_HOT_OVERWORLD), Optional.of(biomeGetter.getOrThrow(Tags.Biomes.IS_WET)), Optional.empty(), Optional.empty(), HolderSet.direct(featureGetter.getOrThrow(WildCropGeneration.PLACED_WILD_TOMATOES)), GenerationStep.Decoration.VEGETAL_DECORATION));
+ }
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModBlocks.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModBlocks.java
index 9a93b09c2..585d0a1a3 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModBlocks.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModBlocks.java
@@ -11,7 +11,6 @@
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.material.MapColor;
import net.minecraft.world.level.material.PushReaction;
-import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModDamageTypes.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModDamageTypes.java
index 11ea497fe..998f1b23d 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModDamageTypes.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModDamageTypes.java
@@ -1,8 +1,10 @@
package vectorwing.farmersdelight.common.registry;
import net.minecraft.core.registries.Registries;
+import net.minecraft.data.worldgen.BootstapContext;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.damagesource.DamageEffects;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.damagesource.DamageType;
import net.minecraft.world.level.Level;
@@ -15,4 +17,8 @@ public class ModDamageTypes
public static DamageSource getSimpleDamageSource(Level level, ResourceKey type) {
return new DamageSource(level.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(type));
}
+
+ public static void bootstrap(BootstapContext context) {
+ context.register(STOVE_BURN, new DamageType("farmersdelight.stove", 0.1F, DamageEffects.BURNING));
+ }
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModLootTables.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModLootTables.java
new file mode 100644
index 000000000..09181b6ca
--- /dev/null
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModLootTables.java
@@ -0,0 +1,27 @@
+package vectorwing.farmersdelight.common.registry;
+
+import net.minecraft.resources.ResourceLocation;
+import vectorwing.farmersdelight.FarmersDelight;
+
+public class ModLootTables
+{
+ public static final ResourceLocation ABANDONED_MINESHAFT = register("chests/fd_abandoned_mineshaft");
+ public static final ResourceLocation BASTION_HOGLIN_STABLE = register("chests/fd_bastion_hoglin_stable");
+ public static final ResourceLocation BASTION_TREASURE = register("chests/fd_bastion_treasure");
+ public static final ResourceLocation END_CITY_TREASURE = register("chests/fd_end_city_treasure");
+ public static final ResourceLocation PILLAGER_OUTPOST = register("chests/fd_pillager_outpost");
+ public static final ResourceLocation RUINED_PORTAL = register("chests/fd_ruined_portal");
+ public static final ResourceLocation SHIPWRECK_SUPPLY = register("chests/fd_shipwreck_supply");
+ public static final ResourceLocation SIMPLE_DUNGEON = register("chests/fd_simple_dungeons");
+ public static final ResourceLocation VILLAGE_BUTCHER = register("chests/fd_village_butcher");
+ public static final ResourceLocation VILLAGE_DESERT_HOUSE = register("chests/fd_village_desert_shouse");
+ public static final ResourceLocation VILLAGE_PLAINS_HOUSE = register("chests/fd_village_plains_shouse");
+ public static final ResourceLocation VILLAGE_SAVANNA_HOUSE = register("chests/fd_village_savanna_shouse");
+ public static final ResourceLocation VILLAGE_SNOWY_HOUSE = register("chests/fd_village_snowy_shouse");
+ public static final ResourceLocation VILLAGE_TAIGA_HOUSE = register("chests/fd_village_taiga_shouse");
+
+ private static ResourceLocation register(String id) {
+ return new ResourceLocation(FarmersDelight.MODID, id);
+ }
+
+}
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModPlacementModifiers.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModPlacementModifiers.java
index a7ff4c24a..84ecaccc8 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModPlacementModifiers.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModPlacementModifiers.java
@@ -1,7 +1,6 @@
package vectorwing.farmersdelight.common.registry;
import com.mojang.serialization.Codec;
-import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.world.level.levelgen.placement.PlacementModifier;
import net.minecraft.world.level.levelgen.placement.PlacementModifierType;
diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModRecipeTypes.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModRecipeTypes.java
index 4cf05facd..851f1bd71 100644
--- a/src/main/java/vectorwing/farmersdelight/common/registry/ModRecipeTypes.java
+++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModRecipeTypes.java
@@ -1,6 +1,5 @@
package vectorwing.farmersdelight.common.registry;
-import net.minecraft.core.Registry;
import net.minecraft.world.item.crafting.Recipe;
import net.minecraft.world.item.crafting.RecipeType;
import net.minecraftforge.registries.DeferredRegister;
diff --git a/src/main/java/vectorwing/farmersdelight/common/tag/ForgeTags.java b/src/main/java/vectorwing/farmersdelight/common/tag/ForgeTags.java
index 964306abd..3788a3d63 100644
--- a/src/main/java/vectorwing/farmersdelight/common/tag/ForgeTags.java
+++ b/src/main/java/vectorwing/farmersdelight/common/tag/ForgeTags.java
@@ -1,13 +1,11 @@
package vectorwing.farmersdelight.common.tag;
-import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
-import net.minecraftforge.registries.ForgeRegistries;
/**
* References to tags under the Forge namespace.
diff --git a/src/main/java/vectorwing/farmersdelight/common/tag/ModTags.java b/src/main/java/vectorwing/farmersdelight/common/tag/ModTags.java
index 27e2f2538..f4674c13b 100644
--- a/src/main/java/vectorwing/farmersdelight/common/tag/ModTags.java
+++ b/src/main/java/vectorwing/farmersdelight/common/tag/ModTags.java
@@ -1,7 +1,5 @@
package vectorwing.farmersdelight.common.tag;
-import net.minecraft.core.Registry;
-import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
@@ -48,6 +46,9 @@ public class ModTags
// Blocks in which Mushroom Colonies can keep growing on, if it's dark enough. These blocks cannot form new colonies.
public static final TagKey MUSHROOM_COLONY_GROWABLE_ON = modBlockTag("mushroom_colony_growable_on");
+ // Blocks that wild tomato patches can spawn on. This only affects world generation.
+ public static final TagKey WILD_TOMATO_GROWS_ON = modBlockTag("wild_tomato_grows_on");
+
// Blocks that should not have their growth boosted by Rich Soil, if planted on it.
public static final TagKey UNAFFECTED_BY_RICH_SOIL = modBlockTag("unaffected_by_rich_soil");
diff --git a/src/main/java/vectorwing/farmersdelight/common/utility/ClientRenderUtils.java b/src/main/java/vectorwing/farmersdelight/common/utility/ClientRenderUtils.java
index 548dea24f..342997e07 100644
--- a/src/main/java/vectorwing/farmersdelight/common/utility/ClientRenderUtils.java
+++ b/src/main/java/vectorwing/farmersdelight/common/utility/ClientRenderUtils.java
@@ -6,7 +6,6 @@
import com.mojang.blaze3d.vertex.PoseStack;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
-import net.minecraft.client.renderer.block.model.ItemTransforms;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.texture.TextureAtlas;
diff --git a/src/main/java/vectorwing/farmersdelight/common/world/VillageStructures.java b/src/main/java/vectorwing/farmersdelight/common/world/VillageStructures.java
index fd17b85bc..727ae43cc 100644
--- a/src/main/java/vectorwing/farmersdelight/common/world/VillageStructures.java
+++ b/src/main/java/vectorwing/farmersdelight/common/world/VillageStructures.java
@@ -24,8 +24,8 @@ public static void addNewVillageBuilding(final ServerAboutToStartEvent event) {
return;
}
- Registry templatePools = event.getServer().registryAccess().registry(Registries.TEMPLATE_POOL).get();
- Registry processorLists = event.getServer().registryAccess().registry(Registries.PROCESSOR_LIST).get();
+ Registry templatePools = event.getServer().registryAccess().registryOrThrow(Registries.TEMPLATE_POOL);
+ Registry processorLists = event.getServer().registryAccess().registryOrThrow(Registries.PROCESSOR_LIST);
VillageStructures.addBuildingToPool(templatePools, processorLists, new ResourceLocation("minecraft:village/plains/houses"), FarmersDelight.MODID + ":village/houses/plains_compost_pile", 5);
VillageStructures.addBuildingToPool(templatePools, processorLists, new ResourceLocation("minecraft:village/snowy/houses"), FarmersDelight.MODID + ":village/houses/snowy_compost_pile", 3);
diff --git a/src/main/java/vectorwing/farmersdelight/common/world/WildCropGeneration.java b/src/main/java/vectorwing/farmersdelight/common/world/WildCropGeneration.java
index a922eb0d9..47c775baf 100644
--- a/src/main/java/vectorwing/farmersdelight/common/world/WildCropGeneration.java
+++ b/src/main/java/vectorwing/farmersdelight/common/world/WildCropGeneration.java
@@ -1,38 +1,164 @@
package vectorwing.farmersdelight.common.world;
+import net.minecraft.core.Holder;
+import net.minecraft.core.HolderGetter;
+import net.minecraft.core.Vec3i;
import net.minecraft.core.registries.Registries;
+import net.minecraft.data.worldgen.BootstapContext;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.tags.BiomeTags;
+import net.minecraft.tags.BlockTags;
+import net.minecraft.tags.TagKey;
+import net.minecraft.util.valueproviders.UniformInt;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.levelgen.Heightmap;
+import net.minecraft.world.level.levelgen.blockpredicates.BlockPredicate;
import net.minecraft.world.level.levelgen.feature.ConfiguredFeature;
-import net.minecraft.world.level.levelgen.placement.PlacedFeature;
+import net.minecraft.world.level.levelgen.feature.Feature;
+import net.minecraft.world.level.levelgen.feature.configurations.RandomPatchConfiguration;
+import net.minecraft.world.level.levelgen.feature.configurations.SimpleBlockConfiguration;
+import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider;
+import net.minecraft.world.level.levelgen.feature.stateproviders.RandomizedIntStateProvider;
+import net.minecraft.world.level.levelgen.placement.*;
import vectorwing.farmersdelight.FarmersDelight;
+import vectorwing.farmersdelight.common.block.MushroomColonyBlock;
+import vectorwing.farmersdelight.common.registry.ModBiomeFeatures;
+import vectorwing.farmersdelight.common.registry.ModBlocks;
+import vectorwing.farmersdelight.common.tag.ModTags;
+import vectorwing.farmersdelight.common.world.configuration.WildCropConfiguration;
+import vectorwing.farmersdelight.common.world.filter.BiomeTagFilter;
+
+import java.util.List;
-@SuppressWarnings("unused")
public class WildCropGeneration
{
- public static ResourceKey> FEATURE_PATCH_SANDY_SHRUB = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_sandy_shrub"));
-
- // Those are unused, but kept for reference just in case
- public static ResourceKey> FEATURE_PATCH_WILD_CABBAGES = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_cabbages"));
- public static ResourceKey> FEATURE_PATCH_WILD_ONIONS = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_onions"));
- public static ResourceKey> FEATURE_PATCH_WILD_TOMATOES = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_tomatoes"));
- public static ResourceKey> FEATURE_PATCH_WILD_CARROTS = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_carrots"));
- public static ResourceKey> FEATURE_PATCH_WILD_POTATOES = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_potatoes"));
- public static ResourceKey> FEATURE_PATCH_WILD_BEETROOTS = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_beetroots"));
- public static ResourceKey> FEATURE_PATCH_WILD_RICE = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_rice"));
- public static ResourceKey> FEATURE_PATCH_BROWN_MUSHROOM_COLONIES = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_brown_mushroom_colony"));
- public static ResourceKey> FEATURE_PATCH_RED_MUSHROOM_COLONIES = ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_red_mushroom_colony"));
-
- public static ResourceKey PATCH_WILD_CABBAGES = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_cabbages"));
- public static ResourceKey PATCH_WILD_ONIONS = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_onions"));
- public static ResourceKey PATCH_WILD_TOMATOES = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_tomatoes"));
- public static ResourceKey PATCH_WILD_CARROTS = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_carrots"));
- public static ResourceKey PATCH_WILD_POTATOES = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_potatoes"));
- public static ResourceKey PATCH_WILD_BEETROOTS = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_beetroots"));
- public static ResourceKey PATCH_WILD_RICE = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_wild_rice"));
- public static ResourceKey PATCH_BROWN_MUSHROOM_COLONIES = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_brown_mushroom_colony"));
- public static ResourceKey PATCH_RED_MUSHROOM_COLONIES = ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, "patch_red_mushroom_colony"));
-
- public static void load() {
+ public static final ResourceKey> BROWN_MUSHROOM_COLONY = registerConfiguredFeatureKey("patch_brown_mushroom_colony");
+ public static final ResourceKey> RED_MUSHROOM_COLONY = registerConfiguredFeatureKey("patch_red_mushroom_colony");
+ public static final ResourceKey> SANDY_SHRUB = registerConfiguredFeatureKey("patch_sandy_shrub");
+ public static final ResourceKey> WILD_BEETROOTS = registerConfiguredFeatureKey("patch_wild_beetroots");
+ public static final ResourceKey> WILD_CABBAGES = registerConfiguredFeatureKey("patch_wild_cabbages");
+ public static final ResourceKey> WILD_CARROTS = registerConfiguredFeatureKey("patch_wild_carrots");
+ public static final ResourceKey> WILD_ONIONS = registerConfiguredFeatureKey("patch_wild_onions");
+ public static final ResourceKey> WILD_POTATOES = registerConfiguredFeatureKey("patch_wild_potatoes");
+ public static final ResourceKey> WILD_RICE = registerConfiguredFeatureKey("patch_wild_rice");
+ public static final ResourceKey> WILD_TOMATOES = registerConfiguredFeatureKey("patch_wild_tomatoes");
+
+ public static final ResourceKey PLACED_BROWN_MUSHROOM_COLONY = registerKey("patch_brown_mushroom_colony");
+ public static final ResourceKey PLACED_RED_MUSHROOM_COLONY = registerKey("patch_red_mushroom_colony");
+ public static final ResourceKey PLACED_WILD_BEETROOTS = registerKey("patch_wild_beetroots");
+ public static final ResourceKey PLACED_WILD_CABBAGES = registerKey("patch_wild_cabbages");
+ public static final ResourceKey PLACED_WILD_CARROTS = registerKey("patch_wild_carrots");
+ public static final ResourceKey PLACED_WILD_ONIONS = registerKey("patch_wild_onions");
+ public static final ResourceKey PLACED_WILD_POTATOES = registerKey("patch_wild_potatoes");
+ public static final ResourceKey PLACED_WILD_RICE = registerKey("patch_wild_rice");
+ public static final ResourceKey PLACED_WILD_TOMATOES = registerKey("patch_wild_tomatoes");
+
+
+ private static ResourceKey> registerConfiguredFeatureKey(String name) {
+ return ResourceKey.create(Registries.CONFIGURED_FEATURE, new ResourceLocation(FarmersDelight.MODID, name));
+ }
+
+ private static ResourceKey registerKey(String name) {
+ return ResourceKey.create(Registries.PLACED_FEATURE, new ResourceLocation(FarmersDelight.MODID, name));
+ }
+
+ public static void bootstrapConfiguredFeatures(BootstapContext> context) {
+ context.register(BROWN_MUSHROOM_COLONY, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createColonyFeature(ModBlocks.BROWN_MUSHROOM_COLONY.get(), Blocks.MYCELIUM),
+ createPlacedFeature(Blocks.BROWN_MUSHROOM, Blocks.MYCELIUM),
+ null)));
+
+ context.register(RED_MUSHROOM_COLONY, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createColonyFeature(ModBlocks.RED_MUSHROOM_COLONY.get(), Blocks.MYCELIUM),
+ createPlacedFeature(Blocks.RED_MUSHROOM, Blocks.MYCELIUM),
+ null)));
+
+ context.register(SANDY_SHRUB, new ConfiguredFeature<>(Feature.RANDOM_PATCH,
+ new RandomPatchConfiguration(32, 2, 3,
+ createPlacedFeature(ModBlocks.SANDY_SHRUB.get(), BlockTags.SAND))));
+
+ context.register(WILD_BEETROOTS, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_BEETROOTS.get(), BlockTags.SAND),
+ createPlacedFeature(ModBlocks.SANDY_SHRUB.get(), BlockTags.SAND),
+ null)));
+
+ context.register(WILD_CABBAGES, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_CABBAGES.get(), BlockTags.SAND),
+ createPlacedFeature(ModBlocks.SANDY_SHRUB.get(), BlockTags.SAND),
+ null)));
+
+ context.register(WILD_CARROTS, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_CARROTS.get(), BlockTags.DIRT),
+ createPlacedFeature(Blocks.FERN, BlockTags.DIRT),
+ createFloorFeature(Blocks.COARSE_DIRT, BlockTags.DIRT))));
+
+ context.register(WILD_ONIONS, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_ONIONS.get(), BlockTags.DIRT),
+ createPlacedFeature(Blocks.ALLIUM, BlockTags.DIRT),
+ null)));
+
+ context.register(WILD_POTATOES, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_POTATOES.get(), BlockTags.DIRT),
+ createPlacedFeature(Blocks.FERN, BlockTags.DIRT),
+ null)));
+
+ context.register(WILD_RICE, new ConfiguredFeature<>(ModBiomeFeatures.WILD_RICE.get(),
+ new RandomPatchConfiguration(96, 7, 3,
+ createPlacedFeature(ModBlocks.WILD_RICE.get(), BlockTags.DIRT))));
+
+ context.register(WILD_TOMATOES, new ConfiguredFeature<>(ModBiomeFeatures.WILD_CROP.get(),
+ new WildCropConfiguration(64, 6, 3,
+ createPlacedFeature(ModBlocks.WILD_TOMATOES.get(), ModTags.WILD_TOMATO_GROWS_ON),
+ createPlacedFeature(Blocks.DEAD_BUSH, ModTags.WILD_TOMATO_GROWS_ON),
+ null)));
+ }
+
+ public static void bootstrapPlacedFeatures(BootstapContext context) {
+ HolderGetter> featureGetter = context.lookup(Registries.CONFIGURED_FEATURE);
+ context.register(PLACED_BROWN_MUSHROOM_COLONY, createPlacedFeature(featureGetter, BROWN_MUSHROOM_COLONY, 15));
+ context.register(PLACED_RED_MUSHROOM_COLONY, createPlacedFeature(featureGetter, RED_MUSHROOM_COLONY, 15));
+ context.register(PLACED_WILD_BEETROOTS, createPlacedFeature(featureGetter, WILD_BEETROOTS, 30));
+ context.register(PLACED_WILD_CABBAGES, createPlacedFeature(featureGetter, WILD_CABBAGES, 30));
+ context.register(PLACED_WILD_CARROTS, createPlacedFeature(featureGetter, WILD_CARROTS, 120));
+ context.register(PLACED_WILD_ONIONS, createPlacedFeature(featureGetter, WILD_ONIONS, 120));
+ context.register(PLACED_WILD_POTATOES, createPlacedFeature(featureGetter, WILD_POTATOES, 100));
+ context.register(PLACED_WILD_RICE, createPlacedFeature(featureGetter, WILD_RICE, 20));
+ context.register(PLACED_WILD_TOMATOES, createPlacedFeature(featureGetter, WILD_TOMATOES, 100));
+ }
+
+
+ private static Holder createPlacedFeature(Block blockToPlace, Block blockToPlaceOn) {
+ return Holder.direct(new PlacedFeature(Holder.direct(new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(blockToPlace)))), List.of(BlockPredicateFilter.forPredicate(BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesBlocks(new Vec3i(0, -1, 0), blockToPlaceOn))))));
+ }
+
+ private static Holder createPlacedFeature(Block blockToPlace, TagKey blockToPlaceOn) {
+ return Holder.direct(new PlacedFeature(Holder.direct(new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(blockToPlace)))), List.of(BlockPredicateFilter.forPredicate(BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesTag(new Vec3i(0, -1, 0), blockToPlaceOn))))));
+ }
+
+ private static Holder createFloorFeature(Block blockToPlace, TagKey blockToPlaceIn) {
+ return Holder.direct(new PlacedFeature(Holder.direct(new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(BlockStateProvider.simple(blockToPlace)))), List.of(BlockPredicateFilter.forPredicate(BlockPredicate.allOf(BlockPredicate.replaceable(new Vec3i(0, 1, 0)), BlockPredicate.matchesTag(blockToPlaceIn))))));
+ }
+
+ private static Holder createColonyFeature(Block block, Block blockToPlaceOn) {
+ return Holder.direct(new PlacedFeature(Holder.direct(new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockConfiguration(new RandomizedIntStateProvider(BlockStateProvider.simple(block), MushroomColonyBlock.COLONY_AGE, UniformInt.of(0, 3))))), List.of(BlockPredicateFilter.forPredicate(BlockPredicate.allOf(BlockPredicate.ONLY_IN_AIR_PREDICATE, BlockPredicate.matchesBlocks(new Vec3i(0, -1, 0), blockToPlaceOn))))));
+ }
+
+ private static PlacedFeature createPlacedFeature(HolderGetter> featureGetter, ResourceKey> feature, int rarity) {
+ return new PlacedFeature(featureGetter.getOrThrow(feature), List.of(
+ RarityFilter.onAverageOnceEvery(rarity),
+ InSquarePlacement.spread(),
+ HeightmapPlacement.onHeightmap(Heightmap.Types.MOTION_BLOCKING),
+ BiomeFilter.biome(),
+ BiomeTagFilter.biomeIsInTag(BiomeTags.IS_OVERWORLD)
+ ));
}
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/world/configuration/WildCropConfiguration.java b/src/main/java/vectorwing/farmersdelight/common/world/configuration/WildCropConfiguration.java
index 67c0dbe68..f5458d7d5 100644
--- a/src/main/java/vectorwing/farmersdelight/common/world/configuration/WildCropConfiguration.java
+++ b/src/main/java/vectorwing/farmersdelight/common/world/configuration/WildCropConfiguration.java
@@ -5,7 +5,6 @@
import net.minecraft.core.Holder;
import net.minecraft.util.ExtraCodecs;
import net.minecraft.world.level.levelgen.feature.configurations.FeatureConfiguration;
-import net.minecraft.world.level.levelgen.feature.configurations.RandomPatchConfiguration;
import net.minecraft.world.level.levelgen.placement.PlacedFeature;
import javax.annotation.Nullable;
@@ -23,15 +22,6 @@ public record WildCropConfiguration(int tries, int xzSpread, int ySpread, Holder
PlacedFeature.CODEC.optionalFieldOf("floor_feature").forGetter(floorConfig -> Optional.ofNullable(floorConfig.floorFeature))
).apply(config, (tries, xzSpread, yspread, primary, secondary, floor) -> floor.map(placedFeatureHolder -> new WildCropConfiguration(tries, xzSpread, yspread, primary, secondary, placedFeatureHolder)).orElseGet(() -> new WildCropConfiguration(tries, xzSpread, yspread, primary, secondary, null))));
- public WildCropConfiguration(int tries, int xzSpread, int ySpread, Holder primaryFeature, Holder secondaryFeature, @Nullable Holder floorFeature) {
- this.tries = tries;
- this.xzSpread = xzSpread;
- this.ySpread = ySpread;
- this.primaryFeature = primaryFeature;
- this.secondaryFeature = secondaryFeature;
- this.floorFeature = floorFeature;
- }
-
public int tries() {
return this.tries;
}
diff --git a/src/main/java/vectorwing/farmersdelight/common/world/modifier/AddFeaturesByFilterBiomeModifier.java b/src/main/java/vectorwing/farmersdelight/common/world/modifier/AddFeaturesByFilterBiomeModifier.java
index 9395ab175..f8a4a5c8f 100644
--- a/src/main/java/vectorwing/farmersdelight/common/world/modifier/AddFeaturesByFilterBiomeModifier.java
+++ b/src/main/java/vectorwing/farmersdelight/common/world/modifier/AddFeaturesByFilterBiomeModifier.java
@@ -23,6 +23,14 @@ public record AddFeaturesByFilterBiomeModifier(
) implements BiomeModifier
{
+ public AddFeaturesByFilterBiomeModifier(HolderSet allowedBiomes, HolderSet deniedBiomes, float minTemp, float maxTemp, HolderSet features, GenerationStep.Decoration step) {
+ this(allowedBiomes, Optional.of(deniedBiomes), Optional.of(minTemp), Optional.of(maxTemp), features, step);
+ }
+
+ public AddFeaturesByFilterBiomeModifier(HolderSet allowedBiomes, HolderSet features, GenerationStep.Decoration step) {
+ this(allowedBiomes, Optional.empty(), Optional.empty(), Optional.empty(), features, step);
+ }
+
@Override
public void modify(Holder biome, Phase phase, ModifiableBiomeInfo.BiomeInfo.Builder builder) {
if (phase == Phase.ADD && this.allowedBiomes.contains(biome)) {
diff --git a/src/main/java/vectorwing/farmersdelight/data/BlockStates.java b/src/main/java/vectorwing/farmersdelight/data/BlockStates.java
index 00b2fbedb..34e859a3c 100644
--- a/src/main/java/vectorwing/farmersdelight/data/BlockStates.java
+++ b/src/main/java/vectorwing/farmersdelight/data/BlockStates.java
@@ -2,17 +2,13 @@
import com.google.common.collect.Sets;
import net.minecraft.core.Direction;
-import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DoublePlantBlock;
import net.minecraft.world.level.block.RotatedPillarBlock;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraft.world.level.block.state.properties.BlockStateProperties;
-import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
-import net.minecraft.world.level.block.state.properties.IntegerProperty;
-import net.minecraft.world.level.block.state.properties.Property;
+import net.minecraft.world.level.block.state.properties.*;
import net.minecraftforge.client.model.generators.BlockStateProvider;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import net.minecraftforge.client.model.generators.ModelFile;
@@ -21,7 +17,6 @@
import vectorwing.farmersdelight.FarmersDelight;
import vectorwing.farmersdelight.common.block.*;
import vectorwing.farmersdelight.common.registry.ModBlocks;
-import vectorwing.farmersdelight.common.registry.ModItems;
import javax.annotation.Nullable;
import java.util.ArrayList;
@@ -56,8 +51,31 @@ public ModelFile existingModel(String path) {
@Override
protected void registerStatesAndModels() {
+ List stages = Arrays.asList(0, 0, 1, 1, 2, 2, 3, 3);
+ this.getVariantBuilder(ModBlocks.ORGANIC_COMPOST.get()).forAllStates(state -> {
+ ModelFile currentFile = models().cubeAll("organic_compost_" + state.getValue(OrganicCompostBlock.COMPOSTING),
+ new ResourceLocation(FarmersDelight.MODID, "block/organic_compost_stage" + stages.get(state.getValue(OrganicCompostBlock.COMPOSTING))));
+
+ return ConfiguredModel.builder()
+ .modelFile(currentFile).nextModel()
+ .modelFile(currentFile).rotationY(90).nextModel()
+ .modelFile(currentFile).rotationY(180).nextModel()
+ .modelFile(currentFile).rotationY(270).build();
+ });
+
this.simpleBlock(ModBlocks.RICH_SOIL.get(), cubeRandomRotation(ModBlocks.RICH_SOIL.get(), ""));
- this.simpleBlock(ModBlocks.SAFETY_NET.get(), existingModel(ModBlocks.SAFETY_NET.get()));
+ this.getVariantBuilder(ModBlocks.RICH_SOIL_FARMLAND.get()).forAllStates(state ->
+ ConfiguredModel.builder().modelFile(existingModel(state.getValue(RichSoilFarmlandBlock.MOISTURE) == 7 ? "rich_soil_farmland_moist" : "rich_soil_farmland")).build());
+ this.simpleBlock(ModBlocks.SAFETY_NET.get(), existingModel("safety_net"));
+ this.simpleBlock(ModBlocks.CANVAS_RUG.get(), existingModel("canvas_rug"));
+
+ this.getMultipartBuilder(ModBlocks.ROPE.get())
+ .part().modelFile(existingModel("rope_post")).addModel().end()
+ .part().modelFile(existingModel("rope_bell_tie")).addModel().condition(RopeBlock.TIED_TO_BELL, true).end()
+ .part().modelFile(existingModel("rope_side")).addModel().condition(RopeBlock.NORTH, true).end()
+ .part().modelFile(existingModel("rope_side")).rotationY(90).addModel().condition(RopeBlock.EAST, true).end()
+ .part().modelFile(existingModel("rope_side_alt")).addModel().condition(RopeBlock.SOUTH, true).end()
+ .part().modelFile(existingModel("rope_side_alt")).rotationY(90).addModel().condition(RopeBlock.WEST, true).end();
Set canvasSigns = Sets.newHashSet(
// Standard
@@ -154,6 +172,30 @@ protected void registerStatesAndModels() {
$ -> existingModel(ModBlocks.CUTTING_BOARD.get()), BasketBlock.WATERLOGGED);
this.horizontalBlock(ModBlocks.HALF_TATAMI_MAT.get(), existingModel("tatami_mat_half"));
+ ModelFile head = existingModel("tatami_mat_head");
+ ModelFile foot = existingModel("tatami_mat_foot");
+ this.getVariantBuilder(ModBlocks.FULL_TATAMI_MAT.get()).forAllStates(state ->
+ ConfiguredModel.builder().modelFile(state.getValue(TatamiMatBlock.PART) == BedPart.HEAD ? head : foot).rotationY((int) state.getValue(TatamiMatBlock.FACING).toYRot()).build());
+
+ ModelFile odd = existingModel("tatami_odd");
+ ModelFile even = existingModel("tatami_even");
+ ModelFile notPaired = models().cubeAll(ModBlocks.TATAMI.getId().getPath() + "_half", new ResourceLocation(FarmersDelight.MODID, "block/tatami_mat_half"));
+ this.getVariantBuilder(ModBlocks.TATAMI.get()).forAllStates(state -> {
+ Direction dir = state.getValue(TatamiBlock.FACING);
+ return ConfiguredModel.builder().modelFile(state.getValue(TatamiBlock.PAIRED) ? dir.get3DDataValue() % 2 == 0 ? even : odd : notPaired)
+ .rotationX(dir == Direction.DOWN ? 180 : dir.getAxis().isHorizontal() ? 90 : 0)
+ .rotationY(dir.getAxis().isVertical() ? 0 : (((int) dir.toYRot()) + 180) % 360).build();
+ });
+
+ this.getVariantBuilder(ModBlocks.COOKING_POT.get()).forAllStates(state -> switch (state.getValue(CookingPotBlock.SUPPORT)) {
+ case NONE -> ConfiguredModel.builder().modelFile(existingModel("cooking_pot")).rotationY((int) state.getValue(CookingPotBlock.FACING).toYRot()).build();
+ case TRAY -> ConfiguredModel.builder().modelFile(existingModel("cooking_pot_tray")).rotationY((int) state.getValue(CookingPotBlock.FACING).toYRot()).build();
+ case HANDLE -> ConfiguredModel.builder().modelFile(existingModel("cooking_pot_handle")).rotationY((int) state.getValue(CookingPotBlock.FACING).toYRot()).build();
+ });
+
+ this.getVariantBuilder(ModBlocks.SKILLET.get()).forAllStates(state ->
+ ConfiguredModel.builder().modelFile(existingModel(state.getValue(SkilletBlock.SUPPORT) ? "skillet_tray" : "skillet")).rotationY((int) state.getValue(SkilletBlock.FACING).toYRot()).build());
+
this.horizontalBlock(ModBlocks.STOVE.get(), state -> {
String name = blockName(ModBlocks.STOVE.get());
String suffix = state.getValue(StoveBlock.LIT) ? "_on" : "";
@@ -171,6 +213,10 @@ protected void registerStatesAndModels() {
this.customStageBlock(ModBlocks.CABBAGE_CROP.get(), resourceBlock("crop_cross"), "cross", CabbageBlock.AGE, new ArrayList<>());
this.customStageBlock(ModBlocks.ONION_CROP.get(), mcLoc("crop"), "crop", OnionBlock.AGE, Arrays.asList(0, 0, 1, 1, 2, 2, 2, 3));
this.customStageBlock(ModBlocks.BUDDING_TOMATO_CROP.get(), resourceBlock("crop_cross"), "cross", BuddingTomatoBlock.AGE, Arrays.asList(0, 1, 2, 3, 3));
+ this.getVariantBuilder(ModBlocks.TOMATO_CROP.get()).forAllStates(state ->
+ ConfiguredModel.builder().modelFile(existingModel("tomatoes_" + (state.getValue(TomatoVineBlock.ROPELOGGED) ? "vine_" : "") + "stage" + state.getValue(TomatoVineBlock.VINE_AGE))).build());
+ this.getVariantBuilder(ModBlocks.RICE_CROP.get()).forAllStates(state ->
+ ConfiguredModel.builder().modelFile(existingModel("rice_" + (state.getValue(RiceBlock.SUPPORTING) && state.getValue(RiceBlock.AGE) == 3 ? "supporting" : "stage" + state.getValue(RiceBlock.AGE)))).build());
this.crateBlock(ModBlocks.CARROT_CRATE.get(), "carrot");
this.crateBlock(ModBlocks.POTATO_CRATE.get(), "potato");
diff --git a/src/main/java/vectorwing/farmersdelight/data/BlockTags.java b/src/main/java/vectorwing/farmersdelight/data/BlockTags.java
index 37326a10f..18cbfb947 100644
--- a/src/main/java/vectorwing/farmersdelight/data/BlockTags.java
+++ b/src/main/java/vectorwing/farmersdelight/data/BlockTags.java
@@ -1,7 +1,6 @@
package vectorwing.farmersdelight.data;
import net.minecraft.core.HolderLookup;
-import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Blocks;
@@ -270,6 +269,14 @@ protected void registerModTags() {
Blocks.GREEN_CANDLE_CAKE,
Blocks.RED_CANDLE_CAKE,
Blocks.BLACK_CANDLE_CAKE);
+
+ tag(ModTags.WILD_TOMATO_GROWS_ON).add(
+ Blocks.DIRT,
+ Blocks.COARSE_DIRT,
+ Blocks.GRASS_BLOCK,
+ Blocks.SAND,
+ Blocks.RED_SAND
+ );
}
private void registerCompatibilityTags() {
diff --git a/src/main/java/vectorwing/farmersdelight/data/DataGenerators.java b/src/main/java/vectorwing/farmersdelight/data/DataGenerators.java
index a76ee1e45..bb36f4218 100644
--- a/src/main/java/vectorwing/farmersdelight/data/DataGenerators.java
+++ b/src/main/java/vectorwing/farmersdelight/data/DataGenerators.java
@@ -1,20 +1,30 @@
package vectorwing.farmersdelight.data;
+import net.minecraft.DetectedVersion;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.data.loot.LootTableProvider;
+import net.minecraft.data.metadata.PackMetadataGenerator;
+import net.minecraft.network.chat.Component;
+import net.minecraft.server.packs.PackType;
+import net.minecraft.server.packs.metadata.pack.PackMetadataSection;
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
+import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.data.event.GatherDataEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import vectorwing.farmersdelight.FarmersDelight;
import vectorwing.farmersdelight.data.loot.FDBlockLoot;
+import vectorwing.farmersdelight.data.loot.FDChestLoot;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.CompletableFuture;
+import java.util.function.Function;
+import java.util.stream.Collectors;
@SuppressWarnings("unused")
@Mod.EventBusSubscriber(modid = FarmersDelight.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
@@ -33,12 +43,22 @@ public static void gatherData(GatherDataEvent event) {
generator.addProvider(event.includeServer(), new EntityTags(output, lookupProvider, helper));
generator.addProvider(event.includeServer(), new Recipes(output));
generator.addProvider(event.includeServer(), new Advancements(output, lookupProvider, helper));
+ generator.addProvider(event.includeServer(), new LootModifiers(output));
generator.addProvider(event.includeServer(), new LootTableProvider(output, Collections.emptySet(), List.of(
- new LootTableProvider.SubProviderEntry(FDBlockLoot::new, LootContextParamSets.BLOCK)
+ new LootTableProvider.SubProviderEntry(FDBlockLoot::new, LootContextParamSets.BLOCK),
+ new LootTableProvider.SubProviderEntry(FDChestLoot::new, LootContextParamSets.CHEST)
)));
+ DatapackBuiltinEntriesProvider datapackProvider = new DatapackRegistries(output, lookupProvider);
+ CompletableFuture registryProvider = datapackProvider.getRegistryProvider();
+ generator.addProvider(event.includeServer(), datapackProvider);
BlockStates blockStates = new BlockStates(output, helper);
generator.addProvider(event.includeClient(), blockStates);
generator.addProvider(event.includeClient(), new ItemModels(output, blockStates.models().existingFileHelper));
+
+ generator.addProvider(true, new PackMetadataGenerator(output).add(PackMetadataSection.TYPE, new PackMetadataSection(
+ Component.literal("Farmer's Delight resources"),
+ DetectedVersion.BUILT_IN.getPackVersion(PackType.CLIENT_RESOURCES),
+ Arrays.stream(PackType.values()).collect(Collectors.toMap(Function.identity(), DetectedVersion.BUILT_IN::getPackVersion)))));
}
}
diff --git a/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java b/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java
new file mode 100644
index 000000000..fa2551ed2
--- /dev/null
+++ b/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java
@@ -0,0 +1,28 @@
+package vectorwing.farmersdelight.data;
+
+import net.minecraft.core.HolderLookup;
+import net.minecraft.core.RegistrySetBuilder;
+import net.minecraft.core.registries.Registries;
+import net.minecraft.data.PackOutput;
+import net.minecraftforge.common.data.DatapackBuiltinEntriesProvider;
+import net.minecraftforge.registries.ForgeRegistries;
+import vectorwing.farmersdelight.FarmersDelight;
+import vectorwing.farmersdelight.common.registry.ModBiomeModifiers;
+import vectorwing.farmersdelight.common.registry.ModDamageTypes;
+import vectorwing.farmersdelight.common.world.WildCropGeneration;
+
+import java.util.Set;
+import java.util.concurrent.CompletableFuture;
+
+public class DatapackRegistries extends DatapackBuiltinEntriesProvider
+{
+ public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder()
+ .add(Registries.CONFIGURED_FEATURE, WildCropGeneration::bootstrapConfiguredFeatures)
+ .add(Registries.PLACED_FEATURE, WildCropGeneration::bootstrapPlacedFeatures)
+ .add(Registries.DAMAGE_TYPE, ModDamageTypes::bootstrap)
+ .add(ForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap);
+
+ public DatapackRegistries(PackOutput output, CompletableFuture future) {
+ super(output, future, BUILDER, Set.of("minecraft", FarmersDelight.MODID));
+ }
+}
diff --git a/src/main/java/vectorwing/farmersdelight/data/ItemTags.java b/src/main/java/vectorwing/farmersdelight/data/ItemTags.java
index 9b19807df..7717d30d3 100644
--- a/src/main/java/vectorwing/farmersdelight/data/ItemTags.java
+++ b/src/main/java/vectorwing/farmersdelight/data/ItemTags.java
@@ -11,7 +11,6 @@
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.data.ExistingFileHelper;
import vectorwing.farmersdelight.FarmersDelight;
-import vectorwing.farmersdelight.common.registry.ModBlocks;
import vectorwing.farmersdelight.common.registry.ModItems;
import vectorwing.farmersdelight.common.tag.CompatibilityTags;
import vectorwing.farmersdelight.common.tag.ForgeTags;
diff --git a/src/main/java/vectorwing/farmersdelight/data/LootModifiers.java b/src/main/java/vectorwing/farmersdelight/data/LootModifiers.java
new file mode 100644
index 000000000..0353239c5
--- /dev/null
+++ b/src/main/java/vectorwing/farmersdelight/data/LootModifiers.java
@@ -0,0 +1,143 @@
+package vectorwing.farmersdelight.data;
+
+import net.minecraft.advancements.critereon.*;
+import net.minecraft.data.PackOutput;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.entity.EntityType;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.block.CropBlock;
+import net.minecraft.world.level.storage.loot.BuiltInLootTables;
+import net.minecraft.world.level.storage.loot.LootContext;
+import net.minecraft.world.level.storage.loot.predicates.*;
+import net.minecraftforge.common.data.GlobalLootModifierProvider;
+import net.minecraftforge.common.loot.LootTableIdCondition;
+import vectorwing.farmersdelight.FarmersDelight;
+import vectorwing.farmersdelight.common.block.RiceBlock;
+import vectorwing.farmersdelight.common.loot.modifier.AddItemModifier;
+import vectorwing.farmersdelight.common.loot.modifier.AddLootTableModifier;
+import vectorwing.farmersdelight.common.loot.modifier.PastrySlicingModifier;
+import vectorwing.farmersdelight.common.registry.ModBlocks;
+import vectorwing.farmersdelight.common.registry.ModItems;
+import vectorwing.farmersdelight.common.registry.ModLootTables;
+import vectorwing.farmersdelight.common.tag.ModTags;
+
+public class LootModifiers extends GlobalLootModifierProvider
+{
+ public LootModifiers(PackOutput output) {
+ super(output, FarmersDelight.MODID);
+ }
+
+ @Override
+ protected void start() {
+ //chest loot
+ this.add("add_loot_abandoned_mineshaft", createNewPool(BuiltInLootTables.ABANDONED_MINESHAFT, ModLootTables.ABANDONED_MINESHAFT));
+ this.add("add_loot_bastion_hoglin_stable", createNewPool(BuiltInLootTables.BASTION_HOGLIN_STABLE, ModLootTables.BASTION_HOGLIN_STABLE));
+ this.add("add_loot_bastion_treasure", createNewPool(BuiltInLootTables.BASTION_TREASURE, ModLootTables.BASTION_TREASURE));
+ this.add("add_loot_end_city_treasure", createNewPool(BuiltInLootTables.END_CITY_TREASURE, ModLootTables.END_CITY_TREASURE));
+ this.add("add_loot_pillager_outpost", createNewPool(BuiltInLootTables.PILLAGER_OUTPOST, ModLootTables.PILLAGER_OUTPOST));
+ this.add("add_loot_ruined_portal", createNewPool(BuiltInLootTables.RUINED_PORTAL, ModLootTables.RUINED_PORTAL));
+ this.add("add_loot_shipwreck_supply", createNewPool(BuiltInLootTables.SHIPWRECK_SUPPLY, ModLootTables.SHIPWRECK_SUPPLY));
+ this.add("add_loot_simple_dungeon", createNewPool(BuiltInLootTables.SIMPLE_DUNGEON, ModLootTables.SIMPLE_DUNGEON));
+ this.add("add_loot_village_butcher", createNewPool(BuiltInLootTables.VILLAGE_BUTCHER, ModLootTables.VILLAGE_BUTCHER));
+ this.add("add_loot_village_desert_house", createNewPool(BuiltInLootTables.VILLAGE_DESERT_HOUSE, ModLootTables.VILLAGE_DESERT_HOUSE));
+ this.add("add_loot_village_plains_house", createNewPool(BuiltInLootTables.VILLAGE_PLAINS_HOUSE, ModLootTables.VILLAGE_PLAINS_HOUSE));
+ this.add("add_loot_village_savanna_house", createNewPool(BuiltInLootTables.VILLAGE_SAVANNA_HOUSE, ModLootTables.VILLAGE_SAVANNA_HOUSE));
+ this.add("add_loot_village_snowy_house", createNewPool(BuiltInLootTables.VILLAGE_SNOWY_HOUSE, ModLootTables.VILLAGE_SNOWY_HOUSE));
+ this.add("add_loot_village_taiga_house", createNewPool(BuiltInLootTables.VILLAGE_TAIGA_HOUSE, ModLootTables.VILLAGE_TAIGA_HOUSE));
+
+ //entity drops
+ this.add("scavenging_feather", addItemWithKnifeKill(Items.FEATHER, EntityType.CHICKEN));
+ this.add("scavenging_ham_from_hoglin", addItemWithKnifeKill(ModItems.HAM.get(), false, EntityType.HOGLIN));
+ this.add("scavenging_ham_from_pig", addItemWithKnifeKill(ModItems.HAM.get(), false, EntityType.PIG));
+ this.add("scavenging_leather", addItemWithKnifeKill(Items.LEATHER, EntityType.COW, EntityType.MOOSHROOM, EntityType.HORSE, EntityType.DONKEY, EntityType.MULE, EntityType.LLAMA, EntityType.TRADER_LLAMA));
+ this.add("scavenging_rabbit_hide", addItemWithKnifeKill(Items.RABBIT_HIDE, EntityType.RABBIT));
+ this.add("scavenging_shulker_shell", addItemWithKnifeKill(Items.SHULKER_SHELL, EntityType.SHULKER));
+ this.add("scavenging_smoked_ham_from_hoglin", addItemWithKnifeKill(ModItems.HAM.get(), true, EntityType.HOGLIN));
+ this.add("scavenging_smoked_ham_from_pig", addItemWithKnifeKill(ModItems.HAM.get(), true, EntityType.PIG));
+ this.add("scavenging_string", addItemWithKnifeKill(Items.STRING, EntityType.SPIDER, EntityType.CAVE_SPIDER));
+
+ //pastry slicing
+ this.add("slicing_apple_pie", pastrySlicing(ModItems.APPLE_PIE_SLICE.get(), ModBlocks.APPLE_PIE.get()));
+ this.add("slicing_cake", pastrySlicing(ModItems.CAKE_SLICE.get(), Blocks.CAKE));
+ this.add("slicing_candle_cake", pastrySlicing(ModItems.CAKE_SLICE.get(), Blocks.CANDLE_CAKE, Blocks.WHITE_CANDLE_CAKE, Blocks.ORANGE_CANDLE_CAKE, Blocks.MAGENTA_CANDLE_CAKE, Blocks.LIGHT_BLUE_CANDLE_CAKE, Blocks.YELLOW_CANDLE_CAKE, Blocks.LIME_CANDLE_CAKE, Blocks.PINK_CANDLE_CAKE, Blocks.GRAY_CANDLE_CAKE, Blocks.LIGHT_GRAY_CANDLE_CAKE, Blocks.CYAN_CANDLE_CAKE, Blocks.PURPLE_CANDLE_CAKE, Blocks.BLUE_CANDLE_CAKE, Blocks.BROWN_CANDLE_CAKE, Blocks.GREEN_CANDLE_CAKE, Blocks.RED_CANDLE_CAKE, Blocks.BLACK_CANDLE_CAKE));
+ this.add("slicing_chocolate_pie", pastrySlicing(ModItems.CHOCOLATE_PIE_SLICE.get(), ModBlocks.CHOCOLATE_PIE.get()));
+ this.add("slicing_sweet_berry_cheesecake", pastrySlicing(ModItems.SWEET_BERRY_CHEESECAKE_SLICE.get(), ModBlocks.SWEET_BERRY_CHEESECAKE.get()));
+
+ //straw
+ this.add("straw_from_grass", strawHarvesting(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.GRASS), 0.2F));
+ this.add("straw_from_mature_rice", strawHarvesting(LootItemBlockStatePropertyCondition.hasBlockStateProperties(ModBlocks.RICE_CROP.get()).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RiceBlock.AGE, 3)), 1.0F));
+ this.add("straw_from_mature_wheat", strawHarvesting(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.WHEAT).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(CropBlock.AGE, 7)), 1.0F));
+ this.add("straw_from_sandy_shrub", strawHarvesting(LootItemBlockStatePropertyCondition.hasBlockStateProperties(ModBlocks.SANDY_SHRUB.get()), 0.3F));
+ this.add("straw_from_tall_grass", strawHarvesting(LootItemBlockStatePropertyCondition.hasBlockStateProperties(Blocks.TALL_GRASS), 0.2F));
+ }
+
+ private AddLootTableModifier createNewPool(ResourceLocation lootToAddTo, ResourceLocation newPool) {
+ return new AddLootTableModifier(new LootItemCondition[]{LootTableIdCondition.builder(lootToAddTo).build()}, newPool);
+ }
+
+ private AddItemModifier addItemWithKnifeKill(Item item, EntityType>... entity) {
+ //make an array to hold all possible entities that the modifier applies to
+ LootItemCondition.Builder[] condition = new LootItemCondition.Builder[entity.length];
+ //add every entity we list. The list can be as long as we want it to be.
+ for (int i = 0; i < entity.length; i++) {
+ condition[i] = LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS,
+ EntityPredicate.Builder.entity().of(entity[i]).build());
+ }
+
+ return new AddItemModifier(new LootItemCondition[]{
+ LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.KILLER,
+ EntityPredicate.Builder.entity().equipment(
+ EntityEquipmentPredicate.Builder.equipment().mainhand(
+ ItemPredicate.Builder.item().of(ModTags.KNIVES).build())
+ .build())
+ .build())
+ .build(),
+ AnyOfCondition.anyOf(condition).build()
+ }, item, 1);
+ }
+
+ private AddItemModifier addItemWithKnifeKill(Item item, boolean fire, EntityType> entity) {
+ return new AddItemModifier(new LootItemCondition[]{
+ LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.KILLER,
+ EntityPredicate.Builder.entity().equipment(
+ EntityEquipmentPredicate.Builder.equipment().mainhand(
+ ItemPredicate.Builder.item().of(ModTags.KNIVES).build())
+ .build())
+ .build())
+ .build(),
+ LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS,
+ EntityPredicate.Builder.entity().of(entity).build())
+ .build(),
+ LootItemEntityPropertyCondition.hasProperties(LootContext.EntityTarget.THIS,
+ EntityPredicate.Builder.entity().flags(
+ EntityFlagsPredicate.Builder.flags().setOnFire(fire).build())
+ .build())
+ .build()
+ }, item, 1);
+ }
+
+ private PastrySlicingModifier pastrySlicing(Item receivedItem, Block... slicedBlock) {
+ //make an array to hold all possible entities that the modifier applies to
+ LootItemCondition.Builder[] condition = new LootItemCondition.Builder[slicedBlock.length];
+ //add every block we list. The list can be as long as we want it to be.
+ for (int i = 0; i < slicedBlock.length; i++) {
+ condition[i] = LootItemBlockStatePropertyCondition.hasBlockStateProperties(slicedBlock[i]);
+ }
+ return new PastrySlicingModifier(new LootItemCondition[]{
+ MatchTool.toolMatches(ItemPredicate.Builder.item().of(ModTags.KNIVES)).build(),
+ AnyOfCondition.anyOf(condition).build()
+ }, receivedItem);
+ }
+
+ private AddItemModifier strawHarvesting(LootItemBlockStatePropertyCondition.Builder slicedBlock, float chance) {
+ //make an array to hold all possible entities that the modifier applies to
+ return new AddItemModifier(new LootItemCondition[]{
+ MatchTool.toolMatches(ItemPredicate.Builder.item().of(ModTags.KNIVES)).build(),
+ LootItemRandomChanceCondition.randomChance(chance).build(), //TODO ask if looting should also be accounted for
+ slicedBlock.build()
+ }, ModItems.STRAW.get(), 1);
+ }
+}
diff --git a/src/main/java/vectorwing/farmersdelight/data/Recipes.java b/src/main/java/vectorwing/farmersdelight/data/Recipes.java
index 320df1878..cd9c9edc7 100644
--- a/src/main/java/vectorwing/farmersdelight/data/Recipes.java
+++ b/src/main/java/vectorwing/farmersdelight/data/Recipes.java
@@ -1,7 +1,6 @@
package vectorwing.farmersdelight.data;
import net.minecraft.MethodsReturnNonnullByDefault;
-import net.minecraft.data.DataGenerator;
import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.FinishedRecipe;
import net.minecraft.data.recipes.RecipeProvider;
diff --git a/src/main/java/vectorwing/farmersdelight/data/loot/FDBlockLoot.java b/src/main/java/vectorwing/farmersdelight/data/loot/FDBlockLoot.java
index 995a82465..dc4a0b26e 100644
--- a/src/main/java/vectorwing/farmersdelight/data/loot/FDBlockLoot.java
+++ b/src/main/java/vectorwing/farmersdelight/data/loot/FDBlockLoot.java
@@ -1,23 +1,40 @@
package vectorwing.farmersdelight.data.loot;
+import net.minecraft.advancements.critereon.*;
+import net.minecraft.core.BlockPos;
import net.minecraft.data.loot.BlockLootSubProvider;
import net.minecraft.world.flag.FeatureFlags;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.DoublePlantBlock;
+import net.minecraft.world.level.block.state.properties.BedPart;
+import net.minecraft.world.level.block.state.properties.DoubleBlockHalf;
import net.minecraft.world.level.storage.loot.LootPool;
import net.minecraft.world.level.storage.loot.LootTable;
+import net.minecraft.world.level.storage.loot.entries.AlternativesEntry;
import net.minecraft.world.level.storage.loot.entries.LootItem;
+import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
+import net.minecraft.world.level.storage.loot.functions.ApplyExplosionDecay;
import net.minecraft.world.level.storage.loot.functions.CopyNameFunction;
+import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
+import net.minecraft.world.level.storage.loot.predicates.*;
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
+import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
+import net.minecraftforge.common.Tags;
+import net.minecraftforge.registries.RegistryObject;
+import vectorwing.farmersdelight.common.block.*;
import vectorwing.farmersdelight.common.loot.function.CopyMealFunction;
+import vectorwing.farmersdelight.common.loot.function.CopySkilletFunction;
import vectorwing.farmersdelight.common.registry.ModBlocks;
+import vectorwing.farmersdelight.common.registry.ModItems;
+import vectorwing.farmersdelight.common.tag.ModTags;
-import java.util.HashSet;
import java.util.Set;
public class FDBlockLoot extends BlockLootSubProvider
{
- private final Set generatedLootTables = new HashSet<>();
-
public FDBlockLoot() {
super(Set.of(), FeatureFlags.REGISTRY.allFlags());
}
@@ -26,11 +43,102 @@ public FDBlockLoot() {
protected void generate() {
dropSelf(ModBlocks.STOVE.get());
dropNamedContainer(ModBlocks.BASKET.get());
- add(ModBlocks.COOKING_POT.get(), (block) -> LootTable.lootTable().withPool(this.applyExplosionCondition(block, LootPool.lootPool().setRolls(ConstantValue.exactly(1.0F)).add(LootItem.lootTableItem(block)
- .apply(CopyNameFunction.copyName(CopyNameFunction.NameSource.BLOCK_ENTITY)).apply(CopyMealFunction.builder())))));
-// dropSelf(ModBlocks.SKILLET.get()); has special functions
+ add(ModBlocks.COOKING_POT.get(), (block) -> LootTable.lootTable().withPool(this.applyExplosionCondition(block, LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(block)
+ .apply(CopyNameFunction.copyName(CopyNameFunction.NameSource.BLOCK_ENTITY)).apply(CopyMealFunction.builder())))));
+ add(ModBlocks.SKILLET.get(), block -> LootTable.lootTable().withPool(this.applyExplosionCondition(block, LootPool.lootPool()
+ .add(LootItem.lootTableItem(block)
+ .apply(CopySkilletFunction.builder())))));
dropSelf(ModBlocks.CUTTING_BOARD.get());
+ dropOther(ModBlocks.BUDDING_TOMATO_CROP.get(), ModItems.TOMATO_SEEDS.get());
+ add(ModBlocks.CABBAGE_CROP.get(), createCropDrops(ModBlocks.CABBAGE_CROP.get(), ModItems.CABBAGE.get(), ModItems.CABBAGE_SEEDS.get()));
+ add(ModBlocks.ONION_CROP.get(), createSeedlessCropDrops(ModBlocks.ONION_CROP.get(), ModItems.ONION.get()));
+ dropOther(ModBlocks.RICE_CROP.get(), ModItems.RICE.get());
+ add(ModBlocks.RICE_CROP_PANICLES.get(), block -> LootTable.lootTable().withPool(this.applyExplosionDecay(block, LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(ModItems.RICE.get())
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RicePaniclesBlock.RICE_AGE, 3)))
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(ModTags.KNIVES))),
+ LootItem.lootTableItem(ModItems.RICE_PANICLE.get())
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RicePaniclesBlock.RICE_AGE, 3))))))));
+
+ add(ModBlocks.TOMATO_CROP.get(), block -> this.applyExplosionDecay(block, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO.get()))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(TomatoVineBlock.VINE_AGE, 3)))
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 2.0F)))
+ .apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE, 1)))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get()))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(TomatoVineBlock.ROPELOGGED, false))))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.ROTTEN_TOMATO.get()))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(TomatoVineBlock.VINE_AGE, 3)))
+ .when(LootItemRandomChanceCondition.randomChance(0.05F)))));
+
+ add(ModBlocks.SANDY_SHRUB.get(), block -> LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(block)
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS))),
+ LootItem.lootTableItem(Items.BEETROOT_SEEDS)
+ .when(LootItemRandomChanceCondition.randomChance(0.125F))
+ .apply(ApplyExplosionDecay.explosionDecay())
+ .apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE, 2))))));
+
+ add(ModBlocks.WILD_BEETROOTS.get(), block -> wildCrop(block, Items.BEETROOT, Items.BEETROOT_SEEDS));
+ add(ModBlocks.WILD_CABBAGES.get(), block -> wildCrop(block, ModItems.CABBAGE.get(), ModItems.CABBAGE_SEEDS.get()));
+ add(ModBlocks.WILD_CARROTS.get(), block -> wildCropNoSeeds(block, Items.CARROT));
+ add(ModBlocks.WILD_ONIONS.get(), block -> wildCropNoSeeds(block, ModItems.ONION.get())
+ //onions drop alliums too
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(Items.ALLIUM))
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS)).invert())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F)))));
+ add(ModBlocks.WILD_POTATOES.get(), block -> wildCropNoSeeds(block, Items.POTATO));
+ add(ModBlocks.WILD_TOMATOES.get(), block -> wildCrop(block, ModItems.TOMATO.get(), ModItems.TOMATO_SEEDS.get()));
+
+ add(ModBlocks.WILD_RICE.get(), block -> LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(ModItems.WILD_RICE.get())
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS))),
+ LootItem.lootTableItem(ModItems.RICE.get())
+ .when(ExplosionCondition.survivesExplosion())))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties()
+ .hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.LOWER)))
+ .when(LocationCheck.checkLocation(LocationPredicate.Builder.location()
+ .setBlock(BlockPredicate.Builder.block().of(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties()
+ .hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.UPPER).build()).build()), new BlockPos(0, 1, 0))))
+ .withPool(LootPool.lootPool()
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(ModItems.WILD_RICE.get())
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS))),
+ LootItem.lootTableItem(ModItems.RICE.get())
+ .when(ExplosionCondition.survivesExplosion())))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties()
+ .hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.UPPER)))
+ .when(LocationCheck.checkLocation(LocationPredicate.Builder.location()
+ .setBlock(BlockPredicate.Builder.block().of(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties()
+ .hasProperty(DoublePlantBlock.HALF, DoubleBlockHalf.LOWER).build()).build()), new BlockPos(0, -1, 0)))));
+
dropSelf(ModBlocks.CARROT_CRATE.get());
dropSelf(ModBlocks.POTATO_CRATE.get());
dropSelf(ModBlocks.BEETROOT_CRATE.get());
@@ -44,6 +152,24 @@ protected void generate() {
dropSelf(ModBlocks.ROPE.get());
dropSelf(ModBlocks.SAFETY_NET.get());
+ dropSelf(ModBlocks.CANVAS_SIGN.get());
+ dropSelf(ModBlocks.WHITE_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.ORANGE_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.MAGENTA_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.LIGHT_BLUE_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.YELLOW_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.LIME_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.PINK_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.GRAY_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.LIGHT_GRAY_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.CYAN_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.PURPLE_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.BLUE_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.BROWN_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.GREEN_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.RED_CANVAS_SIGN.get());
+ dropSelf(ModBlocks.BLACK_CANVAS_SIGN.get());
+
dropSelf(ModBlocks.HANGING_CANVAS_SIGN.get());
dropSelf(ModBlocks.WHITE_HANGING_CANVAS_SIGN.get());
dropSelf(ModBlocks.ORANGE_HANGING_CANVAS_SIGN.get());
@@ -76,16 +202,33 @@ protected void generate() {
dropSelf(ModBlocks.CANVAS_RUG.get());
dropSelf(ModBlocks.TATAMI.get());
-// dropSelf(ModBlocks.FULL_TATAMI_MAT.get()); Drops only from "head" side
+ add(ModBlocks.FULL_TATAMI_MAT.get(), block -> LootTable.lootTable().withPool(this.applyExplosionCondition(block, LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(block)
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(TatamiMatBlock.PART, BedPart.HEAD)))))));
dropSelf(ModBlocks.HALF_TATAMI_MAT.get());
- // Canvas Signs only need it for the standard block; wall blocks inherit it.
-
- // Mushroom Colonies are rather complex...
+ add(ModBlocks.BROWN_MUSHROOM_COLONY.get(), block -> this.mushroomColony(block, Items.BROWN_MUSHROOM));
+ add(ModBlocks.RED_MUSHROOM_COLONY.get(), block -> this.mushroomColony(block, Items.RED_MUSHROOM));
dropSelf(ModBlocks.ORGANIC_COMPOST.get());
dropSelf(ModBlocks.RICH_SOIL.get());
dropOther(ModBlocks.RICH_SOIL_FARMLAND.get(), ModBlocks.RICH_SOIL.get());
+ add(ModBlocks.APPLE_PIE.get(), LootTable.lootTable());
+ add(ModBlocks.CHOCOLATE_PIE.get(), LootTable.lootTable());
+ add(ModBlocks.SWEET_BERRY_CHEESECAKE.get(), LootTable.lootTable());
+
+ add(ModBlocks.HONEY_GLAZED_HAM_BLOCK.get(), block -> platedFoodExtraDrop(block, Items.BONE, 4));
+ add(ModBlocks.RICE_ROLL_MEDLEY_BLOCK.get(), block -> platedFood(block, 8));
+ add(ModBlocks.ROAST_CHICKEN_BLOCK.get(), block -> platedFoodExtraDrop(block, Items.BONE_MEAL, 4));
+ add(ModBlocks.SHEPHERDS_PIE_BLOCK.get(), block -> platedFood(block, 4));
+ add(ModBlocks.STUFFED_PUMPKIN_BLOCK.get(), block -> LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(block))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(FeastBlock.SERVINGS, 4)))));
}
@@ -94,13 +237,124 @@ protected void dropNamedContainer(Block block) {
}
@Override
- protected void add(Block block, LootTable.Builder builder) {
- this.generatedLootTables.add(block);
- this.map.put(block.getLootTable(), builder);
+ protected Iterable getKnownBlocks() {
+ return ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get).toList();
}
- @Override
- protected Iterable getKnownBlocks() {
- return generatedLootTables;
+ protected LootTable.Builder mushroomColony(Block block, Item mushroom) {
+ return this.applyExplosionDecay(block, LootTable.lootTable().withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(mushroom)
+ .apply(SetItemCountFunction.setCount(ConstantValue.exactly(2.0F)))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MushroomColonyBlock.COLONY_AGE, 0))),
+ LootItem.lootTableItem(mushroom)
+ .apply(SetItemCountFunction.setCount(ConstantValue.exactly(3.0F)))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MushroomColonyBlock.COLONY_AGE, 1))),
+ LootItem.lootTableItem(mushroom)
+ .apply(SetItemCountFunction.setCount(ConstantValue.exactly(4.0F)))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MushroomColonyBlock.COLONY_AGE, 2))),
+ //fully grown should only drop mushrooms if not harvested by shears
+ LootItem.lootTableItem(mushroom)
+ .apply(SetItemCountFunction.setCount(ConstantValue.exactly(5.0F)))
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS)).invert())
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MushroomColonyBlock.COLONY_AGE, 3))),
+ //if broken with shears at max age, drop self
+ LootItem.lootTableItem(block)
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS)))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(MushroomColonyBlock.COLONY_AGE, 3)))))));
+ }
+
+ protected LootTable.Builder createCropDrops(Block block, Item cropItem, Item seeds) {
+ LootItemCondition.Builder maxAgeCondition = LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(net.minecraft.world.level.block.CropBlock.AGE, net.minecraft.world.level.block.CropBlock.MAX_AGE));
+ return this.applyExplosionDecay(block, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .add(LootItem.lootTableItem(cropItem)
+ .when(maxAgeCondition)
+ .otherwise(LootItem.lootTableItem(seeds))))
+ .withPool(LootPool.lootPool()
+ .when(maxAgeCondition)
+ .add(LootItem.lootTableItem(seeds)
+ .apply(ApplyBonusCount.addBonusBinomialDistributionCount(Enchantments.BLOCK_FORTUNE, 0.5714286F, 3)))));
+ }
+
+ protected LootTable.Builder createSeedlessCropDrops(Block block, Item cropItem) {
+ LootItemCondition.Builder maxAgeCondition = LootItemBlockStatePropertyCondition.hasBlockStateProperties(block).setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(net.minecraft.world.level.block.CropBlock.AGE, net.minecraft.world.level.block.CropBlock.MAX_AGE));
+ return this.applyExplosionDecay(block, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .add(LootItem.lootTableItem(cropItem)))
+ .withPool(LootPool.lootPool()
+ .when(maxAgeCondition)
+ .add(LootItem.lootTableItem(cropItem)
+ .apply(ApplyBonusCount.addBonusBinomialDistributionCount(Enchantments.BLOCK_FORTUNE, 0.5714286F, 3)))));
+
+
+ }
+
+ protected LootTable.Builder wildCrop(Block block, Item crop, Item seeds) {
+ return LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(crop))
+ .when(LootItemRandomChanceCondition.randomChance(0.2F))
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS)).invert()))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(block)
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS))),
+ LootItem.lootTableItem(seeds)
+ .apply(ApplyExplosionDecay.explosionDecay())
+ .apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE, 2)))));
+ }
+
+ protected LootTable.Builder wildCropNoSeeds(Block block, Item crop) {
+ return LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(AlternativesEntry.alternatives(
+ LootItem.lootTableItem(block)
+ .when(MatchTool.toolMatches(ItemPredicate.Builder.item().of(Tags.Items.SHEARS))),
+ LootItem.lootTableItem(crop)
+ .apply(ApplyExplosionDecay.explosionDecay())
+ .apply(ApplyBonusCount.addUniformBonusCount(Enchantments.BLOCK_FORTUNE, 2)))));
+ }
+
+ protected LootTable.Builder platedFood(Block block, int servings) {
+ return LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(block))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(ShepherdsPieBlock.SERVINGS, servings))))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(Items.BOWL))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(ShepherdsPieBlock.SERVINGS, servings)).invert()));
+ }
+
+ protected LootTable.Builder platedFoodExtraDrop(Block block, Item extraDrop, int servings) {
+ return LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(block))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RoastChickenBlock.SERVINGS, servings))))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(Items.BOWL))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RoastChickenBlock.SERVINGS, servings)).invert()))
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(extraDrop))
+ .when(LootItemBlockStatePropertyCondition.hasBlockStateProperties(block)
+ .setProperties(StatePropertiesPredicate.Builder.properties().hasProperty(RoastChickenBlock.SERVINGS, servings)).invert()));
}
}
diff --git a/src/main/java/vectorwing/farmersdelight/data/loot/FDChestLoot.java b/src/main/java/vectorwing/farmersdelight/data/loot/FDChestLoot.java
new file mode 100644
index 000000000..6af880ad0
--- /dev/null
+++ b/src/main/java/vectorwing/farmersdelight/data/loot/FDChestLoot.java
@@ -0,0 +1,191 @@
+package vectorwing.farmersdelight.data.loot;
+
+import net.minecraft.data.loot.LootTableSubProvider;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.level.storage.loot.LootPool;
+import net.minecraft.world.level.storage.loot.LootTable;
+import net.minecraft.world.level.storage.loot.entries.EmptyLootItem;
+import net.minecraft.world.level.storage.loot.entries.LootItem;
+import net.minecraft.world.level.storage.loot.functions.EnchantRandomlyFunction;
+import net.minecraft.world.level.storage.loot.functions.EnchantWithLevelsFunction;
+import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
+import net.minecraft.world.level.storage.loot.functions.SetItemDamageFunction;
+import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
+import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
+import vectorwing.farmersdelight.common.registry.ModItems;
+import vectorwing.farmersdelight.common.registry.ModLootTables;
+
+import java.util.function.BiConsumer;
+
+public class FDChestLoot implements LootTableSubProvider {
+ @Override
+ public void generate(BiConsumer consumer) {
+ consumer.accept(ModLootTables.ABANDONED_MINESHAFT, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.COOKING_POT.get()))
+ .add(LootItem.lootTableItem(ModItems.SKILLET.get())
+ .apply(SetItemDamageFunction.setDamage(UniformGenerator.between(0.15F, 0.8F))))
+ .add(EmptyLootItem.emptyItem().setWeight(6)))
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 4.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.RICE.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ).withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(3.0F))
+ .add(LootItem.lootTableItem(ModItems.ROPE.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 12.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ));
+
+ consumer.accept(ModLootTables.BASTION_HOGLIN_STABLE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.DIAMOND_KNIFE.get())
+ .apply(SetItemDamageFunction.setDamage(UniformGenerator.between(0.15F, 0.8F))))
+ .add(LootItem.lootTableItem(ModItems.GOLDEN_KNIFE.get()).setWeight(2)
+ .apply(EnchantRandomlyFunction.randomApplicableEnchantment()))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ).withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 2.0F))
+ .add(LootItem.lootTableItem(ModItems.HAM.get()).setWeight(4)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 5.0F))))
+ .add(LootItem.lootTableItem(ModItems.SMOKED_HAM.get()).setWeight(2)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 5.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ));
+
+ consumer.accept(ModLootTables.BASTION_TREASURE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.DIAMOND_KNIFE.get())
+ .apply(SetItemDamageFunction.setDamage(UniformGenerator.between(0.8F, 1.0F)))
+ .apply(EnchantRandomlyFunction.randomApplicableEnchantment()))
+ .add(LootItem.lootTableItem(ModItems.DIAMOND_KNIFE.get()))
+ .add(EmptyLootItem.emptyItem().setWeight(6))
+ ));
+
+ consumer.accept(ModLootTables.END_CITY_TREASURE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.DIAMOND_KNIFE.get())
+ .apply(EnchantWithLevelsFunction.enchantWithLevels(UniformGenerator.between(20.0F, 39.0F)).allowTreasure()))
+ .add(LootItem.lootTableItem(ModItems.IRON_KNIFE.get())
+ .apply(EnchantWithLevelsFunction.enchantWithLevels(UniformGenerator.between(20.0F, 39.0F)).allowTreasure()))
+ .add(EmptyLootItem.emptyItem().setWeight(6))
+ ));
+
+ consumer.accept(ModLootTables.PILLAGER_OUTPOST, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 2.0F))
+ .add(LootItem.lootTableItem(ModItems.ONION.get()).setWeight(5)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(4.0F, 12.0F))))
+ .add(LootItem.lootTableItem(ModItems.ONION_CRATE.get()).setWeight(2)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ));
+
+ consumer.accept(ModLootTables.RUINED_PORTAL, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.GOLDEN_KNIFE.get())
+ .apply(EnchantRandomlyFunction.randomApplicableEnchantment()))
+ .add(EmptyLootItem.emptyItem().setWeight(3))
+ ));
+
+ consumer.accept(ModLootTables.SHIPWRECK_SUPPLY, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 2.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get()).setWeight(6)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get()).setWeight(6)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.ONION.get()).setWeight(6)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.RICE.get()).setWeight(6)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ ).withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.ROPE.get()).setWeight(2)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(4.0F, 12.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(1))
+ ));
+
+ consumer.accept(ModLootTables.SIMPLE_DUNGEON, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 4.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 4.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ).withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.ROPE.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 12.0F))))
+ .add(EmptyLootItem.emptyItem().setWeight(2))
+ ));
+
+ consumer.accept(ModLootTables.VILLAGE_BUTCHER, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(ConstantValue.exactly(1.0F))
+ .add(LootItem.lootTableItem(ModItems.FLINT_KNIFE.get()))
+ .add(LootItem.lootTableItem(ModItems.IRON_KNIFE.get()))
+ .add(EmptyLootItem.emptyItem()))
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 2.0F))
+ .add(LootItem.lootTableItem(ModItems.HAM.get()))
+ .add(LootItem.lootTableItem(ModItems.MINCED_BEEF.get()).setWeight(3)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 6.0F))))
+ .add(LootItem.lootTableItem(ModItems.BACON.get()).setWeight(3)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 6.0F))))
+ .add(LootItem.lootTableItem(ModItems.MUTTON_CHOPS.get()).setWeight(3)
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(2.0F, 6.0F))))
+ .add(EmptyLootItem.emptyItem())));
+
+ consumer.accept(ModLootTables.VILLAGE_DESERT_HOUSE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))));
+
+ consumer.accept(ModLootTables.VILLAGE_PLAINS_HOUSE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.ONION.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))));
+
+ consumer.accept(ModLootTables.VILLAGE_SAVANNA_HOUSE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.TOMATO_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))));
+
+ consumer.accept(ModLootTables.VILLAGE_SNOWY_HOUSE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.ONION.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))));
+
+ consumer.accept(ModLootTables.VILLAGE_TAIGA_HOUSE, LootTable.lootTable()
+ .withPool(LootPool.lootPool()
+ .setRolls(UniformGenerator.between(1.0F, 3.0F))
+ .add(LootItem.lootTableItem(ModItems.CABBAGE_SEEDS.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))
+ .add(LootItem.lootTableItem(ModItems.RICE.get())
+ .apply(SetItemCountFunction.setCount(UniformGenerator.between(1.0F, 3.0F))))));
+ }
+}
diff --git a/src/main/java/vectorwing/farmersdelight/data/recipe/CraftingRecipes.java b/src/main/java/vectorwing/farmersdelight/data/recipe/CraftingRecipes.java
index 00a184072..9ac93290e 100644
--- a/src/main/java/vectorwing/farmersdelight/data/recipe/CraftingRecipes.java
+++ b/src/main/java/vectorwing/farmersdelight/data/recipe/CraftingRecipes.java
@@ -5,7 +5,6 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
-import net.minecraft.world.item.DyeColor;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
@@ -13,7 +12,9 @@
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.common.Tags;
+import net.minecraftforge.common.crafting.ConditionalRecipe;
import vectorwing.farmersdelight.FarmersDelight;
+import vectorwing.farmersdelight.common.crafting.condition.VanillaCrateEnabledCondition;
import vectorwing.farmersdelight.common.registry.ModBlocks;
import vectorwing.farmersdelight.common.registry.ModItems;
import vectorwing.farmersdelight.common.registry.ModRecipeSerializers;
@@ -324,6 +325,37 @@ private static void recipesBlocks(Consumer consumer) {
.requires(ModItems.SAFETY_NET.get())
.unlockedBy("has_safety_net", InventoryChangeTrigger.TriggerInstance.hasItems(ModItems.SAFETY_NET.get()))
.save(consumer, new ResourceLocation(FarmersDelight.MODID, "rope_from_safety_net"));
+
+ ConditionalRecipe.builder().addCondition(VanillaCrateEnabledCondition.INSTANCE).addRecipe(
+ ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ModItems.BEETROOT_CRATE.get())
+ .pattern("###")
+ .pattern("###")
+ .pattern("###")
+ .define('#', Items.BEETROOT)
+ .unlockedBy("has_beetroot", InventoryChangeTrigger.TriggerInstance.hasItems(Items.BEETROOT))::save)
+ .generateAdvancement()
+ .build(consumer, new ResourceLocation(FarmersDelight.MODID, "beetroot_crate"));
+
+ ConditionalRecipe.builder().addCondition(VanillaCrateEnabledCondition.INSTANCE).addRecipe(
+ ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ModItems.CARROT_CRATE.get())
+ .pattern("###")
+ .pattern("###")
+ .pattern("###")
+ .define('#', Items.CARROT)
+ .unlockedBy("has_carrot", InventoryChangeTrigger.TriggerInstance.hasItems(Items.CARROT))::save)
+ .generateAdvancement()
+ .build(consumer, new ResourceLocation(FarmersDelight.MODID, "carrot_crate"));
+
+ ConditionalRecipe.builder().addCondition(VanillaCrateEnabledCondition.INSTANCE).addRecipe(
+ ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ModItems.POTATO_CRATE.get())
+ .pattern("###")
+ .pattern("###")
+ .pattern("###")
+ .define('#', Items.POTATO)
+ .unlockedBy("has_potato", InventoryChangeTrigger.TriggerInstance.hasItems(Items.POTATO))::save)
+ .generateAdvancement()
+ .build(consumer, new ResourceLocation(FarmersDelight.MODID, "potato_crate"));
+
ShapedRecipeBuilder.shaped(RecipeCategory.BUILDING_BLOCKS, ModItems.CABBAGE_CRATE.get(), 1)
.pattern("###")
.pattern("###")
diff --git a/src/main/java/vectorwing/farmersdelight/data/recipe/SmeltingRecipes.java b/src/main/java/vectorwing/farmersdelight/data/recipe/SmeltingRecipes.java
index b7aa414bc..dac83144e 100644
--- a/src/main/java/vectorwing/farmersdelight/data/recipe/SmeltingRecipes.java
+++ b/src/main/java/vectorwing/farmersdelight/data/recipe/SmeltingRecipes.java
@@ -7,7 +7,6 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient;
-import net.minecraft.world.item.crafting.RecipeSerializer;
import net.minecraft.world.level.ItemLike;
import vectorwing.farmersdelight.FarmersDelight;
import vectorwing.farmersdelight.common.registry.ModItems;
@@ -28,11 +27,11 @@ public static void register(Consumer consumer) {
SimpleCookingRecipeBuilder.smelting(Ingredient.of(ModItems.WHEAT_DOUGH.get()), RecipeCategory.FOOD,
Items.BREAD, 0.35F, 200)
.unlockedBy("has_dough", InventoryChangeTrigger.TriggerInstance.hasItems(ModItems.WHEAT_DOUGH.get()))
- .save(consumer, new ResourceLocation(FarmersDelight.MODID, "bread").toString() + "_from_smelting");
+ .save(consumer, new ResourceLocation(FarmersDelight.MODID, "bread") + "_from_smelting");
SimpleCookingRecipeBuilder.smoking(Ingredient.of(ModItems.WHEAT_DOUGH.get()), RecipeCategory.FOOD,
Items.BREAD, 0.35F, 100)
.unlockedBy("has_dough", InventoryChangeTrigger.TriggerInstance.hasItems(ModItems.WHEAT_DOUGH.get()))
- .save(consumer, new ResourceLocation(FarmersDelight.MODID, "bread").toString() + "_from_smoking");
+ .save(consumer, new ResourceLocation(FarmersDelight.MODID, "bread") + "_from_smoking");
SimpleCookingRecipeBuilder.smoking(Ingredient.of(ModItems.HAM.get()), RecipeCategory.FOOD,
ModItems.SMOKED_HAM.get(), 0.35F, 200)
diff --git a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/actions/ActionRemoveCuttingBoardRecipe.java b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/actions/ActionRemoveCuttingBoardRecipe.java
index f3875016b..7e883b52f 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/actions/ActionRemoveCuttingBoardRecipe.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/actions/ActionRemoveCuttingBoardRecipe.java
@@ -4,8 +4,6 @@
import com.blamejared.crafttweaker.api.item.IItemStack;
import com.blamejared.crafttweaker.api.item.MCItemStackMutable;
import com.blamejared.crafttweaker.api.recipe.manager.base.IRecipeManager;
-import net.minecraft.core.Registry;
-import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Recipe;
diff --git a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/CuttingBoardRecipeHandler.java b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/CuttingBoardRecipeHandler.java
index 3c573e0aa..330e74673 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/CuttingBoardRecipeHandler.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/CuttingBoardRecipeHandler.java
@@ -17,7 +17,6 @@
import vectorwing.farmersdelight.common.crafting.CuttingBoardRecipe;
import vectorwing.farmersdelight.common.crafting.ingredient.ChanceResult;
-import java.util.Collection;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
diff --git a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/RecipeHandlerUtils.java b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/RecipeHandlerUtils.java
index c3b713341..1fb435ab7 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/RecipeHandlerUtils.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/handlers/RecipeHandlerUtils.java
@@ -1,6 +1,5 @@
package vectorwing.farmersdelight.integration.crafttweaker.handlers;
-import com.blamejared.crafttweaker.api.CraftTweakerConstants;
import com.blamejared.crafttweaker.api.ingredient.IIngredient;
import com.blamejared.crafttweaker.api.ingredient.type.IIngredientEmpty;
import com.blamejared.crafttweaker.api.item.IItemStack;
diff --git a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/managers/CookingPotRecipeManager.java b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/managers/CookingPotRecipeManager.java
index 291f21e25..15172f5c4 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/managers/CookingPotRecipeManager.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/crafttweaker/managers/CookingPotRecipeManager.java
@@ -77,7 +77,7 @@ private boolean validateInputs(IIngredient[] inputs) {
FarmersDelightCrTPlugin.LOGGER_CT.error("No ingredients for cooking recipe");
return false;
} else if (inputs.length > CookingPotRecipe.INPUT_SLOTS) {
- FarmersDelightCrTPlugin.LOGGER_CT.error("Too many ingredients for cooking recipe! The max is %s", CookingPotRecipe.INPUT_SLOTS);
+ FarmersDelightCrTPlugin.LOGGER_CT.error("Too many ingredients for cooking recipe! The max is {}", CookingPotRecipe.INPUT_SLOTS);
return false;
}
return true;
diff --git a/src/main/java/vectorwing/farmersdelight/integration/jei/category/CookingRecipeCategory.java b/src/main/java/vectorwing/farmersdelight/integration/jei/category/CookingRecipeCategory.java
index d17baf9ed..fdfc8f956 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/jei/category/CookingRecipeCategory.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/jei/category/CookingRecipeCategory.java
@@ -1,6 +1,5 @@
package vectorwing.farmersdelight.integration.jei.category;
-import com.mojang.blaze3d.vertex.PoseStack;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.drawable.IDrawable;
diff --git a/src/main/java/vectorwing/farmersdelight/integration/jei/category/CuttingRecipeCategory.java b/src/main/java/vectorwing/farmersdelight/integration/jei/category/CuttingRecipeCategory.java
index 016dfcac4..4810f8fa4 100644
--- a/src/main/java/vectorwing/farmersdelight/integration/jei/category/CuttingRecipeCategory.java
+++ b/src/main/java/vectorwing/farmersdelight/integration/jei/category/CuttingRecipeCategory.java
@@ -1,6 +1,5 @@
package vectorwing.farmersdelight.integration.jei.category;
-import com.mojang.blaze3d.vertex.PoseStack;
import mezz.jei.api.constants.VanillaTypes;
import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
import mezz.jei.api.gui.drawable.IDrawable;
diff --git a/src/main/resources/assets/farmersdelight/atlases/signs.json b/src/main/resources/assets/farmersdelight/atlases/signs.json
deleted file mode 100644
index f48f30936..000000000
--- a/src/main/resources/assets/farmersdelight/atlases/signs.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- "sources": [
- {
- "type": "directory",
- "source": "entity/signs",
- "prefix": "entity/signs/"
- }
- ]
-}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/blockstates/cooking_pot.json b/src/main/resources/assets/farmersdelight/blockstates/cooking_pot.json
deleted file mode 100644
index 7794f46ff..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/cooking_pot.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "variants": {
- "facing=north,support=none": {
- "model": "farmersdelight:block/cooking_pot"
- },
- "facing=south,support=none": {
- "model": "farmersdelight:block/cooking_pot",
- "y": 180
- },
- "facing=west,support=none": {
- "model": "farmersdelight:block/cooking_pot",
- "y": 270
- },
- "facing=east,support=none": {
- "model": "farmersdelight:block/cooking_pot",
- "y": 90
- },
- "facing=north,support=tray": {
- "model": "farmersdelight:block/cooking_pot_tray"
- },
- "facing=south,support=tray": {
- "model": "farmersdelight:block/cooking_pot_tray",
- "y": 180
- },
- "facing=west,support=tray": {
- "model": "farmersdelight:block/cooking_pot_tray",
- "y": 270
- },
- "facing=east,support=tray": {
- "model": "farmersdelight:block/cooking_pot_tray",
- "y": 90
- },
- "facing=north,support=handle": {
- "model": "farmersdelight:block/cooking_pot_handle"
- },
- "facing=south,support=handle": {
- "model": "farmersdelight:block/cooking_pot_handle",
- "y": 180
- },
- "facing=west,support=handle": {
- "model": "farmersdelight:block/cooking_pot_handle",
- "y": 270
- },
- "facing=east,support=handle": {
- "model": "farmersdelight:block/cooking_pot_handle",
- "y": 90
- }
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/blockstates/full_tatami_mat.json b/src/main/resources/assets/farmersdelight/blockstates/full_tatami_mat.json
deleted file mode 100644
index 1c5af93f2..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/full_tatami_mat.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "variants": {
- "facing=north,part=foot": { "model": "farmersdelight:block/tatami_mat_foot", "y": 180 },
- "facing=east,part=foot": { "model": "farmersdelight:block/tatami_mat_foot", "y": 270 },
- "facing=south,part=foot": { "model": "farmersdelight:block/tatami_mat_foot" },
- "facing=west,part=foot": { "model": "farmersdelight:block/tatami_mat_foot", "y": 90 },
- "facing=north,part=head": { "model": "farmersdelight:block/tatami_mat_head", "y": 180 },
- "facing=east,part=head": { "model": "farmersdelight:block/tatami_mat_head", "y": 270 },
- "facing=south,part=head": { "model": "farmersdelight:block/tatami_mat_head" },
- "facing=west,part=head": { "model": "farmersdelight:block/tatami_mat_head", "y": 90 }
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/assets/farmersdelight/blockstates/organic_compost.json b/src/main/resources/assets/farmersdelight/blockstates/organic_compost.json
deleted file mode 100644
index f7b41b171..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/organic_compost.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "variants": {
- "composting=0": [
- { "model": "farmersdelight:block/organic_compost_0" },
- { "model": "farmersdelight:block/organic_compost_0", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_0", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_0", "y": 270 }
- ],
- "composting=1": [
- { "model": "farmersdelight:block/organic_compost_1" },
- { "model": "farmersdelight:block/organic_compost_1", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_1", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_1", "y": 270 }
- ],
- "composting=2": [
- { "model": "farmersdelight:block/organic_compost_2" },
- { "model": "farmersdelight:block/organic_compost_2", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_2", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_2", "y": 270 }
- ],
- "composting=3": [
- { "model": "farmersdelight:block/organic_compost_3" },
- { "model": "farmersdelight:block/organic_compost_3", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_3", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_3", "y": 270 }
- ],
- "composting=4": [
- { "model": "farmersdelight:block/organic_compost_4" },
- { "model": "farmersdelight:block/organic_compost_4", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_4", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_4", "y": 270 }
- ],
- "composting=5": [
- { "model": "farmersdelight:block/organic_compost_5" },
- { "model": "farmersdelight:block/organic_compost_5", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_5", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_5", "y": 270 }
- ],
- "composting=6": [
- { "model": "farmersdelight:block/organic_compost_6" },
- { "model": "farmersdelight:block/organic_compost_6", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_6", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_6", "y": 270 }
- ],
- "composting=7": [
- { "model": "farmersdelight:block/organic_compost_7" },
- { "model": "farmersdelight:block/organic_compost_7", "y": 90 },
- { "model": "farmersdelight:block/organic_compost_7", "y": 180 },
- { "model": "farmersdelight:block/organic_compost_7", "y": 270 }
- ]
- }
-}
diff --git a/src/main/resources/assets/farmersdelight/blockstates/rice.json b/src/main/resources/assets/farmersdelight/blockstates/rice.json
deleted file mode 100644
index 37751883b..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/rice.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "variants": {
- "age=0,supporting=false": { "model": "farmersdelight:block/rice_stage0" },
- "age=1,supporting=false": { "model": "farmersdelight:block/rice_stage1" },
- "age=2,supporting=false": { "model": "farmersdelight:block/rice_stage2" },
- "age=3,supporting=false": { "model": "farmersdelight:block/rice_stage3" },
- "age=0,supporting=true": { "model": "farmersdelight:block/rice_stage0" },
- "age=1,supporting=true": { "model": "farmersdelight:block/rice_stage1" },
- "age=2,supporting=true": { "model": "farmersdelight:block/rice_stage2" },
- "age=3,supporting=true": { "model": "farmersdelight:block/rice_supporting" }
- }
-}
diff --git a/src/main/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json b/src/main/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json
deleted file mode 100644
index 98d016a9d..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "variants": {
- "moisture=0": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=1": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=2": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=3": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=4": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=5": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=6": { "model": "farmersdelight:block/rich_soil_farmland" },
- "moisture=7": { "model": "farmersdelight:block/rich_soil_farmland_moist" }
- }
-}
diff --git a/src/main/resources/assets/farmersdelight/blockstates/rope.json b/src/main/resources/assets/farmersdelight/blockstates/rope.json
deleted file mode 100644
index 4ff8938ae..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/rope.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "multipart": [
- {
- "apply": { "model": "farmersdelight:block/rope_post" }
- },
- {
- "when": { "tied_to_bell": true },
- "apply": { "model": "farmersdelight:block/rope_bell_tie" }
- },
- {
- "when": { "north": true },
- "apply": { "model": "farmersdelight:block/rope_side" }
- },
- {
- "when": { "east": true },
- "apply": { "model": "farmersdelight:block/rope_side", "y": 90 }
- },
- {
- "when": { "south": true },
- "apply": { "model": "farmersdelight:block/rope_side_alt" }
- },
- {
- "when": { "west": true },
- "apply": { "model": "farmersdelight:block/rope_side_alt", "y": 90 }
- }
- ]
-}
diff --git a/src/main/resources/assets/farmersdelight/blockstates/tatami.json b/src/main/resources/assets/farmersdelight/blockstates/tatami.json
deleted file mode 100644
index 423b876e0..000000000
--- a/src/main/resources/assets/farmersdelight/blockstates/tatami.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "variants": {
- "facing=down,paired=false": { "model": "farmersdelight:block/tatami_half", "x": 180 },
- "facing=up,paired=false": { "model": "farmersdelight:block/tatami_half"},
- "facing=north,paired=false": { "model": "farmersdelight:block/tatami_half", "x": 90 },
- "facing=south,paired=false": { "model": "farmersdelight:block/tatami_half", "x": 90, "y": 180 },
- "facing=west,paired=false": { "model": "farmersdelight:block/tatami_half", "x": 90, "y": 270 },
- "facing=east,paired=false": { "model": "farmersdelight:block/tatami_half", "x": 90, "y": 90 },
- "facing=down,paired=true": { "model": "farmersdelight:block/tatami_even", "x": 180 },
- "facing=up,paired=true": { "model": "farmersdelight:block/tatami_odd" },
- "facing=north,paired=true": { "model": "farmersdelight:block/tatami_even", "x": 90 },
- "facing=south,paired=true": { "model": "farmersdelight:block/tatami_odd", "x": 90, "y": 180 },
- "facing=west,paired=true": { "model": "farmersdelight:block/tatami_even", "x": 90, "y": 270 },
- "facing=east,paired=true": { "model": "farmersdelight:block/tatami_odd", "x": 90, "y": 90 }
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json
deleted file mode 100644
index 58414a95d..000000000
--- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "type": "forge:add_features",
- "biomes": "minecraft:beach",
- "features": "farmersdelight:patch_wild_beetroots",
- "step": "vegetal_decoration"
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json
deleted file mode 100644
index db65e1db7..000000000
--- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "type": "forge:add_features",
- "biomes": "minecraft:beach",
- "features": "farmersdelight:patch_wild_cabbages",
- "step": "vegetal_decoration"
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json b/src/main/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json
deleted file mode 100644
index 279c09ed7..000000000
--- a/src/main/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
- "type": "farmersdelight:add_item",
- "conditions": [
- {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "farmersdelight:tools/knives"
- }
- },
- {
- "condition": "minecraft:any_of",
- "terms":[
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:white_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:orange_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:magenta_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:light_blue_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:yellow_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:lime_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:pink_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:gray_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:light_gray_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:cyan_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:purple_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:blue_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:brown_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:green_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:red_candle_cake"
- },
- {
- "condition": "minecraft:block_state_property",
- "block": "minecraft:black_candle_cake"
- }
- ]
- }
- ],
- "item": "farmersdelight:cake_slice",
- "count": 7
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json b/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json
deleted file mode 100644
index adf858d72..000000000
--- a/src/main/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "type": "farmersdelight:add_item",
- "conditions": [
- {
- "condition": "minecraft:random_chance",
- "chance": 0.3
- },
- {
- "condition": "minecraft:match_tool",
- "predicate": {
- "tag": "farmersdelight:straw_harvesters"
- }
- },
- {
- "condition": "block_state_property",
- "block": "farmersdelight:sandy_shrub"
- }
- ],
- "item": "farmersdelight:straw"
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json b/src/main/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json
deleted file mode 100644
index 9396d8132..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "type": "minecraft:block",
- "pools": [
- {
- "name": "pool1",
- "rolls": 1.0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:tomato_seeds"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice.json b/src/main/resources/data/farmersdelight/loot_tables/blocks/rice.json
deleted file mode 100644
index 1e0b3174f..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/blocks/rice.json
+++ /dev/null
@@ -1,20 +0,0 @@
-{
- "type": "minecraft:block",
- "pools": [
- {
- "name": "pool1",
- "rolls": 1.0,
- "entries": [
- {
- "type": "minecraft:item",
- "name": "farmersdelight:rice"
- }
- ]
- }
- ],
- "functions": [
- {
- "function": "minecraft:explosion_decay"
- }
- ]
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json
deleted file mode 100644
index d7c8f16df..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 2.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "weight": 5,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 4.0,
- "max": 12.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:onion"
- },
- {
- "type": "minecraft:item",
- "weight": 2,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:onion_crate"
- },
- {
- "type": "minecraft:empty",
- "weight": 2
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json
deleted file mode 100644
index cacabbdc6..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json
+++ /dev/null
@@ -1,101 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 2.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "weight": 6,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:tomato_seeds"
- },
- {
- "type": "minecraft:item",
- "weight": 6,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:cabbage_seeds"
- },
- {
- "type": "minecraft:item",
- "weight": 6,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:onion"
- },
- {
- "type": "minecraft:item",
- "weight": 6,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 2.0,
- "max": 4.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:rice"
- }
- ]
- },
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "weight": 2,
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 4.0,
- "max": 12.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:rope"
- },
- {
- "type": "minecraft:empty",
- "weight": 1
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_house.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_house.json
deleted file mode 100644
index 609751626..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_house.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:tomato_seeds"
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:rice"
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_house.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_house.json
deleted file mode 100644
index aac3e751a..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_house.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:onion"
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:tomato_seeds"
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_house.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_house.json
deleted file mode 100644
index a452bbda0..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_house.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:tomato_seeds"
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:cabbage_seeds"
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_house.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_house.json
deleted file mode 100644
index 12a24d870..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_house.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:onion"
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:cabbage_seeds"
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_house.json b/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_house.json
deleted file mode 100644
index 0c6fc6674..000000000
--- a/src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_house.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "pools": [
- {
- "rolls": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- },
- "entries": [
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:cabbage_seeds"
- },
- {
- "type": "minecraft:item",
- "functions": [
- {
- "function": "minecraft:set_count",
- "count": {
- "min": 1.0,
- "max": 3.0,
- "type": "minecraft:uniform"
- }
- }
- ],
- "name": "farmersdelight:rice"
- }
- ]
- }
- ]
-}
diff --git a/src/main/resources/data/farmersdelight/recipes/beetroot_crate.json b/src/main/resources/data/farmersdelight/recipes/beetroot_crate.json
deleted file mode 100644
index 31812e8f2..000000000
--- a/src/main/resources/data/farmersdelight/recipes/beetroot_crate.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "conditions": [
- {
- "type": "farmersdelight:vanilla_crates_enabled"
- }
- ],
- "type": "minecraft:crafting_shaped",
- "pattern": [
- "###",
- "###",
- "###"
- ],
- "key": {
- "#": {
- "item": "minecraft:beetroot"
- }
- },
- "result": {
- "item": "farmersdelight:beetroot_crate"
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/recipes/carrot_crate.json b/src/main/resources/data/farmersdelight/recipes/carrot_crate.json
deleted file mode 100644
index 01107171f..000000000
--- a/src/main/resources/data/farmersdelight/recipes/carrot_crate.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "conditions": [
- {
- "type": "farmersdelight:vanilla_crates_enabled"
- }
- ],
- "type": "minecraft:crafting_shaped",
- "pattern": [
- "###",
- "###",
- "###"
- ],
- "key": {
- "#": {
- "item": "minecraft:carrot"
- }
- },
- "result": {
- "item": "farmersdelight:carrot_crate"
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/data/farmersdelight/recipes/potato_crate.json b/src/main/resources/data/farmersdelight/recipes/potato_crate.json
deleted file mode 100644
index 85cbb96ce..000000000
--- a/src/main/resources/data/farmersdelight/recipes/potato_crate.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "conditions": [
- {
- "type": "farmersdelight:vanilla_crates_enabled"
- }
- ],
- "type": "minecraft:crafting_shaped",
- "pattern": [
- "###",
- "###",
- "###"
- ],
- "key": {
- "#": {
- "item": "minecraft:potato"
- }
- },
- "result": {
- "item": "farmersdelight:potato_crate"
- }
-}
\ No newline at end of file
diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta
deleted file mode 100644
index 8896189e6..000000000
--- a/src/main/resources/pack.mcmeta
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "pack": {
- "description": "Farmer's Delight resources",
- "pack_format": 15
- }
-}