diff --git a/build.gradle b/build.gradle index 1bc35ecb..6b2c0df0 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { id 'org.spongepowered.mixin' version '0.7.+' } -version = '1.2' +version = '1.3' group = 'thedarkcolour.exdeorum' base { archivesName = 'exdeorum' @@ -58,6 +58,42 @@ minecraft { } } } + + testmodClient { + workingDirectory project.file('run') + + property 'forge.logging.console.level', 'debug' + + parent runs.client + ideaModule "${project.name}.test" + + mods { + modkit { + source sourceSets.main + } + orestestmod { + source sourceSets.test + } + } + } + + testmodServer { + workingDirectory project.file('run') + + property 'forge.logging.console.level', 'debug' + + parent runs.server + ideaModule "${project.name}.test" + + mods { + modkit { + source sourceSets.main + } + orestestmod { + source sourceSets.test + } + } + } } } @@ -113,7 +149,7 @@ dependencies { //implementation fg.deobf("dev.architectury:architectury-forge:${architectury_version}") // ModKit DEV ONLY - implementation fg.deobf('com.github.thedarkcolour:ModKit:5ba6a76c4a') + implementation fg.deobf('com.github.thedarkcolour:ModKit:78f393bfac') testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2' diff --git a/changelog.md b/changelog.md index 9210b750..a7984320 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,8 @@ +## Ex Deorum 1.3 +- Allow modded ores to drop from sieving Gravel and Crushed Deepslate if a mod with that ore is installed. Supported ores are Aluminum, Cobalt, Silver, Lead, Platinum, Nickel, Uranium, Osmium, Tin, Zinc, and Iridium. +- Allow some modded drops from sieving if a mod with those resources is installed. Currently, only Grains of Infinity from Ender IO is supported. +- If you would like to see some more mod compatibility related additions to Ex Deorum, open an issue on GitHub or let me know on Discord. + ## Ex Deorum 1.2 - Fixed the missing recipes for Deepslate pebbles diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index 3f2c71a1..18909054 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2023-08-24T11:58:58.0334165 Recipes +// 1.20.1 2023-09-01T15:25:16.1558751 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 @@ -47,6 +47,17 @@ a21315f6c45ed3300ae2dd79b1dbdbecce9d1305 data/exdeorum/advancements/recipes/misc d85bf493287a94e61ee13f713625b3dec0624706 data/exdeorum/advancements/recipes/misc/oak_barrel.json 83cb594324378aa27e88363a95b95389045f6bb5 data/exdeorum/advancements/recipes/misc/oak_crucible.json 24d790eac1a1dafd023859cce63b2e3647730ffb data/exdeorum/advancements/recipes/misc/oak_sieve.json +cb476801fffaa7fe555e75984cbcdc6afd275b84 data/exdeorum/advancements/recipes/misc/ores/aluminum_tag.json +4c9c1076eb176e8b5eba6157bdcfea03c54eb730 data/exdeorum/advancements/recipes/misc/ores/cobalt_tag.json +21f8edbc56c9a38d10da104df5c9ce61e6d972ce data/exdeorum/advancements/recipes/misc/ores/iridium_tag.json +71515dde924b53d08c0459bd8d872fadb358641e data/exdeorum/advancements/recipes/misc/ores/lead_tag.json +a5477a021d3518960a79fcbb79d88d2781652b4e data/exdeorum/advancements/recipes/misc/ores/nickel_tag.json +5a8f42499f72e2a66975159b6f10fa845a0ae8d4 data/exdeorum/advancements/recipes/misc/ores/osmium_tag.json +e8104e269a1beae248b9d92cbc60d3cb48b6f6bb data/exdeorum/advancements/recipes/misc/ores/platinum_tag.json +b997fb55b84b5dd8940490108febcba43d8f0a9c data/exdeorum/advancements/recipes/misc/ores/silver_tag.json +ec3024d067a77ff62ebff34afcd112c5c5a56438 data/exdeorum/advancements/recipes/misc/ores/tin_tag.json +68224edf8b5e10cbbc288d12ac6ae5f45d931f04 data/exdeorum/advancements/recipes/misc/ores/uranium_tag.json +87cb2166c390d8929372bb3adc0e7a61e55cce08 data/exdeorum/advancements/recipes/misc/ores/zinc_tag.json f971f07a474e979defc404208492e4e1cc5d7475 data/exdeorum/advancements/recipes/misc/porcelain_bucket.json 27e0afbaa49558e82ca58ea323d3e14fc8b02ed5 data/exdeorum/advancements/recipes/misc/porcelain_clay_ball.json 43b9432f719e43b3b05a58eca0b423d2dce83885 data/exdeorum/advancements/recipes/misc/porcelain_crucible.json @@ -236,6 +247,17 @@ a73d1813a804c37490e498646509b3c0d91a23a0 data/exdeorum/recipes/netherite_waterin 62209674f4ca94b379d4e67c7480285b5390b6ca data/exdeorum/recipes/oak_barrel.json 97bd28265ca9481edddebd8f274d2f07791b2528 data/exdeorum/recipes/oak_crucible.json da14c2579ad2e91b9ee70b84e3be1df51243944c data/exdeorum/recipes/oak_sieve.json +4a3c5509da26ba4e8244b69c13f0524dfeeaca11 data/exdeorum/recipes/ores/aluminum_tag.json +745b2c12a6e71b42299a7da5a563797041285f81 data/exdeorum/recipes/ores/cobalt_tag.json +3007e107e6925bb023873783971fa66cb5aa11fa data/exdeorum/recipes/ores/iridium_tag.json +5fb743141989ecd69322ead566674a57195f3edf data/exdeorum/recipes/ores/lead_tag.json +59571d14ea2575d1ade24c15d4b833f930e37c6a data/exdeorum/recipes/ores/nickel_tag.json +ad3a4c8b0ffd433528d7b2d10b98301843ba5417 data/exdeorum/recipes/ores/osmium_tag.json +611614e40cda7204f7773c204dd535df33bfd710 data/exdeorum/recipes/ores/platinum_tag.json +812feef671d40f6e89ee3b267706435f2bd2674d data/exdeorum/recipes/ores/silver_tag.json +e50e0f6fb83cd233214ca62718e0c9155f29d7c1 data/exdeorum/recipes/ores/tin_tag.json +ece0731639c9063416fb0183309fdf8252d774eb data/exdeorum/recipes/ores/uranium_tag.json +56600e7db58d4c74326a2f38bc014a47ddbeb731 data/exdeorum/recipes/ores/zinc_tag.json fd95c29e2e4f6eb08729c3c821e8f1dad427aef8 data/exdeorum/recipes/porcelain_bucket.json a2d4a9158c46bf81649e0a16621302cbf3754582 data/exdeorum/recipes/porcelain_clay_ball.json 53adc0da4d944ac57a437a38e14fec0f6563e9b2 data/exdeorum/recipes/porcelain_crucible.json @@ -284,8 +306,16 @@ c546193f9cab7af9c92ea4a05c080c2ea24f33a2 data/exdeorum/recipes/sieve/crushed_dee 8a6e723e75bcc5c5731868c1d1b597f3f46b12d7 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/diamond.json db7026d3f31ec9a4e2ac085101a49cbcbc67b712 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/emerald.json 69e4b707f2e433bda0742dfbba9223f0d4dbf872 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/gold_ore_chunk.json +b60486888c693bef336989c8e36b62f8bc60ce28 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/iridium_ore_chunk.json 91dabfb0a3256393d74779c2bc291a0b13f93eb4 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/iron_ore_chunk.json fa548967f2323aa67b8b0adb3802cb513047dff7 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/lapis_lazuli.json +1918afd9a0af6536a5a4c0fd90d11143f90f937e data/exdeorum/recipes/sieve/crushed_deepslate/diamond/lead_ore_chunk.json +44808902beb66204c46a9e3151d0c5bf5d737df4 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/nickel_ore_chunk.json +dea3d940a1940a03bd568c0e4057f74329104024 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/osmium_ore_chunk.json +5e7f7988a4dd3604ab7506be186f8b310c2eb4d7 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/platinum_ore_chunk.json +7adb9275483dbc0ad976c78e5593552e392e670a data/exdeorum/recipes/sieve/crushed_deepslate/diamond/silver_ore_chunk.json +23661b51650863a10a9b9d05aa24a000ccd02e96 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/tin_ore_chunk.json +164e24136466ead321402e4ccdd88ab477c90ff6 data/exdeorum/recipes/sieve/crushed_deepslate/diamond/uranium_ore_chunk.json 119ad687854e9856f11a464a1b4a4fa006747a7d data/exdeorum/recipes/sieve/crushed_deepslate/flint/amethyst_shard.json f1de5b6e7b0533d5c8bdd0e88696e585598fbac9 data/exdeorum/recipes/sieve/crushed_deepslate/flint/basalt_pebble.json 210d62b835e0526f6b4b2868a3effbcb2dd73956 data/exdeorum/recipes/sieve/crushed_deepslate/flint/calcite_pebble.json @@ -294,9 +324,17 @@ b755f3053dc2f2e3e766db64a80a1873d156885c data/exdeorum/recipes/sieve/crushed_dee d789f6cde58525c3fe965eb40ececa89e4ee8241 data/exdeorum/recipes/sieve/crushed_deepslate/flint/diamond.json f90e1a71760aea8e3bede5b4ad8607c172e42b0e data/exdeorum/recipes/sieve/crushed_deepslate/flint/emerald.json 925ebffabfed246a52990df6db690d64b3242875 data/exdeorum/recipes/sieve/crushed_deepslate/flint/gold_ore_chunk.json +05d695f74dea3e675f4b85bb42174c97a57cf96c data/exdeorum/recipes/sieve/crushed_deepslate/flint/iridium_ore_chunk.json c8053bbcfc5f7b8933e09517b6457578401603db data/exdeorum/recipes/sieve/crushed_deepslate/flint/iron_ore_chunk.json 28d91d9c411f7a1d9daec605b3c1a204e75f063a data/exdeorum/recipes/sieve/crushed_deepslate/flint/lapis_lazuli.json +7b3cc3cf4af738377cef6d50dae392fc64e8848d data/exdeorum/recipes/sieve/crushed_deepslate/flint/lead_ore_chunk.json +379f3f019a96ce84929625e06a1ae1d4d7fcb45e data/exdeorum/recipes/sieve/crushed_deepslate/flint/nickel_ore_chunk.json +726c1a5dde11ab3e86bfcbaa1039b66a453dabde data/exdeorum/recipes/sieve/crushed_deepslate/flint/osmium_ore_chunk.json +4914af43c0409a1d50bf126fb9d4e96045de4c4d data/exdeorum/recipes/sieve/crushed_deepslate/flint/platinum_ore_chunk.json +ad01a80b33c3cb7018542b918a622cc0f6e30287 data/exdeorum/recipes/sieve/crushed_deepslate/flint/silver_ore_chunk.json +798f3c77c9460a70f96df5292d82bc785553a6db data/exdeorum/recipes/sieve/crushed_deepslate/flint/tin_ore_chunk.json 57fe61192f1a88a8437074783b28e8d2547c4ddd data/exdeorum/recipes/sieve/crushed_deepslate/flint/tuff_pebble.json +ef838ea5b17155db3a4114a2598cc3e9a422f14e data/exdeorum/recipes/sieve/crushed_deepslate/flint/uranium_ore_chunk.json 61f09f9de6004a4b48336164575ea2f6f345f576 data/exdeorum/recipes/sieve/crushed_deepslate/golden/amethyst_shard.json 31084da8449cb9e85be49d5b603cf733cf68381a data/exdeorum/recipes/sieve/crushed_deepslate/golden/copper_ore_chunk.json 3abe8201c98a5dc57c83e286ef2cefa5b6285119 data/exdeorum/recipes/sieve/crushed_deepslate/golden/deepslate_pebble.json @@ -304,33 +342,65 @@ a4b81bbfbeb70efa064fe6ea1eea68b6f2da96c8 data/exdeorum/recipes/sieve/crushed_dee 530cec2913bf393b719d8ae58811eb0e2cb4aa0c data/exdeorum/recipes/sieve/crushed_deepslate/golden/emerald.json 355bbd4ef545137d3d1a0754f272297dbec3e1b7 data/exdeorum/recipes/sieve/crushed_deepslate/golden/gold_nugget.json 7d701e272f47a5029786c2a59ceed24a8a6fe339 data/exdeorum/recipes/sieve/crushed_deepslate/golden/gold_ore_chunk.json +21ca6821d3f1e259eb4efa2046bd53315f588b21 data/exdeorum/recipes/sieve/crushed_deepslate/golden/iridium_ore_chunk.json 93ace70556c0b59bfd2de7b14562506b032dbb46 data/exdeorum/recipes/sieve/crushed_deepslate/golden/iron_ore_chunk.json f82704720c2b43f9f482aac5109d00d0419186ff data/exdeorum/recipes/sieve/crushed_deepslate/golden/lapis_lazuli.json +c2a7d4076e92291d7b183c9c30f85848a748883b data/exdeorum/recipes/sieve/crushed_deepslate/golden/lead_ore_chunk.json +bf95dc8c0652cee1aaa41c780aa68cb08218b9d5 data/exdeorum/recipes/sieve/crushed_deepslate/golden/nickel_ore_chunk.json +1f5067c1fe68b89e9256151e4d0b649ac90210d3 data/exdeorum/recipes/sieve/crushed_deepslate/golden/osmium_ore_chunk.json +cc8cb187f3be521fb2e4bdfcd02fecd3028c2c79 data/exdeorum/recipes/sieve/crushed_deepslate/golden/platinum_ore_chunk.json c1f458173553e56f543d22ae073274c4bb9e715a data/exdeorum/recipes/sieve/crushed_deepslate/golden/raw_gold.json +99a5f9a075b92777886472f94a2ee5fdc7d189e3 data/exdeorum/recipes/sieve/crushed_deepslate/golden/silver_ore_chunk.json +27c44396803e9f569e705b08f88e27833bc18d1d data/exdeorum/recipes/sieve/crushed_deepslate/golden/tin_ore_chunk.json +2c78e0c109ecf0a62ea5787f4438e073595bee38 data/exdeorum/recipes/sieve/crushed_deepslate/golden/uranium_ore_chunk.json 3b6dfdf6a621c4332585840ed5ad79f62f22610c data/exdeorum/recipes/sieve/crushed_deepslate/iron/amethyst_shard.json 7d9e15feeb35d43825554b0eb891ffc1e26f5130 data/exdeorum/recipes/sieve/crushed_deepslate/iron/copper_ore_chunk.json caafb808464a51386e5994a7ca09623492e71084 data/exdeorum/recipes/sieve/crushed_deepslate/iron/deepslate_pebble.json a573a2731f646884bd3f4ae61136280dde8c2c96 data/exdeorum/recipes/sieve/crushed_deepslate/iron/diamond.json f1a444b52e9e1696a846592b833a2ceb63c994bc data/exdeorum/recipes/sieve/crushed_deepslate/iron/emerald.json f387102be827d0ad7ef6590bdd97435adc0adb19 data/exdeorum/recipes/sieve/crushed_deepslate/iron/gold_ore_chunk.json +05129a20fdb122ca64e61252ae7011b0189c4c4f data/exdeorum/recipes/sieve/crushed_deepslate/iron/iridium_ore_chunk.json 4a9e056ddaeafce083fa91f4adca89f28e409b42 data/exdeorum/recipes/sieve/crushed_deepslate/iron/iron_ore_chunk.json e2356f1aa76f9f39f3d9eb71e34b206d567456be data/exdeorum/recipes/sieve/crushed_deepslate/iron/lapis_lazuli.json +9601262f949921d5bdd6c3fe2b8bd1aa75101007 data/exdeorum/recipes/sieve/crushed_deepslate/iron/lead_ore_chunk.json +63910b65bb9b5242936a0432a2826cf565198e8f data/exdeorum/recipes/sieve/crushed_deepslate/iron/nickel_ore_chunk.json +b283a716446085dab306e9ad633652965c48051a data/exdeorum/recipes/sieve/crushed_deepslate/iron/osmium_ore_chunk.json +12a6df6b0325e92d1b5257c7b497f1c68b36c14b data/exdeorum/recipes/sieve/crushed_deepslate/iron/platinum_ore_chunk.json +3c325681cacb54c303743d272d06de1142ddc9d2 data/exdeorum/recipes/sieve/crushed_deepslate/iron/silver_ore_chunk.json +adc271cef46fa97affdec9eac74f0d9f0321946c data/exdeorum/recipes/sieve/crushed_deepslate/iron/tin_ore_chunk.json +b3d61ec2518e4ac27d9d66699de2954672dfdd13 data/exdeorum/recipes/sieve/crushed_deepslate/iron/uranium_ore_chunk.json 16e4a02042d54e881bedca80864c024144766956 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/amethyst_shard.json 76c2024a3620feb4f2dd6a874f79e104f3c51b9b data/exdeorum/recipes/sieve/crushed_deepslate/netherite/copper_ore_chunk.json cf185f30a43f5b43112554a57dd815a0b77d6520 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/deepslate_pebble.json cdc25d35d8ec98f7cca1a74dd417f3590a839583 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/diamond.json 69c3f29af10cbd0b6a929ea29612e54678687dec data/exdeorum/recipes/sieve/crushed_deepslate/netherite/emerald.json a743371407c1200e19049de0c1cfb7db54e9e224 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/gold_ore_chunk.json +55e3999812bcae17b63f1815782979969733cbd1 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/iridium_ore_chunk.json 641be85ac7300b45c139844316086cb5c30b8599 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/iron_ore_chunk.json 0d84fa101dd247f42867022a1aa15cb45e719ef3 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/lapis_lazuli.json +2b8244da348847d271355e1cadaa2d08e285bc8f data/exdeorum/recipes/sieve/crushed_deepslate/netherite/lead_ore_chunk.json +01e29787eee8e841207f4474e02cfe7c43aea5f3 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/nickel_ore_chunk.json +f19c1ae8de8dbcc090e06e68383ef0440c8a2fab data/exdeorum/recipes/sieve/crushed_deepslate/netherite/osmium_ore_chunk.json +99058950f833ca3b569ebb041b33401b0c6e42c8 data/exdeorum/recipes/sieve/crushed_deepslate/netherite/platinum_ore_chunk.json +a0f2ca88420e5b1e3cf42e40eac671e184b15a9f data/exdeorum/recipes/sieve/crushed_deepslate/netherite/silver_ore_chunk.json +7e7dfb046c8c163ef815b1d76a7ab869a2ed078f data/exdeorum/recipes/sieve/crushed_deepslate/netherite/tin_ore_chunk.json +e8baba38e66571594c46363d31ad41e2c2d1e82e data/exdeorum/recipes/sieve/crushed_deepslate/netherite/uranium_ore_chunk.json 22d5d1515a8334764fcea71121d7a3dd725a4f4d data/exdeorum/recipes/sieve/crushed_deepslate/string/amethyst_shard.json 9d68627c3154cb28d0870606f52b0642c09ef8bb data/exdeorum/recipes/sieve/crushed_deepslate/string/copper_ore_chunk.json e5e179dec565277380d0d0b4e35990c8baeeda65 data/exdeorum/recipes/sieve/crushed_deepslate/string/deepslate_pebble.json 32f9fbec3128803e965f407b785ea812f1860e27 data/exdeorum/recipes/sieve/crushed_deepslate/string/diamond.json 7d3b675754200bcd0d44a1b595a7cd1443ce3f28 data/exdeorum/recipes/sieve/crushed_deepslate/string/emerald.json 744b9140fc69e1cf0a59d72524baf1770d45ae8c data/exdeorum/recipes/sieve/crushed_deepslate/string/gold_ore_chunk.json +b37bd819bfe576ac0f75b9eab2a59436832ad1a4 data/exdeorum/recipes/sieve/crushed_deepslate/string/iridium_ore_chunk.json a2e895b8b68e6cddf045a4dc97f323679e37be60 data/exdeorum/recipes/sieve/crushed_deepslate/string/iron_ore_chunk.json c2165469fc079114e44a96c89753e01e276d4f05 data/exdeorum/recipes/sieve/crushed_deepslate/string/lapis_lazuli.json +cd1cb531c5e7cdc9c96450e4bf0f411a279d3fd3 data/exdeorum/recipes/sieve/crushed_deepslate/string/lead_ore_chunk.json +249ec3663631fed98c6b288b992e0648be710271 data/exdeorum/recipes/sieve/crushed_deepslate/string/nickel_ore_chunk.json +5d0640481af53e4543bcdd123ec92ec758cb69b0 data/exdeorum/recipes/sieve/crushed_deepslate/string/osmium_ore_chunk.json +a78045579a330624ad2ec6fafeec47f5f4fc7531 data/exdeorum/recipes/sieve/crushed_deepslate/string/platinum_ore_chunk.json +f67075aaf30d2c6ac86a6ecc6408a8deb07af0ea data/exdeorum/recipes/sieve/crushed_deepslate/string/silver_ore_chunk.json +281c6af1feaa84c6d4be0a00e16e98d0c8921ab0 data/exdeorum/recipes/sieve/crushed_deepslate/string/tin_ore_chunk.json +6f1e0508bffc4afe0bffba09d20e7ab4d4d3a755 data/exdeorum/recipes/sieve/crushed_deepslate/string/uranium_ore_chunk.json e76fb7f519c2b5f4acbc51fa71db1cae02533b10 data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_flower.json 9ac5393cea652159302888164af0b233ad7b93df data/exdeorum/recipes/sieve/crushed_end_stone/diamond/chorus_fruit.json 7b76b3e251c5d929224bbbbd564b705867eb5b81 data/exdeorum/recipes/sieve/crushed_end_stone/diamond/ender_eye.json @@ -359,6 +429,7 @@ e46ec24f45d9d3ba5564f38b8259a9c4aedc3ca0 data/exdeorum/recipes/sieve/crushed_end f7d04732eb4e3819cc092fbdb79ed27655149d65 data/exdeorum/recipes/sieve/crushed_end_stone/string/ender_pearl.json 394b5c90b88123e4aec00f309b04460c5c693e35 data/exdeorum/recipes/sieve/crushed_netherrack/diamond/blackstone_pebble.json ae19efe0e12743ef74bb3e6db7cac0ce597c6390 data/exdeorum/recipes/sieve/crushed_netherrack/diamond/blaze_powder.json +02c9d777d87bbb484d8f25b1d6756509b5bf33a4 data/exdeorum/recipes/sieve/crushed_netherrack/diamond/cobalt_ore_chunk.json f58dca5f5ad76391d1bc63d13f7d89d9327cc162 data/exdeorum/recipes/sieve/crushed_netherrack/diamond/gold_nugget.json 9c25259909d977f4e1d8a977def6a123983378ee data/exdeorum/recipes/sieve/crushed_netherrack/diamond/gunpowder.json bbb516d135bea4650990358ba9ed3ba9c9633658 data/exdeorum/recipes/sieve/crushed_netherrack/diamond/magma_cream.json @@ -366,6 +437,7 @@ bbb516d135bea4650990358ba9ed3ba9c9633658 data/exdeorum/recipes/sieve/crushed_net b33da6a1f73246dd46d9883135fec25ac38d0de1 data/exdeorum/recipes/sieve/crushed_netherrack/flint/basalt_pebble.json 4c60b35d7c6d3811fc93910dcd3c4022dd971a38 data/exdeorum/recipes/sieve/crushed_netherrack/flint/blackstone_pebble.json 9ec9b004efec63cd68398d306b8e5a82ebd39acb data/exdeorum/recipes/sieve/crushed_netherrack/flint/blaze_powder.json +1be500947c191bd2f38e438eb0b9273215f07428 data/exdeorum/recipes/sieve/crushed_netherrack/flint/cobalt_ore_chunk.json afe931b05471b89bb3722bb34654b27b259d42f9 data/exdeorum/recipes/sieve/crushed_netherrack/flint/crimson_nylium_spores.json fecf3945d51d0692ecb027126f9005dedbec84d4 data/exdeorum/recipes/sieve/crushed_netherrack/flint/gold_nugget.json 75684abbbb4ae1a6b46fcd91005a7f873708c34f data/exdeorum/recipes/sieve/crushed_netherrack/flint/gunpowder.json @@ -375,6 +447,7 @@ e1ab6813fe6cfea0a94771de8521ac8f710e42dc data/exdeorum/recipes/sieve/crushed_net 73b333c4639c69973e08629dc8c3913bef515c49 data/exdeorum/recipes/sieve/crushed_netherrack/golden/basalt_pebble.json ddce920c684df782c5c654a2d0eb1f53f9cc13c5 data/exdeorum/recipes/sieve/crushed_netherrack/golden/blackstone_pebble.json f62c93593e9b52e08ba78ed9b979cf015c451a0d data/exdeorum/recipes/sieve/crushed_netherrack/golden/blaze_powder.json +e622fb424b93333b7bca6404fe69cec428dbfdee data/exdeorum/recipes/sieve/crushed_netherrack/golden/cobalt_ore_chunk.json d334ae1e640c66b8c56abe306600f0ca1e13ce55 data/exdeorum/recipes/sieve/crushed_netherrack/golden/crimson_nylium_spores.json ad740b9490f54236d81354eb0040e4e49871a4d8 data/exdeorum/recipes/sieve/crushed_netherrack/golden/gold_nugget.json 883424000b8c5d331228e30b82b4696a24a1d059 data/exdeorum/recipes/sieve/crushed_netherrack/golden/gunpowder.json @@ -385,6 +458,7 @@ dda6c070968d367c5f50c35d7f9dc33f21469792 data/exdeorum/recipes/sieve/crushed_net bb85c68354ad340faf9349aa9195a78b645d95a8 data/exdeorum/recipes/sieve/crushed_netherrack/iron/basalt_pebble.json 9dce5057d1e3e2d606c62f090945fa3f0b135d9b data/exdeorum/recipes/sieve/crushed_netherrack/iron/blackstone_pebble.json a38e423ba92081350d3749acac2ffef42f61ab4d data/exdeorum/recipes/sieve/crushed_netherrack/iron/blaze_powder.json +dd79fc0203f7561fbb8ae0dcc0354deb1cfb554c data/exdeorum/recipes/sieve/crushed_netherrack/iron/cobalt_ore_chunk.json ef88b0b2671dcf485a9b900cd7164538375f2c91 data/exdeorum/recipes/sieve/crushed_netherrack/iron/crimson_nylium_spores.json 1bc51258e5b23d3fe545ace72f7c2b87deb0dfc2 data/exdeorum/recipes/sieve/crushed_netherrack/iron/gold_nugget.json 21bca27716922d28a25ebfa2444424642bcb78bd data/exdeorum/recipes/sieve/crushed_netherrack/iron/gunpowder.json @@ -393,6 +467,7 @@ de8d9b846b324a4890887438e5653f29277bd987 data/exdeorum/recipes/sieve/crushed_net 2221ffc1f7e70300fdf2c7cde2e9140c9369e4d2 data/exdeorum/recipes/sieve/crushed_netherrack/iron/warped_nylium_spores.json 95ea870b4e17d114ea433a0e73e39d641d92cb1a data/exdeorum/recipes/sieve/crushed_netherrack/netherite/blackstone_pebble.json 2244a473ac96af91816179a18b43fedaa7930a2c data/exdeorum/recipes/sieve/crushed_netherrack/netherite/blaze_powder.json +d9df0579c680278bb9b5e4a80b58a833d0f6a1d0 data/exdeorum/recipes/sieve/crushed_netherrack/netherite/cobalt_ore_chunk.json 6297020d5264c142b69cb17d5911ca1110ad45fc data/exdeorum/recipes/sieve/crushed_netherrack/netherite/gold_nugget.json 463b7074cc4509ab3bb484eb4b73721d5a118da4 data/exdeorum/recipes/sieve/crushed_netherrack/netherite/gunpowder.json 86234c01a5c931b04b5a978414129f467a90d6e4 data/exdeorum/recipes/sieve/crushed_netherrack/netherite/magma_cream.json @@ -400,6 +475,7 @@ de8d9b846b324a4890887438e5653f29277bd987 data/exdeorum/recipes/sieve/crushed_net d6c8078d6126998754227051f2c1e6991c98e67e data/exdeorum/recipes/sieve/crushed_netherrack/string/basalt_pebble.json abd7526719c36f956b79ad79a6b582c51dd40259 data/exdeorum/recipes/sieve/crushed_netherrack/string/blackstone_pebble.json 0d0144aa844c09d6f74a570ff38e073df7d4cb76 data/exdeorum/recipes/sieve/crushed_netherrack/string/blaze_powder.json +3ed20f22e7bfe06b7088250ace9f9847758aa84a data/exdeorum/recipes/sieve/crushed_netherrack/string/cobalt_ore_chunk.json b8e977bdbde337c9de16ed796242a2e7b6368b5b data/exdeorum/recipes/sieve/crushed_netherrack/string/crimson_nylium_spores.json 411055f615a1fa081e2294bd9308e22eb43b64f7 data/exdeorum/recipes/sieve/crushed_netherrack/string/gold_nugget.json b2aed8b5743778fc4b324a119518e2f371a3f562 data/exdeorum/recipes/sieve/crushed_netherrack/string/gunpowder.json @@ -485,23 +561,27 @@ d31fa934cef32f4bcc4cabf110f2b90ae12a1db7 data/exdeorum/recipes/sieve/dirt/string 13df9ac15d131c250cbdb175ff3bc1145afadcb5 data/exdeorum/recipes/sieve/dust/diamond/bone_meal.json b46cceeab1061ed238e005b2415b24160fcd5d73 data/exdeorum/recipes/sieve/dust/diamond/glowstone_dust.json da3556d43a22a00cfba29419879f8bb1c24f76e0 data/exdeorum/recipes/sieve/dust/diamond/gold_nugget.json +0087b10cc106dc6cb22a9574567faf8096fa797e data/exdeorum/recipes/sieve/dust/diamond/grains_of_infinity.json aacdbedc91e09191a6fc335ed82ca481d934ebc3 data/exdeorum/recipes/sieve/dust/diamond/gunpowder.json 00907e701451521c3ca793ec337b0b2f0166e895 data/exdeorum/recipes/sieve/dust/diamond/redstone.json 7eba59b03b5affdc11c937060e99949db301086a data/exdeorum/recipes/sieve/dust/flint/blaze_powder.json 7af226b5661b96e0b8ddcb8ec902d37f429b0b48 data/exdeorum/recipes/sieve/dust/flint/bone_meal.json 0a7d44bdff5a9b7040f702cb5ff756ce231c9a60 data/exdeorum/recipes/sieve/dust/flint/glowstone_dust.json +c418797b65a0c67841c5e99d8fec95d1ee780065 data/exdeorum/recipes/sieve/dust/flint/grains_of_infinity.json 52c65219279d46fe5474a8a01d69a1362cb3a2ea data/exdeorum/recipes/sieve/dust/flint/gunpowder.json 7ecd5ae5d7f6783ff7535978352190a9af1b0ab4 data/exdeorum/recipes/sieve/dust/flint/redstone.json bdbe4b3434ff67299b47d65eab0c442b235dc654 data/exdeorum/recipes/sieve/dust/golden/blaze_powder.json fab2426618c3f527ed401f1ef2cee3fa81de1969 data/exdeorum/recipes/sieve/dust/golden/bone_meal.json 9a9eb3cc996de392e75dd9c6613af1ff382615d5 data/exdeorum/recipes/sieve/dust/golden/glowstone_dust.json 183741090cfd4dbb792f70c9daea3dd8030f56e2 data/exdeorum/recipes/sieve/dust/golden/gold_nugget.json +c087c3ba3bd7bda74aac13435f61a998060d4872 data/exdeorum/recipes/sieve/dust/golden/grains_of_infinity.json 4d28a3acd946fd55c3982e5ff9bb8876b8b0baef data/exdeorum/recipes/sieve/dust/golden/gunpowder.json a9c9258b74162f5132b8b47f3981b071ec6b60bf data/exdeorum/recipes/sieve/dust/golden/raw_gold.json 65c99881294536c0f59d66d0e7429d85bbec0b9b data/exdeorum/recipes/sieve/dust/golden/redstone.json 4b304a265794186e3c1fbd23acfcfde57322d615 data/exdeorum/recipes/sieve/dust/iron/blaze_powder.json 758573f460a7f2ff2104a1bbfde2fa8392d002a4 data/exdeorum/recipes/sieve/dust/iron/bone_meal.json e3f7f74c6e84a149282b23f0388e25c7ae5f4352 data/exdeorum/recipes/sieve/dust/iron/glowstone_dust.json +f5c25b6ee05890bdc41ddc45a14b2015665388fe data/exdeorum/recipes/sieve/dust/iron/grains_of_infinity.json 5ffc2f95fc5a52aad02e7b063ba64c4cd41836f3 data/exdeorum/recipes/sieve/dust/iron/gunpowder.json eeb2ec19599044971eeff5929e7238fa398f1f08 data/exdeorum/recipes/sieve/dust/iron/iron_nugget.json 9dc82b4a79edf9561566137af39399b1621b89a0 data/exdeorum/recipes/sieve/dust/iron/redstone.json @@ -509,14 +589,17 @@ eeb2ec19599044971eeff5929e7238fa398f1f08 data/exdeorum/recipes/sieve/dust/iron/i 33e35a1af71274a675498234b8dcd9834368c717 data/exdeorum/recipes/sieve/dust/netherite/bone_meal.json 0472c65dad0e35df7397dfb2a7b53c5408f5fffc data/exdeorum/recipes/sieve/dust/netherite/glowstone_dust.json d82f3f9b53a74977cb6ff682013beb150088d61b data/exdeorum/recipes/sieve/dust/netherite/gold_nugget.json +a776c6d6946a02fea8bb346860f525bde2c835de data/exdeorum/recipes/sieve/dust/netherite/grains_of_infinity.json 2fb062f8d8be004bd5e54a43a089c579a374abb1 data/exdeorum/recipes/sieve/dust/netherite/gunpowder.json c6a8996009ae3e712a2895001e96c74bb35b224c data/exdeorum/recipes/sieve/dust/netherite/iron_nugget.json 44e98c8ce40d6f72596b009398943cb3ac6ef1b5 data/exdeorum/recipes/sieve/dust/netherite/redstone.json 7bed9653a0d40436bd15531ffb15eb84563cfc4d data/exdeorum/recipes/sieve/dust/string/blaze_powder.json 74dc1675b4dc9c0d1d96bc22db0b844f322082b8 data/exdeorum/recipes/sieve/dust/string/bone_meal.json e4ead3b21ece1d4470c2000017586c1730acd1bb data/exdeorum/recipes/sieve/dust/string/glowstone_dust.json +91428deb05889718e458b8cd9f6d610f1e652330 data/exdeorum/recipes/sieve/dust/string/grains_of_infinity.json 3272a1f8b4534dd8800b07b7ec826d8f7a4fae65 data/exdeorum/recipes/sieve/dust/string/gunpowder.json e1a8558df8270d57cbcdf7255b93b40d0c05d33b data/exdeorum/recipes/sieve/dust/string/redstone.json +9df7ca0a604ab01b33dfe0b342441b9705c9ac9e data/exdeorum/recipes/sieve/gravel/diamond/aluminum_ore_chunk.json b1b1c231670f2622dc2227fac65aff0ebbd2ea19 data/exdeorum/recipes/sieve/gravel/diamond/amethyst_shard.json 2284efd2a38ecb63f694ba0586c478b26207adce data/exdeorum/recipes/sieve/gravel/diamond/coal.json ac9139345f1b1d4bd8fb48350d3a6df9a33c2a93 data/exdeorum/recipes/sieve/gravel/diamond/copper_ore_chunk.json @@ -525,8 +608,16 @@ ac9139345f1b1d4bd8fb48350d3a6df9a33c2a93 data/exdeorum/recipes/sieve/gravel/diam 60a052b488bee7fb028a94b6004af3fe994565ea data/exdeorum/recipes/sieve/gravel/diamond/emerald.json 66d27aa930f24ab223056cd8e306a62b0d7c91c9 data/exdeorum/recipes/sieve/gravel/diamond/flint.json 3544e4e64e54f9ab80015c8d708e397777cb3212 data/exdeorum/recipes/sieve/gravel/diamond/gold_ore_chunk.json +b25b9a23f50fa60719f74ffc26b53017f8d74cd0 data/exdeorum/recipes/sieve/gravel/diamond/iridium_ore_chunk.json 6cf8e4f262fa4e4153bcaa6c684854712f720021 data/exdeorum/recipes/sieve/gravel/diamond/iron_ore_chunk.json 71084e96ae9c98c76ecb03b38de241b72ad0cf8c data/exdeorum/recipes/sieve/gravel/diamond/lapis_lazuli.json +981752f69c4094f1cb4a8d0272399117eb28f19b data/exdeorum/recipes/sieve/gravel/diamond/lead_ore_chunk.json +f6de57c588c96a776056f60505ac902efc7495db data/exdeorum/recipes/sieve/gravel/diamond/nickel_ore_chunk.json +ee29c9cfa88c60528d639c9c286f123e959787c7 data/exdeorum/recipes/sieve/gravel/diamond/osmium_ore_chunk.json +3f0adcb8f4b5ebcdbe21111242afdb70ba173aac data/exdeorum/recipes/sieve/gravel/diamond/silver_ore_chunk.json +15348d9b88d923d36fa6bcdb84bdb009746cbf22 data/exdeorum/recipes/sieve/gravel/diamond/tin_ore_chunk.json +3fb22737f15f0bf7024e7277bbe8cc6a4e4bc75b data/exdeorum/recipes/sieve/gravel/diamond/zinc_ore_chunk.json +5ae5bcebab67694b32474bd28ea1fbab0b8333c6 data/exdeorum/recipes/sieve/gravel/flint/aluminum_ore_chunk.json 3791bf6a2875898602b4dbf3d5ef6b1451010583 data/exdeorum/recipes/sieve/gravel/flint/amethyst_shard.json d2e86dc8b2f2465ac26e95e7d38916fc14e2dae5 data/exdeorum/recipes/sieve/gravel/flint/andesite_pebble.json 3b869472d11d1252ef06b9b0a6274c8a5660aa91 data/exdeorum/recipes/sieve/gravel/flint/coal.json @@ -537,10 +628,18 @@ d2e86dc8b2f2465ac26e95e7d38916fc14e2dae5 data/exdeorum/recipes/sieve/gravel/flin 7421d8e9053918cd6e7a5f7bc2902b296f714a70 data/exdeorum/recipes/sieve/gravel/flint/flint.json d988d062013ae4d6afcb8e5e13065518a012d126 data/exdeorum/recipes/sieve/gravel/flint/gold_ore_chunk.json a3f7e6269846b25acbd994b0e564020f7a22cd0f data/exdeorum/recipes/sieve/gravel/flint/granite_pebble.json +cb1601e4e798f148a352d0910a028f594a944d4c data/exdeorum/recipes/sieve/gravel/flint/iridium_ore_chunk.json 57d60dd6b13ad4c45238da601a37ee2ab964052b data/exdeorum/recipes/sieve/gravel/flint/iron_ore_chunk.json 702f85e882f2b10a6613f41074ccfc9b759c42b9 data/exdeorum/recipes/sieve/gravel/flint/lapis_lazuli.json +91d01d076b8a72827d270de34fe03022a44c9291 data/exdeorum/recipes/sieve/gravel/flint/lead_ore_chunk.json +391add009436b8206ae851ce82efe1be208266b0 data/exdeorum/recipes/sieve/gravel/flint/nickel_ore_chunk.json +56081d362764dfd8f93703efe23281a255905287 data/exdeorum/recipes/sieve/gravel/flint/osmium_ore_chunk.json 6ca4057510d2b568a3559ae1005e037518a99745 data/exdeorum/recipes/sieve/gravel/flint/pointed_dripstone.json +730b28230adbd656e270bdc7b2f773a9459d434a data/exdeorum/recipes/sieve/gravel/flint/silver_ore_chunk.json fe663f47d5e16267a61b6f7111a6f588209888e7 data/exdeorum/recipes/sieve/gravel/flint/stone_pebble.json +bc6e6631affd1dbf1a3711bbc7b6ceb7df0b6005 data/exdeorum/recipes/sieve/gravel/flint/tin_ore_chunk.json +31e2fc038cb5269e24da8c8bf85aed6fb2bf7d75 data/exdeorum/recipes/sieve/gravel/flint/zinc_ore_chunk.json +8a2defff0d9856f22949fe0e271710c533f494dc data/exdeorum/recipes/sieve/gravel/golden/aluminum_ore_chunk.json 28678c0ce921c7b884db3d0e49a54b20deec4825 data/exdeorum/recipes/sieve/gravel/golden/amethyst_shard.json b5af4ec46beb6a5957a2099eaecac55b6a0a6637 data/exdeorum/recipes/sieve/gravel/golden/coal.json 0ec8d93ded300ec6fec985ee171466b42ed6eaa0 data/exdeorum/recipes/sieve/gravel/golden/copper_ore_chunk.json @@ -550,10 +649,18 @@ b910213c60616555b2701eab2e6ed6c10ab2996d data/exdeorum/recipes/sieve/gravel/gold 85d089c35627a16344c652f9a347b930fbac779d data/exdeorum/recipes/sieve/gravel/golden/flint.json 4f0edad66d6d5899a81fb32c11da8b4f4943e483 data/exdeorum/recipes/sieve/gravel/golden/gold_nugget.json 4be0b7be825c07b1406f45f6b9182d6c0a643cb3 data/exdeorum/recipes/sieve/gravel/golden/gold_ore_chunk.json +5e940efaf67afe5273df3bdea9054e57f2685d52 data/exdeorum/recipes/sieve/gravel/golden/iridium_ore_chunk.json bd443731b92b52d140fd1f1e21db4167e4a17243 data/exdeorum/recipes/sieve/gravel/golden/iron_ore_chunk.json ae0acc3deb886e04d8226b1cbe36e67a8dd360bf data/exdeorum/recipes/sieve/gravel/golden/lapis_lazuli.json +35f01fd1939936fa63ea4c13afda51a444e139e8 data/exdeorum/recipes/sieve/gravel/golden/lead_ore_chunk.json +3f388614379e8785a490f71ee7ce8f58a95eefbc data/exdeorum/recipes/sieve/gravel/golden/nickel_ore_chunk.json +581cfcbd5e5faeaf20d7f1eddd1bf6e21cc1f4f2 data/exdeorum/recipes/sieve/gravel/golden/osmium_ore_chunk.json be8c717dd4b8661f42d102182e009f3a55813f3d data/exdeorum/recipes/sieve/gravel/golden/raw_gold.json +4bb392b0051de504d59fcd7ad1122ba1569c72e7 data/exdeorum/recipes/sieve/gravel/golden/silver_ore_chunk.json d1e92452ba4285a9b65f93cdec1cf65f31883c9f data/exdeorum/recipes/sieve/gravel/golden/stone_pebble.json +405ae53ab5777de41d1fd2455a548255d0a42a13 data/exdeorum/recipes/sieve/gravel/golden/tin_ore_chunk.json +d4fecb145a90683dfdd9202d518967208a3a0ec1 data/exdeorum/recipes/sieve/gravel/golden/zinc_ore_chunk.json +7186738ce82393fadb515a7b868dd3c45c16289f data/exdeorum/recipes/sieve/gravel/iron/aluminum_ore_chunk.json bc5e582d21730a7b0744f957e0388108742fba77 data/exdeorum/recipes/sieve/gravel/iron/amethyst_shard.json 4310e908dd8439964e6da95cb433e676f13788ef data/exdeorum/recipes/sieve/gravel/iron/coal.json 49952882ee7d8650f0ec83e9fed338c095e74b6b data/exdeorum/recipes/sieve/gravel/iron/copper_ore_chunk.json @@ -562,9 +669,17 @@ d809f81374f8a3e3d23e63ed788761b9a6ca845e data/exdeorum/recipes/sieve/gravel/iron e28dd0cc2ae440c324a78b97757266ef0243b94e data/exdeorum/recipes/sieve/gravel/iron/emerald.json 6610b8fb3cb40f1d5e149fe3831d82063add8b5d data/exdeorum/recipes/sieve/gravel/iron/flint.json 5bbb6415d53f5efac6799f654bc3486a277aed31 data/exdeorum/recipes/sieve/gravel/iron/gold_ore_chunk.json +23e6a404d85a3351772fb713b5db7c5582345e4c data/exdeorum/recipes/sieve/gravel/iron/iridium_ore_chunk.json be90f3b4db2a9e24f218ca9ba2b96bcbb607e693 data/exdeorum/recipes/sieve/gravel/iron/iron_ore_chunk.json b8b54b1de7034163b0f679f7e0368530dc15e159 data/exdeorum/recipes/sieve/gravel/iron/lapis_lazuli.json +c02f2b1d17c3cdb68ed9b6afd41bd30adbc4fda6 data/exdeorum/recipes/sieve/gravel/iron/lead_ore_chunk.json +04367aa5229d3d7edb2c6da1aba48f0720aa5e45 data/exdeorum/recipes/sieve/gravel/iron/nickel_ore_chunk.json +274d86c9cf11cb45e37718231e826b109b867ce1 data/exdeorum/recipes/sieve/gravel/iron/osmium_ore_chunk.json +a252e975c9b22a2bdf2e72514d80949ef8ada023 data/exdeorum/recipes/sieve/gravel/iron/silver_ore_chunk.json 641e557462f67d6e989c86e98f0e61219ac0f154 data/exdeorum/recipes/sieve/gravel/iron/stone_pebble.json +6eadbf2fa781f0fa4833359e8c6a3a4fdba55b83 data/exdeorum/recipes/sieve/gravel/iron/tin_ore_chunk.json +5bafdd563e5f052c69b30662741c81ff5022ea6b data/exdeorum/recipes/sieve/gravel/iron/zinc_ore_chunk.json +44f8cb84279fb80d2010951e2fc3a7a93d2dd718 data/exdeorum/recipes/sieve/gravel/netherite/aluminum_ore_chunk.json 1b01b51ac49be8b288d78eed9f13976947ba85b4 data/exdeorum/recipes/sieve/gravel/netherite/amethyst_shard.json 6e483128177c19df169f37efdfd778178d86f740 data/exdeorum/recipes/sieve/gravel/netherite/coal.json 75cf3e4a04f845e991a4eb7c664e54fb547574ce data/exdeorum/recipes/sieve/gravel/netherite/copper_ore_chunk.json @@ -573,9 +688,17 @@ b8b54b1de7034163b0f679f7e0368530dc15e159 data/exdeorum/recipes/sieve/gravel/iron 60e296a99d2512f9af539f312234f0f694b01d8a data/exdeorum/recipes/sieve/gravel/netherite/emerald.json 41aaa9c5a1b61ea79b231528a6e76c9c1d273331 data/exdeorum/recipes/sieve/gravel/netherite/gold_nugget.json 22a8a86bd12d7db9a4929121692dccfe3616a942 data/exdeorum/recipes/sieve/gravel/netherite/gold_ore_chunk.json +f2c95dc2b7bee18aa27ad336ad470957050148d3 data/exdeorum/recipes/sieve/gravel/netherite/iridium_ore_chunk.json e28a30509e84956d6d193911cfe8ba252a2825cf data/exdeorum/recipes/sieve/gravel/netherite/iron_ore_chunk.json 8f49a2cdf84583537955e4c27c854bf34dc47903 data/exdeorum/recipes/sieve/gravel/netherite/lapis_lazuli.json +f12a4bd98ef79dd7e9073d1626e8294f11f900ae data/exdeorum/recipes/sieve/gravel/netherite/lead_ore_chunk.json +79730a79998fb8c56eee3277c83eb2ebf3cb7bcd data/exdeorum/recipes/sieve/gravel/netherite/nickel_ore_chunk.json +55e6ab316d5281084a751060ea66b542b597f11f data/exdeorum/recipes/sieve/gravel/netherite/osmium_ore_chunk.json fa83bb8a17c0fc1fcec33ac08f464946cfdc206c data/exdeorum/recipes/sieve/gravel/netherite/raw_gold.json +7277f2905bcf0b9e51e7031296cf3363921aaf2e data/exdeorum/recipes/sieve/gravel/netherite/silver_ore_chunk.json +0eebd5aadf24a1e1d4f7086fb516404d78856f94 data/exdeorum/recipes/sieve/gravel/netherite/tin_ore_chunk.json +fdeef4659d58556758cafb04cb97823a7e6280e5 data/exdeorum/recipes/sieve/gravel/netherite/zinc_ore_chunk.json +80ba4c9fb5907709dba07752128899aa222f4227 data/exdeorum/recipes/sieve/gravel/string/aluminum_ore_chunk.json 2aa745d14fdc3f52df7c1eca880125edf0b8009b data/exdeorum/recipes/sieve/gravel/string/amethyst_shard.json 5b0bbf7b85568dcd41f87692b65096a0f052d735 data/exdeorum/recipes/sieve/gravel/string/coal.json 032f1cdaf8a6854974e29980287a5a3138e4fa41 data/exdeorum/recipes/sieve/gravel/string/copper_ore_chunk.json @@ -583,9 +706,16 @@ bd1ce763ae605e9a0d82e4afa58c4811516bc6bf data/exdeorum/recipes/sieve/gravel/stri 99c4949a12df18202041a09e6b27157a76446fbd data/exdeorum/recipes/sieve/gravel/string/emerald.json b298e2f51255b88beea1394e2f609768fbb36921 data/exdeorum/recipes/sieve/gravel/string/flint.json 0c0e184928b7371b1cabaca16b51d137a52fc77b data/exdeorum/recipes/sieve/gravel/string/gold_ore_chunk.json +1a3a7eba846fb34fa5391dc7fb29509011a7f88c data/exdeorum/recipes/sieve/gravel/string/iridium_ore_chunk.json 14c1eb7582d996fb2dccedd0f51d3b731cba5e73 data/exdeorum/recipes/sieve/gravel/string/iron_ore_chunk.json 19ddad521fcb43ea69e4aeda92f8ea841630c530 data/exdeorum/recipes/sieve/gravel/string/lapis_lazuli.json +f245cf69e06874c43bc2bdaabb7806c59d274c93 data/exdeorum/recipes/sieve/gravel/string/lead_ore_chunk.json +b89e33d919dbd61f41f9d0eed39cd188fb1289ff data/exdeorum/recipes/sieve/gravel/string/nickel_ore_chunk.json +73ba3c31fc8ee5f88279289f571a5e5ea5bd14da data/exdeorum/recipes/sieve/gravel/string/osmium_ore_chunk.json +759250554ab4212c823eae23a4f15924579b8723 data/exdeorum/recipes/sieve/gravel/string/silver_ore_chunk.json e33e4503b24e2dc1ab1821746f49ac157f2350d3 data/exdeorum/recipes/sieve/gravel/string/stone_pebble.json +784265b509fa3a590f33651cb2c1d0cb263ed141 data/exdeorum/recipes/sieve/gravel/string/tin_ore_chunk.json +251d4876ef292135996e19ccb8fdf805f54d8f68 data/exdeorum/recipes/sieve/gravel/string/zinc_ore_chunk.json b774a52785ba81cf8c589b9962abce624862a6ec data/exdeorum/recipes/sieve/moss_block/diamond/acacia_sapling.json 34776767a1a3ccea93b858edb5e4259f5b5ff1bd data/exdeorum/recipes/sieve/moss_block/diamond/azalea.json 03fad0af6d1930f134908aef86761bda029472df data/exdeorum/recipes/sieve/moss_block/diamond/big_dripleaf.json diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/aluminum_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/aluminum_tag.json new file mode 100644 index 00000000..32266951 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/aluminum_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:aluminum_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/aluminum_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/aluminum_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/cobalt_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/cobalt_tag.json new file mode 100644 index 00000000..9dde4511 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/cobalt_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:cobalt_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/cobalt_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/cobalt_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/iridium_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/iridium_tag.json new file mode 100644 index 00000000..c1bda58c --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/iridium_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:iridium_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/iridium_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/iridium_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/lead_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/lead_tag.json new file mode 100644 index 00000000..61bd49ff --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/lead_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:lead_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/lead_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/lead_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/nickel_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/nickel_tag.json new file mode 100644 index 00000000..6c0ee51c --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/nickel_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:nickel_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/nickel_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/nickel_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/osmium_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/osmium_tag.json new file mode 100644 index 00000000..997f62ff --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/osmium_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:osmium_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/osmium_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/osmium_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/platinum_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/platinum_tag.json new file mode 100644 index 00000000..a69a43e9 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/platinum_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:platinum_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/platinum_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/platinum_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/silver_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/silver_tag.json new file mode 100644 index 00000000..98b9de2d --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/silver_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:silver_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/silver_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/silver_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/tin_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/tin_tag.json new file mode 100644 index 00000000..703ef774 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/tin_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:tin_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/tin_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/tin_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/uranium_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/uranium_tag.json new file mode 100644 index 00000000..d056ee85 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/uranium_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:uranium_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/uranium_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/uranium_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/zinc_tag.json b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/zinc_tag.json new file mode 100644 index 00000000..d7ea89b6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/advancements/recipes/misc/ores/zinc_tag.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_item": { + "conditions": { + "items": [ + { + "items": [ + "exdeorum:zinc_ore_chunk" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "exdeorum:ores/zinc_tag" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_item", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "exdeorum:ores/zinc_tag" + ] + }, + "sends_telemetry_event": true +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/aluminum_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/aluminum_tag.json new file mode 100644 index 00000000..39c0a8eb --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/aluminum_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:aluminum_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/aluminum" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/cobalt_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/cobalt_tag.json new file mode 100644 index 00000000..f43478a7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/cobalt_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:cobalt_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/cobalt" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/iridium_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/iridium_tag.json new file mode 100644 index 00000000..5130b2f8 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/iridium_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:iridium_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/iridium" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/lead_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/lead_tag.json new file mode 100644 index 00000000..929e48b7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/lead_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:lead_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/lead" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/nickel_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/nickel_tag.json new file mode 100644 index 00000000..f0e5d470 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/nickel_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:nickel_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/nickel" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/osmium_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/osmium_tag.json new file mode 100644 index 00000000..da6cf0f4 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/osmium_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:osmium_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/osmium" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/platinum_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/platinum_tag.json new file mode 100644 index 00000000..30d4f2f7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/platinum_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:platinum_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/platinum" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/silver_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/silver_tag.json new file mode 100644 index 00000000..52ac577f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/silver_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:silver_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/silver" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/tin_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/tin_tag.json new file mode 100644 index 00000000..ed29d801 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/tin_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:tin_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/tin" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/uranium_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/uranium_tag.json new file mode 100644 index 00000000..bc78dffa --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/uranium_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:uranium_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/uranium" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/ores/zinc_tag.json b/src/generated/resources/data/exdeorum/recipes/ores/zinc_tag.json new file mode 100644 index 00000000..cbbba7f6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/ores/zinc_tag.json @@ -0,0 +1,21 @@ +{ + "type": "exdeorum:tag_result", + "recipe": { + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "exdeorum:zinc_ore_chunk" + } + }, + "pattern": [ + "##", + "##" + ], + "result": { + "item": "minecraft:air" + }, + "show_notification": true + }, + "result_tag": "forge:ores/zinc" +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/iridium_ore_chunk.json new file mode 100644 index 00000000..a1291d55 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.065 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/lead_ore_chunk.json new file mode 100644 index 00000000..c12e693c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:lead_ore_chunk", + "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_deepslate/diamond/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/nickel_ore_chunk.json new file mode 100644 index 00000000..75990ca0 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/diamond/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/osmium_ore_chunk.json new file mode 100644 index 00000000..f513535d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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_deepslate/diamond/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/platinum_ore_chunk.json new file mode 100644 index 00000000..bacb2425 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:platinum_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.075 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/silver_ore_chunk.json new file mode 100644 index 00000000..4886911f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:silver_ore_chunk", + "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_deepslate/diamond/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/tin_ore_chunk.json new file mode 100644 index 00000000..eb153731 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:tin_ore_chunk", + "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_deepslate/diamond/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/uranium_ore_chunk.json new file mode 100644 index 00000000..b4f44bc3 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/diamond/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_deepslate/flint/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/iridium_ore_chunk.json new file mode 100644 index 00000000..07ddee56 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/lead_ore_chunk.json new file mode 100644 index 00000000..f2c56498 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:lead_ore_chunk", + "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_deepslate/flint/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/nickel_ore_chunk.json new file mode 100644 index 00000000..e54c6841 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/flint/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/osmium_ore_chunk.json new file mode 100644 index 00000000..382d21c7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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_deepslate/flint/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/platinum_ore_chunk.json new file mode 100644 index 00000000..1e125e01 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:platinum_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/silver_ore_chunk.json new file mode 100644 index 00000000..831b5570 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:silver_ore_chunk", + "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_deepslate/flint/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/tin_ore_chunk.json new file mode 100644 index 00000000..6bd89b50 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:tin_ore_chunk", + "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_deepslate/flint/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/uranium_ore_chunk.json new file mode 100644 index 00000000..2f30610b --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/flint/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_deepslate/golden/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/iridium_ore_chunk.json new file mode 100644 index 00000000..f178b137 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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_deepslate/golden/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/lead_ore_chunk.json new file mode 100644 index 00000000..07fa594a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:lead_ore_chunk", + "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_deepslate/golden/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/nickel_ore_chunk.json new file mode 100644 index 00000000..fa61920a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/golden/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/osmium_ore_chunk.json new file mode 100644 index 00000000..13edbe7e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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_deepslate/golden/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/platinum_ore_chunk.json new file mode 100644 index 00000000..4b559bc4 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:platinum_ore_chunk", + "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_deepslate/golden/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/silver_ore_chunk.json new file mode 100644 index 00000000..ea29ebdd --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:silver_ore_chunk", + "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_deepslate/golden/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/tin_ore_chunk.json new file mode 100644 index 00000000..ac4ea663 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:tin_ore_chunk", + "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_deepslate/golden/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/uranium_ore_chunk.json new file mode 100644 index 00000000..aff7beec --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/golden/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_deepslate/iron/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/iridium_ore_chunk.json new file mode 100644 index 00000000..e0951724 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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_deepslate/iron/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/lead_ore_chunk.json new file mode 100644 index 00000000..c6e4f8d1 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:lead_ore_chunk", + "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_deepslate/iron/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/nickel_ore_chunk.json new file mode 100644 index 00000000..a27d383e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/iron/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/osmium_ore_chunk.json new file mode 100644 index 00000000..3c5601c1 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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_deepslate/iron/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/platinum_ore_chunk.json new file mode 100644 index 00000000..a420a542 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:platinum_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.065 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/silver_ore_chunk.json new file mode 100644 index 00000000..d9d51d71 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:silver_ore_chunk", + "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_deepslate/iron/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/tin_ore_chunk.json new file mode 100644 index 00000000..6332ba23 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:tin_ore_chunk", + "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_deepslate/iron/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/uranium_ore_chunk.json new file mode 100644 index 00000000..0a6cc914 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/iron/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_deepslate/netherite/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/iridium_ore_chunk.json new file mode 100644 index 00000000..9d5f5b0b --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.065 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/lead_ore_chunk.json new file mode 100644 index 00000000..746fa6a8 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:lead_ore_chunk", + "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_deepslate/netherite/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/nickel_ore_chunk.json new file mode 100644 index 00000000..8a8c2098 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/netherite/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/osmium_ore_chunk.json new file mode 100644 index 00000000..17011e56 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:osmium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.14 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/platinum_ore_chunk.json new file mode 100644 index 00000000..a9a05c64 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:platinum_ore_chunk", + "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_deepslate/netherite/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/silver_ore_chunk.json new file mode 100644 index 00000000..fe5f9304 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:silver_ore_chunk", + "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_deepslate/netherite/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/tin_ore_chunk.json new file mode 100644 index 00000000..7d26252e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:tin_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.16 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/uranium_ore_chunk.json new file mode 100644 index 00000000..f2e4c59c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/netherite/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_deepslate/string/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/iridium_ore_chunk.json new file mode 100644 index 00000000..37d9e9fc --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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_deepslate/string/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/lead_ore_chunk.json new file mode 100644 index 00000000..32ef0956 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:lead_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/nickel_ore_chunk.json new file mode 100644 index 00000000..61e41f55 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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_deepslate/string/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/osmium_ore_chunk.json new file mode 100644 index 00000000..e42c398e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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_deepslate/string/platinum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/platinum_ore_chunk.json new file mode 100644 index 00000000..fd407233 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/platinum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/platinum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:platinum_ore_chunk", + "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_deepslate/string/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/silver_ore_chunk.json new file mode 100644 index 00000000..ef571e39 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:silver_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/tin_ore_chunk.json new file mode 100644 index 00000000..9ce59227 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:tin_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/uranium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/uranium_ore_chunk.json new file mode 100644 index 00000000..00c7fa5e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_deepslate/string/uranium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/uranium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_deepslate" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:uranium_ore_chunk", + "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_netherrack/diamond/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/diamond/cobalt_ore_chunk.json new file mode 100644 index 00000000..409d0f62 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/diamond/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "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_netherrack/flint/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/flint/cobalt_ore_chunk.json new file mode 100644 index 00000000..3244859f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/flint/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/golden/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/golden/cobalt_ore_chunk.json new file mode 100644 index 00000000..0a9d4a6c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/golden/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "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_netherrack/iron/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/iron/cobalt_ore_chunk.json new file mode 100644 index 00000000..0882306a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/iron/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.065 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/netherite/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/netherite/cobalt_ore_chunk.json new file mode 100644 index 00000000..9054b684 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/netherite/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "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_netherrack/string/cobalt_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/string/cobalt_ore_chunk.json new file mode 100644 index 00000000..e2ce3fb7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/crushed_netherrack/string/cobalt_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/cobalt" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:crushed_netherrack" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:cobalt_ore_chunk", + "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/dust/diamond/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/grains_of_infinity.json new file mode 100644 index 00000000..bc703afd --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "enderio:grains_of_infinity", + "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/dust/flint/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/grains_of_infinity.json new file mode 100644 index 00000000..52cb627a --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:flint_mesh", + "result": "enderio:grains_of_infinity", + "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/dust/golden/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/grains_of_infinity.json new file mode 100644 index 00000000..c75e90e8 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:golden_mesh", + "result": "enderio:grains_of_infinity", + "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/dust/iron/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/grains_of_infinity.json new file mode 100644 index 00000000..cf5de091 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:iron_mesh", + "result": "enderio:grains_of_infinity", + "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/dust/netherite/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/grains_of_infinity.json new file mode 100644 index 00000000..81282344 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "enderio:grains_of_infinity", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.135 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/grains_of_infinity.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/grains_of_infinity.json new file mode 100644 index 00000000..d09d68f6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/grains_of_infinity.json @@ -0,0 +1,26 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:mod_loaded", + "modid": "enderio" + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "exdeorum:dust" + }, + "mesh": "exdeorum:string_mesh", + "result": "enderio:grains_of_infinity", + "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/gravel/diamond/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/aluminum_ore_chunk.json new file mode 100644 index 00000000..3840cd6b --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "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/gravel/diamond/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/iridium_ore_chunk.json new file mode 100644 index 00000000..722336a2 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/lead_ore_chunk.json new file mode 100644 index 00000000..4bd20a11 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:lead_ore_chunk", + "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/gravel/diamond/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/nickel_ore_chunk.json new file mode 100644 index 00000000..b7aaf381 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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/gravel/diamond/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/osmium_ore_chunk.json new file mode 100644 index 00000000..7d7912a7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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/gravel/diamond/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/silver_ore_chunk.json new file mode 100644 index 00000000..b3608538 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:silver_ore_chunk", + "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/gravel/diamond/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/tin_ore_chunk.json new file mode 100644 index 00000000..77a1ec98 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/diamond/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/zinc_ore_chunk.json new file mode 100644 index 00000000..dbc65001 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/diamond/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:diamond_mesh", + "result": "exdeorum:zinc_ore_chunk", + "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/gravel/flint/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/aluminum_ore_chunk.json new file mode 100644 index 00000000..989d56b6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/iridium_ore_chunk.json new file mode 100644 index 00000000..1ef5a685 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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/gravel/flint/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/lead_ore_chunk.json new file mode 100644 index 00000000..1df7ef8f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:lead_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/nickel_ore_chunk.json new file mode 100644 index 00000000..66e127df --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:nickel_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.055 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/osmium_ore_chunk.json new file mode 100644 index 00000000..8982523e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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/gravel/flint/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/silver_ore_chunk.json new file mode 100644 index 00000000..996f8d56 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:silver_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/tin_ore_chunk.json new file mode 100644 index 00000000..f3d190f9 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/flint/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/zinc_ore_chunk.json new file mode 100644 index 00000000..87fa9fd8 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/flint/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:flint_mesh", + "result": "exdeorum:zinc_ore_chunk", + "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/gravel/golden/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/aluminum_ore_chunk.json new file mode 100644 index 00000000..bb0886a6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "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/gravel/golden/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/iridium_ore_chunk.json new file mode 100644 index 00000000..28d20071 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/lead_ore_chunk.json new file mode 100644 index 00000000..120a662d --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:lead_ore_chunk", + "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/gravel/golden/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/nickel_ore_chunk.json new file mode 100644 index 00000000..8b2db0ad --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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/gravel/golden/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/osmium_ore_chunk.json new file mode 100644 index 00000000..e69b1b0b --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:osmium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/silver_ore_chunk.json new file mode 100644 index 00000000..e2473b43 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:silver_ore_chunk", + "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/gravel/golden/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/tin_ore_chunk.json new file mode 100644 index 00000000..a20b563c --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/golden/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/zinc_ore_chunk.json new file mode 100644 index 00000000..644c4a89 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/golden/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:golden_mesh", + "result": "exdeorum:zinc_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.05 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/aluminum_ore_chunk.json new file mode 100644 index 00000000..58bb4bc1 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "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/gravel/iron/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/iridium_ore_chunk.json new file mode 100644 index 00000000..92c63489 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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/gravel/iron/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/lead_ore_chunk.json new file mode 100644 index 00000000..00b457fd --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:lead_ore_chunk", + "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/gravel/iron/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/nickel_ore_chunk.json new file mode 100644 index 00000000..78a2ffb8 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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/gravel/iron/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/osmium_ore_chunk.json new file mode 100644 index 00000000..e3b3e1ee --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:osmium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.045 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/silver_ore_chunk.json new file mode 100644 index 00000000..c248e2cc --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:silver_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.055 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/tin_ore_chunk.json new file mode 100644 index 00000000..8e09adbb --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/iron/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/zinc_ore_chunk.json new file mode 100644 index 00000000..932eff17 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/iron/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:iron_mesh", + "result": "exdeorum:zinc_ore_chunk", + "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/gravel/netherite/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/aluminum_ore_chunk.json new file mode 100644 index 00000000..619822d4 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "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/gravel/netherite/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/iridium_ore_chunk.json new file mode 100644 index 00000000..723b9827 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:iridium_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.055 + } + } + } + ] +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/lead_ore_chunk.json new file mode 100644 index 00000000..e54cbdc5 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:lead_ore_chunk", + "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/gravel/netherite/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/nickel_ore_chunk.json new file mode 100644 index 00000000..9cb550f3 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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/gravel/netherite/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/osmium_ore_chunk.json new file mode 100644 index 00000000..66da3afe --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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/gravel/netherite/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/silver_ore_chunk.json new file mode 100644 index 00000000..d941eec6 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:silver_ore_chunk", + "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/gravel/netherite/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/tin_ore_chunk.json new file mode 100644 index 00000000..1b055744 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/netherite/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/zinc_ore_chunk.json new file mode 100644 index 00000000..43064341 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/netherite/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:netherite_mesh", + "result": "exdeorum:zinc_ore_chunk", + "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/gravel/string/aluminum_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/aluminum_ore_chunk.json new file mode 100644 index 00000000..f1f8e23e --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/aluminum_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/aluminum" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:aluminum_ore_chunk", + "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/gravel/string/iridium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/iridium_ore_chunk.json new file mode 100644 index 00000000..84dfbd8f --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/iridium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/iridium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:iridium_ore_chunk", + "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/gravel/string/lead_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/lead_ore_chunk.json new file mode 100644 index 00000000..68d92a58 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/lead_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/lead" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:lead_ore_chunk", + "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/gravel/string/nickel_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/nickel_ore_chunk.json new file mode 100644 index 00000000..2a9aaefc --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/nickel_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/nickel" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:nickel_ore_chunk", + "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/gravel/string/osmium_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/osmium_ore_chunk.json new file mode 100644 index 00000000..6d259345 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/osmium_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/osmium" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:osmium_ore_chunk", + "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/gravel/string/silver_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/silver_ore_chunk.json new file mode 100644 index 00000000..181bb7b7 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/silver_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/silver" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:silver_ore_chunk", + "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/gravel/string/tin_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/tin_ore_chunk.json new file mode 100644 index 00000000..7206c9ab --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/tin_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/tin" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:tin_ore_chunk", + "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/gravel/string/zinc_ore_chunk.json b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/zinc_ore_chunk.json new file mode 100644 index 00000000..815b05f9 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/sieve/gravel/string/zinc_ore_chunk.json @@ -0,0 +1,29 @@ +{ + "type": "forge:conditional", + "recipes": [ + { + "conditions": [ + { + "type": "forge:not", + "value": { + "type": "forge:tag_empty", + "tag": "forge:ores/zinc" + } + } + ], + "recipe": { + "type": "exdeorum:sieve", + "ingredient": { + "item": "minecraft:gravel" + }, + "mesh": "exdeorum:string_mesh", + "result": "exdeorum:zinc_ore_chunk", + "result_amount": { + "type": "minecraft:binomial", + "n": 1.0, + "p": 0.035 + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java index e1a5a19a..fb1450e0 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java @@ -22,4 +22,14 @@ public class ModIds { public static final String MINECRAFT = "minecraft"; public static final String THE_ONE_PROBE = "theoneprobe"; public static final String TINKERS_CONSTRUCT = "tconstruct"; + public static final String ALL_THE_ORES = "alltheores"; + public static final String THERMAL = "thermal"; + public static final String CHEM_LIB = "chemlib"; + public static final String OCCULTISM = "occultism"; + public static final String RAILCRAFT = "railcraft"; + public static final String GREG = "gtceu"; + public static final String BIG_REACTORS = "bigreactors"; + public static final String MEKANISM = "mekanism"; + public static final String CREATE = "create"; + public static final String ENDERIO = "enderio"; } diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModdedTags.java b/src/main/java/thedarkcolour/exdeorum/compat/ModdedTags.java new file mode 100644 index 00000000..aaecc202 --- /dev/null +++ b/src/main/java/thedarkcolour/exdeorum/compat/ModdedTags.java @@ -0,0 +1,146 @@ +package thedarkcolour.exdeorum.compat; + +import com.google.common.collect.Lists; +import it.unimi.dsi.fastutil.Hash; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; +import net.minecraftforge.common.ForgeConfigSpec; +import net.minecraftforge.fml.ModList; +import net.minecraftforge.registries.ForgeRegistries; +import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.config.EConfig; +import thedarkcolour.exdeorum.tag.EItemTags; + +import javax.annotation.Nullable; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Map; + +public class ModdedTags { + private static final Map, Item> PREFERRED_ORE_ITEMS = new Object2ObjectOpenHashMap<>(11, Hash.DEFAULT_LOAD_FACTOR); + + static { + putPreferredOre(EItemTags.ORES_ALUMINUM, EConfig.COMMON.preferredAluminumOre, getDefaultAluminumOre()); + putPreferredOre(EItemTags.ORES_COBALT, EConfig.COMMON.preferredCobaltOre, getDefaultCobaltOre()); + putPreferredOre(EItemTags.ORES_SILVER, EConfig.COMMON.preferredSilverOre, getDefaultSilverOre()); + putPreferredOre(EItemTags.ORES_LEAD, EConfig.COMMON.preferredLeadOre, getDefaultLeadOre()); + putPreferredOre(EItemTags.ORES_PLATINUM, EConfig.COMMON.preferredPlatinumOre, getDefaultPlatinumOre()); + putPreferredOre(EItemTags.ORES_NICKEL, EConfig.COMMON.preferredNickelOre, getDefaultNickelOre()); + putPreferredOre(EItemTags.ORES_URANIUM, EConfig.COMMON.preferredUraniumOre, getDefaultUraniumOre()); + putPreferredOre(EItemTags.ORES_OSMIUM, EConfig.COMMON.preferredOsmiumOre, getDefaultOsmiumOre()); + putPreferredOre(EItemTags.ORES_TIN, EConfig.COMMON.preferredTinOre, getDefaultTinOre()); + putPreferredOre(EItemTags.ORES_ZINC, EConfig.COMMON.preferredZincOre, getDefaultZincOre()); + putPreferredOre(EItemTags.ORES_IRIDIUM, EConfig.COMMON.preferredIridiumOre, getDefaultIridiumOre()); + } + + @SuppressWarnings("deprecation") + private static void putPreferredOre(TagKey tag, ForgeConfigSpec.ConfigValue config, Item defaultOre) { + var item = ForgeRegistries.ITEMS.getValue(new ResourceLocation(config.get())); + + if (item == Items.AIR) { + item = defaultOre; + ExDeorum.LOGGER.debug("No preferred ore was set for tag {}. Using default choice {}", tag.location(), item.builtInRegistryHolder().key().location()); + } + PREFERRED_ORE_ITEMS.put(tag, defaultOre); + } + + /** + * This method might not work properly during world load, since tags are unavailable. + * + * @return The preferred (as specified by config, or by alphabetical order) + * item from the given tag or {@link Items#AIR} if the tag is empty. + */ + @SuppressWarnings("deprecation") + public static Item getPreferredOre(TagKey tag) { + Item preferred = PREFERRED_ORE_ITEMS.get(tag); + + if (preferred != null && preferred != Items.AIR) { + return preferred; + } else { + var collection = Lists.newArrayList(BuiltInRegistries.ITEM.getTagOrEmpty(tag)); + + if (collection.isEmpty()) { + return Items.AIR; + } else { + collection.sort(Comparator.comparing(holder -> BuiltInRegistries.ITEM.getKey(holder.get()))); + + return collection.get(0).get(); + } + } + } + + public static Item getDefaultAluminumOre() { + return defaultItem("aluminum_ore", ModIds.ALL_THE_ORES); + } + + public static Item getDefaultCobaltOre() { + return defaultItem("cobalt_ore", ModIds.TINKERS_CONSTRUCT); + } + + public static Item getDefaultSilverOre() { + return defaultItem("silver_ore", ModIds.ALL_THE_ORES, ModIds.OCCULTISM, ModIds.RAILCRAFT); + } + + public static Item getDefaultLeadOre() { + return defaultItem("lead_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.MEKANISM, ModIds.RAILCRAFT); + } + + public static Item getDefaultPlatinumOre() { + return defaultItem("platinum_ore", ModIds.ALL_THE_ORES, ModIds.GREG); + } + + public static Item getDefaultNickelOre() { + return defaultItem("nickel_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.RAILCRAFT); + } + + public static Item getDefaultUraniumOre() { + var item = defaultItem("uranium_ore", ModIds.ALL_THE_ORES, ModIds.MEKANISM); + + if (item == Items.AIR && ModList.get().isLoaded(ModIds.BIG_REACTORS)) { + item = defaultItem("yellorite_ore", ModIds.BIG_REACTORS); + } + + return item; + } + + public static Item getDefaultOsmiumOre() { + return defaultItem("osmium_ore", ModIds.ALL_THE_ORES, ModIds.MEKANISM); + } + + public static Item getDefaultTinOre() { + return defaultItem("tin_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.RAILCRAFT, "orestestmod"); + } + + public static Item getDefaultZincOre() { + return defaultItem("zinc_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.CREATE, ModIds.RAILCRAFT); + } + + public static Item getDefaultIridiumOre() { + return defaultItem("iridium_ore", ModIds.ALL_THE_ORES); + } + + private static Item defaultItem(String path, String... modIds) { + var modId = getFirstAvailableModId(modIds); + + if (modId != null) { + return ForgeRegistries.ITEMS.getValue(new ResourceLocation(modId, path)); + } else { + return Items.AIR; + } + } + + private static @Nullable String getFirstAvailableModId(String... modids) { + for (var modid : modids) { + if (ModList.get().isLoaded(modid)) { + return modid; + } + } + + ExDeorum.LOGGER.debug("None of the specified mods were found: {}", Arrays.toString(modids)); + return null; + } +} diff --git a/src/main/java/thedarkcolour/exdeorum/data/Data.java b/src/main/java/thedarkcolour/exdeorum/data/Data.java index 0acff171..ffd06bfa 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/Data.java +++ b/src/main/java/thedarkcolour/exdeorum/data/Data.java @@ -19,8 +19,11 @@ package thedarkcolour.exdeorum.data; import net.minecraft.core.registries.Registries; +import net.minecraft.data.DataGenerator; import net.minecraftforge.data.event.GatherDataEvent; +import net.minecraftforge.data.loading.DatagenModLoader; import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.ModLoader; import net.minecraftforge.fml.common.Mod; import thedarkcolour.exdeorum.ExDeorum; import thedarkcolour.modkit.data.DataHelper; @@ -28,6 +31,12 @@ import thedarkcolour.modkit.data.DataHelper; // these two annotations are equivalent to modEventBus.addListener(Data::generateData) @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) public class Data { + static { + if (DatagenModLoader.isRunningDataGen()) { + ModCompatData.registerModData(); + } + } + @SubscribeEvent public static void generateData(GatherDataEvent event) { // Two things used by data generators diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java new file mode 100644 index 00000000..f9f735fd --- /dev/null +++ b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java @@ -0,0 +1,25 @@ +package thedarkcolour.exdeorum.data; + +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.ForgeRegistries; +import net.minecraftforge.registries.RegistryObject; +import thedarkcolour.exdeorum.compat.ModIds; + +// registers dummy items so that data generation can reference modded items without needing those mods installed. +public class ModCompatData { + public static RegistryObject GRAINS_OF_INFINITY = null; + + public static void registerModData() { + registerEnderIO(); + } + + private static void registerEnderIO() { + var deferredRegister = DeferredRegister.create(ForgeRegistries.ITEMS, ModIds.ENDERIO); + deferredRegister.register(FMLJavaModLoadingContext.get().getModEventBus()); + + GRAINS_OF_INFINITY = deferredRegister.register("grains_of_infinity", () -> new Item(new Item.Properties())); + } +} diff --git a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java index 0943159e..f9fb77b9 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java +++ b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java @@ -18,10 +18,12 @@ package thedarkcolour.exdeorum.data; +import com.mojang.datafixers.util.Either; import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.data.recipes.RecipeCategory; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.ItemTags; +import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; @@ -35,8 +37,16 @@ import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.NumberProvider; import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator; import net.minecraftforge.common.Tags; +import net.minecraftforge.common.crafting.ConditionalRecipe; +import net.minecraftforge.common.crafting.conditions.ICondition; +import net.minecraftforge.common.crafting.conditions.ModLoadedCondition; +import net.minecraftforge.common.crafting.conditions.NotCondition; +import net.minecraftforge.common.crafting.conditions.TagEmptyCondition; import net.minecraftforge.registries.RegistryObject; +import org.apache.commons.lang3.mutable.MutableObject; import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.compat.ModIds; +import thedarkcolour.exdeorum.recipe.TagResultRecipe; import thedarkcolour.exdeorum.recipe.barrel.FinishedBarrelCompostRecipe; import thedarkcolour.exdeorum.recipe.barrel.FinishedBarrelMixingRecipe; import thedarkcolour.exdeorum.recipe.crucible.FinishedCrucibleRecipe; @@ -46,6 +56,7 @@ import thedarkcolour.exdeorum.registry.EBlocks; import thedarkcolour.exdeorum.registry.EFluids; import thedarkcolour.exdeorum.registry.EItems; import thedarkcolour.exdeorum.registry.ERecipeSerializers; +import thedarkcolour.exdeorum.tag.EItemTags; import thedarkcolour.modkit.data.MKRecipeProvider; import java.util.List; @@ -61,7 +72,7 @@ import static thedarkcolour.modkit.data.MKRecipeProvider.path; class Recipes { private static final Ingredient SPORES_AND_SEEDS = ingredient(EItems.GRASS_SEEDS, EItems.MYCELIUM_SPORES, EItems.WARPED_NYLIUM_SPORES, EItems.CRIMSON_NYLIUM_SPORES); public static void addRecipes(Consumer writer, MKRecipeProvider recipes) { - craftingRecipes(recipes); + craftingRecipes(writer, recipes); smeltingRecipes(recipes); sieveRecipes(writer); crucibleRecipes(writer); @@ -70,7 +81,7 @@ class Recipes { barrelMixingRecipes(writer); } - private static void craftingRecipes(MKRecipeProvider recipes) { + private static void craftingRecipes(Consumer writer, MKRecipeProvider recipes) { // Crooks shapedCrook(recipes, EItems.CROOK, ingredient(Tags.Items.RODS_WOODEN)); shapedCrook(recipes, EItems.BONE_CROOK, ingredient(Items.BONE)); @@ -126,6 +137,19 @@ class Recipes { recipes.grid2x2(Items.COPPER_ORE, ingredient(EItems.COPPER_ORE_CHUNK)); recipes.grid2x2(Items.MOSS_BLOCK, ingredient(EItems.GRASS_SEEDS)); + // Modded ores + grid2x2TagResult(writer, recipes, EItemTags.ORES_ALUMINUM, ingredient(EItems.ALUMINUM_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_COBALT, ingredient(EItems.COBALT_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_SILVER, ingredient(EItems.SILVER_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_LEAD, ingredient(EItems.LEAD_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_PLATINUM, ingredient(EItems.PLATINUM_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_NICKEL, ingredient(EItems.NICKEL_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_URANIUM, ingredient(EItems.URANIUM_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_OSMIUM, ingredient(EItems.OSMIUM_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_TIN, ingredient(EItems.TIN_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_ZINC, ingredient(EItems.ZINC_ORE_CHUNK)); + grid2x2TagResult(writer, recipes, EItemTags.ORES_IRIDIUM, ingredient(EItems.IRIDIUM_ORE_CHUNK)); + // Sieves sieve(recipes, EItems.OAK_SIEVE, Items.OAK_PLANKS, Items.OAK_SLAB); sieve(recipes, EItems.SPRUCE_SIEVE, Items.SPRUCE_PLANKS, Items.SPRUCE_SLAB); @@ -180,6 +204,18 @@ class Recipes { }); } + private static void grid2x2TagResult(Consumer writer, MKRecipeProvider recipes, TagKey resultTag, Ingredient ingredient) { + var ref = new MutableObject(); + recipes.pushWriter(ref::setValue, newWriter -> { + recipes.shapedCrafting(resultTag.location().getPath() + "_tag", RecipeCategory.MISC, Items.AIR, recipe -> { + recipe.define('#', ingredient); + recipe.pattern("##"); + recipe.pattern("##"); + }); + }); + writer.accept(new TagResultRecipe.Finished(resultTag, ref.getValue())); + } + private static void shapedCrook(MKRecipeProvider recipes, RegistryObject crook, Ingredient stick) { recipes.shapedCrafting(RecipeCategory.TOOLS, crook.get(), recipe -> { recipe.define('x', stick); @@ -251,7 +287,7 @@ class Recipes { var allMeshes = List.of(EItems.STRING_MESH, EItems.FLINT_MESH, EItems.IRON_MESH, EItems.GOLDEN_MESH, EItems.DIAMOND_MESH, EItems.NETHERITE_MESH); // Dirt -> String mesh - forMesh(writer, ingredient(Items.DIRT), EItems.STRING_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(7, 0.6f)); addDrop.accept(Items.FLINT, chance(0.25f)); addDrop.accept(Items.WHEAT_SEEDS, chance(0.125f)); @@ -269,7 +305,7 @@ class Recipes { // Flint mesh will be used to get a larger variety of outputs from dirt, just so people don't always // have the inventory spam that are the -ite pebbles. // Dirt -> Flint mesh - forMesh(writer, ingredient(Items.DIRT), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(7, 0.6f)); addDrop.accept(Items.FLINT, chance(0.3f)); addDrop.accept(EItems.ANDESITE_PEBBLE.get(), binomial(7, 0.4f)); @@ -289,7 +325,7 @@ class Recipes { addDrop.accept(Items.SWEET_BERRIES, chance(0.05f)); }); // Dirt -> Iron mesh - forMesh(writer, ingredient(Items.DIRT), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(8, 0.65f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(3, 0.45f)); addDrop.accept(Items.FLINT, chance(0.3f)); @@ -306,7 +342,7 @@ class Recipes { }); // Gold tends to spread its luster to whatever passes through it... // Dirt -> Gold mesh - forMesh(writer, ingredient(Items.DIRT), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(8, 0.7f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(3, 0.55f)); addDrop.accept(Items.FLINT, chance(0.2f)); @@ -324,7 +360,7 @@ class Recipes { }); // Diamond tables have less junk items in them. Maybe you want those items? Use other meshes! // Dirt -> Diamond mesh - forMesh(writer, ingredient(Items.DIRT), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(8, 0.7f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(3, 0.60f)); addDrop.accept(Items.FLINT, binomial(3, 0.3f)); @@ -336,7 +372,7 @@ class Recipes { }); // Netherite should be the best for all drops (except pebbles) // Dirt -> Netherite mesh - forMesh(writer, ingredient(Items.DIRT), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(Items.DIRT), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(5, 0.4f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.65f)); addDrop.accept(Items.FLINT, binomial(3, 0.4f)); @@ -350,7 +386,7 @@ class Recipes { }); // Gravel -> String mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.STRING_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(4, 0.4f)); addDrop.accept(Items.FLINT, chance(0.2f)); addDrop.accept(Items.COAL, chance(0.1f)); @@ -361,9 +397,18 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.02f)); addDrop.accept(Items.EMERALD, chance(0.01f)); addDrop.accept(Items.AMETHYST_SHARD, chance(0.01f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.03f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.035f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.03f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Gravel -> Flint mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(EItems.ANDESITE_PEBBLE.get(), binomial(4, 0.4f)); addDrop.accept(EItems.GRANITE_PEBBLE.get(), binomial(4, 0.4f)); @@ -378,9 +423,18 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.03f)); addDrop.accept(Items.EMERALD, chance(0.015f)); addDrop.accept(Items.AMETHYST_SHARD, chance(0.015f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.055f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.03f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Gravel -> Iron mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(3, 0.55f)); addDrop.accept(Items.FLINT, chance(0.15f)); @@ -392,10 +446,19 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.05f)); addDrop.accept(Items.EMERALD, chance(0.04f)); addDrop.accept(Items.AMETHYST_SHARD, chance(0.04f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.055f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.045f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Golden mesh has much higher drops for gold and gems, but at the cost of much lower drops for metals // Gravel -> Golden mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.STONE_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(3, 0.55f)); addDrop.accept(Items.FLINT, chance(0.13f)); @@ -409,9 +472,18 @@ class Recipes { addDrop.accept(Items.AMETHYST_SHARD, chance(0.08f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.08f)); addDrop.accept(Items.RAW_GOLD, chance(0.02f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Gravel -> Diamond mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(5, 0.6f)); addDrop.accept(Items.FLINT, chance(0.05f)); addDrop.accept(Items.COAL, chance(0.06f)); @@ -422,9 +494,18 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.08f)); addDrop.accept(Items.EMERALD, chance(0.07f)); addDrop.accept(Items.AMETHYST_SHARD, chance(0.06f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Gravel -> Netherite mesh - forMesh(writer, ingredient(Items.GRAVEL), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(Items.GRAVEL), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(6, 0.625f)); addDrop.accept(Items.COAL, chance(0.06f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.11f)); @@ -436,10 +517,19 @@ class Recipes { addDrop.accept(Items.AMETHYST_SHARD, chance(0.08f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.04f)); addDrop.accept(Items.RAW_GOLD, chance(0.01f)); + + addConditionalDrop.accept(EItems.ALUMINUM_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_ALUMINUM)); + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.10f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.ZINC_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_ZINC)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.055f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); }); // Sand -> String mesh - forMesh(writer, ingredient(Items.SAND), EItems.STRING_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.CACTUS, chance(0.13f)); addDrop.accept(Items.FLINT, chance(0.2f)); addDrop.accept(Items.DEAD_BUSH, chance(0.08f)); @@ -448,7 +538,7 @@ class Recipes { addDrop.accept(Items.KELP, chance(0.1f)); addDrop.accept(Items.SEA_PICKLE, chance(0.05f)); }); - forMesh(writer, ingredient(Items.SAND), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.FLINT, binomial(2, 0.2f)); addDrop.accept(Items.DEAD_BUSH, chance(0.03f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.16f)); @@ -474,7 +564,7 @@ class Recipes { addDrop.accept(Items.ARMS_UP_POTTERY_SHERD, chance(0.03f)); addDrop.accept(Items.BREWER_POTTERY_SHERD, chance(0.03f)); }); - forMesh(writer, ingredient(Items.SAND), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.CACTUS, chance(0.13f)); addDrop.accept(Items.FLINT, chance(0.23f)); addDrop.accept(Items.DEAD_BUSH, chance(0.08f)); @@ -485,7 +575,7 @@ class Recipes { addDrop.accept(Items.PRISMARINE_SHARD, chance(0.06f)); addDrop.accept(Items.PRISMARINE_CRYSTALS, chance(0.06f)); }); - forMesh(writer, ingredient(Items.SAND), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.CACTUS, chance(0.10f)); addDrop.accept(Items.FLINT, chance(0.18f)); addDrop.accept(Items.DEAD_BUSH, chance(0.06f)); @@ -502,14 +592,14 @@ class Recipes { addDrop.accept(Items.RAISER_ARMOR_TRIM_SMITHING_TEMPLATE, chance(0.01f)); addDrop.accept(Items.COAST_ARMOR_TRIM_SMITHING_TEMPLATE, chance(0.01f)); }); - forMesh(writer, ingredient(Items.SAND), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.FLINT, chance(0.23f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.22f)); addDrop.accept(Items.IRON_NUGGET, chance(0.22f)); addDrop.accept(Items.PRISMARINE_SHARD, chance(0.09f)); addDrop.accept(Items.PRISMARINE_CRYSTALS, chance(0.09f)); }); - forMesh(writer, ingredient(Items.SAND), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(Items.SAND), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.CACTUS, chance(0.15f)); addDrop.accept(Items.FLINT, binomial(2, 0.23f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.23f)); @@ -520,29 +610,35 @@ class Recipes { addDrop.accept(Items.PRISMARINE_CRYSTALS, chance(0.12f)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.STRING_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.1f)); addDrop.accept(Items.BONE_MEAL, chance(0.1f)); addDrop.accept(Items.REDSTONE, chance(0.06f)); addDrop.accept(Items.GLOWSTONE_DUST, chance(0.04f)); addDrop.accept(Items.BLAZE_POWDER, chance(0.03f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.06f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.11f)); addDrop.accept(Items.BONE_MEAL, chance(0.11f)); addDrop.accept(Items.REDSTONE, chance(0.09f)); addDrop.accept(Items.GLOWSTONE_DUST, chance(0.07f)); addDrop.accept(Items.BLAZE_POWDER, chance(0.04f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.07f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.13f)); addDrop.accept(Items.BONE_MEAL, chance(0.12f)); addDrop.accept(Items.REDSTONE, chance(0.1f)); addDrop.accept(Items.GLOWSTONE_DUST, chance(0.09f)); addDrop.accept(Items.BLAZE_POWDER, chance(0.05f)); addDrop.accept(Items.IRON_NUGGET, chance(0.06f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.09f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.13f)); addDrop.accept(Items.BONE_MEAL, chance(0.11f)); addDrop.accept(Items.REDSTONE, chance(0.12f)); @@ -550,16 +646,20 @@ class Recipes { addDrop.accept(Items.BLAZE_POWDER, chance(0.06f)); addDrop.accept(Items.GOLD_NUGGET, binomial(2, 0.18f)); addDrop.accept(Items.RAW_GOLD, chance(0.02f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.11f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.14f)); addDrop.accept(Items.BONE_MEAL, chance(0.10f)); addDrop.accept(Items.REDSTONE, chance(0.12f)); addDrop.accept(Items.GLOWSTONE_DUST, chance(0.11f)); addDrop.accept(Items.BLAZE_POWDER, chance(0.06f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.08f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.12f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.DUST.get()), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.DUST.get()), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.GUNPOWDER, chance(0.14f)); addDrop.accept(Items.BONE_MEAL, chance(0.13f)); addDrop.accept(Items.REDSTONE, chance(0.14f)); @@ -567,9 +667,12 @@ class Recipes { addDrop.accept(Items.BLAZE_POWDER, chance(0.1f)); addDrop.accept(Items.GOLD_NUGGET, chance(0.08f)); addDrop.accept(Items.IRON_NUGGET, chance(0.08f)); + + addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.135f), modInstalled(ModIds.ENDERIO)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.STRING_MESH, addDrop -> { + // Crushed Deepslate -> String mesh + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(EItems.COPPER_ORE_CHUNK.get(), chance(0.12f)); addDrop.accept(EItems.IRON_ORE_CHUNK.get(), chance(0.10f)); @@ -578,8 +681,17 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.04f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.04f)); addDrop.accept(Items.EMERALD, chance(0.03f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.03f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(EItems.TUFF_PEBBLE.get(), binomial(4, 0.4f)); addDrop.accept(EItems.CALCITE_PEBBLE.get(), binomial(4, 0.4f)); @@ -591,8 +703,17 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.05f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.05f)); addDrop.accept(Items.EMERALD, chance(0.04f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.6f)); addDrop.accept(EItems.COPPER_ORE_CHUNK.get(), chance(0.10f)); addDrop.accept(EItems.IRON_ORE_CHUNK.get(), chance(0.12f)); @@ -601,8 +722,17 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.06f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.08f)); addDrop.accept(Items.EMERALD, chance(0.05f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.1f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.1f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.10f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.06f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.065f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.08f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.65f)); addDrop.accept(EItems.COPPER_ORE_CHUNK.get(), chance(0.09f)); addDrop.accept(EItems.IRON_ORE_CHUNK.get(), chance(0.13f)); @@ -613,8 +743,17 @@ class Recipes { addDrop.accept(Items.EMERALD, chance(0.07f)); addDrop.accept(Items.RAW_GOLD, chance(0.05f)); addDrop.accept(Items.GOLD_NUGGET, binomial(3, 0.1f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.15f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.65f)); addDrop.accept(EItems.COPPER_ORE_CHUNK.get(), chance(0.09f)); addDrop.accept(EItems.IRON_ORE_CHUNK.get(), chance(0.16f)); @@ -623,8 +762,17 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.08f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.12f)); addDrop.accept(Items.EMERALD, chance(0.08f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.13f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.065f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.075f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.1f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_DEEPSLATE.get()), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.DEEPSLATE_PEBBLE.get(), binomial(4, 0.7f)); addDrop.accept(EItems.COPPER_ORE_CHUNK.get(), chance(0.10f)); addDrop.accept(EItems.IRON_ORE_CHUNK.get(), chance(0.17f)); @@ -633,9 +781,18 @@ class Recipes { addDrop.accept(Items.DIAMOND, chance(0.1f)); addDrop.accept(Items.LAPIS_LAZULI, chance(0.14f)); addDrop.accept(Items.EMERALD, chance(0.1f)); + + addConditionalDrop.accept(EItems.SILVER_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_SILVER)); + addConditionalDrop.accept(EItems.LEAD_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_LEAD)); + addConditionalDrop.accept(EItems.OSMIUM_ORE_CHUNK.get(), chance(0.14f), tagNotEmpty(EItemTags.ORES_OSMIUM)); + addConditionalDrop.accept(EItems.NICKEL_ORE_CHUNK.get(), chance(0.15f), tagNotEmpty(EItemTags.ORES_NICKEL)); + addConditionalDrop.accept(EItems.TIN_ORE_CHUNK.get(), chance(0.16f), tagNotEmpty(EItemTags.ORES_TIN)); + addConditionalDrop.accept(EItems.IRIDIUM_ORE_CHUNK.get(), chance(0.065f), tagNotEmpty(EItemTags.ORES_IRIDIUM)); + addConditionalDrop.accept(EItems.PLATINUM_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_PLATINUM)); + addConditionalDrop.accept(EItems.URANIUM_ORE_CHUNK.get(), chance(0.12f), tagNotEmpty(EItemTags.ORES_URANIUM)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.STRING_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(3, 0.5f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.02f)); @@ -644,7 +801,7 @@ class Recipes { addDrop.accept(Items.GUNPOWDER, chance(0.07f)); addDrop.accept(Items.BLACK_DYE, chance(0.07f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.65f)); addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(3, 0.55f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.03f)); @@ -653,7 +810,7 @@ class Recipes { addDrop.accept(Items.GUNPOWDER, chance(0.09f)); addDrop.accept(Items.BLACK_DYE, chance(0.08f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.IRON_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.65f)); addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.55f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.04f)); @@ -662,7 +819,7 @@ class Recipes { addDrop.accept(Items.GUNPOWDER, chance(0.09f)); addDrop.accept(Items.BLACK_DYE, chance(0.08f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.GOLDEN_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.7f)); addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.5f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.05f)); @@ -671,14 +828,14 @@ class Recipes { addDrop.accept(Items.GUNPOWDER, chance(0.1f)); addDrop.accept(Items.BLACK_DYE, chance(0.06f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.DIAMOND_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.7f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.06f)); addDrop.accept(Items.GOLD_NUGGET, binomial(4, 0.275f)); addDrop.accept(Items.MAGMA_CREAM, chance(0.11f)); addDrop.accept(Items.GUNPOWDER, chance(0.11f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.NETHERITE_MESH, addDrop -> { + forMesh(writer, ingredient(EItems.CRUSHED_BLACKSTONE.get()), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.75f)); addDrop.accept(Items.ANCIENT_DEBRIS, chance(0.1f)); addDrop.accept(Items.GOLD_NUGGET, binomial(4, 0.325f)); @@ -686,155 +843,167 @@ class Recipes { addDrop.accept(Items.GUNPOWDER, chance(0.11f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.STRING_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(3, 0.4f)); - addDrops.accept(EItems.BASALT_PEBBLE.get(), binomial(3, 0.3f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.08f)); - addDrops.accept(Items.QUARTZ, chance(0.08f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.05f)); - addDrops.accept(Items.GUNPOWDER, chance(0.08f)); - addDrops.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.05f)); - addDrops.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.05f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.07f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(3, 0.4f)); + addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(3, 0.3f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.08f)); + addDrop.accept(Items.QUARTZ, chance(0.08f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.05f)); + addDrop.accept(Items.GUNPOWDER, chance(0.08f)); + addDrop.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.05f)); + addDrop.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.05f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.07f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.04f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.FLINT_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.5f)); - addDrops.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.4f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.09f)); - addDrops.accept(Items.QUARTZ, chance(0.09f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.06f)); - addDrops.accept(Items.GUNPOWDER, chance(0.09f)); - addDrops.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.07f)); - addDrops.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.07f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.08f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.5f)); + addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.4f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.09f)); + addDrop.accept(Items.QUARTZ, chance(0.09f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.06f)); + addDrop.accept(Items.GUNPOWDER, chance(0.09f)); + addDrop.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.07f)); + addDrop.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.07f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.08f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.05f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.IRON_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); - addDrops.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.45f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.1f)); - addDrops.accept(Items.QUARTZ, chance(0.11f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.07f)); - addDrops.accept(Items.GUNPOWDER, chance(0.1f)); - addDrops.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.08f)); - addDrops.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.08f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.1f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); + addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.45f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.1f)); + addDrop.accept(Items.QUARTZ, chance(0.11f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.07f)); + addDrop.accept(Items.GUNPOWDER, chance(0.1f)); + addDrop.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.08f)); + addDrop.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.08f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.1f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.065f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.GOLDEN_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); - addDrops.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.45f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.11f)); - addDrops.accept(Items.QUARTZ, chance(0.13f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.08f)); - addDrops.accept(Items.GUNPOWDER, chance(0.11f)); - addDrops.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.08f)); - addDrops.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.08f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.14f)); - addDrops.accept(Items.RAW_GOLD, chance(0.03f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); + addDrop.accept(EItems.BASALT_PEBBLE.get(), binomial(4, 0.45f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.11f)); + addDrop.accept(Items.QUARTZ, chance(0.13f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.08f)); + addDrop.accept(Items.GUNPOWDER, chance(0.11f)); + addDrop.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.08f)); + addDrop.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.08f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.14f)); + addDrop.accept(Items.RAW_GOLD, chance(0.03f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.07f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.DIAMOND_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.14f)); - addDrops.accept(Items.QUARTZ, chance(0.13f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.1f)); - addDrops.accept(Items.GUNPOWDER, chance(0.13f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.12f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(4, 0.6f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.14f)); + addDrop.accept(Items.QUARTZ, chance(0.13f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.1f)); + addDrop.accept(Items.GUNPOWDER, chance(0.13f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.12f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.09f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.NETHERITE_MESH, addDrops -> { - addDrops.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.65f)); - addDrops.accept(Items.BLAZE_POWDER, chance(0.15f)); - addDrops.accept(Items.QUARTZ, chance(0.15f)); - addDrops.accept(Items.MAGMA_CREAM, chance(0.1f)); - addDrops.accept(Items.GUNPOWDER, chance(0.13f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.12f)); + forMesh(writer, ingredient(EItems.CRUSHED_NETHERRACK.get()), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(EItems.BLACKSTONE_PEBBLE.get(), binomial(5, 0.65f)); + addDrop.accept(Items.BLAZE_POWDER, chance(0.15f)); + addDrop.accept(Items.QUARTZ, chance(0.15f)); + addDrop.accept(Items.MAGMA_CREAM, chance(0.1f)); + addDrop.accept(Items.GUNPOWDER, chance(0.13f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.12f)); + + addConditionalDrop.accept(EItems.COBALT_ORE_CHUNK.get(), chance(0.11f), tagNotEmpty(EItemTags.ORES_COBALT)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.STRING_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.12f)); - addDrops.accept(Items.GUNPOWDER, chance(0.07f)); - addDrops.accept(Items.BONE, chance(0.08f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.06f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.06f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.12f)); + addDrop.accept(Items.GUNPOWDER, chance(0.07f)); + addDrop.accept(Items.BONE, chance(0.08f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.06f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.06f)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.FLINT_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.14f)); - addDrops.accept(Items.GUNPOWDER, chance(0.08f)); - addDrops.accept(Items.BONE, chance(0.1f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.07f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.07f)); - addDrops.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.03f)); - addDrops.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.03f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.14f)); + addDrop.accept(Items.GUNPOWDER, chance(0.08f)); + addDrop.accept(Items.BONE, chance(0.1f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.07f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.07f)); + addDrop.accept(EItems.WARPED_NYLIUM_SPORES.get(), chance(0.03f)); + addDrop.accept(EItems.CRIMSON_NYLIUM_SPORES.get(), chance(0.03f)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.IRON_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.15f)); - addDrops.accept(Items.GUNPOWDER, chance(0.07f)); - addDrops.accept(Items.BONE, chance(0.08f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.06f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.06f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.15f)); + addDrop.accept(Items.GUNPOWDER, chance(0.07f)); + addDrop.accept(Items.BONE, chance(0.08f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.06f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.06f)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.GOLDEN_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.17f)); - addDrops.accept(Items.GUNPOWDER, chance(0.1f)); - addDrops.accept(Items.BONE, chance(0.11f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.08f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.09f)); - addDrops.accept(Items.GOLD_NUGGET, chance(0.15f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.17f)); + addDrop.accept(Items.GUNPOWDER, chance(0.1f)); + addDrop.accept(Items.BONE, chance(0.11f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.08f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.09f)); + addDrop.accept(Items.GOLD_NUGGET, chance(0.15f)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.DIAMOND_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.19f)); - addDrops.accept(Items.GUNPOWDER, chance(0.11f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.09f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.11f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.19f)); + addDrop.accept(Items.GUNPOWDER, chance(0.11f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.09f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.11f)); }); - forMesh(writer, ingredient(Items.SOUL_SAND), EItems.NETHERITE_MESH, addDrops -> { - addDrops.accept(Items.QUARTZ, chance(0.21f)); - addDrops.accept(Items.GUNPOWDER, chance(0.14f)); - addDrops.accept(Items.GHAST_TEAR, chance(0.11f)); - addDrops.accept(Items.GLOWSTONE_DUST, chance(0.13f)); + forMesh(writer, ingredient(Items.SOUL_SAND), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.QUARTZ, chance(0.21f)); + addDrop.accept(Items.GUNPOWDER, chance(0.14f)); + addDrop.accept(Items.GHAST_TEAR, chance(0.11f)); + addDrop.accept(Items.GLOWSTONE_DUST, chance(0.13f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.STRING_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.07f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.09f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.04f)); - addDrops.accept(Items.ENDER_EYE, chance(0.02f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.STRING_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.07f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.09f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.04f)); + addDrop.accept(Items.ENDER_EYE, chance(0.02f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.FLINT_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.08f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.11f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.06f)); - addDrops.accept(Items.ENDER_EYE, chance(0.03f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.08f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.11f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.06f)); + addDrop.accept(Items.ENDER_EYE, chance(0.03f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.IRON_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.10f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.13f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.07f)); - addDrops.accept(Items.ENDER_EYE, chance(0.04f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.10f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.13f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.07f)); + addDrop.accept(Items.ENDER_EYE, chance(0.04f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.GOLDEN_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.12f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.12f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.06f)); - addDrops.accept(Items.ENDER_EYE, chance(0.07f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.12f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.12f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.06f)); + addDrop.accept(Items.ENDER_EYE, chance(0.07f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.DIAMOND_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.15f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.10f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.04f)); - addDrops.accept(Items.ENDER_EYE, chance(0.09f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.15f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.10f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.04f)); + addDrop.accept(Items.ENDER_EYE, chance(0.09f)); }); - forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.NETHERITE_MESH, addDrops -> { - addDrops.accept(Items.ENDER_PEARL, chance(0.17f)); - addDrops.accept(Items.CHORUS_FRUIT, chance(0.10f)); - addDrops.accept(Items.CHORUS_FLOWER, chance(0.04f)); - addDrops.accept(Items.ENDER_EYE, chance(0.09f)); - addDrops.accept(Items.ECHO_SHARD, chance(0.03f)); - addDrops.accept(Items.SCULK_SHRIEKER, chance(0.01f)); + forMesh(writer, ingredient(EItems.CRUSHED_END_STONE), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { + addDrop.accept(Items.ENDER_PEARL, chance(0.17f)); + addDrop.accept(Items.CHORUS_FRUIT, chance(0.10f)); + addDrop.accept(Items.CHORUS_FLOWER, chance(0.04f)); + addDrop.accept(Items.ENDER_EYE, chance(0.09f)); + addDrop.accept(Items.ECHO_SHARD, chance(0.03f)); + addDrop.accept(Items.SCULK_SHRIEKER, chance(0.01f)); }); for (int i = 0; i < allMeshes.size(); i++) { var mesh = allMeshes.get(i); final int j = i; - forMesh(writer, ingredient(Items.MOSS_BLOCK), mesh, addDrop -> { + forMesh(writer, ingredient(Items.MOSS_BLOCK), mesh, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.OAK_SAPLING, chance(0.13f)); addDrop.accept(Items.SPRUCE_SAPLING, chance(0.11f)); addDrop.accept(Items.BIRCH_SAPLING, chance(0.11f)); @@ -850,7 +1019,7 @@ class Recipes { addDrop.accept(Items.SPORE_BLOSSOM, chance(0.03f + j * 0.015f)); }); } - forMesh(writer, ingredient(Items.MOSS_BLOCK), EItems.FLINT_MESH, addDrop -> { + forMesh(writer, ingredient(Items.MOSS_BLOCK), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> { addDrop.accept(Items.SWEET_BERRIES, chance(0.03f)); addDrop.accept(Items.FLOWERING_AZALEA, chance(0.03f)); addDrop.accept(Items.GLOW_LICHEN, chance(0.04f)); @@ -862,13 +1031,48 @@ class Recipes { return binomial(1, p); } - private static void forMesh(Consumer writer, Ingredient block, RegistryObject mesh, Consumer> addDrops) { + private static void forMesh(Consumer writer, Ingredient block, RegistryObject mesh, ForMeshContext addDrops) { var folder = mesh.getId().getPath().replace("_mesh", "/"); - addDrops.accept((result, resultAmount) -> sieveRecipe(writer, path(block.getItems()[0].getItem()) + "/" + folder + path(result), block, mesh, result, resultAmount)); + var basePath = path(block.getItems()[0].getItem()) + "/" + folder; + + addDrops.accept( + (result, resultAmount) -> sieveRecipe(writer, basePath + path(result), block, mesh, result, resultAmount), + (resultTag, resultAmount) -> sieveRecipeTag(writer, basePath + resultTag.location().getPath().concat("_tag"), block, mesh, resultTag, resultAmount), + ((result, resultAmount, condition) -> sieveConditional(writer, basePath + result.map(MKRecipeProvider::path, tag -> tag.location().getPath().concat("_tag")), block, mesh, result, resultAmount, condition)) + ); } - private static void sieveRecipe(Consumer consumer, String name, Ingredient block, Supplier mesh, Item result, NumberProvider chance) { - consumer.accept(new FinishedSieveRecipe(new ResourceLocation(ExDeorum.ID, "sieve/" + name), mesh.get(), block, result, chance)); + @FunctionalInterface + private interface ForMeshContext { + void accept(BiConsumer addDrop, BiConsumer, NumberProvider> addTagDrop, AddConditionalTag addConditionalTag); + } + + private interface AddConditionalTag { + void accept(Either> result, NumberProvider resultAmount, ICondition condition); + + default void accept(Item result, NumberProvider resultAmount, ICondition condition) { + this.accept(Either.left(result), resultAmount, condition); + } + + default void accept(TagKey result, NumberProvider resultAmount, ICondition condition) { + this.accept(Either.right(result), resultAmount, condition); + } + } + + private static void sieveRecipe(Consumer writer, String name, Ingredient block, Supplier mesh, Item result, NumberProvider resultAmount) { + writer.accept(new FinishedSieveRecipe(new ResourceLocation(ExDeorum.ID, "sieve/" + name), mesh.get(), block, Either.left(result), resultAmount)); + } + + private static void sieveRecipeTag(Consumer writer, String name, Ingredient block, Supplier mesh, TagKey result, NumberProvider resultAmount) { + writer.accept(new FinishedSieveRecipe(new ResourceLocation(ExDeorum.ID, "sieve/" + name), mesh.get(), block, Either.right(result), resultAmount)); + } + + private static void sieveConditional(Consumer writer, String name, Ingredient block, Supplier mesh, Either> result, NumberProvider resultAmount, ICondition condition) { + var path = new ResourceLocation(ExDeorum.ID, "sieve/" + name); + ConditionalRecipe.builder() + .addCondition(condition) + .addRecipe(new FinishedSieveRecipe(path, mesh.get(), block, result, resultAmount)) + .build(writer, path); } private static void crucibleRecipes(Consumer writer) { @@ -1055,4 +1259,12 @@ class Recipes { private static void barrelMixing(Consumer writer, String suffix, Ingredient ingredient, Fluid fluidType, Item result) { writer.accept(new FinishedBarrelMixingRecipe(new ResourceLocation(ExDeorum.ID, "barrel_mixing/" + path(result) + suffix), ingredient, fluidType, 1000, result)); } + + private static ICondition tagNotEmpty(TagKey tag) { + return new NotCondition(new TagEmptyCondition(tag.location())); + } + + private static ICondition modInstalled(String modid) { + return new ModLoadedCondition(modid); + } } diff --git a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java index 2c3b3df1..17a7688b 100644 --- a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java +++ b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java @@ -86,6 +86,8 @@ public final class EventHandler { } catch (Exception e) { ExDeorum.LOGGER.error("Failed to load vanilla compost colors", e); } + } else if (event.getMessage().equals(".breakpoint")) { + event.setCanceled(true); } } diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java b/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java index ac8694c6..602aa0ec 100644 --- a/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java +++ b/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java @@ -22,26 +22,20 @@ import com.google.common.cache.Cache; import com.google.common.cache.CacheBuilder; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Lists; import com.google.gson.JsonObject; -import it.unimi.dsi.fastutil.Hash; -import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.MinecraftServer; import net.minecraft.tags.TagKey; import net.minecraft.util.GsonHelper; import net.minecraft.world.Container; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.level.storage.LevelResource; import net.minecraft.world.level.storage.loot.LootDataType; import net.minecraft.world.level.storage.loot.providers.number.BinomialDistributionGenerator; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; @@ -52,23 +46,14 @@ import net.minecraftforge.common.util.Lazy; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.registries.ForgeRegistries; import org.jetbrains.annotations.Nullable; -import thedarkcolour.exdeorum.config.EConfig; import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe; import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe; import thedarkcolour.exdeorum.recipe.sieve.SieveRecipe; import thedarkcolour.exdeorum.registry.ERecipeTypes; -import thedarkcolour.exdeorum.tag.EItemTags; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; import java.time.Duration; -import java.util.Collection; -import java.util.Comparator; -import java.util.Iterator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.function.Supplier; public final class RecipeUtil { @@ -81,7 +66,6 @@ public final class RecipeUtil { private static Lazy> barrelCompostRecipeCache; private static Lazy> lavaCrucibleRecipeCache; private static Lazy> waterCrucibleRecipeCache; - private static final Map, Item> preferredTagItems = new Object2ObjectOpenHashMap<>(11, Hash.DEFAULT_LOAD_FACTOR); public static void reload(RecipeManager recipes) { SIEVE_RECIPE_CACHE.invalidateAll(); @@ -89,32 +73,6 @@ public final class RecipeUtil { barrelCompostRecipeCache = Lazy.of(() -> loadSimpleRecipeCache(recipes, ERecipeTypes.BARREL_COMPOST)); lavaCrucibleRecipeCache = Lazy.of(() -> loadSimpleRecipeCache(recipes, ERecipeTypes.LAVA_CRUCIBLE)); waterCrucibleRecipeCache = Lazy.of(() -> loadSimpleRecipeCache(recipes, ERecipeTypes.WATER_CRUCIBLE)); - - preferredTagItems.clear(); - preferredTagItems.put(EItemTags.ORES_ALUMINUM, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredAluminumOre.get()))); - preferredTagItems.put(EItemTags.ORES_COBALT, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredCobaltOre.get()))); - preferredTagItems.put(EItemTags.ORES_SILVER, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredSilverOre.get()))); - preferredTagItems.put(EItemTags.ORES_LEAD, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredLeadOre.get()))); - preferredTagItems.put(EItemTags.ORES_PLATINUM, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredPlatinumOre.get()))); - preferredTagItems.put(EItemTags.ORES_NICKEL, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredNickelOre.get()))); - preferredTagItems.put(EItemTags.ORES_URANIUM, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredUraniumOre.get()))); - preferredTagItems.put(EItemTags.ORES_OSMIUM, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredOsmiumOre.get()))); - preferredTagItems.put(EItemTags.ORES_TIN, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredTinOre.get()))); - preferredTagItems.put(EItemTags.ORES_ZINC, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredZincOre.get()))); - preferredTagItems.put(EItemTags.ORES_IRIDIUM, ForgeRegistries.ITEMS.getValue(new ResourceLocation(EConfig.COMMON.preferredIridiumOre.get()))); - } - - // Copied from ServerLifecycleHooks.getServerConfigPath - private static Path getServerConfigPath(final MinecraftServer server) { - final Path serverConfig = server.getWorldPath(new LevelResource("serverconfig")); - if (!Files.isDirectory(serverConfig)) { - try { - Files.createDirectories(serverConfig); - } catch (IOException e) { - throw new RuntimeException(e); - } - } - return serverConfig; } private static ImmutableMap loadSimpleRecipeCache(RecipeManager recipes, Supplier> recipeType) { @@ -209,8 +167,10 @@ public final class RecipeUtil { public static NumberProvider fromNetworkNumberProvider(FriendlyByteBuf buffer) { return switch (buffer.readByte()) { case CONSTANT_TYPE -> ConstantValue.exactly(buffer.readFloat()); - case UNIFORM_TYPE -> new UniformGenerator(fromNetworkNumberProvider(buffer), fromNetworkNumberProvider(buffer)); - case BINOMIAL_TYPE -> new BinomialDistributionGenerator(fromNetworkNumberProvider(buffer), fromNetworkNumberProvider(buffer)); + case UNIFORM_TYPE -> + new UniformGenerator(fromNetworkNumberProvider(buffer), fromNetworkNumberProvider(buffer)); + case BINOMIAL_TYPE -> + new BinomialDistributionGenerator(fromNetworkNumberProvider(buffer), fromNetworkNumberProvider(buffer)); default -> ConstantValue.exactly(1f); }; } @@ -330,27 +290,8 @@ public final class RecipeUtil { } } - @SuppressWarnings("deprecation") - public static Item getPreferredItem(TagKey tag) { - Item preferred = preferredTagItems.get(tag); - - if (preferred != null && preferred != Items.AIR) { - return preferred; - } else { - var collection = Lists.newArrayList(BuiltInRegistries.ITEM.getTagOrEmpty(tag)); - - if (collection.isEmpty()) { - return Items.AIR; - } else { - collection.sort(Comparator.comparing(holder -> BuiltInRegistries.ITEM.getKey(holder.get()))); - - return collection.get(0).get(); - } - } - } - public static boolean isTagEmpty(TagKey tag) { - return BuiltInRegistries.ITEM.getTag(tag).map(set -> set.iterator().hasNext()).orElse(true); + return BuiltInRegistries.ITEM.getTag(tag).map(set -> !set.iterator().hasNext()).orElse(true); } private record SieveCacheKey(Item mesh, Item ingredient) { diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java b/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java index 4224b6d0..4026d43d 100644 --- a/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java +++ b/src/main/java/thedarkcolour/exdeorum/recipe/TagResultRecipe.java @@ -1,110 +1,106 @@ -/* - * 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.BuiltInRegistries; import net.minecraft.core.registries.Registries; +import net.minecraft.data.recipes.FinishedRecipe; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; import net.minecraft.util.GsonHelper; -import net.minecraft.world.Container; -import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Recipe; +import net.minecraft.world.item.crafting.RecipeManager; import net.minecraft.world.item.crafting.RecipeSerializer; -import net.minecraft.world.item.crafting.RecipeType; -import net.minecraft.world.level.Level; import org.jetbrains.annotations.Nullable; +import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.compat.ModdedTags; import thedarkcolour.exdeorum.registry.ERecipeSerializers; -// A recipe whose result is an item tag. Tag can be empty. -@SuppressWarnings({"rawtypes", "unchecked"}) -public class TagResultRecipe implements Recipe { - private final ResourceLocation id; - private final Recipe originalRecipe; - - public TagResultRecipe(ResourceLocation id, Recipe originalRecipe) { - this.id = id; - this.originalRecipe = originalRecipe; - } - - @Override - public boolean matches(Container container, Level level) { - return this.originalRecipe.matches(container, level); - } - - @Override - public ItemStack assemble(Container container, RegistryAccess access) { - return this.originalRecipe.assemble(container, access); - } - - @Override - public boolean canCraftInDimensions(int width, int height) { - return this.originalRecipe.canCraftInDimensions(width, height); - } - - @Override - public ItemStack getResultItem(RegistryAccess access) { - return this.getResultItem(access); - } - - @Override - public ResourceLocation getId() { - return this.id; - } - - @Override - public RecipeSerializer getSerializer() { - return ERecipeSerializers.TAG_RESULT.get(); - } - - @Override - public RecipeType getType() { - return this.originalRecipe.getType(); - } - - public static class Serializer implements RecipeSerializer { +// todo fix this because tags aren't available at recipe registration time +public class TagResultRecipe { + public static class Serializer> implements RecipeSerializer { + @SuppressWarnings({"deprecation", "unchecked"}) @Override - public TagResultRecipe fromJson(ResourceLocation id, JsonObject json) { - var tag = TagKey.create(Registries.ITEM, new ResourceLocation(GsonHelper.getAsString(json, "result_tag"))); - var newResult = RecipeUtil.getPreferredItem(tag); - var originalRecipeJson = GsonHelper.getAsJsonObject(json, "original_recipe"); + public T fromJson(ResourceLocation id, JsonObject json) { + var resultTag = GsonHelper.getAsString(json, "result_tag"); + if (ResourceLocation.isValidResourceLocation(resultTag)) { + var tag = TagKey.create(Registries.ITEM, new ResourceLocation(resultTag)); + var preferredItem = ModdedTags.getPreferredOre(tag); + if (preferredItem != Items.AIR) { + var recipeJson = GsonHelper.getAsJsonObject(json, "recipe"); - if (json.has("result")) { - var resultElement = json.get("result"); - if (resultElement.isJsonObject()) { + if (recipeJson.has("result")) { + var resultJson = GsonHelper.getAsJsonObject(recipeJson, "result"); + var itemId = preferredItem.builtInRegistryHolder().key().location().toString(); + // replace item id with correct value + resultJson.addProperty("item", itemId); + + return (T) RecipeManager.fromJson(id, recipeJson); + } else { + ExDeorum.LOGGER.error("Skipping recipe {} with unhandled recipe type, \"{}\". Please report to Ex Deorum GitHub.", id, recipeJson.get("type").getAsString()); + } + } else { + ExDeorum.LOGGER.info("Skipping recipe {} as ExDeorum could not determine substitute for tag {}", id, tag.location()); } + } else { + ExDeorum.LOGGER.error("Invalid resource location for \"result_tag\" in recipe {}", id); } - return null;//return new TagResultRecipe(id, ); - } - @Override - public @Nullable TagResultRecipe fromNetwork(ResourceLocation id, FriendlyByteBuf buffer) { return null; } @Override - public void toNetwork(FriendlyByteBuf buffer, TagResultRecipe recipe) { - ((RecipeSerializer) recipe.originalRecipe.getSerializer()).toNetwork(buffer, recipe.originalRecipe); - //buffer.writeResourceLocation(recipe.tag.location()); + public @Nullable T fromNetwork(ResourceLocation id, FriendlyByteBuf buffer) { + return null; + } + + @Override + public void toNetwork(FriendlyByteBuf buffer, T recipe) { + } + } + + public static class Finished implements FinishedRecipe { + private final TagKey resultTag; + private final FinishedRecipe recipe; + + public Finished(TagKey resultTag, FinishedRecipe recipe) { + this.resultTag = resultTag; + this.recipe = recipe; + } + + @Override + public void serializeRecipeData(JsonObject json) { + JsonObject recipeJson = new JsonObject(); + this.recipe.serializeRecipeData(recipeJson); + recipeJson.addProperty("type", BuiltInRegistries.RECIPE_SERIALIZER.getKey(this.recipe.getType()).toString()); + + json.addProperty("result_tag", this.resultTag.location().toString()); + json.add("recipe", recipeJson); + } + + @Override + public ResourceLocation getId() { + return this.recipe.getId(); + } + + @Override + public RecipeSerializer getType() { + return ERecipeSerializers.TAG_RESULT.get(); + } + + @Nullable + @Override + public JsonObject serializeAdvancement() { + return this.recipe.serializeAdvancement(); + } + + @Nullable + @Override + public ResourceLocation getAdvancementId() { + return this.recipe.getAdvancementId(); } } } diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/sieve/FinishedSieveRecipe.java b/src/main/java/thedarkcolour/exdeorum/recipe/sieve/FinishedSieveRecipe.java index 6bbe1c6d..17da4389 100644 --- a/src/main/java/thedarkcolour/exdeorum/recipe/sieve/FinishedSieveRecipe.java +++ b/src/main/java/thedarkcolour/exdeorum/recipe/sieve/FinishedSieveRecipe.java @@ -19,12 +19,15 @@ package thedarkcolour.exdeorum.recipe.sieve; import com.google.gson.JsonObject; +import com.mojang.datafixers.util.Either; import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; import net.minecraft.world.item.Item; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.level.storage.loot.LootDataType; import net.minecraft.world.level.storage.loot.providers.number.NumberProvider; +import net.minecraftforge.common.util.Lazy; import net.minecraftforge.registries.ForgeRegistries; import thedarkcolour.exdeorum.recipe.EFinishedRecipe; import thedarkcolour.exdeorum.registry.ERecipeSerializers; @@ -33,10 +36,10 @@ public class FinishedSieveRecipe implements EFinishedRecipe { private final ResourceLocation id; private final Ingredient ingredient; private final Item mesh; - private final Item result; + private final Either> result; private final NumberProvider resultAmount; - public FinishedSieveRecipe(ResourceLocation id, Item mesh, Ingredient ingredient, Item result, NumberProvider resultAmount) { + public FinishedSieveRecipe(ResourceLocation id, Item mesh, Ingredient ingredient, Either> result, NumberProvider resultAmount) { this.id = id; this.mesh = mesh; this.ingredient = ingredient; @@ -48,7 +51,11 @@ public class FinishedSieveRecipe implements EFinishedRecipe { public void serializeRecipeData(JsonObject object) { object.add("ingredient", ingredient.toJson()); object.addProperty("mesh", ForgeRegistries.ITEMS.getKey(this.mesh).toString()); - object.addProperty("result", ForgeRegistries.ITEMS.getKey(this.result).toString()); + this.result.ifLeft(item -> { + object.addProperty("result", ForgeRegistries.ITEMS.getKey(item).toString()); + }).ifRight(tag -> { + object.addProperty("result_tag", tag.location().toString()); + }); object.add("result_amount", LootDataType.PREDICATE.parser().toJsonTree(resultAmount)); } diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/sieve/SieveRecipe.java b/src/main/java/thedarkcolour/exdeorum/recipe/sieve/SieveRecipe.java index 403612eb..666940fc 100644 --- a/src/main/java/thedarkcolour/exdeorum/recipe/sieve/SieveRecipe.java +++ b/src/main/java/thedarkcolour/exdeorum/recipe/sieve/SieveRecipe.java @@ -20,15 +20,21 @@ package thedarkcolour.exdeorum.recipe.sieve; import com.google.gson.JsonObject; import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.core.registries.Registries; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; +import net.minecraft.tags.TagKey; +import net.minecraft.util.GsonHelper; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.level.storage.loot.providers.number.NumberProvider; import org.jetbrains.annotations.Nullable; +import thedarkcolour.exdeorum.ExDeorum; +import thedarkcolour.exdeorum.compat.ModdedTags; import thedarkcolour.exdeorum.recipe.ProbabilityRecipe; import thedarkcolour.exdeorum.recipe.RecipeUtil; import thedarkcolour.exdeorum.registry.ERecipeSerializers; @@ -62,7 +68,23 @@ public class SieveRecipe extends ProbabilityRecipe { public SieveRecipe fromJson(ResourceLocation id, JsonObject json) { Ingredient ingredient = RecipeUtil.readIngredient(json, "ingredient"); Item mesh = RecipeUtil.readItem(json, "mesh"); - Item result = RecipeUtil.readItem(json, "result"); + Item result; + + if (json.has("result")) { + result = RecipeUtil.readItem(json, "result"); + } else if (json.has("result_tag")) { + TagKey tag = TagKey.create(Registries.ITEM, new ResourceLocation(GsonHelper.getAsString(json, "result_tag"))); + result = ModdedTags.getPreferredOre(tag); + + if (result == Items.AIR) { + ExDeorum.LOGGER.info("Skipped loading recipe {} as result_tag {} was empty", id, tag); + return null; + } + } else { + ExDeorum.LOGGER.error("Failed to load recipe {}, missing \"result\" item location or \"result_tag\" tag location", id); + return null; + } + NumberProvider resultAmount = RecipeUtil.readNumberProvider(json, "result_amount"); return new SieveRecipe(id, ingredient, mesh, result, resultAmount); } diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java index 1c4e2f9b..0f99d932 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java @@ -268,6 +268,7 @@ public class EItems { output.accept(COPPER_ORE_CHUNK.get()); output.accept(GOLD_ORE_CHUNK.get()); + // todo remove if (!RecipeUtil.isTagEmpty(EItemTags.ORES_ALUMINUM)) output.accept(ALUMINUM_ORE_CHUNK.get()); if (!RecipeUtil.isTagEmpty(EItemTags.ORES_COBALT)) output.accept(COBALT_ORE_CHUNK.get()); if (!RecipeUtil.isTagEmpty(EItemTags.ORES_SILVER)) output.accept(SILVER_ORE_CHUNK.get()); diff --git a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java index 9b5a11ed..511a1156 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeSerializers.java @@ -43,5 +43,5 @@ public class ERecipeSerializers { 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); + 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 17f7c3b4..af25f944 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/ERecipeTypes.java @@ -23,13 +23,11 @@ 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); @@ -43,5 +41,4 @@ 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/EItemTags.java b/src/main/java/thedarkcolour/exdeorum/tag/EItemTags.java index 04677e87..4faf8f27 100644 --- a/src/main/java/thedarkcolour/exdeorum/tag/EItemTags.java +++ b/src/main/java/thedarkcolour/exdeorum/tag/EItemTags.java @@ -35,17 +35,17 @@ public class EItemTags { public static final TagKey STONE_BARRELS = tag("stone_barrels"); public static final TagKey BARRELS = tag("barrels"); - public static final TagKey ORES_ALUMINUM = tag("ores/aluminum"); - public static final TagKey ORES_COBALT = tag("ores/cobalt"); - public static final TagKey ORES_SILVER = tag("ores/silver"); - public static final TagKey ORES_LEAD = tag("ores/lead"); - public static final TagKey ORES_PLATINUM = tag("ores/platinum"); - public static final TagKey ORES_NICKEL = tag("ores/nickel"); - public static final TagKey ORES_URANIUM = tag("ores/uranium"); - public static final TagKey ORES_OSMIUM = tag("ores/osmium"); - public static final TagKey ORES_TIN = tag("ores/tin"); - public static final TagKey ORES_ZINC = tag("ores/zinc"); - public static final TagKey ORES_IRIDIUM = tag("ores/iridium"); + public static final TagKey ORES_ALUMINUM = forgeTag("ores/aluminum"); + public static final TagKey ORES_COBALT = forgeTag("ores/cobalt"); + public static final TagKey ORES_SILVER = forgeTag("ores/silver"); + public static final TagKey ORES_LEAD = forgeTag("ores/lead"); + public static final TagKey ORES_PLATINUM = forgeTag("ores/platinum"); + public static final TagKey ORES_NICKEL = forgeTag("ores/nickel"); + public static final TagKey ORES_URANIUM = forgeTag("ores/uranium"); + public static final TagKey ORES_OSMIUM = forgeTag("ores/osmium"); + public static final TagKey ORES_TIN = forgeTag("ores/tin"); + public static final TagKey ORES_ZINC = forgeTag("ores/zinc"); + public static final TagKey ORES_IRIDIUM = forgeTag("ores/iridium"); public static TagKey tag(String name) { return ItemTags.create(new ResourceLocation(ExDeorum.ID, name)); diff --git a/src/main/resources/assets/exdeorum/textures/item/aluminum_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/aluminum_ore_chunk.png new file mode 100644 index 00000000..981b353c Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/aluminum_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/cobalt_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/cobalt_ore_chunk.png new file mode 100644 index 00000000..d3beb3f0 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/cobalt_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/iridium_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/iridium_ore_chunk.png new file mode 100644 index 00000000..fa98319e Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/iridium_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/lead_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/lead_ore_chunk.png new file mode 100644 index 00000000..84ed6813 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/lead_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/nickel_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/nickel_ore_chunk.png new file mode 100644 index 00000000..35263943 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/nickel_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/osmium_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/osmium_ore_chunk.png new file mode 100644 index 00000000..7d0de798 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/osmium_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/platinum_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/platinum_ore_chunk.png new file mode 100644 index 00000000..bcd4f9fe Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/platinum_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk_atm_style.png b/src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk.png similarity index 68% rename from src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk_atm_style.png rename to src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk.png index 45394b0f..32c3c151 100644 Binary files a/src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk_atm_style.png and b/src/main/resources/assets/exdeorum/textures/item/silver_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/tin_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/tin_ore_chunk.png new file mode 100644 index 00000000..d3572a71 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/tin_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/uranium_ore_chunk.png b/src/main/resources/assets/exdeorum/textures/item/uranium_ore_chunk.png new file mode 100644 index 00000000..00c2fa35 Binary files /dev/null and b/src/main/resources/assets/exdeorum/textures/item/uranium_ore_chunk.png differ diff --git a/src/main/resources/assets/exdeorum/textures/item/zinc_ore_atm_style.png b/src/main/resources/assets/exdeorum/textures/item/zinc_ore_chunk.png similarity index 100% rename from src/main/resources/assets/exdeorum/textures/item/zinc_ore_atm_style.png rename to src/main/resources/assets/exdeorum/textures/item/zinc_ore_chunk.png diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 56ff1800..4ced1df7 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { "description": "Ex Deorum resources", - "pack_format": 6 + "pack_format": 15 } } diff --git a/src/test/java/thedarkcolour/exdeorum/test/OresTestMod.java b/src/test/java/thedarkcolour/exdeorum/test/OresTestMod.java new file mode 100644 index 00000000..267fb15b --- /dev/null +++ b/src/test/java/thedarkcolour/exdeorum/test/OresTestMod.java @@ -0,0 +1,30 @@ +package thedarkcolour.exdeorum.test; + +import net.minecraft.core.registries.Registries; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.Item; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockBehaviour; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; +import net.minecraftforge.registries.DeferredRegister; +import net.minecraftforge.registries.RegistryObject; + +@Mod(OresTestMod.ID) +public class OresTestMod { + public static final String ID = "orestestmod"; + + public static final DeferredRegister BLOCKS = DeferredRegister.create(Registries.BLOCK, ID); + public static final DeferredRegister ITEMS = DeferredRegister.create(Registries.ITEM, ID); + + public static final RegistryObject TIN_ORE = BLOCKS.register("tin_ore", () -> new Block(BlockBehaviour.Properties.copy(Blocks.IRON_ORE))); + public static final RegistryObject TIN_ORE_ITEM = ITEMS.register("tin_ore", () -> new BlockItem(TIN_ORE.get(), new Item.Properties())); + + public OresTestMod() { + var modBus = FMLJavaModLoadingContext.get().getModEventBus(); + + BLOCKS.register(modBus); + ITEMS.register(modBus); + } +} diff --git a/src/test/java/thedarkcolour/exdeorum/recipe/RecipeUtilTest.java b/src/test/java/thedarkcolour/exdeorum/test/recipe/RecipeUtilTest.java similarity index 89% rename from src/test/java/thedarkcolour/exdeorum/recipe/RecipeUtilTest.java rename to src/test/java/thedarkcolour/exdeorum/test/recipe/RecipeUtilTest.java index 9744ae72..9a0592d8 100644 --- a/src/test/java/thedarkcolour/exdeorum/recipe/RecipeUtilTest.java +++ b/src/test/java/thedarkcolour/exdeorum/test/recipe/RecipeUtilTest.java @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -package thedarkcolour.exdeorum.recipe; +package thedarkcolour.exdeorum.test.recipe; import net.minecraft.SharedConstants; import net.minecraft.WorldVersion; @@ -24,8 +24,10 @@ import net.minecraft.server.Bootstrap; import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraftforge.common.Tags; +import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import thedarkcolour.exdeorum.recipe.RecipeUtil; import java.io.IOException; @@ -40,7 +42,7 @@ class RecipeUtilTest { @Test void areIngredientsEqual() { - assertTrue(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.OAK_SLAB), Ingredient.of(Items.OAK_SLAB))); + Assertions.assertTrue(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.OAK_SLAB), Ingredient.of(Items.OAK_SLAB))); assertFalse(RecipeUtil.areIngredientsEqual(Ingredient.of(Items.BIRCH_SLAB), Ingredient.of(Items.OAK_SLAB))); assertTrue(RecipeUtil.areIngredientsEqual(Ingredient.of(Tags.Items.GEMS_DIAMOND), Ingredient.of(Tags.Items.GEMS_DIAMOND))); assertFalse(RecipeUtil.areIngredientsEqual(Ingredient.of(Tags.Items.INGOTS_IRON), Ingredient.of(Tags.Items.GEMS_DIAMOND))); diff --git a/src/test/resources/META-INF/mods.toml b/src/test/resources/META-INF/mods.toml new file mode 100644 index 00000000..328a033f --- /dev/null +++ b/src/test/resources/META-INF/mods.toml @@ -0,0 +1,13 @@ +modLoader="javafml" +loaderVersion="[45,)" +license='MIT License' + +[[mods]] +modId="orestestmod" +version="${file.jarVersion}" +displayName="TestMod" +credits="" +authors="TheDarkColour" +description=''' +Blah +''' diff --git a/src/test/resources/data/forge/tags/blocks/ores/tin.json b/src/test/resources/data/forge/tags/blocks/ores/tin.json new file mode 100644 index 00000000..edbb2203 --- /dev/null +++ b/src/test/resources/data/forge/tags/blocks/ores/tin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "orestestmod:tin_ore" + ] +} \ No newline at end of file diff --git a/src/test/resources/data/forge/tags/items/ores/tin.json b/src/test/resources/data/forge/tags/items/ores/tin.json new file mode 100644 index 00000000..edbb2203 --- /dev/null +++ b/src/test/resources/data/forge/tags/items/ores/tin.json @@ -0,0 +1,5 @@ +{ + "values": [ + "orestestmod:tin_ore" + ] +} \ No newline at end of file diff --git a/src/test/resources/pack.mcmeta b/src/test/resources/pack.mcmeta new file mode 100644 index 00000000..0ce61ede --- /dev/null +++ b/src/test/resources/pack.mcmeta @@ -0,0 +1,6 @@ +{ + "pack": { + "description": "Ex Deorum Test resources", + "pack_format": 6 + } +}