From 6f7694a0e002d4bc9933e760ebe017ece5f1aac7 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Aug 2023 18:14:35 -0600 Subject: [PATCH 1/3] datagen (nearly) EVERYTHING. --- .../0f202e000d40347127b33b6edbbb29689b8cbf86 | 2 + .../103d9f3f36b01595f1aa5172191e60eff02e6924 | 21 ++ .../55b530523832603ee79ac7ef34cbb3a3a66f5973 | 3 +- .../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 59 +++- .../744202df1d69ca3f1fe9bb1ddcd98221c68c3b51 | 35 +++ .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 8 +- .../eb988f5004aa6ab76b05474d295e626a254364e4 | 21 +- .../blockstates/canvas_rug.json | 0 .../blockstates/cooking_pot.json | 94 ++++++ .../blockstates/full_tatami_mat.json | 34 +++ .../blockstates/organic_compost.json | 140 +++++++++ .../farmersdelight/blockstates/rice.json | 28 ++ .../blockstates/rich_soil_farmland.json | 28 ++ .../farmersdelight/blockstates/rope.json | 51 ++++ .../farmersdelight/blockstates/skillet.json | 32 +- .../farmersdelight/blockstates/tatami.json | 56 ++++ .../farmersdelight/blockstates/tomatoes.json | 18 +- .../models/block/organic_compost_0.json | 4 +- .../models/block/organic_compost_1.json | 4 +- .../models/block/organic_compost_2.json | 4 +- .../models/block/organic_compost_3.json | 4 +- .../models/block/organic_compost_4.json | 4 +- .../models/block/organic_compost_5.json | 4 +- .../models/block/organic_compost_6.json | 4 +- .../models/block/organic_compost_7.json | 4 +- .../models/block/tatami_half.json | 0 .../advancements/recipes/beetroot_crate.json | 46 +++ .../advancements/recipes/carrot_crate.json | 46 +++ .../advancements/recipes/potato_crate.json | 46 +++ .../damage_type/stove_burn.json | 0 .../add_loot_abandoned_mineshaft.json | 3 +- .../add_loot_bastion_hoglin_stable.json | 3 +- .../add_loot_bastion_treasure.json | 3 +- .../add_loot_end_city_treasure.json | 3 +- .../add_loot_pillager_outpost.json | 3 +- .../add_loot_ruined_portal.json | 3 +- .../add_loot_shipwreck_supply.json | 3 +- .../add_loot_simple_dungeon.json | 5 +- .../add_loot_village_butcher.json | 3 +- .../add_loot_village_desert_house.json | 5 +- .../add_loot_village_plains_house.json | 5 +- .../add_loot_village_savanna_house.json | 5 +- .../add_loot_village_snowy_house.json | 5 +- .../add_loot_village_taiga_house.json | 5 +- .../loot_modifiers/scavenging_feather.json | 15 +- .../scavenging_ham_from_hoglin.json | 8 +- .../scavenging_ham_from_pig.json | 13 +- .../loot_modifiers/scavenging_leather.json | 4 +- .../scavenging_rabbit_hide.json | 15 +- .../scavenging_shulker_shell.json | 15 +- .../scavenging_smoked_ham_from_hoglin.json | 10 +- .../scavenging_smoked_ham_from_pig.json | 15 +- .../loot_modifiers/scavenging_string.json | 0 .../loot_modifiers/slicing_apple_pie.json | 9 +- .../loot_modifiers/slicing_cake.json | 9 +- .../loot_modifiers/slicing_candle_cake.json | 85 ++++++ .../loot_modifiers/slicing_chocolate_pie.json | 9 +- .../slicing_sweet_berry_cheesecake.json | 9 +- .../loot_modifiers/straw_from_grass.json | 14 +- .../straw_from_mature_rice.json | 10 +- .../straw_from_mature_wheat.json | 8 +- .../straw_from_sandy_shrub.json | 20 ++ .../loot_modifiers/straw_from_tall_grass.json | 14 +- .../loot_tables/blocks/apple_pie.json | 4 + .../loot_tables/blocks/black_canvas_sign.json | 16 +- .../loot_tables/blocks/blue_canvas_sign.json | 16 +- .../loot_tables/blocks/brown_canvas_sign.json | 16 +- .../blocks/brown_mushroom_colony.json | 71 +++-- .../loot_tables/blocks/budding_tomatoes.json | 21 ++ .../loot_tables/blocks/cabbages.json | 43 +-- .../loot_tables/blocks/canvas_sign.json | 16 +- .../loot_tables/blocks/chocolate_pie.json | 4 + .../loot_tables/blocks/cyan_canvas_sign.json | 16 +- .../loot_tables/blocks/full_tatami_mat.json | 19 +- .../loot_tables/blocks/gray_canvas_sign.json | 16 +- .../loot_tables/blocks/green_canvas_sign.json | 16 +- .../blocks/honey_glazed_ham_block.json | 51 ++-- .../blocks/light_blue_canvas_sign.json | 16 +- .../blocks/light_gray_canvas_sign.json | 16 +- .../loot_tables/blocks/lime_canvas_sign.json | 16 +- .../blocks/magenta_canvas_sign.json | 16 +- .../loot_tables/blocks/onions.json | 41 +-- .../blocks/orange_canvas_sign.json | 16 +- .../loot_tables/blocks/pink_canvas_sign.json | 16 +- .../blocks/purple_canvas_sign.json | 16 +- .../loot_tables/blocks/red_canvas_sign.json | 16 +- .../blocks/red_mushroom_colony.json | 71 +++-- .../loot_tables/blocks/rice.json | 21 ++ .../loot_tables/blocks/rice_panicles.json | 21 +- .../blocks/rice_roll_medley_block.json | 37 +-- .../blocks/roast_chicken_block.json | 51 ++-- .../loot_tables/blocks/sandy_shrub.json | 23 +- .../blocks/shepherds_pie_block.json | 37 +-- .../loot_tables/blocks/skillet.json | 20 +- .../blocks/stuffed_pumpkin_block.json | 23 +- .../blocks/sweet_berry_cheesecake.json | 4 + .../loot_tables/blocks/tomatoes.json | 88 +++--- .../loot_tables/blocks/white_canvas_sign.json | 16 +- .../loot_tables/blocks/wild_beetroots.json | 53 ++-- .../loot_tables/blocks/wild_cabbages.json | 53 ++-- .../loot_tables/blocks/wild_carrots.json | 16 +- .../loot_tables/blocks/wild_onions.json | 64 ++-- .../loot_tables/blocks/wild_potatoes.json | 16 +- .../loot_tables/blocks/wild_rice.json | 75 ++--- .../loot_tables/blocks/wild_tomatoes.json | 53 ++-- .../blocks/yellow_canvas_sign.json | 16 +- .../chests/fd_abandoned_mineshaft.json | 75 +++-- .../chests/fd_bastion_hoglin_stable.json | 67 ++-- .../chests/fd_bastion_treasure.json | 21 +- .../chests/fd_end_city_treasure.json | 19 +- .../chests/fd_pillager_outpost.json | 52 ++++ .../loot_tables/chests/fd_ruined_portal.json | 11 +- .../chests/fd_shipwreck_supply.json | 109 +++++++ .../chests/fd_simple_dungeons.json} | 51 ++-- .../chests/fd_village_butcher.json | 63 ++-- .../chests/fd_village_desert_shouse.json | 46 +++ .../chests/fd_village_plains_shouse.json | 46 +++ .../chests/fd_village_savanna_shouse.json | 46 +++ .../chests/fd_village_snowy_shouse.json | 46 +++ .../chests/fd_village_taiga_shouse.json | 46 +++ .../recipes/beetroot_crate.json | 30 ++ .../farmersdelight/recipes/carrot_crate.json | 30 ++ .../farmersdelight/recipes/potato_crate.json | 30 ++ .../tags/blocks/wild_tomato_grows_on.json | 9 + .../patch_brown_mushroom_colony.json | 0 .../patch_red_mushroom_colony.json | 0 .../configured_feature/patch_sandy_shrub.json | 4 +- .../patch_wild_beetroots.json | 8 +- .../patch_wild_cabbages.json | 8 +- .../patch_wild_carrots.json | 42 +-- .../configured_feature/patch_wild_onions.json | 8 +- .../patch_wild_potatoes.json | 8 +- .../configured_feature/patch_wild_rice.json | 12 +- .../patch_wild_tomatoes.json | 24 +- .../patch_brown_mushroom_colony.json | 0 .../patch_red_mushroom_colony.json | 0 .../placed_feature/patch_wild_beetroots.json | 0 .../placed_feature/patch_wild_cabbages.json | 0 .../placed_feature/patch_wild_carrots.json | 0 .../placed_feature/patch_wild_onions.json | 0 .../placed_feature/patch_wild_potatoes.json | 0 .../placed_feature/patch_wild_rice.json | 0 .../placed_feature/patch_wild_tomatoes.json | 0 .../loot_modifiers/global_loot_modifiers.json | 52 ++-- src/generated/resources/pack.mcmeta | 8 + .../farmersdelight/FarmersDelight.java | 2 - .../farmersdelight/common/CommonSetup.java | 3 - .../common/block/SandyShrubBlock.java | 4 +- .../VanillaCrateEnabledCondition.java | 16 +- .../common/event/SetupEvents.java | 2 + .../common/loot/modifier/AddItemModifier.java | 2 +- .../loot/modifier/AddLootTableModifier.java | 3 +- .../loot/modifier/PastrySlicingModifier.java | 2 +- .../common/registry/ModBiomeModifiers.java | 42 ++- .../common/registry/ModDamageTypes.java | 6 + .../common/registry/ModLootTables.java | 27 ++ .../farmersdelight/common/tag/ModTags.java | 5 +- .../common/utility/ClientRenderUtils.java | 1 - .../common/world/VillageStructures.java | 4 +- .../common/world/WildCropGeneration.java | 178 +++++++++-- .../configuration/WildCropConfiguration.java | 10 - .../AddFeaturesByFilterBiomeModifier.java | 8 + .../farmersdelight/data/BlockStates.java | 60 +++- .../farmersdelight/data/BlockTags.java | 9 +- .../farmersdelight/data/DataGenerators.java | 22 +- .../data/DatapackRegistries.java | 25 ++ .../farmersdelight/data/LootModifiers.java | 143 +++++++++ .../farmersdelight/data/loot/FDBlockLoot.java | 286 +++++++++++++++++- .../farmersdelight/data/loot/FDChestLoot.java | 191 ++++++++++++ .../data/recipe/CraftingRecipes.java | 34 ++- .../assets/farmersdelight/atlases/signs.json | 9 - .../blockstates/cooking_pot.json | 49 --- .../blockstates/full_tatami_mat.json | 12 - .../blockstates/organic_compost.json | 52 ---- .../farmersdelight/blockstates/rice.json | 12 - .../blockstates/rich_soil_farmland.json | 12 - .../farmersdelight/blockstates/rope.json | 27 -- .../farmersdelight/blockstates/tatami.json | 16 - .../biome_modifier/brown_mushroom_colony.json | 6 - .../biome_modifier/red_mushroom_colony.json | 6 - .../forge/biome_modifier/wild_beetroots.json | 6 - .../forge/biome_modifier/wild_cabbages.json | 6 - .../forge/biome_modifier/wild_carrots.json | 9 - .../forge/biome_modifier/wild_onions.json | 9 - .../forge/biome_modifier/wild_potatoes.json | 9 - .../forge/biome_modifier/wild_rice.json | 7 - .../forge/biome_modifier/wild_tomatoes.json | 7 - .../loot_modifiers/slicing_candle_cake.json | 86 ------ .../straw_from_sandy_shrub.json | 20 -- .../loot_tables/blocks/budding_tomatoes.json | 20 -- .../loot_tables/blocks/rice.json | 20 -- .../chests/fd_pillager_outpost.json | 47 --- .../chests/fd_shipwreck_supply.json | 101 ------- .../chests/fd_village_desert_house.json | 41 --- .../chests/fd_village_plains_house.json | 41 --- .../chests/fd_village_savanna_house.json | 41 --- .../chests/fd_village_snowy_house.json | 41 --- .../chests/fd_village_taiga_house.json | 41 --- .../recipes/beetroot_crate.json | 21 -- .../farmersdelight/recipes/carrot_crate.json | 21 -- .../farmersdelight/recipes/potato_crate.json | 21 -- src/main/resources/pack.mcmeta | 6 - 202 files changed, 3420 insertions(+), 1846 deletions(-) create mode 100644 src/generated/resources/.cache/0f202e000d40347127b33b6edbbb29689b8cbf86 create mode 100644 src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 create mode 100644 src/generated/resources/.cache/744202df1d69ca3f1fe9bb1ddcd98221c68c3b51 rename src/{main => generated}/resources/assets/farmersdelight/blockstates/canvas_rug.json (100%) create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/cooking_pot.json create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/full_tatami_mat.json create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/organic_compost.json create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/rice.json create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/rope.json rename src/{main => generated}/resources/assets/farmersdelight/blockstates/skillet.json (100%) create mode 100644 src/generated/resources/assets/farmersdelight/blockstates/tatami.json rename src/{main => generated}/resources/assets/farmersdelight/blockstates/tomatoes.json (100%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_0.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_1.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_2.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_3.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_4.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_5.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_6.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/organic_compost_7.json (65%) rename src/{main => generated}/resources/assets/farmersdelight/models/block/tatami_half.json (100%) create mode 100644 src/generated/resources/data/farmersdelight/advancements/recipes/beetroot_crate.json create mode 100644 src/generated/resources/data/farmersdelight/advancements/recipes/carrot_crate.json create mode 100644 src/generated/resources/data/farmersdelight/advancements/recipes/potato_crate.json rename src/{main => generated}/resources/data/farmersdelight/damage_type/stove_burn.json (100%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_abandoned_mineshaft.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_hoglin_stable.json (92%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_bastion_treasure.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_end_city_treasure.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_pillager_outpost.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_ruined_portal.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_shipwreck_supply.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_simple_dungeon.json (67%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_butcher.json (91%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_desert_house.json (67%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_plains_house.json (67%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_savanna_house.json (67%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_snowy_house.json (68%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/add_loot_village_taiga_house.json (68%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_feather.json (58%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_hoglin.json (100%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_ham_from_pig.json (83%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_leather.json (100%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_rabbit_hide.json (58%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_shulker_shell.json (58%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_hoglin.json (94%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_smoked_ham_from_pig.json (79%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/scavenging_string.json (100%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/slicing_apple_pie.json (57%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/slicing_cake.json (58%) create mode 100644 src/generated/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/slicing_chocolate_pie.json (57%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/slicing_sweet_berry_cheesecake.json (57%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/straw_from_grass.json (51%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/straw_from_mature_rice.json (52%) rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/straw_from_mature_wheat.json (60%) create mode 100644 src/generated/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json rename src/{main => generated}/resources/data/farmersdelight/loot_modifiers/straw_from_tall_grass.json (50%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/blocks/apple_pie.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/black_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/blue_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/brown_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/brown_mushroom_colony.json (84%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/cabbages.json (89%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/canvas_sign.json (71%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/blocks/chocolate_pie.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/cyan_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/full_tatami_mat.json (82%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/gray_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/green_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/honey_glazed_ham_block.json (84%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/light_blue_canvas_sign.json (69%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/light_gray_canvas_sign.json (69%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/lime_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/magenta_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/onions.json (85%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/orange_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/pink_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/purple_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/red_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/red_mushroom_colony.json (84%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/blocks/rice.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/rice_panicles.json (84%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/rice_roll_medley_block.json (82%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/roast_chicken_block.json (84%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/sandy_shrub.json (83%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/shepherds_pie_block.json (82%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/skillet.json (67%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/stuffed_pumpkin_block.json (77%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/blocks/sweet_berry_cheesecake.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/tomatoes.json (74%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/white_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_beetroots.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_cabbages.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_carrots.json (90%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_onions.json (65%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_potatoes.json (90%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_rice.json (85%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/wild_tomatoes.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/blocks/yellow_canvas_sign.json (70%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_abandoned_mineshaft.json (57%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_bastion_hoglin_stable.json (50%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_bastion_treasure.json (59%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_end_city_treasure.json (72%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_ruined_portal.json (69%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json rename src/{main/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeon.json => generated/resources/data/farmersdelight/loot_tables/chests/fd_simple_dungeons.json} (55%) rename src/{main => generated}/resources/data/farmersdelight/loot_tables/chests/fd_village_butcher.json (52%) create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_shouse.json create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_shouse.json create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_shouse.json create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_shouse.json create mode 100644 src/generated/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_shouse.json create mode 100644 src/generated/resources/data/farmersdelight/recipes/beetroot_crate.json create mode 100644 src/generated/resources/data/farmersdelight/recipes/carrot_crate.json create mode 100644 src/generated/resources/data/farmersdelight/recipes/potato_crate.json create mode 100644 src/generated/resources/data/farmersdelight/tags/blocks/wild_tomato_grows_on.json rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_brown_mushroom_colony.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_red_mushroom_colony.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_sandy_shrub.json (94%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_beetroots.json (93%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_cabbages.json (93%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_carrots.json (94%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_onions.json (93%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_potatoes.json (93%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_rice.json (74%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/configured_feature/patch_wild_tomatoes.json (74%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_brown_mushroom_colony.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_red_mushroom_colony.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_beetroots.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_cabbages.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_carrots.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_onions.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_potatoes.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_rice.json (100%) rename src/{main => generated}/resources/data/farmersdelight/worldgen/placed_feature/patch_wild_tomatoes.json (100%) rename src/{main => generated}/resources/data/forge/loot_modifiers/global_loot_modifiers.json (93%) create mode 100644 src/generated/resources/pack.mcmeta create mode 100644 src/main/java/vectorwing/farmersdelight/common/registry/ModLootTables.java create mode 100644 src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java create mode 100644 src/main/java/vectorwing/farmersdelight/data/LootModifiers.java create mode 100644 src/main/java/vectorwing/farmersdelight/data/loot/FDChestLoot.java delete mode 100644 src/main/resources/assets/farmersdelight/atlases/signs.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/cooking_pot.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/full_tatami_mat.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/organic_compost.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/rice.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/rich_soil_farmland.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/rope.json delete mode 100644 src/main/resources/assets/farmersdelight/blockstates/tatami.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json delete mode 100644 src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json delete mode 100644 src/main/resources/data/farmersdelight/loot_modifiers/slicing_candle_cake.json delete mode 100644 src/main/resources/data/farmersdelight/loot_modifiers/straw_from_sandy_shrub.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/blocks/budding_tomatoes.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/blocks/rice.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_pillager_outpost.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_shipwreck_supply.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_desert_house.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_plains_house.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_savanna_house.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_snowy_house.json delete mode 100644 src/main/resources/data/farmersdelight/loot_tables/chests/fd_village_taiga_house.json delete mode 100644 src/main/resources/data/farmersdelight/recipes/beetroot_crate.json delete mode 100644 src/main/resources/data/farmersdelight/recipes/carrot_crate.json delete mode 100644 src/main/resources/data/farmersdelight/recipes/potato_crate.json delete mode 100644 src/main/resources/pack.mcmeta 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..206a37a07 --- /dev/null +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -0,0 +1,21 @@ +// 1.20.1 2023-08-11T12:48:49.7231333 Registries +4387b3e6bd6f9ff8d3ae66e966e738a5fde4337f data/farmersdelight/damage_type/stove_burn.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/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/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/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/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/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/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/registry/ModBiomeModifiers.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java index 0afb63ee6..9ef41a367 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_RICE, 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/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/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..886cd1a75 --- /dev/null +++ b/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java @@ -0,0 +1,25 @@ +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 vectorwing.farmersdelight.FarmersDelight; +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); + + public DatapackRegistries(PackOutput output, CompletableFuture future) { + super(output, future, BUILDER, Set.of("minecraft", FarmersDelight.MODID)); + } +} 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/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/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/brown_mushroom_colony.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json deleted file mode 100644 index 2ccb68c15..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "farmersdelight:add_features_by_filter", - "allowed_biomes": "#forge:is_mushroom", - "features": "farmersdelight:patch_brown_mushroom_colony", - "step": "vegetal_decoration" -} \ No newline at end of file diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json deleted file mode 100644 index aee7075bb..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "type": "farmersdelight:add_features_by_filter", - "allowed_biomes": "#forge:is_mushroom", - "features": "farmersdelight:patch_red_mushroom_colony", - "step": "vegetal_decoration" -} \ 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/forge/biome_modifier/wild_carrots.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json deleted file mode 100644 index 78e1a3c9e..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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, - "features": "farmersdelight:patch_wild_carrots", - "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/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json deleted file mode 100644 index 90ed617b7..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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, - "features": "farmersdelight:patch_wild_onions", - "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/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json deleted file mode 100644 index 5103ebb5b..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "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", - "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/main/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json deleted file mode 100644 index c5d504b45..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "farmersdelight:add_features_by_filter", - "allowed_biomes": "#forge:is_wet/overworld", - "denied_biomes": "#forge:is_underground", - "features": "farmersdelight:patch_wild_rice", - "step": "vegetal_decoration" -} \ No newline at end of file diff --git a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json b/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json deleted file mode 100644 index 1fce0edad..000000000 --- a/src/main/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "type": "farmersdelight:add_features_by_filter", - "allowed_biomes": "#forge:is_hot/overworld", - "denied_biomes": "#forge:is_wet", - "features": "farmersdelight:patch_wild_tomatoes", - "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 - } -} From cb8fe336ae02d54290b59ddaff389eb9c694c443 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Aug 2023 18:15:01 -0600 Subject: [PATCH 2/3] some import and logic cleanup --- .../client/event/ClientSetupEvents.java | 1 - .../client/gui/ComfortHealthOverlay.java | 4 +- .../client/gui/CookingPotScreen.java | 3 +- .../client/gui/NourishmentHungerOverlay.java | 4 +- .../client/model/WrappedItemModel.java | 1 - .../client/renderer/CanvasSignRenderer.java | 2 +- .../client/renderer/CuttingBoardRenderer.java | 1 - .../renderer/HangingCanvasSignRenderer.java | 2 +- .../client/renderer/SkilletRenderer.java | 1 - .../farmersdelight/common/Configuration.java | 66 +++++++++---------- .../common/block/BasketBlock.java | 2 - .../common/block/CanvasRugBlock.java | 4 -- .../common/block/CookingPotBlock.java | 1 - .../common/block/OrganicCompostBlock.java | 2 +- .../farmersdelight/common/block/PieBlock.java | 1 - .../common/block/RiceBaleBlock.java | 1 - .../common/block/RiceRollMedleyBlock.java | 6 -- .../common/block/SafetyNetBlock.java | 4 -- .../common/block/SkilletBlock.java | 2 - .../common/block/TatamiBlock.java | 6 +- .../common/block/TatamiHalfMatBlock.java | 2 - .../common/block/TatamiMatBlock.java | 1 - .../common/block/TomatoVineBlock.java | 1 - .../block/entity/CabinetBlockEntity.java | 2 +- .../block/entity/CuttingBoardBlockEntity.java | 2 +- .../entity/HangingCanvasSignBlockEntity.java | 1 - .../block/entity/SkilletBlockEntity.java | 4 -- .../common/block/entity/StoveBlockEntity.java | 2 +- .../container/CookingPotResultSlot.java | 1 - .../common/crafting/CookingPotRecipe.java | 2 +- .../common/entity/RottenTomatoEntity.java | 1 - .../common/item/DrinkableItem.java | 2 - .../loot/function/CopySkilletFunction.java | 1 - .../mixin/HideBlockBreakProgressMixin.java | 2 +- .../common/registry/ModAdvancements.java | 2 +- .../common/registry/ModBlocks.java | 1 - .../registry/ModPlacementModifiers.java | 1 - .../common/registry/ModRecipeTypes.java | 1 - .../farmersdelight/common/tag/ForgeTags.java | 2 - .../farmersdelight/data/ItemTags.java | 1 - .../farmersdelight/data/Recipes.java | 1 - .../data/recipe/SmeltingRecipes.java | 5 +- .../ActionRemoveCuttingBoardRecipe.java | 2 - .../handlers/CuttingBoardRecipeHandler.java | 1 - .../handlers/RecipeHandlerUtils.java | 1 - .../managers/CookingPotRecipeManager.java | 2 +- .../jei/category/CookingRecipeCategory.java | 1 - .../jei/category/CuttingRecipeCategory.java | 1 - 48 files changed, 51 insertions(+), 109 deletions(-) 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/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/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/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/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/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/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/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/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/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/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; From 07e7ffb34fd18ba33f64be56cdf3ae183ea9a503 Mon Sep 17 00:00:00 2001 From: GizmoTheMoonPig <67468252+GizmoTheMoonPig@users.noreply.github.com> Date: Fri, 11 Aug 2023 18:41:48 -0600 Subject: [PATCH 3/3] I FORGOT TO ADD THIS TO DATAGEN WTF --- .../.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 | 11 ++++++++++- .../forge/biome_modifier/brown_mushroom_colony.json | 6 ++++++ .../forge/biome_modifier/red_mushroom_colony.json | 6 ++++++ .../forge/biome_modifier/wild_beetroots.json | 6 ++++++ .../forge/biome_modifier/wild_cabbages.json | 6 ++++++ .../forge/biome_modifier/wild_carrots.json | 12 ++++++++++++ .../forge/biome_modifier/wild_onions.json | 9 +++++++++ .../forge/biome_modifier/wild_potatoes.json | 9 +++++++++ .../forge/biome_modifier/wild_rice.json | 7 +++++++ .../forge/biome_modifier/wild_tomatoes.json | 7 +++++++ .../common/registry/ModBiomeModifiers.java | 2 +- .../farmersdelight/data/DatapackRegistries.java | 5 ++++- 12 files changed, 83 insertions(+), 3 deletions(-) create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_beetroots.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_cabbages.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json create mode 100644 src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json diff --git a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 index 206a37a07..1cc5f2444 100644 --- a/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 +++ b/src/generated/resources/.cache/103d9f3f36b01595f1aa5172191e60eff02e6924 @@ -1,5 +1,14 @@ -// 1.20.1 2023-08-11T12:48:49.7231333 Registries +// 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 diff --git a/src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json new file mode 100644 index 000000000..2ccb68c15 --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/brown_mushroom_colony.json @@ -0,0 +1,6 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#forge:is_mushroom", + "features": "farmersdelight:patch_brown_mushroom_colony", + "step": "vegetal_decoration" +} \ No newline at end of file diff --git a/src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json new file mode 100644 index 000000000..aee7075bb --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/red_mushroom_colony.json @@ -0,0 +1,6 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#forge:is_mushroom", + "features": "farmersdelight:patch_red_mushroom_colony", + "step": "vegetal_decoration" +} \ No newline at end of file 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/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json new file mode 100644 index 000000000..18bda75fa --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_carrots.json @@ -0,0 +1,12 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#minecraft:is_overworld", + "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/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json new file mode 100644 index 000000000..bd1430f9e --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_onions.json @@ -0,0 +1,9 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#minecraft:is_overworld", + "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/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json new file mode 100644 index 000000000..2b773b00d --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_potatoes.json @@ -0,0 +1,9 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#minecraft:is_overworld", + "denied_biomes": "#forge:is_underground", + "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/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json new file mode 100644 index 000000000..c5d504b45 --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_rice.json @@ -0,0 +1,7 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#forge:is_wet/overworld", + "denied_biomes": "#forge:is_underground", + "features": "farmersdelight:patch_wild_rice", + "step": "vegetal_decoration" +} \ No newline at end of file diff --git a/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json new file mode 100644 index 000000000..1fce0edad --- /dev/null +++ b/src/generated/resources/data/farmersdelight/forge/biome_modifier/wild_tomatoes.json @@ -0,0 +1,7 @@ +{ + "type": "farmersdelight:add_features_by_filter", + "allowed_biomes": "#forge:is_hot/overworld", + "denied_biomes": "#forge:is_wet", + "features": "farmersdelight:patch_wild_tomatoes", + "step": "vegetal_decoration" +} \ No newline at end of file diff --git a/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java b/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java index 9ef41a367..e0d745ce4 100644 --- a/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java +++ b/src/main/java/vectorwing/farmersdelight/common/registry/ModBiomeModifiers.java @@ -64,6 +64,6 @@ public static void bootstrap(BootstapContext context) { 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_RICE, 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)); + 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/data/DatapackRegistries.java b/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java index 886cd1a75..fa2551ed2 100644 --- a/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java +++ b/src/main/java/vectorwing/farmersdelight/data/DatapackRegistries.java @@ -5,7 +5,9 @@ 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; @@ -17,7 +19,8 @@ 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(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));