From d3c4fa80d9f3f1374c3ed8aa1391772ae1a13cf5 Mon Sep 17 00:00:00 2001 From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com> Date: Wed, 23 Aug 2023 15:39:19 -0700 Subject: [PATCH] Fix missing clay recipe, WIP modded ores --- .gitignore | 1 + build.gradle | 3 ++ .../93943142017732f21fbc4fa325d116c728b69767 | 4 +-- .../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 3 +- .../fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd | 13 +++++++- .../resources/assets/exdeorum/lang/en_us.json | 11 +++++++ .../models/item/aluminum_ore_chunk.json | 6 ++++ .../models/item/cobalt_ore_chunk.json | 6 ++++ .../models/item/iridium_ore_chunk.json | 6 ++++ .../exdeorum/models/item/lead_ore_chunk.json | 6 ++++ .../models/item/nickel_ore_chunk.json | 6 ++++ .../models/item/osmium_ore_chunk.json | 6 ++++ .../models/item/platinum_ore_chunk.json | 6 ++++ .../models/item/silver_ore_chunk.json | 6 ++++ .../exdeorum/models/item/tin_ore_chunk.json | 6 ++++ .../models/item/uranium_ore_chunk.json | 6 ++++ .../exdeorum/models/item/zinc_ore_chunk.json | 6 ++++ .../exdeorum/recipes/barrel_mixing/clay.json | 9 ++++++ .../java/thedarkcolour/exdeorum/ExDeorum.java | 1 + .../thedarkcolour/exdeorum/compat/ModIds.java | 1 + .../compat/jei/ExDeorumJeiPlugin.java | 32 +++++++++++++++---- .../exdeorum/config/EConfig.java | 32 ++++++++++--------- .../thedarkcolour/exdeorum/data/Recipes.java | 1 + .../exdeorum/recipe/RecipeUtil.java | 26 ++++++++------- .../exdeorum/registry/EItems.java | 15 +++++++++ 25 files changed, 182 insertions(+), 36 deletions(-) create mode 100644 src/generated/resources/assets/exdeorum/models/item/aluminum_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/cobalt_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/iridium_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/lead_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/nickel_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/osmium_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/platinum_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/silver_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/tin_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/uranium_ore_chunk.json create mode 100644 src/generated/resources/assets/exdeorum/models/item/zinc_ore_chunk.json create mode 100644 src/generated/resources/data/exdeorum/recipes/barrel_mixing/clay.json diff --git a/.gitignore b/.gitignore index 12f86447..0f4281f7 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ build # other eclipse run +libs # Files from Forge MDK forge*changelog.txt diff --git a/build.gradle b/build.gradle index a838c120..fe27a379 100644 --- a/build.gradle +++ b/build.gradle @@ -91,6 +91,9 @@ repositories { url 'https://jitpack.io' content { includeGroup 'com.github.thedarkcolour' } } + flatDir { + dir 'libs' + } } dependencies { diff --git a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 index 427db2cf..c3faf900 100644 --- a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 +++ b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 @@ -1,2 +1,2 @@ -// 1.20.1 2023-08-08T15:59:08.3264326 ModKit Language: en_us for mod 'exdeorum' -4e1f603e798362690e1a65a109632e2324ab5a85 assets/exdeorum/lang/en_us.json +// 1.20.1 2023-08-23T14:30:35.0791121 ModKit Language: en_us for mod 'exdeorum' +17dd92c4151093a40f1f496e82735d93ef38168d assets/exdeorum/lang/en_us.json diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e index b4910ff3..6c395060 100644 --- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e +++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e @@ -1,4 +1,4 @@ -// 1.20.1 2023-08-10T17:08:20.1669002 Recipes +// 1.20.1 2023-08-23T14:30:35.0841104 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 @@ -144,6 +144,7 @@ f17f12ac67e700f7838cb3bab740ec254bbfe13c data/exdeorum/recipes/barrel_compost/tw 653a42a46a6bd977a2eddea7336df4beabbbeecf data/exdeorum/recipes/barrel_compost/vine.json c4ecb4272c220282de403852031b3ca92651d91c data/exdeorum/recipes/barrel_compost/weeping_vines.json 5677e23fdc74130523d602ebf9e557f659af57c5 data/exdeorum/recipes/barrel_compost/wheat.json +bdcdeae9d06028ce943d06c367b58677efe03fa8 data/exdeorum/recipes/barrel_mixing/clay.json 72f969f4db1f82a627df573c866a1b291e540a0a data/exdeorum/recipes/barrel_mixing/end_stone.json 37f73e219fda3c6f56bf55f8ec7f97586ecdbae1 data/exdeorum/recipes/barrel_mixing/ice.json 6c31cd3a1b2204561b123875fae0f7aebcdf7b16 data/exdeorum/recipes/barrel_mixing/magma_cream.json diff --git a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd index 34c6980c..35c372da 100644 --- a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd +++ b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd @@ -1,7 +1,8 @@ -// 1.20.1 2023-08-08T16:04:12.9142287 ModKit Item Models for mod 'exdeorum' +// 1.20.1 2023-08-23T14:30:35.0821114 ModKit Item Models for mod 'exdeorum' 4ba3bb2c6174ac3728a4b85e34681f118ec8eb34 assets/exdeorum/models/item/acacia_barrel.json c03ce41f7c071498fcbd5f5225e91dcb2f365fbb assets/exdeorum/models/item/acacia_crucible.json 3b4f1d45c0d9c4cd1d9a5cdf6ddc8d2c9791bca5 assets/exdeorum/models/item/acacia_sieve.json +27529fa4c6d045bef18966b8c418bb8357cf2043 assets/exdeorum/models/item/aluminum_ore_chunk.json 75b0f3740a14d74089e29d059bf2100549f527d4 assets/exdeorum/models/item/andesite_pebble.json fd1850138a04a6651f4a79cdc93b52b3ddcd88ab assets/exdeorum/models/item/bamboo_barrel.json ef8aec7c31e2d11e5b2e653aea90eaf4d672258e assets/exdeorum/models/item/bamboo_crucible.json @@ -16,6 +17,7 @@ d3f7de31d0fba8578c3e36a16ab39ac0a4d54af9 assets/exdeorum/models/item/calcite_peb 95b067616dfc39ad8f72bab6d2cf40c6c05a3748 assets/exdeorum/models/item/cherry_barrel.json 9480047be2df6b628b18f1102699ed8f24de4deb assets/exdeorum/models/item/cherry_crucible.json 8e6c3863c2c6f6fc4039d8157cb9850b193a56be assets/exdeorum/models/item/cherry_sieve.json +4f5fa166847ceacc60abaa11bc70bb947be20c27 assets/exdeorum/models/item/cobalt_ore_chunk.json e0a5c7f6e6ec0cd9aa99175d3bca27b88ac299d4 assets/exdeorum/models/item/cooked_silk_worm.json a24ee1ee422f8460afec77474608b988d52ea42d assets/exdeorum/models/item/copper_ore_chunk.json d6109df4904776aca591e7dfc8ee8da50664e1df assets/exdeorum/models/item/crimson_barrel.json @@ -44,6 +46,7 @@ f2138f982e5ee62ca1ed52c3a64a7813fd91ead9 assets/exdeorum/models/item/golden_mesh ee9de2285230b32b42585283793b265c4bb14773 assets/exdeorum/models/item/gold_ore_chunk.json 5c80508cc8b27f55f91efc58efb7955e70dd2592 assets/exdeorum/models/item/granite_pebble.json f558ddd632278ad3ab548ce85cdc4661a2d70684 assets/exdeorum/models/item/grass_seeds.json +abd9901aa00893690461a6c6e276bb6bc96a60bb assets/exdeorum/models/item/iridium_ore_chunk.json b91a19335ff248805cf0861cae82b93d71a9e805 assets/exdeorum/models/item/iron_hammer.json 3398985db718bd990d9f7cfdf4bacf67a858b906 assets/exdeorum/models/item/iron_mesh.json 5016a7f832edb2ccfa9de7c85aa9ecf7ce45cb69 assets/exdeorum/models/item/iron_ore_chunk.json @@ -51,6 +54,7 @@ a4a83946b9cb63dfa2a6fa22dcc3c3a4773bf79f assets/exdeorum/models/item/iron_wateri e4719451e58406787ac0d5fb40416b76b2a03002 assets/exdeorum/models/item/jungle_barrel.json 746006f07a42bc786ccab5c6f5849f175e117183 assets/exdeorum/models/item/jungle_crucible.json eebf19c29a53f46c26a33bb9e2052190c88ecc50 assets/exdeorum/models/item/jungle_sieve.json +5b40d64710f86ff702001cf658e4928f8195f2fa assets/exdeorum/models/item/lead_ore_chunk.json 40db3277bce3f5291d16740d6dd0d96661e04197 assets/exdeorum/models/item/mangrove_barrel.json 9d8b0cd120a6965dcba6cc3753d76b7171bbddbc assets/exdeorum/models/item/mangrove_crucible.json 319ea63595a7f9ceff1818414c8250f777f087f4 assets/exdeorum/models/item/mangrove_sieve.json @@ -58,9 +62,12 @@ d543d3e18bdcf2bf79a762b52cc61a4161124db1 assets/exdeorum/models/item/mycelium_sp 1f48b2ce3452ce5d02142c9f663ae7bdb7d1d934 assets/exdeorum/models/item/netherite_hammer.json 248ebed818e2e4a5eb7ce78363f56433a3066646 assets/exdeorum/models/item/netherite_mesh.json 44004d850da735a9f239d07a615813f8badb373f assets/exdeorum/models/item/netherite_watering_can.json +0a582fabe391718c2492ee3979791e0561f74202 assets/exdeorum/models/item/nickel_ore_chunk.json c8b55bd8b222b2914d0b21d847788abce42c1d06 assets/exdeorum/models/item/oak_barrel.json dd1d9002a22eb6f5a187d53e041cd498f4ef998b assets/exdeorum/models/item/oak_crucible.json 4de21205436d30940d690f457a3614c9235f5e88 assets/exdeorum/models/item/oak_sieve.json +08409f22e4cf59c658f80029e1c3c00b015a86ac assets/exdeorum/models/item/osmium_ore_chunk.json +2c7baa04ad1b1310e219359fc8a7d2453e05548e assets/exdeorum/models/item/platinum_ore_chunk.json 0e330ed6d5ef4af907bb537a42282a41b1e7698a assets/exdeorum/models/item/porcelain_bucket.json f843e3bbc432c370ea62f421580b5447807e8b8b assets/exdeorum/models/item/porcelain_clay_ball.json acb7c543d965cfc01ba4cb7b2dc0577ebd1e0eba assets/exdeorum/models/item/porcelain_crucible.json @@ -70,6 +77,7 @@ acb7c543d965cfc01ba4cb7b2dc0577ebd1e0eba assets/exdeorum/models/item/porcelain_c 8012448a03d9a5a439daa36ae8f76f9fe13c3629 assets/exdeorum/models/item/porcelain_witch_water_bucket.json 3818c896e463945cc5081644bc1ed52edbde6ebb assets/exdeorum/models/item/sculk_core.json 52d8514e585524122e32cae1c18a838da5eb6f09 assets/exdeorum/models/item/silk_worm.json +f7ca92f0d009a188c037bf129356b6f493564853 assets/exdeorum/models/item/silver_ore_chunk.json a017f369bb5bf2dde7ebc1134fc89f96a725ea8d assets/exdeorum/models/item/spruce_barrel.json 03dac3d7dec527c4a9efbb6c28d23815252b9c39 assets/exdeorum/models/item/spruce_crucible.json a1acf7f34360d0710f0f0bceb83f5028c4c93710 assets/exdeorum/models/item/spruce_sieve.json @@ -78,9 +86,11 @@ b71e04a912b620bfebfd309bf5d61cee8fba35b9 assets/exdeorum/models/item/stone_hamme 9cf157cd0b41f89c9291be6b6383e0494369c6ef assets/exdeorum/models/item/stone_pebble.json 3d848c2d1f094ceab9fb3f951f140b85cea2a6ab assets/exdeorum/models/item/stone_watering_can.json d9561f75ac700cf33abf8e1f7684d1c5fec85a89 assets/exdeorum/models/item/string_mesh.json +d2f8f4dad969d875e4e455dc1cdc58e80c84e45e assets/exdeorum/models/item/tin_ore_chunk.json b7b483e30fc97f7f307f5b09249bbdd03e980caa assets/exdeorum/models/item/tuff_pebble.json b56c539af5e9e562830143e9c32f10b33a26eb5a assets/exdeorum/models/item/unfired_porcelain_bucket.json a83a24ae2611430c290b4f866c73769aacdb9c92 assets/exdeorum/models/item/unfired_porcelain_crucible.json +be960745ad88b8bf2277dc3ba8308ec3707edbe1 assets/exdeorum/models/item/uranium_ore_chunk.json bb3b00cc253bc23b65d775bcb9134f38b049e3ce assets/exdeorum/models/item/warped_barrel.json 1c4832816b0a69ff0e422bd21e20dd05e3c40090 assets/exdeorum/models/item/warped_crucible.json 8b76cf494636338cceec59d252dd4145f046cc58 assets/exdeorum/models/item/warped_nylium_spores.json @@ -88,3 +98,4 @@ bb3b00cc253bc23b65d775bcb9134f38b049e3ce assets/exdeorum/models/item/warped_barr c72e7359dd4934c756c49350682ac667fffe009b assets/exdeorum/models/item/witch_water_bucket.json 7089629f8033bd4e52780fe88437aa684f4ee0a9 assets/exdeorum/models/item/wooden_hammer.json d6c652c6828ed14e33c4e948afc1c9a29f977853 assets/exdeorum/models/item/wooden_watering_can.json +b2118d142d87e5956865096bd2dc16b3f533e783 assets/exdeorum/models/item/zinc_ore_chunk.json diff --git a/src/generated/resources/assets/exdeorum/lang/en_us.json b/src/generated/resources/assets/exdeorum/lang/en_us.json index d4be0bae..b8f3f68c 100644 --- a/src/generated/resources/assets/exdeorum/lang/en_us.json +++ b/src/generated/resources/assets/exdeorum/lang/en_us.json @@ -75,11 +75,13 @@ "info.exdeorum.warped_nylium_spores": "Use on netherrack to turn it into a warped nylium block.", "info.exdeorum.watering_can": "Watering cans speed up crop growth, tree growth, and grass spreading, among other things. They can be filled with water from barrels and wooden crucibles. Golden and above watering cans do not need to be refilled once full. Diamond watering cans water in a 3x3 area, and Netherite watering cans are usable by machinery.", "info.exdeorum.witch_water": "Witch water is obtained by putting water in a barrel on top of mycelium. More mycelium speeds up the process. A barrel with witch water will grow mushrooms on nearby mycelium. Witch water and lava can make a netherrack generator, similar to a cobblestone generator.", + "item.exdeorum.aluminum_ore_chunk": "Aluminum Ore Chunk", "item.exdeorum.andesite_pebble": "Andesite Pebble", "item.exdeorum.basalt_pebble": "Basalt Pebble", "item.exdeorum.blackstone_pebble": "Blackstone Pebble", "item.exdeorum.bone_crook": "Bone Crook", "item.exdeorum.calcite_pebble": "Calcite Pebble", + "item.exdeorum.cobalt_ore_chunk": "Cobalt Ore Chunk", "item.exdeorum.cooked_silk_worm": "Cooked Silk Worm", "item.exdeorum.copper_ore_chunk": "Copper Ore Chunk", "item.exdeorum.crimson_nylium_spores": "Crimson Nylium Spores", @@ -96,14 +98,19 @@ "item.exdeorum.golden_watering_can": "Golden Watering Can", "item.exdeorum.granite_pebble": "Granite Pebble", "item.exdeorum.grass_seeds": "Grass Seeds", + "item.exdeorum.iridium_ore_chunk": "Iridium Ore Chunk", "item.exdeorum.iron_hammer": "Iron Hammer", "item.exdeorum.iron_mesh": "Iron Mesh", "item.exdeorum.iron_ore_chunk": "Iron Ore Chunk", "item.exdeorum.iron_watering_can": "Iron Watering Can", + "item.exdeorum.lead_ore_chunk": "Lead Ore Chunk", "item.exdeorum.mycelium_spores": "Mycelium Spores", "item.exdeorum.netherite_hammer": "Netherite Hammer", "item.exdeorum.netherite_mesh": "Netherite Mesh", "item.exdeorum.netherite_watering_can": "Netherite Watering Can", + "item.exdeorum.nickel_ore_chunk": "Nickel Ore Chunk", + "item.exdeorum.osmium_ore_chunk": "Osmium Ore Chunk", + "item.exdeorum.platinum_ore_chunk": "Platinum Ore Chunk", "item.exdeorum.porcelain_bucket": "Porcelain Bucket", "item.exdeorum.porcelain_clay_ball": "Porcelain Clay Ball", "item.exdeorum.porcelain_lava_bucket": "Porcelain Lava Bucket", @@ -112,16 +119,20 @@ "item.exdeorum.porcelain_witch_water_bucket": "Porcelain Witch Water Bucket", "item.exdeorum.sculk_core": "Sculk Core", "item.exdeorum.silk_worm": "Silk Worm", + "item.exdeorum.silver_ore_chunk": "Silver Ore Chunk", "item.exdeorum.stone_hammer": "Stone Hammer", "item.exdeorum.stone_pebble": "Stone Pebble", "item.exdeorum.stone_watering_can": "Stone Watering Can", "item.exdeorum.string_mesh": "String Mesh", + "item.exdeorum.tin_ore_chunk": "Tin Ore Chunk", "item.exdeorum.tuff_pebble": "Tuff Pebble", "item.exdeorum.unfired_porcelain_bucket": "Unfired Porcelain Bucket", + "item.exdeorum.uranium_ore_chunk": "Uranium Ore Chunk", "item.exdeorum.warped_nylium_spores": "Warped Nylium Spores", "item.exdeorum.watering_can_fluid_display": ": %s / %s", "item.exdeorum.witch_water_bucket": "Witch Water Bucket", "item.exdeorum.wooden_hammer": "Wooden Hammer", "item.exdeorum.wooden_watering_can": "Wooden Watering Can", + "item.exdeorum.zinc_ore_chunk": "Zinc Ore Chunk", "itemGroup.exdeorum.main": "Ex Deorum" } \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/aluminum_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/aluminum_ore_chunk.json new file mode 100644 index 00000000..eac186fb --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/aluminum_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/aluminum_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/cobalt_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/cobalt_ore_chunk.json new file mode 100644 index 00000000..f68e0c80 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/cobalt_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/cobalt_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/iridium_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/iridium_ore_chunk.json new file mode 100644 index 00000000..7078059d --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/iridium_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/iridium_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/lead_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/lead_ore_chunk.json new file mode 100644 index 00000000..2e45e1bf --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/lead_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/lead_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/nickel_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/nickel_ore_chunk.json new file mode 100644 index 00000000..77a58e7f --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/nickel_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/nickel_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/osmium_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/osmium_ore_chunk.json new file mode 100644 index 00000000..dd2e306e --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/osmium_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/osmium_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/platinum_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/platinum_ore_chunk.json new file mode 100644 index 00000000..6f5919ee --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/platinum_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/platinum_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/silver_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/silver_ore_chunk.json new file mode 100644 index 00000000..e31ccec4 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/silver_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/silver_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/tin_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/tin_ore_chunk.json new file mode 100644 index 00000000..8b95af81 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/tin_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/tin_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/uranium_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/uranium_ore_chunk.json new file mode 100644 index 00000000..d0d90004 --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/uranium_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/uranium_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/exdeorum/models/item/zinc_ore_chunk.json b/src/generated/resources/assets/exdeorum/models/item/zinc_ore_chunk.json new file mode 100644 index 00000000..515bcdaa --- /dev/null +++ b/src/generated/resources/assets/exdeorum/models/item/zinc_ore_chunk.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "exdeorum:item/zinc_ore_chunk" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/exdeorum/recipes/barrel_mixing/clay.json b/src/generated/resources/data/exdeorum/recipes/barrel_mixing/clay.json new file mode 100644 index 00000000..22ef5bb0 --- /dev/null +++ b/src/generated/resources/data/exdeorum/recipes/barrel_mixing/clay.json @@ -0,0 +1,9 @@ +{ + "type": "exdeorum:barrel_mixing", + "fluid": "minecraft:water", + "fluid_amount": 1000, + "ingredient": { + "item": "exdeorum:dust" + }, + "result": "minecraft:clay" +} \ No newline at end of file diff --git a/src/main/java/thedarkcolour/exdeorum/ExDeorum.java b/src/main/java/thedarkcolour/exdeorum/ExDeorum.java index 3cc23d9a..5c427655 100644 --- a/src/main/java/thedarkcolour/exdeorum/ExDeorum.java +++ b/src/main/java/thedarkcolour/exdeorum/ExDeorum.java @@ -61,6 +61,7 @@ public class ExDeorum { DistExecutor.safeRunWhenOn(Dist.CLIENT, () -> ClientHandlerRegistrar::register); // Config init ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, EConfig.SERVER_SPEC); + ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, EConfig.COMMON_SPEC); ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, EConfig.CLIENT_SPEC); } diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java index 776ef18a..e1a5a19a 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java @@ -19,6 +19,7 @@ package thedarkcolour.exdeorum.compat; public class ModIds { + public static final String MINECRAFT = "minecraft"; public static final String THE_ONE_PROBE = "theoneprobe"; public static final String TINKERS_CONSTRUCT = "tconstruct"; } diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java index 7f960d0c..565a2b76 100644 --- a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java +++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java @@ -20,6 +20,7 @@ package thedarkcolour.exdeorum.compat.jei; import mezz.jei.api.IModPlugin; import mezz.jei.api.JeiPlugin; +import mezz.jei.api.constants.VanillaTypes; import mezz.jei.api.forge.ForgeTypes; import mezz.jei.api.recipe.RecipeType; import mezz.jei.api.registration.IRecipeCatalystRegistration; @@ -35,6 +36,7 @@ import net.minecraftforge.fluids.FluidStack; import thedarkcolour.exdeorum.ExDeorum; import thedarkcolour.exdeorum.data.TranslationKeys; import thedarkcolour.exdeorum.item.WateringCanItem; +import thedarkcolour.exdeorum.recipe.RecipeUtil; import thedarkcolour.exdeorum.recipe.barrel.BarrelCompostRecipe; import thedarkcolour.exdeorum.recipe.barrel.BarrelMixingRecipe; import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe; @@ -43,7 +45,9 @@ import thedarkcolour.exdeorum.registry.EBlocks; import thedarkcolour.exdeorum.registry.EFluids; import thedarkcolour.exdeorum.registry.EItems; import thedarkcolour.exdeorum.registry.ERecipeTypes; +import thedarkcolour.exdeorum.tag.EItemTags; +import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.function.Supplier; @@ -52,12 +56,12 @@ import java.util.function.Supplier; public class ExDeorumJeiPlugin implements IModPlugin { public static final ResourceLocation EX_DEORUM_JEI_TEXTURE = new ResourceLocation(ExDeorum.ID, "textures/gui/jei/enr_jei.png"); - public static final RecipeType BARREL_COMPOST = RecipeType.create(ExDeorum.ID, "barrel_compost", BarrelCompostRecipe.class); - public static final RecipeType BARREL_MIXING = RecipeType.create(ExDeorum.ID, "barrel_mixing", BarrelMixingRecipe.class); - public static final RecipeType LAVA_CRUCIBLE = RecipeType.create(ExDeorum.ID, "lava_crucible", CrucibleRecipe.class); - public static final RecipeType WATER_CRUCIBLE = RecipeType.create(ExDeorum.ID, "water_crucible", CrucibleRecipe.class); - public static final RecipeType SIEVE = RecipeType.create(ExDeorum.ID, "sieve", JeiSieveRecipeGroup.class); - public static final RecipeType HAMMER = RecipeType.create(ExDeorum.ID, "hammer", HammerRecipe.class); + static final RecipeType BARREL_COMPOST = RecipeType.create(ExDeorum.ID, "barrel_compost", BarrelCompostRecipe.class); + static final RecipeType BARREL_MIXING = RecipeType.create(ExDeorum.ID, "barrel_mixing", BarrelMixingRecipe.class); + static final RecipeType LAVA_CRUCIBLE = RecipeType.create(ExDeorum.ID, "lava_crucible", CrucibleRecipe.class); + static final RecipeType WATER_CRUCIBLE = RecipeType.create(ExDeorum.ID, "water_crucible", CrucibleRecipe.class); + static final RecipeType SIEVE = RecipeType.create(ExDeorum.ID, "sieve", JeiSieveRecipeGroup.class); + static final RecipeType HAMMER = RecipeType.create(ExDeorum.ID, "hammer", HammerRecipe.class); @Override public ResourceLocation getPluginUid() { @@ -147,6 +151,22 @@ public class ExDeorumJeiPlugin implements IModPlugin { registration.addItemStackInfo(new ItemStack(EItems.CRIMSON_NYLIUM_SPORES.get()), Component.translatable(TranslationKeys.CRIMSON_NYLIUM_SPORES_JEI_INFO)); registration.addItemStackInfo(new ItemStack(EItems.SCULK_CORE.get()), Component.translatable(TranslationKeys.SCULK_CORE_JEI_INFO)); + var toRemove = new ArrayList(); + + if (RecipeUtil.isTagEmpty(EItemTags.ORES_ALUMINUM)) toRemove.add(new ItemStack(EItems.ALUMINUM_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_COBALT)) toRemove.add(new ItemStack(EItems.COBALT_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_SILVER)) toRemove.add(new ItemStack(EItems.SILVER_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_LEAD)) toRemove.add(new ItemStack(EItems.LEAD_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_PLATINUM)) toRemove.add(new ItemStack(EItems.PLATINUM_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_NICKEL)) toRemove.add(new ItemStack(EItems.NICKEL_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_URANIUM)) toRemove.add(new ItemStack(EItems.URANIUM_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_OSMIUM)) toRemove.add(new ItemStack(EItems.OSMIUM_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_TIN)) toRemove.add(new ItemStack(EItems.TIN_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_ZINC)) toRemove.add(new ItemStack(EItems.ZINC_ORE_CHUNK.get())); + if (RecipeUtil.isTagEmpty(EItemTags.ORES_IRIDIUM)) toRemove.add(new ItemStack(EItems.IRIDIUM_ORE_CHUNK.get())); + + registration.getIngredientManager().removeIngredientsAtRuntime(VanillaTypes.ITEM_STACK, toRemove); + addRecipes(registration, BARREL_COMPOST, ERecipeTypes.BARREL_COMPOST); addRecipes(registration, BARREL_MIXING, ERecipeTypes.BARREL_MIXING); addRecipes(registration, LAVA_CRUCIBLE, ERecipeTypes.LAVA_CRUCIBLE); diff --git a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java index 0a264cb7..92eb7dae 100644 --- a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java +++ b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java @@ -27,6 +27,8 @@ import org.apache.commons.lang3.text.WordUtils; import org.apache.commons.lang3.tuple.Pair; import thedarkcolour.exdeorum.compat.ModIds; +import java.util.List; + public class EConfig { public static final ForgeConfigSpec CLIENT_SPEC; public static final ForgeConfigSpec COMMON_SPEC; @@ -55,17 +57,17 @@ public class EConfig { // Needed because common configs load before Tags public static class Common { - public final ConfigValue preferredAluminumOre; - public final ConfigValue preferredCobaltOre; - public final ConfigValue preferredSilverOre; - public final ConfigValue preferredLeadOre; - public final ConfigValue preferredPlatinumOre; - public final ConfigValue preferredNickelOre; - public final ConfigValue preferredUraniumOre; - public final ConfigValue preferredOsmiumOre; - public final ConfigValue preferredTinOre; - public final ConfigValue preferredZincOre; - public final ConfigValue preferredIridiumOre; + public final ConfigValue preferredAluminumOre; + public final ConfigValue preferredCobaltOre; + public final ConfigValue preferredSilverOre; + public final ConfigValue preferredLeadOre; + public final ConfigValue preferredPlatinumOre; + public final ConfigValue preferredNickelOre; + public final ConfigValue preferredUraniumOre; + public final ConfigValue preferredOsmiumOre; + public final ConfigValue preferredTinOre; + public final ConfigValue preferredZincOre; + public final ConfigValue preferredIridiumOre; public Common(ForgeConfigSpec.Builder builder) { // Preferred items @@ -73,10 +75,10 @@ public class EConfig { builder.comment("For recipes automatically added by Ex Deorum for other mods, some mods may add two of the same item (ex. Tin Ore). When Ex Deorum adds a recipe for those kinds of items, you may choose which item of the two (or more) is chosen as the crafting result.").push("preferred_tag_items"); - var airId = new ResourceLocation("air"); + var airId = ModIds.MINECRAFT + ":air"; this.preferredAluminumOre = preferredOreConfig(builder, "aluminum_ore", airId); - this.preferredCobaltOre = preferredOreConfig(builder, "cobalt_ore", new ResourceLocation(ModIds.TINKERS_CONSTRUCT, "cobalt_ore")); + this.preferredCobaltOre = preferredOreConfig(builder, "cobalt_ore", ModIds.TINKERS_CONSTRUCT + ":cobalt_ore"); this.preferredSilverOre = preferredOreConfig(builder, "silver_ore", airId); this.preferredLeadOre = preferredOreConfig(builder, "lead_ore", airId); this.preferredPlatinumOre = preferredOreConfig(builder, "platinum_ore", airId); @@ -126,10 +128,10 @@ public class EConfig { } @SuppressWarnings("deprecation") - private static ConfigValue preferredOreConfig(ForgeConfigSpec.Builder builder, String name, ResourceLocation defaultId) { + private static ConfigValue preferredOreConfig(ForgeConfigSpec.Builder builder, String name, String defaultId) { return builder .comment("The ID of the item to use for Ex Deorum recipes that craft into " + WordUtils.capitalize(name.replace('_', ' ')) + ". Leave as air for default preference, which chooses alphabetically by mod name.") - .define("preferred_" + name, defaultId); + .define(List.of("preferred_" + name), defaultId, o -> o != null && o.getClass() == String.class && ResourceLocation.isValidResourceLocation((String) o)); } static { diff --git a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java index 7415fa0f..70731a34 100644 --- a/src/main/java/thedarkcolour/exdeorum/data/Recipes.java +++ b/src/main/java/thedarkcolour/exdeorum/data/Recipes.java @@ -1021,6 +1021,7 @@ class Recipes { private static void barrelMixingRecipes(Consumer writer) { // water + barrelMixing(writer, ingredient(EItems.DUST.get()), Fluids.WATER, Items.CLAY); barrelMixing(writer, ingredient(Items.MILK_BUCKET), Fluids.WATER, Items.SLIME_BLOCK); barrelMixing(writer, "_from_porcelain_bucket", ingredient(EItems.PORCELAIN_MILK_BUCKET.get()), Fluids.WATER, Items.SLIME_BLOCK); barrelMixing(writer, ingredient(Items.SNOWBALL), Fluids.WATER, Items.ICE); diff --git a/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java b/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java index a5b1bbac..ac8694c6 100644 --- a/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java +++ b/src/main/java/thedarkcolour/exdeorum/recipe/RecipeUtil.java @@ -91,17 +91,17 @@ public final class RecipeUtil { waterCrucibleRecipeCache = Lazy.of(() -> loadSimpleRecipeCache(recipes, ERecipeTypes.WATER_CRUCIBLE)); preferredTagItems.clear(); - preferredTagItems.put(EItemTags.ORES_ALUMINUM, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredAluminumOre.get())); - preferredTagItems.put(EItemTags.ORES_COBALT, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredCobaltOre.get())); - preferredTagItems.put(EItemTags.ORES_SILVER, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredSilverOre.get())); - preferredTagItems.put(EItemTags.ORES_LEAD, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredLeadOre.get())); - preferredTagItems.put(EItemTags.ORES_PLATINUM, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredPlatinumOre.get())); - preferredTagItems.put(EItemTags.ORES_NICKEL, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredNickelOre.get())); - preferredTagItems.put(EItemTags.ORES_URANIUM, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredUraniumOre.get())); - preferredTagItems.put(EItemTags.ORES_OSMIUM, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredOsmiumOre.get())); - preferredTagItems.put(EItemTags.ORES_TIN, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredTinOre.get())); - preferredTagItems.put(EItemTags.ORES_ZINC, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredZincOre.get())); - preferredTagItems.put(EItemTags.ORES_IRIDIUM, ForgeRegistries.ITEMS.getValue(EConfig.SERVER.preferredIridiumOre.get())); + 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 @@ -349,6 +349,10 @@ public final class RecipeUtil { } } + public static boolean isTagEmpty(TagKey tag) { + 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/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java index 6959fb23..1c4e2f9b 100644 --- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java +++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java @@ -44,6 +44,8 @@ import thedarkcolour.exdeorum.item.SilkWormItem; import thedarkcolour.exdeorum.item.WateringCanItem; import thedarkcolour.exdeorum.item.WideWateringCanItem; import thedarkcolour.exdeorum.item.WitchWaterBucketItem; +import thedarkcolour.exdeorum.recipe.RecipeUtil; +import thedarkcolour.exdeorum.tag.EItemTags; import java.util.List; @@ -265,6 +267,19 @@ public class EItems { output.accept(IRON_ORE_CHUNK.get()); output.accept(COPPER_ORE_CHUNK.get()); output.accept(GOLD_ORE_CHUNK.get()); + + 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()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_LEAD)) output.accept(LEAD_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_PLATINUM)) output.accept(PLATINUM_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_NICKEL)) output.accept(NICKEL_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_URANIUM)) output.accept(URANIUM_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_OSMIUM)) output.accept(OSMIUM_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_TIN)) output.accept(TIN_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_ZINC)) output.accept(ZINC_ORE_CHUNK.get()); + if (!RecipeUtil.isTagEmpty(EItemTags.ORES_IRIDIUM)) output.accept(IRIDIUM_ORE_CHUNK.get()); + output.accept(STONE_PEBBLE.get()); output.accept(DIORITE_PEBBLE.get()); output.accept(GRANITE_PEBBLE.get());