From 7b7de0371d99090ebe582e3b2a821cec132799d7 Mon Sep 17 00:00:00 2001 From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:58:18 -0700 Subject: [PATCH] Fixing up some bugs --- .../711e6e4ef0ec2176e93c58a9656c8098f7158439 | 4 +- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 40 ++++++- .../assets/exdeorum/models/item/end_cake.json | 6 + .../exdeorum/models/item/sculk_core.json | 6 + .../advancements/recipes/food/end_cake.json | 35 ++++++ .../advancements/recipes/misc/sculk_core.json | 35 ++++++ .../recipes/barrel_compost/bamboo.json | 7 ++ .../recipes/barrel_compost/cactus.json | 7 ++ .../recipes/barrel_compost/chorus_flower.json | 7 ++ .../recipes/barrel_compost/chorus_fruit.json | 7 ++ .../recipes/barrel_compost/chorus_plant.json | 7 ++ .../recipes/barrel_compost/dead_bush.json | 7 ++ .../exdeorum/recipes/barrel_compost/kelp.json | 2 +- .../recipes/barrel_compost/rabbit_foot.json | 2 +- .../recipes/barrel_compost/sea_pickle.json | 7 ++ .../recipes/barrel_compost/spore_blossom.json | 7 ++ .../barrel_compost/spores_and_seeds.json | 18 +++ .../barrel_compost/twisting_vines.json | 7 ++ .../recipes/barrel_compost/weeping_vines.json | 7 ++ .../data/exdeorum/recipes/end_cake.json | 27 +++++ .../recipes/lava_crucible/netherrack.json | 2 +- .../data/exdeorum/recipes/sculk_core.json | 21 ++++ .../diamond/chorus_flower.json | 13 +++ .../diamond/chorus_fruit.json | 13 +++ .../crushed_end_stone/diamond/ender_eye.json | 13 +++ .../diamond/ender_pearl.json | 13 +++ .../flint/chorus_flower.json | 13 +++ .../crushed_end_stone/flint/chorus_fruit.json | 13 +++ .../crushed_end_stone/flint/ender_eye.json | 13 +++ .../crushed_end_stone/flint/ender_pearl.json | 13 +++ .../golden/chorus_flower.json | 13 +++ .../golden/chorus_fruit.json | 13 +++ .../crushed_end_stone/golden/ender_eye.json | 13 +++ .../crushed_end_stone/golden/ender_pearl.json | 13 +++ .../crushed_end_stone/iron/chorus_flower.json | 13 +++ .../crushed_end_stone/iron/chorus_fruit.json | 13 +++ .../crushed_end_stone/iron/ender_eye.json | 13 +++ .../crushed_end_stone/iron/ender_pearl.json | 13 +++ .../netherite/chorus_flower.json | 13 +++ .../netherite/chorus_fruit.json | 13 +++ .../netherite/echo_shard.json | 13 +++ .../netherite/ender_eye.json | 13 +++ .../netherite/ender_pearl.json | 13 +++ .../netherite/sculk_shrieker.json | 13 +++ .../string/chorus_flower.json | 13 +++ .../string/chorus_fruit.json | 13 +++ .../crushed_end_stone/string/ender_eye.json | 13 +++ .../crushed_end_stone/string/ender_pearl.json | 13 +++ .../moss_block/diamond/spore_blossom.json | 13 +++ .../sieve/moss_block/flint/spore_blossom.json | 13 +++ .../moss_block/golden/spore_blossom.json | 13 +++ .../sieve/moss_block/iron/spore_blossom.json | 13 +++ .../moss_block/netherite/spore_blossom.json | 13 +++ .../moss_block/string/spore_blossom.json | 13 +++ .../coast_armor_trim_smithing_template.json | 13 +++ .../host_armor_trim_smithing_template.json | 13 +++ .../raiser_armor_trim_smithing_template.json | 13 +++ .../shaper_armor_trim_smithing_template.json | 13 +++ ...ayfinder_armor_trim_smithing_template.json | 13 +++ .../recipes/water_crucible/beetroot.json | 10 ++ .../recipes/water_crucible/carrot.json | 10 ++ .../recipes/water_crucible/grass.json | 15 +++ .../recipes/water_crucible/grass_block.json | 10 ++ .../recipes/water_crucible/lily_pad.json | 2 +- .../exdeorum/recipes/water_crucible/moss.json | 10 ++ .../recipes/water_crucible/moss_carpet.json | 10 ++ .../recipes/water_crucible/mushrooms.json | 10 ++ .../recipes/water_crucible/potato.json | 10 ++ .../recipes/water_crucible/sea_pickle.json | 10 ++ .../recipes/water_crucible/seagrass.json | 10 ++ .../recipes/water_crucible/seeds.json | 10 ++ .../water_crucible/seeds_and_spores.json | 21 ++++ .../recipes/water_crucible/spore_blossom.json | 10 ++ .../recipes/water_crucible/sugar_cane.json | 10 ++ .../exdeorum/recipes/water_crucible/vine.json | 10 ++ .../tags/blocks/watering_can_tickable.json | 17 +++ .../tags/items/end_cake_materials.json | 5 + .../tags/blocks/mineable/shovel.json | 9 ++ .../exdeorum/block/InfestedLeavesBlock.java | 3 +- .../AbstractCrucibleBlockEntity.java | 15 ++- .../exdeorum/client/CompostColors.java | 5 +- .../exdeorum/client/RenderUtil.java | 21 ++-- .../exdeorum/client/ter/BarrelRenderer.java | 2 +- .../exdeorum/client/ter/CrucibleRenderer.java | 6 +- .../thedarkcolour/exdeorum/compat/ModIds.java | 24 ++++ .../compat/jei/BarrelMixingCategory.java | 4 +- .../exdeorum/config/EConfig.java | 23 +++- .../thedarkcolour/exdeorum/data/ModTags.java | 7 ++ .../thedarkcolour/exdeorum/data/Recipes.java | 46 +++++--- .../exdeorum/event/EventHandler.java | 16 ++- .../exdeorum/item/SculkCoreItem.java | 7 +- .../exdeorum/item/WateringCanItem.java | 33 ++++-- .../exdeorum/recipe/TagResultRecipe.java | 104 ++++++++++++++++++ .../exdeorum/registry/EBlocks.java | 23 ++-- .../exdeorum/registry/ERecipeSerializers.java | 3 + .../exdeorum/registry/ERecipeTypes.java | 3 + .../exdeorum/tag/EBlockTags.java | 33 ++++++ .../exdeorum/textures/item/end_cake.png | Bin 0 -> 372 bytes .../exdeorum/recipe/RecipeUtilTest.java | 1 + 99 files changed, 1250 insertions(+), 77 deletions(-) create mode 100644 src/generated/resources/assets/exdeorum/models/item/end_cake.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/sculk_core.json create mode 100644 src/generated/resources/data/exdeorum/advancements/recipes/food/end_cake.json create mode 100644 src/generated/resources/data/exdeorum/advancements/recipes/misc/sculk_core.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/bamboo.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/cactus.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_plant.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/dead_bush.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/sea_pickle.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/spores_and_seeds.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/twisting_vines.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_compost/weeping_vines.json create mode 100644 src/generated/resources/data/exdeorum/recipes/end_cake.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sculk_core.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/echo_shard.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/sculk_shrieker.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_flower.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_fruit.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_eye.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_pearl.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/coast_armor_trim_smithing_template.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/host_armor_trim_smithing_template.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/raiser_armor_trim_smithing_template.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/shaper_armor_trim_smithing_template.json create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/wayfinder_armor_trim_smithing_template.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/beetroot.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/carrot.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/grass.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/grass_block.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/moss.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/moss_carpet.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/mushrooms.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/potato.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/sea_pickle.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/seagrass.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/seeds.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/seeds_and_spores.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/spore_blossom.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/sugar_cane.json create mode 100644 src/generated/resources/data/exdeorum/recipes/water_crucible/vine.json create mode 100644 src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json create mode 100644 src/generated/resources/data/exdeorum/tags/items/end_cake_materials.json create mode 100644 src/generated/resources/data/minecraft/tags/blocks/mineable/shovel.json create mode 100644 src/main/java/thedarkcolour/exdeorum/compat/ModIds.java create mode 100644 src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java create mode 100644 src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java create mode 100644 src/main/resources/assets/exdeorum/textures/item/end_cake.png diff --git a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 index ee0b3286..cabbcca6 100644 --- a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 +++ b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 @@ -1,5 +1,7 @@ -// 1.20.1 2023-08-07T23:41:30.832699 Tags for minecraft:block mod id exdeorum +// 1.20.1 2023-08-09T20:30:27.4274718 Tags for minecraft:block mod id exdeorum +187f79162711777f2242b8184a878ad9f2d775f2 data/exdeorum/tags/blocks/watering_can_tickable.json f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/leaves.json 2fb8f4567073001f8a70968950e8a728144e1214 data/minecraft/tags/blocks/mineable/axe.json f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/mineable/hoe.json a23ae1801375c0c9525c3d712cb0eeb87174c219 data/minecraft/tags/blocks/mineable/pickaxe.json +0fc927ffe01dd23fd511dea057c7894680ae9807 data/minecraft/tags/blocks/mineable/shovel.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index b3e69c67..cdf931c5 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2023-08-08T15:59:08.3284326 Recipes +// 1.20.1 2023-08-09T22:07:08.2490849 Recipes 5ad481a0c376c1a1785a5d3b992064d0ec0bf3b0 data/exdeorum/advancements/recipes/food/end_cake.json 25dd027e844a72b03c95dbe5e3c3dd8c738ceb00 data/exdeorum/advancements/recipes/misc/acacia_barrel.json 376be94a64c9ca97a9ea2346547b6e617f13a815 data/exdeorum/advancements/recipes/misc/acacia_crucible.json @@ -84,21 +84,27 @@ b04a381b3dc085153b5acc8085792297be9f5abb data/exdeorum/recipes/acacia_crucible.j ffd7c016eef42ed756f88aed5dbf6bd7c1d61767 data/exdeorum/recipes/bamboo_crucible.json 233f10c1363ab42fc9556c6533634db8c288b43f data/exdeorum/recipes/bamboo_sieve.json 7940ebf503b4fa5a89b5279f623a9aeda8629940 data/exdeorum/recipes/barrel_compost/apple.json +99202b6fff6163156770be24fb2e9b7dd9b61885 data/exdeorum/recipes/barrel_compost/bamboo.json 1b13c3e0c90d978f574e865d951e05f29b1fb77b data/exdeorum/recipes/barrel_compost/beef.json 7b2e90d846a0ee0ae4db096448ebc4f7b73c7485 data/exdeorum/recipes/barrel_compost/beetroot.json 33b36a52c05f2c9ea4d501cf7ce34626dd4fe08a data/exdeorum/recipes/barrel_compost/beetroot_soup.json 96cd94a5121301bb47bc8b6c89cdccc05c9b76dd data/exdeorum/recipes/barrel_compost/berries.json 30c75da3bbf2917418045d6b971572cafa970e09 data/exdeorum/recipes/barrel_compost/bread.json +9396ffe81f82401ad3c583bd9f418b0da1775a08 data/exdeorum/recipes/barrel_compost/cactus.json 177efefdd5b58a1feab7e93986631edbb69644ad data/exdeorum/recipes/barrel_compost/cake.json 2494118c311271ea0eac052e9f379e651f576b19 data/exdeorum/recipes/barrel_compost/carrots.json 33e7e6193af5fb1e818e155d13f7fa5191811d3d data/exdeorum/recipes/barrel_compost/chicken.json +ff51c9b05dba8297d2aa5031d5a9e32007d05351 data/exdeorum/recipes/barrel_compost/chorus_flower.json +e7845703d2de3304d06b697373a0528f6c84952d data/exdeorum/recipes/barrel_compost/chorus_fruit.json +e1b7b92f1a348440188ea6aacccd3591a00c862d data/exdeorum/recipes/barrel_compost/chorus_plant.json fdb1992a1f288ad308a32661d471ab08675011d0 data/exdeorum/recipes/barrel_compost/cod.json 1f04665bbda29747d8071cf45114a86a41415cb6 data/exdeorum/recipes/barrel_compost/cookie.json +f6ee5b900f693e7839961e26fa690b1df4eaa893 data/exdeorum/recipes/barrel_compost/dead_bush.json fea2a11e64ae425b6dcc29480e9793fad877792b data/exdeorum/recipes/barrel_compost/egg.json 09f8e54e4112aa8f163967130087c9a24f9d03a0 data/exdeorum/recipes/barrel_compost/fermented_spider_eye.json 79bbe21466b4700c57cdcaeb15ebc5af741eafd4 data/exdeorum/recipes/barrel_compost/golden_apples.json 7e4e8500b94b97fded88c19b66b5c4f2fa8c3b38 data/exdeorum/recipes/barrel_compost/grass.json -b26f3f6922af80bbe8830ad00844880ab5d1d389 data/exdeorum/recipes/barrel_compost/kelp.json +48e6e1cb9f5a9208a6f6110328c592a087a0c04d data/exdeorum/recipes/barrel_compost/kelp.json dbc452bd95428da7c2c44fe0f2f55c04a0939e25 data/exdeorum/recipes/barrel_compost/leaves.json ef787402b9a0735b03fd72f2f6eac1a312de54d1 data/exdeorum/recipes/barrel_compost/lily_pad.json 1173cffa62b08f64f95456808197800883f8e754 data/exdeorum/recipes/barrel_compost/melon.json @@ -115,24 +121,28 @@ f53dc1607f4f2cffb472a89c1295061a78393bc8 data/exdeorum/recipes/barrel_compost/pu b691840022019ce1ebcb8528f77066e68162e58c data/exdeorum/recipes/barrel_compost/pumpkin.json 8e293fa1db1397714f8e41c8f13f6a8e59566edc data/exdeorum/recipes/barrel_compost/pumpkin_pie.json c648fa75a79e170a8a882a92b20ee3a6780b5849 data/exdeorum/recipes/barrel_compost/rabbit.json -763e95952aabe2520e4c623aaed3a34cf6397e91 data/exdeorum/recipes/barrel_compost/rabbit_foot.json +76aa0436b058163a9d3aef9541fe7f398ed8995c data/exdeorum/recipes/barrel_compost/rabbit_foot.json 9e184580291c74607690a8c26ddec3c62d020fd8 data/exdeorum/recipes/barrel_compost/rabbit_stew.json c720509d8f087f6b6a95b86f66068e94d09ecb56 data/exdeorum/recipes/barrel_compost/rotten_flesh.json 2e7fda4c3ae928ad3fa442e30deec859f4e8b143 data/exdeorum/recipes/barrel_compost/salmon.json 12e54efe4b3b86d27b57c8169e3c0ae873ab781f data/exdeorum/recipes/barrel_compost/saplings.json 67f76ee0fd778b1cacf014d04010d8dae0bc9501 data/exdeorum/recipes/barrel_compost/seagrass.json +7589caff9f198eeda1f7690c969759ab05bba5e2 data/exdeorum/recipes/barrel_compost/sea_pickle.json 226beec982c238b26acef781942b2ebdde3eb5a0 data/exdeorum/recipes/barrel_compost/seeds.json 0448b2c0b447b8f9143cca678d3caf9a66fb81d2 data/exdeorum/recipes/barrel_compost/silk_worms.json e0a9b437cd796c609fb8719325661c6117f59d4f data/exdeorum/recipes/barrel_compost/small_flowers.json 8f8075014f8f4200abd8253b5135d23cd37d45ba data/exdeorum/recipes/barrel_compost/spider_eye.json 61aa8e3c09be7880fad18822ed8d051e986c9772 data/exdeorum/recipes/barrel_compost/spores_and_seeds.json +9d661193a7dd59c10fb6c4e3278e22a463a1902a data/exdeorum/recipes/barrel_compost/spore_blossom.json 0f979382681cc620280b2dc12cd28687ca2d46f9 data/exdeorum/recipes/barrel_compost/string.json e6077478cfc6b699909e15fd4f2113e703c4046f data/exdeorum/recipes/barrel_compost/sugar_cane.json ef56ceb8bdda8c13d3d1dc2d6a2355789f3f1634 data/exdeorum/recipes/barrel_compost/suspicious_stew.json ea698e109eb94b25b670be314de756955b3e1d58 data/exdeorum/recipes/barrel_compost/tall_flowers.json b6c9b1329b400953c4239eb0444367772a2f67a8 data/exdeorum/recipes/barrel_compost/tall_grass.json cc365b1961a4d1ac668c1ea33f52a4b74517d8c0 data/exdeorum/recipes/barrel_compost/tropical_fish.json +f17f12ac67e700f7838cb3bab740ec254bbfe13c data/exdeorum/recipes/barrel_compost/twisting_vines.json 653a42a46a6bd977a2eddea7336df4beabbbeecf data/exdeorum/recipes/barrel_compost/vine.json +c4ecb4272c220282de403852031b3ca92651d91c data/exdeorum/recipes/barrel_compost/weeping_vines.json 5677e23fdc74130523d602ebf9e557f659af57c5 data/exdeorum/recipes/barrel_compost/wheat.json 72f969f4db1f82a627df573c866a1b291e540a0a data/exdeorum/recipes/barrel_mixing/end_stone.json 37f73e219fda3c6f56bf55f8ec7f97586ecdbae1 data/exdeorum/recipes/barrel_mixing/ice.json @@ -213,7 +223,7 @@ f4ea515ec72c867b9c0b54df162bd07c62e1a7ce data/exdeorum/recipes/iron_watering_can bffa756563ac5aa791f299ae6d7d042813c2614a data/exdeorum/recipes/jungle_sieve.json d24ed2178e5875da5e0a6f82b5ac9c2ece4b64ff data/exdeorum/recipes/lava_crucible/cobblestone.json 0963c17c9f78907017fa0192c684f016c39f31eb data/exdeorum/recipes/lava_crucible/gravel.json -a23123d1144e9d03450cc373e54237ab64641567 data/exdeorum/recipes/lava_crucible/netherrack.json +e9affa16c926fe63ca2270a81aba4e33cd0b198b data/exdeorum/recipes/lava_crucible/netherrack.json 20744c980e4a68f67acea24af617f1ddb865f9a3 data/exdeorum/recipes/lava_crucible/stone.json 8efa8d7c8da52d42d8e1a831004dfc080423a500 data/exdeorum/recipes/mangrove_barrel.json 95edd369ab19abd17ef56cfa2350a2dc185c7747 data/exdeorum/recipes/mangrove_crucible.json @@ -577,6 +587,7 @@ e31b10ea506eb9a2d94aa9efdd7db4cdd8d78237 data/exdeorum/recipes/sieve/moss_block/ c3cb1b7c924b35323e3d7cb1ffdff46cff7bb849 data/exdeorum/recipes/sieve/moss_block/diamond/mangrove_propagule.json 9cd8e7df8913168eb5f3176e07bb02620025165e data/exdeorum/recipes/sieve/moss_block/diamond/oak_sapling.json 46372d4865910944bc43ef67b7e9f83987bcd591 data/exdeorum/recipes/sieve/moss_block/diamond/small_dripleaf.json +ab9c7574d8d2ca3343f170e8cb9d78737873ee2f data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json f41a1dd1c6a62bc8b34baa677a53e18150185e5a data/exdeorum/recipes/sieve/moss_block/diamond/spruce_sapling.json f81c5c7b83ff1dd7ded1b46cb3b602ce56ae3ba7 data/exdeorum/recipes/sieve/moss_block/flint/acacia_sapling.json c1687b96d45092b8fa43d15caf049dabaf1aa648 data/exdeorum/recipes/sieve/moss_block/flint/big_dripleaf.json @@ -590,6 +601,7 @@ cbd39e058b88538e00884c336289d08a45122d58 data/exdeorum/recipes/sieve/moss_block/ c63138cd4e3095885913923bee0685064442871a data/exdeorum/recipes/sieve/moss_block/flint/mangrove_propagule.json 6f1e11d47cd47a4607ba7da396f1802e2ff3266f data/exdeorum/recipes/sieve/moss_block/flint/oak_sapling.json 01e4ada58ba8c4a5ea450f62e752f9324cfda6d3 data/exdeorum/recipes/sieve/moss_block/flint/small_dripleaf.json +366055d40ffa8bb5df3aa4a173df789ca7387e18 data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json 0f9eb10e52f5800d0543fbbff9c13559095d2e5f data/exdeorum/recipes/sieve/moss_block/flint/spruce_sapling.json 4ac5ebd110597a27940d6d6c8ca5858b5a09d153 data/exdeorum/recipes/sieve/moss_block/flint/sweet_berries.json 862a8042232a5b063cf8fdb30142100a32a04372 data/exdeorum/recipes/sieve/moss_block/golden/acacia_sapling.json @@ -602,6 +614,7 @@ c9aed5b2b7e641177e6cd08968d6a658de5a3779 data/exdeorum/recipes/sieve/moss_block/ 0ad8b7d2ac32bdc810249f9039a355096beca263 data/exdeorum/recipes/sieve/moss_block/golden/mangrove_propagule.json 74979d3b2db6d6fe305c63ee717542a06188d133 data/exdeorum/recipes/sieve/moss_block/golden/oak_sapling.json ab5ae026900f1d6c82f93d8beb2955695ace87fa data/exdeorum/recipes/sieve/moss_block/golden/small_dripleaf.json +47a1c47daea852999f58845e542a7e2a7f43b04a data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json 9ed8aaa5555765dacc2df79e05e8799cf7bc6e5b data/exdeorum/recipes/sieve/moss_block/golden/spruce_sapling.json aa77cca261f061b6c67d7b76cfbee948eb6a3e8d data/exdeorum/recipes/sieve/moss_block/iron/acacia_sapling.json dab4403fa7e1cf72c062422421e609f4f27407be data/exdeorum/recipes/sieve/moss_block/iron/big_dripleaf.json @@ -613,6 +626,7 @@ dab4403fa7e1cf72c062422421e609f4f27407be data/exdeorum/recipes/sieve/moss_block/ 5f508e67c7944764f807b0b55436b33f5e97699b data/exdeorum/recipes/sieve/moss_block/iron/mangrove_propagule.json 6621371034fb0c5ddcaf54fa2d89bf614d84f41e data/exdeorum/recipes/sieve/moss_block/iron/oak_sapling.json e46a4beb26c5f1572354e87bfe4553e0a4122576 data/exdeorum/recipes/sieve/moss_block/iron/small_dripleaf.json +0075db25f4650ba9dc172f15814725754d9f97e5 data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json 93cb208475c16ebfdb286a2704a54b1594354c7f data/exdeorum/recipes/sieve/moss_block/iron/spruce_sapling.json 64ef5a4f025effef3ac4a2b90488c4b910729bec data/exdeorum/recipes/sieve/moss_block/netherite/acacia_sapling.json 415b6baad54d477f2182ff7c2c5f009e85ae9deb data/exdeorum/recipes/sieve/moss_block/netherite/big_dripleaf.json @@ -624,6 +638,7 @@ a216466ec9cace1bd1de0c0c19469e41c49205f9 data/exdeorum/recipes/sieve/moss_block/ e19bd9157fd5fb35ce43953b9ea27e9102945574 data/exdeorum/recipes/sieve/moss_block/netherite/mangrove_propagule.json 21d5202805e1da22beb0c1caee7f721dd937615c data/exdeorum/recipes/sieve/moss_block/netherite/oak_sapling.json 253817ef4f1a350d988df5e122a32fa8fd576819 data/exdeorum/recipes/sieve/moss_block/netherite/small_dripleaf.json +913767318dab8eda863e2816e06164f8b2b7d049 data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json 7b16289fd38e015d5b5f6bfe70314d8a507ca4b0 data/exdeorum/recipes/sieve/moss_block/netherite/spruce_sapling.json 959d21cfb914761dac53844cea56de55f6260a27 data/exdeorum/recipes/sieve/moss_block/string/acacia_sapling.json 6232ad4b9611b1d7276ad22924f878b83df668c0 data/exdeorum/recipes/sieve/moss_block/string/big_dripleaf.json @@ -635,6 +650,7 @@ ee240ebb80802c83d48985d9e431bc12410589a4 data/exdeorum/recipes/sieve/moss_block/ 621c67156656594f50ee49456f4cc58dbd540752 data/exdeorum/recipes/sieve/moss_block/string/mangrove_propagule.json 98bc0e4cd532316a91814bf618588c7cfa389a44 data/exdeorum/recipes/sieve/moss_block/string/oak_sapling.json e5351932ff3700bf95f2ec770cd051f08debee9c data/exdeorum/recipes/sieve/moss_block/string/small_dripleaf.json +64280db27eca51b0aa8fddc970756c1e3a25db08 data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json fec8737e1aba9773807c7cd582c685e4532f488d data/exdeorum/recipes/sieve/moss_block/string/spruce_sapling.json c63500f17bbac4d47caac5a48f3cedfe750916a5 data/exdeorum/recipes/sieve/sand/diamond/flint.json 3b0c8920c2c19e3731e0258bd005b4d2cc2bd5ab data/exdeorum/recipes/sieve/sand/diamond/gold_nugget.json @@ -749,18 +765,30 @@ e6ff95b6fbc43c73a537174e01c9eb519e8fdef1 data/exdeorum/recipes/unfired_porcelain 1ae1b311f2e370c924041da80fea01ac8da870c5 data/exdeorum/recipes/warped_crucible.json 7d589e398d803bc7a30614f6ee4aa0d48ca3540e data/exdeorum/recipes/warped_sieve.json 4fbb682aa185e8d9d945619554dc98015221a4eb data/exdeorum/recipes/water_crucible/apple.json +fa23650a3d75ed6278d9c3860aa6ea086371210b data/exdeorum/recipes/water_crucible/beetroot.json 8fed4fdb981ca82436919a074fc1166a2fc6385d data/exdeorum/recipes/water_crucible/cactus.json +8d9de0f7eb46ffb7990a9ac311ec697dffa40443 data/exdeorum/recipes/water_crucible/carrot.json +b191c567f221393c91baaaf456212caebee30048 data/exdeorum/recipes/water_crucible/grass.json +a71db1fcbabb44ed0a0a709175ca2a419b98caa8 data/exdeorum/recipes/water_crucible/grass_block.json 1a31f9a9826fc882acc135c40845b1f227476c7c data/exdeorum/recipes/water_crucible/leaves.json -08d92cfb7b7e83651d1bc26d3abbe7340fab511f data/exdeorum/recipes/water_crucible/lily_pad.json +0e8f136f5fa986bc1c73e063cad5377597fc1a6d data/exdeorum/recipes/water_crucible/lily_pad.json 27134a6501957007812b98886e16d22cd8517ee0 data/exdeorum/recipes/water_crucible/melon.json d9c0f111e2ae9715cd76a9d5f0ceadce72e34c87 data/exdeorum/recipes/water_crucible/melon_slice.json 3252ccfd40508d9b50e881cee8b5e50e1be7ccee data/exdeorum/recipes/water_crucible/moss.json 8e2e91cb5d81688355ef9ad4f1eb859af24973bb data/exdeorum/recipes/water_crucible/moss_carpet.json +4a5b07cf133e13fc6c2c5d3ea56a60b21d836c27 data/exdeorum/recipes/water_crucible/mushrooms.json +b4674be18b463bed47425ea85f4dd992480c2409 data/exdeorum/recipes/water_crucible/potato.json 0505bf31de1c13f3a22ee2cbdd1595bbb4857692 data/exdeorum/recipes/water_crucible/pumpkin.json 8b04ebb043ce62c0f17adf40cb45431f8e54701f data/exdeorum/recipes/water_crucible/saplings.json -8b68ac02a0b642270163f77c7840a50bae0a54a4 data/exdeorum/recipes/water_crucible/seeds_and_spores.json +c3ac3ad583b38351ae54d5fe291506dd87d402ab data/exdeorum/recipes/water_crucible/seagrass.json +a48d1f3abe9bf8607096ee8be1ec70d670dfd8d3 data/exdeorum/recipes/water_crucible/sea_pickle.json +43440237534dba69b9f4d97b84148b0e6f131c61 data/exdeorum/recipes/water_crucible/seeds.json +7668124adff54b4cc345e1338ec90ed8b84662c9 data/exdeorum/recipes/water_crucible/seeds_and_spores.json dabaaa0c9db5dd4668b528df176606609f45c0ce data/exdeorum/recipes/water_crucible/small_flowers.json +0b210ee847c361d8568e0b581ea1e0dfca16fc6c data/exdeorum/recipes/water_crucible/spore_blossom.json +8198da30f7d529f2350f8e276a7660a15bba0a4f data/exdeorum/recipes/water_crucible/sugar_cane.json 3927d17ed5a24132956fa60b51bdb22e67ef4626 data/exdeorum/recipes/water_crucible/sweet_berries.json 9d4abedfd8af2e988c4f11d62ed66743f3e8ac07 data/exdeorum/recipes/water_crucible/tall_flowers.json +a5333ee537aa0e10b740e20a137a24b7699ff52b data/exdeorum/recipes/water_crucible/vine.json 8356651dbd67d7c3b820a78d0720afa5a1ee5713 data/exdeorum/recipes/wooden_hammer.json 20b1ab005d3c3d552d4300f53444a931b230cb3b data/exdeorum/recipes/wooden_watering_can.json diff --git a/src/generated/resources/assets/exdeorum/models/item/end_cake.json b/src/generated/resources/assets/exdeorum/models/item/end_cake.json new file mode 100644 index 00000000..b7fdbda3 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/end_cake.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/end_cake" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/sculk_core.json b/src/generated/resources/assets/exdeorum/models/item/sculk_core.json new file mode 100644 index 00000000..0f062ecf --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/sculk_core.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/sculk_core" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/food/end_cake.json b/src/generated/resources/data/exdeorum/advancements/recipes/food/end_cake.json new file mode 100644 index 00000000..7fcd1e01 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/food/end_cake.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:crushed_end_stone" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:end_cake" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:end_cake" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/sculk_core.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/sculk_core.json new file mode 100644 index 00000000..e13711f6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/sculk_core.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "minecraft:echo_shard" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:sculk_core" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:sculk_core" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/bamboo.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/bamboo.json new file mode 100644 index 00000000..707048a2 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/bamboo.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:bamboo" + }, + "volume": 100 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/cactus.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/cactus.json new file mode 100644 index 00000000..3cc239ee --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/cactus.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:cactus" + }, + "volume": 125 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_flower.json new file mode 100644 index 00000000..972f0cc6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_flower.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:chorus_flower" + }, + "volume": 150 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_fruit.json new file mode 100644 index 00000000..97988fc5 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_fruit.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:chorus_fruit" + }, + "volume": 80 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_plant.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_plant.json new file mode 100644 index 00000000..116edc43 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/chorus_plant.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:chorus_plant" + }, + "volume": 150 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/dead_bush.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/dead_bush.json new file mode 100644 index 00000000..902872e9 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/dead_bush.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:dead_bush" + }, + "volume": 80 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/kelp.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/kelp.json index e5590139..5be38bda 100644 --- a/src/generated/resources/data/exdeorum/recipes/barrel_compost/kelp.json +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/kelp.json @@ -8,5 +8,5 @@ "item": "minecraft:dried_kelp" } ], - "volume": 40 + "volume": 80 } \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/rabbit_foot.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/rabbit_foot.json index 976e6272..2c37d4a9 100644 --- a/src/generated/resources/data/exdeorum/recipes/barrel_compost/rabbit_foot.json +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/rabbit_foot.json @@ -3,5 +3,5 @@ "ingredient": { "item": "minecraft:rabbit_foot" }, - "volume": 40 + "volume": 100 } \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/sea_pickle.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/sea_pickle.json new file mode 100644 index 00000000..ca8815d5 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/sea_pickle.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:sea_pickle" + }, + "volume": 80 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/spore_blossom.json new file mode 100644 index 00000000..f3ec7fa5 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/spore_blossom.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:spore_blossom" + }, + "volume": 125 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/spores_and_seeds.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/spores_and_seeds.json new file mode 100644 index 00000000..44494d85 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/spores_and_seeds.json @@ -0,0 +1,18 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": [ + { + "item": "exdeorum:grass_seeds" + }, + { + "item": "exdeorum:mycelium_spores" + }, + { + "item": "exdeorum:warped_nylium_spores" + }, + { + "item": "exdeorum:crimson_nylium_spores" + } + ], + "volume": 80 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/twisting_vines.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/twisting_vines.json new file mode 100644 index 00000000..41958216 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/twisting_vines.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:twisting_vines" + }, + "volume": 100 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_compost/weeping_vines.json b/src/generated/resources/data/exdeorum/recipes/barrel_compost/weeping_vines.json new file mode 100644 index 00000000..7db29a84 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_compost/weeping_vines.json @@ -0,0 +1,7 @@ +{ + "type": "exdeorum:barrel_compost", + "ingredient": { + "item": "minecraft:weeping_vines" + }, + "volume": 100 +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/end_cake.json b/src/generated/resources/data/exdeorum/recipes/end_cake.json new file mode 100644 index 00000000..1f900a18 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/end_cake.json @@ -0,0 +1,27 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "C": { + "item": "exdeorum:crushed_end_stone" + }, + "E": { + "tag": "forge:eggs" + }, + "P": { + "item": "minecraft:ender_eye" + }, + "S": { + "item": "minecraft:sugar" + } + }, + "pattern": [ + "PPP", + "SES", + "CCC" + ], + "result": { + "item": "exdeorum:end_cake" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/lava_crucible/netherrack.json b/src/generated/resources/data/exdeorum/recipes/lava_crucible/netherrack.json index 90f48391..54169313 100644 --- a/src/generated/resources/data/exdeorum/recipes/lava_crucible/netherrack.json +++ b/src/generated/resources/data/exdeorum/recipes/lava_crucible/netherrack.json @@ -1,7 +1,7 @@ { "type": "exdeorum:lava_crucible", "fluid": { - "Amount": 1000, + "Amount": 500, "FluidName": "minecraft:lava" }, "ingredient": { diff --git a/src/generated/resources/data/exdeorum/recipes/sculk_core.json b/src/generated/resources/data/exdeorum/recipes/sculk_core.json new file mode 100644 index 00000000..06df14c7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sculk_core.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "minecraft:echo_shard" + }, + "O": { + "item": "minecraft:ender_pearl" + } + }, + "pattern": [ + " # ", + "#O#", + " # " + ], + "result": { + "item": "exdeorum:sculk_core" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_flower.json new file mode 100644 index 00000000..b3a19bcc --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.04 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_fruit.json new file mode 100644 index 00000000..d1baeb34 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.1 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_eye.json new file mode 100644 index 00000000..7d6d504a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.09 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_pearl.json new file mode 100644 index 00000000..28fc65d5 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.15 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_flower.json new file mode 100644 index 00000000..f8d59afc --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:flint_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.06 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_fruit.json new file mode 100644 index 00000000..13cea702 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:flint_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.11 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_eye.json new file mode 100644 index 00000000..db69329b --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:flint_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.03 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_pearl.json new file mode 100644 index 00000000..db3888ed --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/flint/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:flint_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.08 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_flower.json new file mode 100644 index 00000000..71b13429 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.06 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_fruit.json new file mode 100644 index 00000000..00588dc9 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.12 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_eye.json new file mode 100644 index 00000000..a88ce22c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.07 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_pearl.json new file mode 100644 index 00000000..072ed5fd --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/golden/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.12 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_flower.json new file mode 100644 index 00000000..49cd38d4 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:iron_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.07 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_fruit.json new file mode 100644 index 00000000..b49cc03e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:iron_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.13 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_eye.json new file mode 100644 index 00000000..37272a42 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:iron_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.04 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_pearl.json new file mode 100644 index 00000000..a7150d11 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/iron/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:iron_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.1 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_flower.json new file mode 100644 index 00000000..1a79fdd0 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.04 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_fruit.json new file mode 100644 index 00000000..916a0f11 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.1 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/echo_shard.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/echo_shard.json new file mode 100644 index 00000000..b7abf137 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/echo_shard.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:echo_shard", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.03 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_eye.json new file mode 100644 index 00000000..3569f7ca --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.09 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_pearl.json new file mode 100644 index 00000000..694de362 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.17 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/sculk_shrieker.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/sculk_shrieker.json new file mode 100644 index 00000000..490caed6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/netherite/sculk_shrieker.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:sculk_shrieker", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_flower.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_flower.json new file mode 100644 index 00000000..42e873bb --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_flower.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:string_mesh", + "result": "minecraft:chorus_flower", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.04 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_fruit.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_fruit.json new file mode 100644 index 00000000..e8482654 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/chorus_fruit.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:string_mesh", + "result": "minecraft:chorus_fruit", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.09 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_eye.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_eye.json new file mode 100644 index 00000000..c7a5f2e4 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_eye.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:string_mesh", + "result": "minecraft:ender_eye", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.02 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_pearl.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_pearl.json new file mode 100644 index 00000000..363e827e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_pearl.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_end_stone" + }, + "mesh": "exdeorum:string_mesh", + "result": "minecraft:ender_pearl", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.07 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json new file mode 100644 index 00000000..3ff0682c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.089999996 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json new file mode 100644 index 00000000..416a4087 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:flint_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.044999998 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json new file mode 100644 index 00000000..1fb4defd --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.074999996 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json new file mode 100644 index 00000000..9023158f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:iron_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.06 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json new file mode 100644 index 00000000..e8b2623d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.105 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json new file mode 100644 index 00000000..f8764533 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:moss_block" + }, + "mesh": "exdeorum:string_mesh", + "result": "minecraft:spore_blossom", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.03 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/coast_armor_trim_smithing_template.json b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/coast_armor_trim_smithing_template.json new file mode 100644 index 00000000..f21dab2d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/coast_armor_trim_smithing_template.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:sand" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:coast_armor_trim_smithing_template", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/host_armor_trim_smithing_template.json b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/host_armor_trim_smithing_template.json new file mode 100644 index 00000000..ba251e0e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/host_armor_trim_smithing_template.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:sand" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:host_armor_trim_smithing_template", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/raiser_armor_trim_smithing_template.json b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/raiser_armor_trim_smithing_template.json new file mode 100644 index 00000000..07813162 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/raiser_armor_trim_smithing_template.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:sand" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:raiser_armor_trim_smithing_template", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/shaper_armor_trim_smithing_template.json b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/shaper_armor_trim_smithing_template.json new file mode 100644 index 00000000..fca03aa2 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/shaper_armor_trim_smithing_template.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:sand" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:shaper_armor_trim_smithing_template", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/wayfinder_armor_trim_smithing_template.json b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/wayfinder_armor_trim_smithing_template.json new file mode 100644 index 00000000..0e4ba915 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/sand/golden/wayfinder_armor_trim_smithing_template.json @@ -0,0 +1,13 @@ +{ + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:sand" + }, + "mesh": "exdeorum:golden_mesh", + "result": "minecraft:wayfinder_armor_trim_smithing_template", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.01 + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/beetroot.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/beetroot.json new file mode 100644 index 00000000..e0cc1b21 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/beetroot.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:beetroot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/carrot.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/carrot.json new file mode 100644 index 00000000..a53fe8ac --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/carrot.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:carrot" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/grass.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/grass.json new file mode 100644 index 00000000..05bb7d19 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/grass.json @@ -0,0 +1,15 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": [ + { + "item": "minecraft:grass" + }, + { + "item": "minecraft:tall_grass" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/grass_block.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/grass_block.json new file mode 100644 index 00000000..fe283447 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/grass_block.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 150, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:grass_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/lily_pad.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/lily_pad.json index 46b60662..6293397e 100644 --- a/src/generated/resources/data/exdeorum/recipes/water_crucible/lily_pad.json +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/lily_pad.json @@ -1,7 +1,7 @@ { "type": "exdeorum:water_crucible", "fluid": { - "Amount": 100, + "Amount": 150, "FluidName": "minecraft:water" }, "ingredient": { diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/moss.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/moss.json new file mode 100644 index 00000000..f854e677 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/moss.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 150, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:moss_block" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/moss_carpet.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/moss_carpet.json new file mode 100644 index 00000000..36ae68ab --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/moss_carpet.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:moss_carpet" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/mushrooms.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/mushrooms.json new file mode 100644 index 00000000..15467f56 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/mushrooms.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "tag": "forge:mushrooms" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/potato.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/potato.json new file mode 100644 index 00000000..9fbb475c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/potato.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:potato" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/sea_pickle.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/sea_pickle.json new file mode 100644 index 00000000..2bea9fc6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/sea_pickle.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 200, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:sea_pickle" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/seagrass.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/seagrass.json new file mode 100644 index 00000000..1e5c836d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/seagrass.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:seagrass" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds.json new file mode 100644 index 00000000..f2109e01 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 50, + "FluidName": "minecraft:water" + }, + "ingredient": { + "tag": "forge:seeds" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds_and_spores.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds_and_spores.json new file mode 100644 index 00000000..603ce51d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/seeds_and_spores.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 50, + "FluidName": "minecraft:water" + }, + "ingredient": [ + { + "item": "exdeorum:grass_seeds" + }, + { + "item": "exdeorum:mycelium_spores" + }, + { + "item": "exdeorum:warped_nylium_spores" + }, + { + "item": "exdeorum:crimson_nylium_spores" + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/spore_blossom.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/spore_blossom.json new file mode 100644 index 00000000..dfca2ae7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/spore_blossom.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 150, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:spore_blossom" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/sugar_cane.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/sugar_cane.json new file mode 100644 index 00000000..289d874a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/sugar_cane.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:sugar_cane" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/water_crucible/vine.json b/src/generated/resources/data/exdeorum/recipes/water_crucible/vine.json new file mode 100644 index 00000000..fc57ad1e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/water_crucible/vine.json @@ -0,0 +1,10 @@ +{ + "type": "exdeorum:water_crucible", + "fluid": { + "Amount": 100, + "FluidName": "minecraft:water" + }, + "ingredient": { + "item": "minecraft:vine" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json b/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json new file mode 100644 index 00000000..e3ef352e --- /dev/null +++ b/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json @@ -0,0 +1,17 @@ +{ + "values": [ + "minecraft:grass_block", + "minecraft:mycelium", + "minecraft:crimson_fungus", + "minecraft:warped_fungus", + "minecraft:red_mushroom", + "minecraft:brown_mushroom", + "minecraft:cactus", + "minecraft:sugar_cane", + "minecraft:sweet_berry_bush", + "minecraft:cocoa", + "#minecraft:saplings", + "#minecraft:nylium", + "#minecraft:bee_growables" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/tags/items/end_cake_materials.json b/src/generated/resources/data/exdeorum/tags/items/end_cake_materials.json new file mode 100644 index 00000000..788b2b70 --- /dev/null +++ b/src/generated/resources/data/exdeorum/tags/items/end_cake_materials.json @@ -0,0 +1,5 @@ +{ + "values": [ + "minecraft:ender_eye" + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/shovel.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/shovel.json new file mode 100644 index 00000000..f95ae489 --- /dev/null +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/shovel.json @@ -0,0 +1,9 @@ +{ + "values": [ + "exdeorum:dust", + "exdeorum:crushed_netherrack", + "exdeorum:crushed_end_stone", + "exdeorum:crushed_deepslate", + "exdeorum:crushed_blackstone" + ] +} \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java b/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java index d74a35a6..af559589 100644 --- a/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java +++ b/src/main/java/thedarkcolour/exdeorum/block/InfestedLeavesBlock.java @@ -37,6 +37,7 @@ import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.BooleanProperty; import net.minecraft.world.phys.HitResult; +import net.minecraftforge.fml.loading.FMLEnvironment; import org.jetbrains.annotations.Nullable; import thedarkcolour.exdeorum.blockentity.InfestedLeavesBlockEntity; import thedarkcolour.exdeorum.config.EConfig; @@ -88,6 +89,6 @@ public class InfestedLeavesBlock extends LeavesBlock implements EntityBlock { @Override public RenderShape getRenderShape(BlockState pState) { - return EConfig.CLIENT.useFastInfestedLeaves.get() ? RenderShape.MODEL : RenderShape.INVISIBLE; + return EConfig.CLIENT_SPEC.isLoaded() && EConfig.CLIENT.useFastInfestedLeaves.get() ? RenderShape.MODEL : RenderShape.INVISIBLE; } } \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java index f0c8919a..864bdc66 100644 --- a/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java +++ b/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java @@ -18,7 +18,6 @@ package thedarkcolour.exdeorum.blockentity; -import com.mojang.serialization.codecs.EitherMapCodec; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; @@ -33,6 +32,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.SaplingBlock; import net.minecraft.world.level.block.entity.BlockEntityTicker; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -210,6 +210,19 @@ public abstract class AbstractCrucibleBlockEntity extends EBlockEntity { overrides.put(EItems.MYCELIUM_SPORES.get(), Blocks.MYCELIUM); overrides.put(EItems.WARPED_NYLIUM_SPORES.get(), Blocks.WARPED_NYLIUM); overrides.put(EItems.CRIMSON_NYLIUM_SPORES.get(), Blocks.WARPED_NYLIUM); + + for (var sapling : ForgeRegistries.BLOCKS.getEntries()) { + var key = sapling.getKey().location(); + + if (key.getPath().endsWith("sapling")) { + try { + var item = sapling.getValue().asItem(); + ForgeRegistries.BLOCKS.getValue(new ResourceLocation(key.getNamespace(), key.getPath().replace("sapling", "leaves"))); + overrides.put(item, Blocks.OAK_LEAVES); + } catch (Exception ignored) { + } + } + } } private static class FluidHandler extends FluidTank { diff --git a/src/main/java/thedarkcolour/exdeorum/client/CompostColors.java b/src/main/java/thedarkcolour/exdeorum/client/CompostColors.java index f496c4a1..d7a6be57 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/CompostColors.java +++ b/src/main/java/thedarkcolour/exdeorum/client/CompostColors.java @@ -152,7 +152,7 @@ public class CompostColors { if (!readMods.contains(modid)) { var id = entry.getKey().location().getPath(); - var jarFile = ModList.get().getModFileById(ExDeorum.ID).getFile(); + var jarFile = ModList.get().getModFileById(modid).getFile(); var modelPath = jarFile.findResource("assets/" + modid + "/models/item/" + id + ".json"); if (Files.exists(modelPath)) { @@ -180,7 +180,8 @@ public class CompostColors { for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { - int pixel = img.getRGB(x, y);if (pixel != 0) { + int pixel = img.getRGB(x, y); + if (pixel != 0) { totalR += (pixel >> 16) & 0xff; totalG += (pixel >> 8) & 0xff; totalB += (pixel) & 0xff; diff --git a/src/main/java/thedarkcolour/exdeorum/client/RenderUtil.java b/src/main/java/thedarkcolour/exdeorum/client/RenderUtil.java index e1493fa7..83041d55 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/RenderUtil.java +++ b/src/main/java/thedarkcolour/exdeorum/client/RenderUtil.java @@ -46,13 +46,10 @@ import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.levelgen.LegacyRandomSource; import net.minecraft.world.level.material.Fluid; -import net.minecraftforge.client.ChunkRenderTypeSet; import net.minecraftforge.client.extensions.common.IClientFluidTypeExtensions; import net.minecraftforge.client.model.data.ModelData; -import net.minecraftforge.fml.unsafe.UnsafeHacks; import net.minecraftforge.registries.ForgeRegistries; import org.joml.Vector3f; -import sun.misc.Unsafe; import thedarkcolour.exdeorum.ExDeorum; import thedarkcolour.exdeorum.client.ter.SieveRenderer; @@ -81,22 +78,16 @@ public class RenderUtil { @Override public TextureAtlasSprite load(Block key) { var registryName = ForgeRegistries.BLOCKS.getKey(key); - var textureLoc = registryName.withPrefix("block/"); - var sprite = blockAtlas.getSprite(textureLoc); + var blockLoc = registryName.withPrefix("block/"); + var sprite = blockAtlas.getSprite(blockLoc); // for stuff like azalea bush, retry to get the top texture if (isMissingTexture(sprite)) { - textureLoc = new ResourceLocation(registryName.getNamespace(), "block/" + registryName.getPath() + "_top"); - sprite = blockAtlas.getSprite(textureLoc); + blockLoc = new ResourceLocation(registryName.getNamespace(), "block/" + registryName.getPath() + "_top"); + sprite = blockAtlas.getSprite(blockLoc); } return sprite; } }); - - // shut up Forge - //var set = UnsafeHacks.newInstance(ChunkRenderTypeSet.class); - //try { - // UnsafeHacks.setField(ChunkRenderTypeSet.class.getDeclaredField("bits"), set, ); - //} catch (NoSuchFieldException e) {} } public static BakedModel getMimicModel(BlockState state) { @@ -184,4 +175,8 @@ public class RenderUtil { public static ShaderInstance getRenderTypeTintedCutoutMippedShader() { return renderTypeTintedCutoutMippedShader; } + + public static int getFluidColor(Fluid fluid, Level level, BlockPos pos) { + return IClientFluidTypeExtensions.of(fluid).getTintColor(fluid.defaultFluidState(), level, pos); + } } diff --git a/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java b/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java index 1f2a81cc..b50332fc 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java +++ b/src/main/java/thedarkcolour/exdeorum/client/ter/BarrelRenderer.java @@ -73,7 +73,7 @@ public class BarrelRenderer implements BlockEntityRenderer { var pos = barrel.getBlockPos(); var percentage = fluidStack.getAmount() / 1000.0f; var y = Mth.lerp(percentage, 1.0f, 14.0f) / 16f; - var col = IClientFluidTypeExtensions.of(fluid).getTintColor(fluidStack); + var col = RenderUtil.getFluidColor(fluid, level, pos); // Split into RGB components var r = (col >> 16) & 0xff; var g = (col >> 8) & 0xff; diff --git a/src/main/java/thedarkcolour/exdeorum/client/ter/CrucibleRenderer.java b/src/main/java/thedarkcolour/exdeorum/client/ter/CrucibleRenderer.java index c8ff9b20..0c7e7746 100644 --- a/src/main/java/thedarkcolour/exdeorum/client/ter/CrucibleRenderer.java +++ b/src/main/java/thedarkcolour/exdeorum/client/ter/CrucibleRenderer.java @@ -32,6 +32,9 @@ public class CrucibleRenderer implements BlockEntityRenderer { + var level = crucible.getLevel(); + if (level == null) return; + var fluidStack = tank.getFluidInTank(0); // These are percentages @@ -39,12 +42,11 @@ public class CrucibleRenderer implements BlockEntityRenderer> 16) & 0xff, (color >> 8) & 0xff, color & 0xff, fluid); diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java new file mode 100644 index 00000000..45bd085c --- /dev/null +++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java @@ -0,0 +1,24 @@ +/* + * Ex Deorum + * Copyright (c) 2023 thedarkcolour + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package thedarkcolour.exdeorum.compat; + +public class ModIds { + public static final String THERMAL_FOUNDATION = "thermalfoundation"; + public static final String THE_ONE_PROBE = "theoneprobe"; +} diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/BarrelMixingCategory.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/BarrelMixingCategory.java index 360e5764..500fa905 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/jei/BarrelMixingCategory.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/BarrelMixingCategory.java @@ -49,8 +49,8 @@ public class BarrelMixingCategory implements IRecipeCategory this.slot = helper.getSlotDrawable(); this.plus = plus; this.arrow = arrow; - this.icon = helper.createDrawableItemStack(new ItemStack(EBlocks.OAK_BARREL.get())); - this.title = Component.literal(TranslationKeys.BARREL_MIXING_CATEGORY_TITLE); + this.icon = helper.createDrawableItemStack(new ItemStack(EBlocks.STONE_BARREL.get())); + this.title = Component.translatable(TranslationKeys.BARREL_MIXING_CATEGORY_TITLE); } @Override diff --git a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java index 79190500..9d969920 100644 --- a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java +++ b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java @@ -50,6 +50,19 @@ public class EConfig { public final DoubleValue barrelProgressStep; public final BooleanValue witchWaterNetherrackGenerator; + // todo preferred ores + //public final ConfigValue preferredAluminumOre; + //public final ConfigValue preferredSilverOre; + //public final ConfigValue preferredLeadOre; + //public final ConfigValue preferredNickelOre; + //public final ConfigValue preferredUraniumOre; + //public final ConfigValue preferredOsmiumOre; + //public final ConfigValue preferredTinOre; + //public final ConfigValue preferredZincOre; + //public final ConfigValue preferredCobaltOre; + //public final ConfigValue preferredIridiumOre; + + public Server(ForgeConfigSpec.Builder builder) { builder.comment("Server configuration for Ex Deorum").push("server"); @@ -64,11 +77,19 @@ public class EConfig { .define("simultaneous_sieve_usage", true); this.barrelProgressStep = builder .comment("The progress to increment by each tick for barrel composting and witch water transformation.") - .defineInRange("barrel_progress_step", 0.004f, 0.0f, 1.0f); + .defineInRange("barrel_progress_step", 0.004, 0.0f, 1.0f); this.witchWaterNetherrackGenerator = builder .comment("Whether Witch Water forms netherrack when lava flows into it, allowing for a netherrack version of a cobblestone generator.") .define("witch_water_netherrack_generator", true); + // Preferred ore items + //builder.push("preferred_tag_items"); + + //this.preferredTinOre = builder + // .comment("The ID of the item to use for Ex Deorum recipes that craft into tin ore.") + // .define("preferred_tin_ore", (ResourceLocation) null); + + //builder.pop(); builder.pop(); } } diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java index a07f43d8..3b336912 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java +++ b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java @@ -26,22 +26,29 @@ import net.minecraft.tags.FluidTags; 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.levelgen.presets.WorldPreset; import net.minecraft.world.level.levelgen.structure.BuiltinStructureSets; import net.minecraft.world.level.levelgen.structure.StructureSet; import net.minecraft.world.level.material.Fluid; +import net.minecraftforge.common.Tags; import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.block.EBlock; import thedarkcolour.exdeorum.registry.EBlocks; import thedarkcolour.exdeorum.registry.EFluids; import thedarkcolour.exdeorum.registry.EItems; +import thedarkcolour.exdeorum.tag.EBlockTags; import thedarkcolour.exdeorum.tag.EItemTags; import thedarkcolour.exdeorum.tag.EStructureSetTags; import thedarkcolour.modkit.data.MKTagsProvider; class ModTags { public static void createBlockTags(MKTagsProvider tags) { + tags.tag(EBlockTags.WATERING_CAN_TICKABLE).add(Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.CRIMSON_FUNGUS, Blocks.WARPED_FUNGUS, Blocks.RED_MUSHROOM, Blocks.BROWN_MUSHROOM, Blocks.CACTUS, Blocks.SUGAR_CANE, Blocks.SWEET_BERRY_BUSH, Blocks.COCOA).addTags(BlockTags.SAPLINGS, BlockTags.NYLIUM, BlockTags.BEE_GROWABLES); + tags.tag(BlockTags.MINEABLE_WITH_AXE).add(EBlocks.OAK_BARREL.get(), EBlocks.SPRUCE_BARREL.get(), EBlocks.BIRCH_BARREL.get(), EBlocks.JUNGLE_BARREL.get(), EBlocks.ACACIA_BARREL.get(), EBlocks.DARK_OAK_BARREL.get(), EBlocks.MANGROVE_BARREL.get(), EBlocks.CHERRY_BARREL.get(), EBlocks.BAMBOO_BARREL.get(), EBlocks.CRIMSON_BARREL.get(), EBlocks.WARPED_BARREL.get(), EBlocks.OAK_SIEVE.get(), EBlocks.SPRUCE_SIEVE.get(), EBlocks.BIRCH_SIEVE.get(), EBlocks.JUNGLE_SIEVE.get(), EBlocks.ACACIA_SIEVE.get(), EBlocks.DARK_OAK_SIEVE.get(), EBlocks.MANGROVE_SIEVE.get(), EBlocks.CHERRY_SIEVE.get(), EBlocks.BAMBOO_SIEVE.get(), EBlocks.CRIMSON_SIEVE.get(), EBlocks.WARPED_SIEVE.get(), EBlocks.WARPED_CRUCIBLE.get(), EBlocks.CRIMSON_CRUCIBLE.get(), EBlocks.OAK_CRUCIBLE.get(), EBlocks.SPRUCE_CRUCIBLE.get(), EBlocks.BIRCH_CRUCIBLE.get(), EBlocks.JUNGLE_CRUCIBLE.get(), EBlocks.ACACIA_CRUCIBLE.get(), EBlocks.DARK_OAK_CRUCIBLE.get(), EBlocks.MANGROVE_CRUCIBLE.get(), EBlocks.CHERRY_CRUCIBLE.get(), EBlocks.BAMBOO_CRUCIBLE.get()); tags.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(EBlocks.STONE_BARREL, EBlocks.PORCELAIN_CRUCIBLE, EBlocks.UNFIRED_PORCELAIN_CRUCIBLE); + tags.tag(BlockTags.MINEABLE_WITH_SHOVEL).add(EBlocks.DUST, EBlocks.CRUSHED_NETHERRACK, EBlocks.CRUSHED_END_STONE, EBlocks.CRUSHED_DEEPSLATE, EBlocks.CRUSHED_BLACKSTONE); tags.tag(BlockTags.MINEABLE_WITH_HOE).add(EBlocks.INFESTED_LEAVES); tags.tag(BlockTags.LEAVES).add(EBlocks.INFESTED_LEAVES); } diff --git a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java index 9490edab..9f4d2d46 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java +++ b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java @@ -838,6 +838,7 @@ class Recipes { addDrop.accept(Items.GLOW_BERRIES, chance(0.04f + j * 0.075f)); addDrop.accept(Items.SMALL_DRIPLEAF, chance(0.07f + j * 0.025f)); addDrop.accept(Items.BIG_DRIPLEAF, chance(0.05f + j * 0.02f)); + addDrop.accept(Items.SPORE_BLOSSOM, chance(0.03f + j * 0.015f)); }); } forMesh(writer, ingredient(Items.MOSS_BLOCK), EItems.FLINT_MESH, addDrop -> { @@ -864,27 +865,34 @@ class Recipes { lavaCrucible(writer, "cobblestone", ingredient(Tags.Items.COBBLESTONE), 250); lavaCrucible(writer, "stone", ingredient(Tags.Items.STONE), 250); lavaCrucible(writer, "gravel", ingredient(Tags.Items.GRAVEL), 250); - lavaCrucible(writer, "netherrack", ingredient(Tags.Items.NETHERRACK), 1000); - - waterCrucible(writer, "sweet_berries", ingredient(Items.SWEET_BERRIES, Items.GLOW_BERRIES), 50); - waterCrucible(writer, "melon_slice", ingredient(Items.MELON_SLICE), 50); + lavaCrucible(writer, "netherrack", ingredient(Tags.Items.NETHERRACK), 500); waterCrucible(writer, "saplings", ingredient(ItemTags.SAPLINGS), 100); + waterCrucible(writer, "leaves", ingredient(ItemTags.LEAVES), 250); waterCrucible(writer, "small_flowers", ingredient(ItemTags.SMALL_FLOWERS), 100); - waterCrucible(writer, "apple", ingredient(Items.APPLE), 100); - waterCrucible(writer, "tall_flowers", ingredient(ItemTags.TALL_FLOWERS), 200); - + waterCrucible(writer, "mushrooms", ingredient(Tags.Items.MUSHROOMS), 100); + waterCrucible(writer, "lily_pad", ingredient(Items.LILY_PAD), 150); + waterCrucible(writer, "sugar_cane", ingredient(Items.SUGAR_CANE), 100); + waterCrucible(writer, "vine", ingredient(Items.VINE), 100); + waterCrucible(writer, "seeds_and_spores", SPORES_AND_SEEDS, 50); + waterCrucible(writer, "seeds", ingredient(Tags.Items.SEEDS), 50); + waterCrucible(writer, "grass", ingredient(Items.GRASS, Items.TALL_GRASS), 100); + waterCrucible(writer, "grass_block", ingredient(Items.GRASS_BLOCK), 150); + waterCrucible(writer, "sweet_berries", ingredient(Items.SWEET_BERRIES, Items.GLOW_BERRIES), 50); + waterCrucible(writer, "melon_slice", ingredient(Items.MELON_SLICE), 50); + waterCrucible(writer, "potato", ingredient(Items.POTATO), 100); + waterCrucible(writer, "carrot", ingredient(Items.CARROT), 100); + waterCrucible(writer, "beetroot", ingredient(Items.BEETROOT), 100); + waterCrucible(writer, "apple", ingredient(Items.APPLE), 100); waterCrucible(writer, "cactus", ingredient(Items.CACTUS), 250); waterCrucible(writer, "pumpkin", ingredient(Items.PUMPKIN), 250); waterCrucible(writer, "melon", ingredient(Items.MELON), 250); - waterCrucible(writer, "leaves", ingredient(ItemTags.LEAVES), 250); - waterCrucible(writer, "lily_pad", ingredient(Items.LILY_PAD), 100); - + waterCrucible(writer, "seagrass", ingredient(Items.SEAGRASS), 100); + waterCrucible(writer, "sea_pickle", ingredient(Items.SEA_PICKLE), 200); waterCrucible(writer, "moss", ingredient(Items.MOSS_BLOCK), 150); waterCrucible(writer, "moss_carpet", ingredient(Items.MOSS_CARPET), 100); - - waterCrucible(writer, "seeds_and_spores", SPORES_AND_SEEDS, 100); + waterCrucible(writer, "spore_blossom", ingredient(Items.SPORE_BLOSSOM), 150); } private static void lavaCrucible(Consumer writer, String id, Ingredient ingredient, int volume) { @@ -961,12 +969,23 @@ class Recipes { barrelCompost(writer, "moss_block", ingredient(Items.MOSS_BLOCK), 150); barrelCompost(writer, "moss_carpet", ingredient(Items.MOSS_CARPET), 100); barrelCompost(writer, "spores_and_seeds", SPORES_AND_SEEDS, 80); + barrelCompost(writer, "bamboo", ingredient(Items.BAMBOO), 100); + barrelCompost(writer, "cactus", ingredient(Items.CACTUS), 125); + barrelCompost(writer, "dead_bush", ingredient(Items.DEAD_BUSH), 80); + barrelCompost(writer, "chorus_flower", ingredient(Items.CHORUS_FLOWER), 150); + barrelCompost(writer, "chorus_fruit", ingredient(Items.CHORUS_FRUIT), 80); + barrelCompost(writer, "chorus_plant", ingredient(Items.CHORUS_PLANT), 150); + barrelCompost(writer, "kelp", ingredient(Items.KELP, Items.DRIED_KELP), 80); + barrelCompost(writer, "sea_pickle", ingredient(Items.SEA_PICKLE), 80); + barrelCompost(writer, "spore_blossom", ingredient(Items.SPORE_BLOSSOM), 125); + barrelCompost(writer, "weeping_vines", ingredient(Items.WEEPING_VINES), 100); + barrelCompost(writer, "twisting_vines", ingredient(Items.TWISTING_VINES), 100); // flesh barrelCompost(writer, "rotten_flesh", ingredient(Items.ROTTEN_FLESH), 100); barrelCompost(writer, "spider_eye", ingredient(Items.SPIDER_EYE), 80); barrelCompost(writer, "fermented_spider_eye", ingredient(Items.FERMENTED_SPIDER_EYE), 100); barrelCompost(writer, "string", ingredient(Items.STRING), 40); - barrelCompost(writer, "rabbit_foot", ingredient(Items.RABBIT_FOOT), 40); + barrelCompost(writer, "rabbit_foot", ingredient(Items.RABBIT_FOOT), 100); // meats barrelCompost(writer, "pork", ingredient(Items.PORKCHOP, Items.COOKED_PORKCHOP), 150); barrelCompost(writer, "beef", ingredient(Items.BEEF, Items.COOKED_BEEF), 150); @@ -980,7 +999,6 @@ class Recipes { barrelCompost(writer, "egg", ingredient(Items.EGG), 100); // foods barrelCompost(writer, "melon_slice", ingredient(Items.MELON_SLICE), 40); - barrelCompost(writer, "kelp", ingredient(Items.KELP, Items.DRIED_KELP), 40); barrelCompost(writer, "silk_worms", ingredient(EItems.SILK_WORM.get(), EItems.COOKED_SILK_WORM.get()), 40); barrelCompost(writer, "apple", ingredient(Items.APPLE), 100); barrelCompost(writer, "cookie", ingredient(Items.COOKIE), 100); diff --git a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java index a04de167..3460db23 100644 --- a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java +++ b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java @@ -42,13 +42,13 @@ import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.AddReloadListenerEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.event.level.LevelEvent; -import net.minecraftforge.eventbus.api.Event; import net.minecraftforge.fluids.FluidInteractionRegistry; import net.minecraftforge.fml.InterModComms; import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.compat.ModIds; import thedarkcolour.exdeorum.config.EConfig; import thedarkcolour.exdeorum.item.WateringCanItem; import thedarkcolour.exdeorum.recipe.RecipeUtil; @@ -114,7 +114,7 @@ public final class EventHandler { private static void onCommonSetup(FMLCommonSetupEvent event) { event.enqueueWork(() -> { FluidInteractionRegistry.addInteraction(ForgeMod.LAVA_TYPE.get(), new FluidInteractionRegistry.InteractionInformation( - ForgeMod.WATER_TYPE.get(), + EFluids.WITCH_WATER_TYPE.get(), fluidState -> fluidState.isSource() ? Blocks.OBSIDIAN.defaultBlockState() : (EConfig.SERVER.witchWaterNetherrackGenerator.get() ? Blocks.NETHERRACK.defaultBlockState() : Blocks.COBBLESTONE.defaultBlockState()) )); }); @@ -125,19 +125,17 @@ public final class EventHandler { if (player.serverLevel().getChunkSource().getGenerator() instanceof VoidChunkGenerator) { NetworkHandler.sendVoidWorld(player); var advancement = player.server.getAdvancements().getAdvancement(new ResourceLocation(ExDeorum.ID, "core/root")); - if (advancement != null) { - player.getAdvancements().award(advancement, "in_void_world"); - } else { - ExDeorum.LOGGER.error("Unable to grant player the Void World advancement. Ex Nihilo Reborn advancements will not show"); - } - if (player.getStats().getValue(Stats.CUSTOM.get(Stats.DEATHS)) == 0 && player.tickCount == 0) { + if (advancement != null && !player.getAdvancements().getOrStartProgress(advancement).isDone()) { + player.getAdvancements().award(advancement, "in_void_world"); if (EConfig.SERVER.startingTorch.get()) { player.getInventory().add(new ItemStack(Items.TORCH)); } if (EConfig.SERVER.startingWateringCan.get()) { player.getInventory().add(WateringCanItem.getFull(EItems.WOODEN_WATERING_CAN)); } + } else { + ExDeorum.LOGGER.error("Unable to grant player the Void World advancement. Ex Nihilo Reborn advancements will not show"); } } } @@ -145,7 +143,7 @@ public final class EventHandler { // Send messages to other mods public static void interModEnqueue(InterModEnqueueEvent event) { - InterModComms.sendTo("theoneprobe", "getTheOneProbe", ExDeorumTopCompat::new); + InterModComms.sendTo(ModIds.THE_ONE_PROBE, "getTheOneProbe", ExDeorumTopCompat::new); } private static void addReloadListeners(AddReloadListenerEvent event) { diff --git a/src/main/java/thedarkcolour/exdeorum/item/SculkCoreItem.java b/src/main/java/thedarkcolour/exdeorum/item/SculkCoreItem.java index 68e9e1a0..98cd174c 100644 --- a/src/main/java/thedarkcolour/exdeorum/item/SculkCoreItem.java +++ b/src/main/java/thedarkcolour/exdeorum/item/SculkCoreItem.java @@ -49,11 +49,14 @@ public class SculkCoreItem extends Item { } level.setBlock(pos, state.setValue(SculkShriekerBlock.CAN_SUMMON, true), 3); } else { + var rand = level.random; for (int i = 0; i < 10; i++) { int j = i * 36; double radians = Math.toRadians(j); - level.addParticle(ParticleTypes.PORTAL, pos.getX() + 0.5, pos.getY() + 0.5625, pos.getZ() + 0.5, - Math.cos(radians) * 0.15, 0.15, Math.sin(radians) * 0.15); + for (int k = 0; k < 3; k++) { + level.addParticle(ParticleTypes.PORTAL, pos.getX() + 0.5 + 0.3 * (-0.5 + rand.nextFloat()), pos.getY() + 0.5625, pos.getZ() + 0.5 + 0.3 * (-0.5 + rand.nextFloat()), + Math.cos(radians) * 0.15, 0.15, Math.sin(radians) * 0.15); + } } } level.playSound(null, pos, SoundEvents.SCULK_SHRIEKER_SHRIEK, SoundSource.BLOCKS, 1.0f, 1.0f); diff --git a/src/main/java/thedarkcolour/exdeorum/item/WateringCanItem.java b/src/main/java/thedarkcolour/exdeorum/item/WateringCanItem.java index 5cd1aab0..f04c083d 100644 --- a/src/main/java/thedarkcolour/exdeorum/item/WateringCanItem.java +++ b/src/main/java/thedarkcolour/exdeorum/item/WateringCanItem.java @@ -47,6 +47,7 @@ import net.minecraft.world.level.block.BucketPickup; import net.minecraft.world.level.block.FarmBlock; import net.minecraft.world.level.block.LevelEvent; import net.minecraft.world.level.block.SpreadingSnowyDirtBlock; +import net.minecraft.world.level.block.SugarCaneBlock; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.material.Fluids; import net.minecraft.world.phys.BlockHitResult; @@ -61,7 +62,9 @@ import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.templates.FluidHandlerItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import thedarkcolour.exdeorum.blockentity.BarrelBlockEntity; import thedarkcolour.exdeorum.data.TranslationKeys; +import thedarkcolour.exdeorum.tag.EBlockTags; import java.util.List; import java.util.function.Consumer; @@ -222,17 +225,29 @@ public class WateringCanItem extends Item { } protected void tryWatering(ServerLevel level, BlockPos pos, BlockState state) { - if (state.is(BlockTags.SAPLINGS)) { - if (level.random.nextInt(3) == 0) { + if (state.is(EBlockTags.WATERING_CAN_TICKABLE)) { + if (state.is(BlockTags.SAPLINGS)) { + if (level.random.nextInt(3) == 0) { + state.randomTick(level, pos, level.random); + level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos, 0); + } + } else if (state.getBlock() instanceof SugarCaneBlock block) { + var cursor = pos.mutable(); + while (level.isInWorldBounds(cursor.move(0, 1, 0)) && level.getBlockState(cursor).getBlock() == block) { + // just keep looping + } + // randomTick only works on the top sugarcane block + var topState = level.getBlockState(cursor.move(0, -1, 0)); + topState.randomTick(level, cursor, level.random); + } else { state.randomTick(level, pos, level.random); - level.levelEvent(LevelEvent.PARTICLES_AND_SOUND_PLANT_GROWTH, pos, 0); } - } else if (state.is(BlockTags.CROPS) || state.getBlock() instanceof SpreadingSnowyDirtBlock) { - state.randomTick(level, pos, level.random); - } else if (state.getBlock() == Blocks.LAVA) { - level.levelEvent(LevelEvent.LAVA_FIZZ, pos, 0); - } else if (state.getBlock() == Blocks.FARMLAND) { - hydrateFarmland(level, pos, state); + } else { + if (BarrelBlockEntity.isHotFluid(state.getFluidState().getFluidType())) { + level.levelEvent(LevelEvent.LAVA_FIZZ, pos, 0); + } else if (state.getBlock() == Blocks.FARMLAND) { + hydrateFarmland(level, pos, state); + } } var below = pos.below(); var belowState = level.getBlockState(below); diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java b/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java new file mode 100644 index 00000000..95cb9e47 --- /dev/null +++ b/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java @@ -0,0 +1,104 @@ +/* + * Ex Deorum + * Copyright (c) 2023 thedarkcolour + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package thedarkcolour.exdeorum.recipe; + +import com.google.gson.JsonObject; +import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.Container; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeSerializer; +import net.minecraft.world.item.crafting.RecipeType; +import net.minecraft.world.level.Level; +import org.apache.http.impl.client.StandardHttpRequestRetryHandler; +import org.jetbrains.annotations.Nullable; +import thedarkcolour.exdeorum.registry.ERecipeSerializers; +import thedarkcolour.exdeorum.registry.ERecipeTypes; + +@SuppressWarnings({"rawtypes", "unchecked"}) +public class TagResultRecipe implements Recipe { + private final ResourceLocation id; + private final Recipe wrapped; + private final TagKey result; + + public TagResultRecipe(ResourceLocation id, Recipe wrapped, TagKey result) { + this.id = id; + this.wrapped = wrapped; + this.result = result; + } + + @Override + public boolean matches(Container container, Level level) { + return this.wrapped.matches(container, level); + } + + @Override + public ItemStack assemble(Container container, RegistryAccess access) { + access.registryOrThrow(Registries.ITEM).getTag(result); + throw new UnsupportedOperationException("TagResultRecipe#assemble"); + } + + @Override + public boolean canCraftInDimensions(int width, int height) { + return this.wrapped.canCraftInDimensions(width, height); + } + + @Override + public ItemStack getResultItem(RegistryAccess access) { + throw new UnsupportedOperationException("TagResultRecipe#getResultItem"); + } + + @Override + public ResourceLocation getId() { + return this.id; + } + + @Override + public RecipeSerializer getSerializer() { + return ERecipeSerializers.TAG_RESULT.get(); + } + + @Override + public RecipeType getType() { + return ERecipeTypes.TAG_RESULT.get(); + } + + public static class Serializer implements RecipeSerializer { + @Override + public TagResultRecipe fromJson(ResourceLocation id, JsonObject json) { + return null; + } + + @Override + public @Nullable TagResultRecipe fromNetwork(ResourceLocation id, FriendlyByteBuf buffer) { + return null; + } + + @Override + public void toNetwork(FriendlyByteBuf buffer, TagResultRecipe recipe) { + ((RecipeSerializer) recipe.wrapped.getSerializer()).toNetwork(buffer, recipe.wrapped); + //buffer.writeResourceLocation(recipe.tag.location()); + } + } +} diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java index 6c8fedbe..c61f2095 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java @@ -21,9 +21,11 @@ package thedarkcolour.exdeorum.registry; import net.minecraft.world.item.DyeColor; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.FallingBlock; import net.minecraft.world.level.block.LiquidBlock; import net.minecraft.world.level.block.SoundType; import net.minecraft.world.level.material.MapColor; +import net.minecraft.world.level.material.PushReaction; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; @@ -43,11 +45,11 @@ public class EBlocks { public static final DeferredRegister BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, ExDeorum.ID); // Materials - public static final RegistryObject DUST = BLOCKS.register("dust", () -> new Block(of().sound(SoundType.SAND).strength(0.4f))); - public static final RegistryObject CRUSHED_NETHERRACK = BLOCKS.register("crushed_netherrack", () -> new Block(of().mapColor(MapColor.NETHER).sound(SoundType.SAND).strength(0.6f))); - public static final RegistryObject CRUSHED_END_STONE = BLOCKS.register("crushed_end_stone", () -> new Block(of().mapColor(MapColor.SAND).sound(SoundType.SAND).strength(0.6f))); - public static final RegistryObject CRUSHED_DEEPSLATE = BLOCKS.register("crushed_deepslate", () -> new Block(of().mapColor(DyeColor.GRAY).sound(SoundType.SAND).strength(0.8f))); - public static final RegistryObject CRUSHED_BLACKSTONE = BLOCKS.register("crushed_blackstone", () -> new Block(of().mapColor(DyeColor.BLACK).sound(SoundType.SAND).strength(0.6f))); + public static final RegistryObject DUST = BLOCKS.register("dust", () -> new FallingBlock(of().sound(SoundType.SAND).strength(0.4f))); + public static final RegistryObject CRUSHED_NETHERRACK = BLOCKS.register("crushed_netherrack", () -> new FallingBlock(of().mapColor(MapColor.NETHER).sound(SoundType.SAND).strength(0.6f))); + public static final RegistryObject CRUSHED_END_STONE = BLOCKS.register("crushed_end_stone", () -> new FallingBlock(of().mapColor(MapColor.SAND).sound(SoundType.SAND).strength(0.6f))); + public static final RegistryObject CRUSHED_DEEPSLATE = BLOCKS.register("crushed_deepslate", () -> new FallingBlock(of().mapColor(DyeColor.GRAY).sound(SoundType.SAND).strength(0.8f))); + public static final RegistryObject CRUSHED_BLACKSTONE = BLOCKS.register("crushed_blackstone", () -> new FallingBlock(of().mapColor(DyeColor.BLACK).sound(SoundType.SAND).strength(0.6f))); // Barrels public static final RegistryObject OAK_BARREL = registerBarrel("oak_barrel", false, false, MapColor.WOOD); @@ -96,15 +98,17 @@ public class EBlocks { // Misc public static final RegistryObject INFESTED_LEAVES = BLOCKS.register("infested_leaves", () -> new InfestedLeavesBlock(copy(Blocks.OAK_LEAVES))); public static final RegistryObject WITCH_WATER = BLOCKS.register("witch_water", () -> new LiquidBlock(EFluids.WITCH_WATER, copy(Blocks.WATER).mapColor(MapColor.COLOR_PURPLE))); - public static final RegistryObject END_CAKE = BLOCKS.register("end_cake", () -> new EndCakeBlock(of().noLootTable().mapColor(MapColor.COLOR_BLACK))); + public static final RegistryObject END_CAKE = BLOCKS.register("end_cake", () -> new EndCakeBlock(of().noLootTable().mapColor(MapColor.COLOR_BLACK).forceSolidOn().strength(0.5F).sound(SoundType.WOOL).pushReaction(PushReaction.BLOCK))); public static RegistryObject registerSieve(String name) { - return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(SoundType.WOOD))); + var bamboo = name.equals("bamboo_sieve"); + return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD))); } public static RegistryObject registerBarrel(String name, boolean stone, boolean fireproof, MapColor color) { + var bamboo = name.equals("bamboo_barrel"); return BLOCKS.register(name, () -> { - var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? SoundType.STONE : SoundType.WOOD); + var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? SoundType.STONE : (bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD)); if (!stone) { if (!fireproof) { props.ignitedByLava(); @@ -128,6 +132,7 @@ public class EBlocks { } public static RegistryObject registerWaterCrucible(String name) { - return BLOCKS.register(name, () -> new WaterCrucibleBlock(of().strength(1.5f).sound(SoundType.WOOD))); + var bamboo = name.equals("bamboo_crucible"); + return BLOCKS.register(name, () -> new WaterCrucibleBlock(of().strength(1.5f).sound(bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD))); } } diff --git a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java index 3e31c0ac..9b5a11ed 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java @@ -23,6 +23,7 @@ import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.RegistryObject; import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.recipe.TagResultRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe; import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe; @@ -41,4 +42,6 @@ public class ERecipeSerializers { public static final RegistryObject> WATER_CRUCIBLE = RECIPE_SERIALIZERS.register("water_crucible", () -> new CrucibleRecipe.Serializer(ERecipeTypes.WATER_CRUCIBLE.get())); public static final RegistryObject> SIEVE = RECIPE_SERIALIZERS.register("sieve", SieveRecipe.Serializer::new); + + public static final RegistryObject> TAG_RESULT = RECIPE_SERIALIZERS.register("tag_result", TagResultRecipe.Serializer::new); } diff --git a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java index af25f944..17f7c3b4 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java @@ -23,11 +23,13 @@ import net.minecraft.world.item.crafting.RecipeType; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.RegistryObject; import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.recipe.TagResultRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe; import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe; import thedarkcolour.exdeorum.recipe.hammer.HammerRecipe; import thedarkcolour.exdeorum.recipe.sieve.SieveRecipe; +import thedarkcolour.exdeorum.voidworld.VoidChunkGenerator; public class ERecipeTypes { public static final DeferredRegister> RECIPE_TYPES = DeferredRegister.create(Registries.RECIPE_TYPE, ExDeorum.ID); @@ -41,4 +43,5 @@ public class ERecipeTypes { public static final RegistryObject> HAMMER = RECIPE_TYPES.register("hammer", () -> RecipeType.simple(ERecipeTypes.HAMMER.getId())); public static final RegistryObject> SIEVE = RECIPE_TYPES.register("sieve", () -> RecipeType.simple(ERecipeTypes.SIEVE.getId())); + public static final RegistryObject> TAG_RESULT = RECIPE_TYPES.register("tag_result", () -> RecipeType.simple(ERecipeTypes.TAG_RESULT.getId())); } diff --git a/src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java b/src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java new file mode 100644 index 00000000..081668bf --- /dev/null +++ b/src/main/java/thedarkcolour/exdeorum/tag/EBlockTags.java @@ -0,0 +1,33 @@ +/* + * Ex Deorum + * Copyright (c) 2023 thedarkcolour + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package thedarkcolour.exdeorum.tag; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.BlockTags; +import net.minecraft.tags.TagKey; +import net.minecraft.world.level.block.Block; +import thedarkcolour.exdeorum.ExDeorum; + +public class EBlockTags { + public static final TagKey WATERING_CAN_TICKABLE = tag("watering_can_tickable"); + + public static TagKey tag(String name) { + return BlockTags.create(new ResourceLocation(ExDeorum.ID, name)); + } +} diff --git a/src/main/resources/assets/exdeorum/textures/item/end_cake.png b/src/main/resources/assets/exdeorum/textures/item/end_cake.png new file mode 100644 index 0000000000000000000000000000000000000000..b5d0db929fd161bf76c198da0acd2f0458a1bcec GIT binary patch literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G}-0G|-o38@q0JWNw(*LEC^+WI7_aE+&7a?13J+2IqN1#}FjWlr;JZkv@m zYfbfI4v%n*=n1O-sFbFdq&tH)O6zuhMaSYK2j_tq5cUXbLRWnOBS8(~Ipa0{n zOw^*wDt5I`C|LO4kX2_I!woTK$L$^Gs>KC-d%yPGbDypJz^^Pr>6mie(VejpF&_+L zJhpTCxm;)H^kWk^_tJIpY)O_S1?Mc6{(dr1+hg{zptM|Pk*kNIydE#hTI5|>;)ru6jKR~@&t;ucLK6V){+