diff --git a/build.gradle b/build.gradle
index 021764f6..454dbe86 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ plugins {
id 'org.spongepowered.mixin' version '0.7.+'
}
-version = '1.7'
+version = '1.8'
group = 'thedarkcolour.exdeorum'
base {
archivesName = 'exdeorum'
diff --git a/changelog.md b/changelog.md
index 244c7586..2dad9595 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,12 @@
+## Ex Deorum 1.8
+- Added a config option to limit the number of sieve drops from sieving moss. May be useful when playing with mods that add a lot of different saplings.
+- Added compatibility with Ars Nouveau's saplings and Sourceberries to the sieve.
+- Added compatibility with Ars Nouveau's wood types for Crucibles, Barrels, and Sieve.
+- Added missing TOP compatibility for seeing fluids inside Barrels and Crucibles. The exact fluid and amount are now visible when crouching.
+- Added Witch Water entity conversion functionality from the original Ex Nihilo, can be disabled in config. Here are the following conversions: Villager -> Zombie Villager, Cleric Villager -> Witch, Skeleton -> Wither Skeleton, Creeper -> Charged Creeper, Spider -> Cave Spider, Pig & Piglin -> Zombified Piglin, Squid -> Ghast, Mooshroom -> Brown Mooshroom, Axolotl -> Blue Axolotl, Rabbit -> Killer Rabbit, Pufferfish -> Guardian, Horse -> Skeleton/Zombie Horse
+- Allow using glass bottles to carry water from wooden crucibles to barrels. Can be disabled in config.
+- Fix Mekanism's Tin ore not being detected by Ex Deorum as a valid tin ore.
+
## Ex Deorum 1.7
- Actually added way to obtain Sky Stone Dust from AE2.
- Added compatibility with Factorium's ores, which can now be crafted with Ex Deorum's ore chunks.
diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
index bd3d1219..a55c0a3d 100644
--- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
+++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -1,13 +1,16 @@
-// 1.20.1 2023-09-18T11:17:35.1916779 Loot Tables
+// 1.20.1 2023-11-02T20:23:36.9109676 Loot Tables
105d8a61ea7145d7798146d385d4aad24fd1588d data/exdeorum/loot_tables/blocks/acacia_barrel.json
1e77127a82cbba0937bb02694f65cf1893aeffcb data/exdeorum/loot_tables/blocks/acacia_crucible.json
fcc00910a8cc94bed6339d6833fcec53c501a0d7 data/exdeorum/loot_tables/blocks/acacia_sieve.json
+31860263ad01cc50f5c49ac971b9feb5533a9cb5 data/exdeorum/loot_tables/blocks/archwood_barrel.json
+2de9dccd72fec95995b9dc8533a99c02af8a9af6 data/exdeorum/loot_tables/blocks/archwood_sieve.json
576bf0664b768e4432509e52af307eafe8ea6521 data/exdeorum/loot_tables/blocks/bamboo_barrel.json
67bf721f8c8b161d55a86e26c156251f50fbeaf4 data/exdeorum/loot_tables/blocks/bamboo_crucible.json
aaaf1a2e8b859fe3d057b38bd24c3fb7b6ee5065 data/exdeorum/loot_tables/blocks/bamboo_sieve.json
a43d4e496b109cadb462f89a21a4a472c9a6ee62 data/exdeorum/loot_tables/blocks/birch_barrel.json
9ef2de62f62c8108841b6e7f482bf2be0b7c773a data/exdeorum/loot_tables/blocks/birch_crucible.json
e11b759a2311950d60e0f825393b8e25d11918df data/exdeorum/loot_tables/blocks/birch_sieve.json
+34313a06201381983a09ca8296d8b73b45003d80 data/exdeorum/loot_tables/blocks/blue_archwood_crucible.json
69867f641e1c86c1febe33fb0c98fc7b9c538244 data/exdeorum/loot_tables/blocks/cherry_barrel.json
58ba5aa721c4d9604848b7c4605b80684906583a data/exdeorum/loot_tables/blocks/cherry_crucible.json
805d69a488a4ab37c2b59743c8284825b7aed587 data/exdeorum/loot_tables/blocks/cherry_sieve.json
@@ -28,6 +31,7 @@ a727ae35bc208071cde56afda963b6cbb3af6c1b data/exdeorum/loot_tables/blocks/dead_c
1f9a667e154b676a635a194828ae09e2e779c8c9 data/exdeorum/loot_tables/blocks/fir_barrel.json
e12d3c54b56b3793aff26b85c1d5c406df4bd416 data/exdeorum/loot_tables/blocks/fir_crucible.json
21e8d264aecd401cd2633c1b577677b5ab2cd710 data/exdeorum/loot_tables/blocks/fir_sieve.json
+b3b8c57f4614b036263f1e107bb1e0acf4a69122 data/exdeorum/loot_tables/blocks/green_archwood_crucible.json
32602e363024f1bbd0a174a19c61b4cb0e4f3b2c data/exdeorum/loot_tables/blocks/hellbark_barrel.json
cbf36cffd7f38d618435ca03142ded5e74f217aa data/exdeorum/loot_tables/blocks/hellbark_crucible.json
bf41c8c33133269ddde2c6b098aca056acd7e4ea data/exdeorum/loot_tables/blocks/hellbark_sieve.json
@@ -54,9 +58,11 @@ f94bc97efbfd26ccf7dba32d414fb5e33decd5f6 data/exdeorum/loot_tables/blocks/oak_cr
843ba3f8cca4445dab6e0be2e3b3af48c3603489 data/exdeorum/loot_tables/blocks/palm_crucible.json
22eea9897215772fadb19906b7de0ad72ac9d612 data/exdeorum/loot_tables/blocks/palm_sieve.json
2181c4797d779008be89e420aefe5e84d3cf7e37 data/exdeorum/loot_tables/blocks/porcelain_crucible.json
+ac4a68e44f0dd694fdbb9ff69af5f64db02a3275 data/exdeorum/loot_tables/blocks/purple_archwood_crucible.json
b75af3bb5693488a1373235a0dcb0627aa6d049a data/exdeorum/loot_tables/blocks/redwood_barrel.json
bb9dcf7d5d4ce85b394ce0ae7181eef2f6fbbd79 data/exdeorum/loot_tables/blocks/redwood_crucible.json
8185531f6adfa5244f5dc0a4c9a6f85a0a0b58e2 data/exdeorum/loot_tables/blocks/redwood_sieve.json
+1ace983657b6105baba9c384774e169b2570f472 data/exdeorum/loot_tables/blocks/red_archwood_crucible.json
6bbfa8c3c8630c356f206312728e73d21f00fa0c data/exdeorum/loot_tables/blocks/spruce_barrel.json
7e243b44eb3d9f15b983807225da7cb2839dee01 data/exdeorum/loot_tables/blocks/spruce_crucible.json
091d26076d526bff6bdc730f8a45297996ac6f56 data/exdeorum/loot_tables/blocks/spruce_sieve.json
diff --git a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
index cabbcca6..ba48cdc3 100644
--- a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
+++ b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
@@ -1,7 +1,7 @@
-// 1.20.1 2023-08-09T20:30:27.4274718 Tags for minecraft:block mod id exdeorum
+// 1.20.1 2023-11-02T20:23:36.9088306 Tags for minecraft:block mod id exdeorum
187f79162711777f2242b8184a878ad9f2d775f2 data/exdeorum/tags/blocks/watering_can_tickable.json
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/leaves.json
-2fb8f4567073001f8a70968950e8a728144e1214 data/minecraft/tags/blocks/mineable/axe.json
+c65cd82c956f169d03a1f640f24d9c43508e54ee data/minecraft/tags/blocks/mineable/axe.json
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/mineable/hoe.json
a23ae1801375c0c9525c3d712cb0eeb87174c219 data/minecraft/tags/blocks/mineable/pickaxe.json
0fc927ffe01dd23fd511dea057c7894680ae9807 data/minecraft/tags/blocks/mineable/shovel.json
diff --git a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767 b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767
index d9bec175..704da429 100644
--- a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767
+++ b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767
@@ -1,2 +1,2 @@
-// 1.20.1 2023-09-23T11:56:49.5751742 ModKit Language: en_us for mod 'exdeorum'
-b60575371ffc1cc7ce8073c5ff22de01e7cd5549 assets/exdeorum/lang/en_us.json
+// 1.20.1 2023-11-08T17:22:38.9363563 ModKit Language: en_us for mod 'exdeorum'
+2efe32d6fbf19209a87d65b3cc2a3291c39d55ca assets/exdeorum/lang/en_us.json
diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
index f27005e6..5e36f083 100644
--- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
+++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
@@ -1,4 +1,4 @@
-// 1.20.1 2023-10-18T23:12:25.9553204 Recipes
+// 1.20.1 2023-11-08T17:34:26.3552838 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
@@ -91,6 +91,8 @@ dd9cb9835fecf1effb5ac6a96e3221ef3477492f data/exdeorum/advancements/recipes/tool
b04a381b3dc085153b5acc8085792297be9f5abb data/exdeorum/recipes/acacia_crucible.json
48aac07942300d20924474f3b71f2b746a43fc3c data/exdeorum/recipes/acacia_sieve.json
3e5a3df68bb27ef2b83fa9bdbd2f29f053781c2c data/exdeorum/recipes/andesite.json
+345452166322e4999c84fc328092ea62cb5029cb data/exdeorum/recipes/archwood_barrel.json
+3c7590c41bbd0be2a1571892625ff4087a6dcfe8 data/exdeorum/recipes/archwood_sieve.json
97c20733afff55e967256e89ee022be1c657e8f0 data/exdeorum/recipes/bamboo_barrel.json
ffd7c016eef42ed756f88aed5dbf6bd7c1d61767 data/exdeorum/recipes/bamboo_crucible.json
233f10c1363ab42fc9556c6533634db8c288b43f data/exdeorum/recipes/bamboo_sieve.json
@@ -174,6 +176,7 @@ f36d0285aee351f12b653d98aaeb390012eea0ed data/exdeorum/recipes/barrel_mixing/sto
a9b16fe05fac026f5fc6e843165ac6b3c4e49ad9 data/exdeorum/recipes/birch_crucible.json
9e8f62fdc13f7ee00270e5a145511a2126446de5 data/exdeorum/recipes/birch_sieve.json
64a7f60b466125e4c69919b65306414540386688 data/exdeorum/recipes/blackstone.json
+876e11e8194543322606195b37bc7d48231076c7 data/exdeorum/recipes/blue_archwood_crucible.json
e2747b1a78ad7e24daa1457cd42727d4e557e601 data/exdeorum/recipes/bone_crook.json
d4226d4489481ade3466dd77412ce086b54566ea data/exdeorum/recipes/calcite.json
00792e2958a9c8017228b1a85444f864c67df820 data/exdeorum/recipes/cherry_barrel.json
@@ -209,6 +212,7 @@ a32f858ab7b6b5d5546b8474175a44a93d85f8bc data/exdeorum/recipes/golden_mesh.json
e77acbd0878f662f441d590287e71e66593ef928 data/exdeorum/recipes/golden_watering_can.json
44ed0e97591833c39e32847f22edf333ae551b22 data/exdeorum/recipes/gold_ore.json
959cdac69e6907157e75b38b098cff21609f4869 data/exdeorum/recipes/granite.json
+218076981c4ca8cc99c003c34394b0530c473c31 data/exdeorum/recipes/green_archwood_crucible.json
bda55a01228a6ad8f75521dd13397e94fba5009d data/exdeorum/recipes/hammer/basalt.json
e69619aa6bc3479aeb1abc8406d85ea9edb1e041 data/exdeorum/recipes/hammer/brain_coral.json
2791dcf1ad3bed8853a4189b2bb497d262e0cf79 data/exdeorum/recipes/hammer/brain_coral_fan.json
@@ -283,9 +287,11 @@ ec53c60562bd39028e9fe497b73efdc7af562263 data/exdeorum/recipes/palm_sieve.json
fd95c29e2e4f6eb08729c3c821e8f1dad427aef8 data/exdeorum/recipes/porcelain_bucket.json
a2d4a9158c46bf81649e0a16621302cbf3754582 data/exdeorum/recipes/porcelain_clay_ball.json
53adc0da4d944ac57a437a38e14fec0f6563e9b2 data/exdeorum/recipes/porcelain_crucible.json
+f1cacab8cc61f3eb2c21e89fe33d974b96464793 data/exdeorum/recipes/purple_archwood_crucible.json
7e0e860075ea2ed301be1b52babac09130b4ddc5 data/exdeorum/recipes/redwood_barrel.json
586e9a05cc04d028912f40d41bcd067976005dd8 data/exdeorum/recipes/redwood_crucible.json
7c5a28c2621a975df088f28c00729f7495bcf773 data/exdeorum/recipes/redwood_sieve.json
+b09680ed23f9c5f3ac4a2cbcd2488b44f367831e data/exdeorum/recipes/red_archwood_crucible.json
45050ac51fb86e362cec2d35e0a03ec1e5ab51c1 data/exdeorum/recipes/sculk_core.json
9520f7f3b42fb795748c715cb402133fca4b9ce3 data/exdeorum/recipes/sieve/crushed_blackstone/diamond/ancient_debris.json
72e126a6f9808fbe7d4e2fc95d432b1cba33fcea data/exdeorum/recipes/sieve/crushed_blackstone/diamond/blackstone_pebble.json
@@ -528,6 +534,7 @@ e1e17031fa7c3a2bc86de6384fa762b76c205c58 data/exdeorum/recipes/sieve/dirt/flint/
b20d4e47f1ac26182e938095371d87bbe0456d52 data/exdeorum/recipes/sieve/dirt/flint/poisonous_potato.json
6dd0354117e99375d596a84ede4b78ed9f6fc915 data/exdeorum/recipes/sieve/dirt/flint/potato.json
526473af600eb3e8981f826ae89f574fdcfdebb7 data/exdeorum/recipes/sieve/dirt/flint/pumpkin_seeds.json
+bca41fdddd7d03046c94c0737ba2c206a34d2040 data/exdeorum/recipes/sieve/dirt/flint/sourceberry_bush.json
208ae5ad3459ebe4d0497a94f980158264cb30b4 data/exdeorum/recipes/sieve/dirt/flint/stone_pebble.json
0816f7d543c8982593bbeb7960691e90be9b2ed4 data/exdeorum/recipes/sieve/dirt/flint/sugar_cane.json
ec4834ce0ce84232e9148bec9e28efbb069cd75d data/exdeorum/recipes/sieve/dirt/flint/sweet_berries.json
@@ -757,12 +764,14 @@ b774a52785ba81cf8c589b9962abce624862a6ec data/exdeorum/recipes/sieve/moss_block/
34776767a1a3ccea93b858edb5e4259f5b5ff1bd data/exdeorum/recipes/sieve/moss_block/diamond/azalea.json
03fad0af6d1930f134908aef86761bda029472df data/exdeorum/recipes/sieve/moss_block/diamond/big_dripleaf.json
6de849670ed1d3f4d9566549ae50bad2b16447bf data/exdeorum/recipes/sieve/moss_block/diamond/birch_sapling.json
+0c64285d3c07142cdf8c17b27a929411373160d7 data/exdeorum/recipes/sieve/moss_block/diamond/blue_archwood_sapling.json
bd431da682073ba56016352f1f6c9d35fa0211dd data/exdeorum/recipes/sieve/moss_block/diamond/cherry_sapling.json
622227a5568ef316c27d51e7d505f171d545eb05 data/exdeorum/recipes/sieve/moss_block/diamond/dark_oak_sapling.json
6da2af867e69aa403f735fa7043f08489730d797 data/exdeorum/recipes/sieve/moss_block/diamond/dead_sapling.json
b49d697ed4a318e46642d43a03b3047960853eb2 data/exdeorum/recipes/sieve/moss_block/diamond/fir_sapling.json
12ef9b8b0158abefade557f9a7c7e335189b8f36 data/exdeorum/recipes/sieve/moss_block/diamond/flowering_oak_sapling.json
82bc526b187cdfdf0b2147a68f858ae5d3ddc331 data/exdeorum/recipes/sieve/moss_block/diamond/glow_berries.json
+9471dd2c2da22b6b7f9e43c88e52a1a876390d7f data/exdeorum/recipes/sieve/moss_block/diamond/green_archwood_sapling.json
a88e7819fa79b168cd14cdaa04fc41bb33d7418b data/exdeorum/recipes/sieve/moss_block/diamond/hellbark_sapling.json
b048ab18517179bc6cd759b0a014d84ebc6edfc1 data/exdeorum/recipes/sieve/moss_block/diamond/jacaranda_sapling.json
e31b10ea506eb9a2d94aa9efdd7db4cdd8d78237 data/exdeorum/recipes/sieve/moss_block/diamond/jungle_sapling.json
@@ -774,10 +783,13 @@ c3cb1b7c924b35323e3d7cb1ffdff46cff7bb849 data/exdeorum/recipes/sieve/moss_block/
46569bddd3fc31de4c4c2b3c162bee454c296b0d data/exdeorum/recipes/sieve/moss_block/diamond/orange_autumn_sapling.json
5148ad776d91cabcfc82cf4de9eb760f9c3fc88d data/exdeorum/recipes/sieve/moss_block/diamond/origin_sapling.json
5ab55ca67aa4798d0fc7605a05aba7dacb361833 data/exdeorum/recipes/sieve/moss_block/diamond/palm_sapling.json
+72f7a16580dd6615a693f03118972602d8f5f6fc data/exdeorum/recipes/sieve/moss_block/diamond/purple_archwood_sapling.json
50c0e0f4cb83433c88bf4a620237f4b06b8031c8 data/exdeorum/recipes/sieve/moss_block/diamond/rainbow_birch_sapling.json
c2b42f3af5e74ad8092f623cc25657430740938f data/exdeorum/recipes/sieve/moss_block/diamond/redwood_sapling.json
+0192861c0862636eccd29922320aaea7dfff2193 data/exdeorum/recipes/sieve/moss_block/diamond/red_archwood_sapling.json
46372d4865910944bc43ef67b7e9f83987bcd591 data/exdeorum/recipes/sieve/moss_block/diamond/small_dripleaf.json
46bca76101f3ee2a9aef354580df5aaa411b4961 data/exdeorum/recipes/sieve/moss_block/diamond/snowblossom_sapling.json
+ff9159ef299ec9659467f1429c5cacbf9b2a426d data/exdeorum/recipes/sieve/moss_block/diamond/sourceberry_bush.json
ab9c7574d8d2ca3343f170e8cb9d78737873ee2f data/exdeorum/recipes/sieve/moss_block/diamond/spore_blossom.json
f41a1dd1c6a62bc8b34baa677a53e18150185e5a data/exdeorum/recipes/sieve/moss_block/diamond/spruce_sapling.json
2887fc42b2cfd09a523a5a1883439ef20b28b543 data/exdeorum/recipes/sieve/moss_block/diamond/umbran_sapling.json
@@ -787,6 +799,7 @@ f81c5c7b83ff1dd7ded1b46cb3b602ce56ae3ba7 data/exdeorum/recipes/sieve/moss_block/
4315fd16c0bd230e052d5308ee9c30b8fa6b4ed3 data/exdeorum/recipes/sieve/moss_block/flint/azalea.json
c1687b96d45092b8fa43d15caf049dabaf1aa648 data/exdeorum/recipes/sieve/moss_block/flint/big_dripleaf.json
7bf07dd791534b61b15fcbbae56f80e2dbbc24c7 data/exdeorum/recipes/sieve/moss_block/flint/birch_sapling.json
+63be3c4a2c317d5d818cbce3b80904b8101ed733 data/exdeorum/recipes/sieve/moss_block/flint/blue_archwood_sapling.json
521c7e763b7bb79e397e49f5066db5e644b56f25 data/exdeorum/recipes/sieve/moss_block/flint/cherry_sapling.json
dba7cb3c95e17438407fd9126e6dcd8a8ac05709 data/exdeorum/recipes/sieve/moss_block/flint/dark_oak_sapling.json
5037a4f91da48e80c7029b02c15fd4c5cc8a8790 data/exdeorum/recipes/sieve/moss_block/flint/dead_sapling.json
@@ -795,6 +808,7 @@ a22d5512b2c2a760672555098fe97048fbde9247 data/exdeorum/recipes/sieve/moss_block/
87441998d217e152e9a8347102eef3058d9050fa data/exdeorum/recipes/sieve/moss_block/flint/flowering_oak_sapling.json
3ac630dca6305e377a994b883446e8f2229be505 data/exdeorum/recipes/sieve/moss_block/flint/glow_berries.json
cbd39e058b88538e00884c336289d08a45122d58 data/exdeorum/recipes/sieve/moss_block/flint/glow_lichen.json
+fc6d642efedf59a9f709504e89cc0f13f2315afc data/exdeorum/recipes/sieve/moss_block/flint/green_archwood_sapling.json
1c748961df840422d302c8fb74daa71973c633ee data/exdeorum/recipes/sieve/moss_block/flint/hellbark_sapling.json
4ad8438f2574efd6288c6c6a48ca8ee3e4717c6f data/exdeorum/recipes/sieve/moss_block/flint/jacaranda_sapling.json
6bd5c11cfc79ee76e42a3f6a488229f39515f0fe data/exdeorum/recipes/sieve/moss_block/flint/jungle_sapling.json
@@ -807,10 +821,13 @@ c63138cd4e3095885913923bee0685064442871a data/exdeorum/recipes/sieve/moss_block/
acbe3da066535af69ba731418b5f1fc72eaa00d2 data/exdeorum/recipes/sieve/moss_block/flint/orange_autumn_sapling.json
94a5173e6ef275bdb9b0194272780d619cc968b9 data/exdeorum/recipes/sieve/moss_block/flint/origin_sapling.json
b03b8fea3cb4504c0732143d2311b458d66f970c data/exdeorum/recipes/sieve/moss_block/flint/palm_sapling.json
+e6afd958a9f01ab2672cb8464b3c7af4e6145deb data/exdeorum/recipes/sieve/moss_block/flint/purple_archwood_sapling.json
540c46386fe29e8d68f6f17c30a97c7b1d1041b3 data/exdeorum/recipes/sieve/moss_block/flint/rainbow_birch_sapling.json
8d4cb6072dd641654767f66faa2ca5419ce8a0e4 data/exdeorum/recipes/sieve/moss_block/flint/redwood_sapling.json
+015cdd4675135df40127de6481dfbc1b44482542 data/exdeorum/recipes/sieve/moss_block/flint/red_archwood_sapling.json
01e4ada58ba8c4a5ea450f62e752f9324cfda6d3 data/exdeorum/recipes/sieve/moss_block/flint/small_dripleaf.json
470530683d21d2480c5de7b71a0c3a500d0c3080 data/exdeorum/recipes/sieve/moss_block/flint/snowblossom_sapling.json
+9d5ec82c8efbd503a85e5d482ac00c59cc64111b data/exdeorum/recipes/sieve/moss_block/flint/sourceberry_bush.json
366055d40ffa8bb5df3aa4a173df789ca7387e18 data/exdeorum/recipes/sieve/moss_block/flint/spore_blossom.json
0f9eb10e52f5800d0543fbbff9c13559095d2e5f data/exdeorum/recipes/sieve/moss_block/flint/spruce_sapling.json
4ac5ebd110597a27940d6d6c8ca5858b5a09d153 data/exdeorum/recipes/sieve/moss_block/flint/sweet_berries.json
@@ -821,12 +838,14 @@ b03b8fea3cb4504c0732143d2311b458d66f970c data/exdeorum/recipes/sieve/moss_block/
a215703df06f023c6b7f44d377c0a29c5fb2d6d6 data/exdeorum/recipes/sieve/moss_block/golden/azalea.json
3e2c070b67e51500187df91e5a910dbb786bb932 data/exdeorum/recipes/sieve/moss_block/golden/big_dripleaf.json
a595eed6b517c0eaca5a37b88dd18372f8f24db5 data/exdeorum/recipes/sieve/moss_block/golden/birch_sapling.json
+ca8d351f696147c612f00bfb26f22ba6569127c1 data/exdeorum/recipes/sieve/moss_block/golden/blue_archwood_sapling.json
c9aed5b2b7e641177e6cd08968d6a658de5a3779 data/exdeorum/recipes/sieve/moss_block/golden/cherry_sapling.json
63a815065ecf0ed35c44cbaaaae2ee3b0ecacbc4 data/exdeorum/recipes/sieve/moss_block/golden/dark_oak_sapling.json
c3509c1cb04f33f2b21643252cea16995210cce9 data/exdeorum/recipes/sieve/moss_block/golden/dead_sapling.json
6a6f80599d352cb6d1e7bb25c45fa44813bd2355 data/exdeorum/recipes/sieve/moss_block/golden/fir_sapling.json
32ef3ccf79ff056ebadef521456a22d2c5e5bb7a data/exdeorum/recipes/sieve/moss_block/golden/flowering_oak_sapling.json
5f34a0005a0f953a175bbf4dbfa745756e7d126e data/exdeorum/recipes/sieve/moss_block/golden/glow_berries.json
+b4724b445230e2cd4e3e05bbd093dca631321d87 data/exdeorum/recipes/sieve/moss_block/golden/green_archwood_sapling.json
fe9f42194d81091a6d46da1e965671f54538c72b data/exdeorum/recipes/sieve/moss_block/golden/hellbark_sapling.json
f7e6cb7c1b3c1919b1fe4e467fae61df046ca64e data/exdeorum/recipes/sieve/moss_block/golden/jacaranda_sapling.json
2c1623f1cd2c679d797ee4b0fd900d04ff09dfbe data/exdeorum/recipes/sieve/moss_block/golden/jungle_sapling.json
@@ -838,10 +857,13 @@ de0723761b6b52a2d06e19d2870ede102a499d2e data/exdeorum/recipes/sieve/moss_block/
bfcbfee1a4307a2655f6c49c0504dd611e8249a2 data/exdeorum/recipes/sieve/moss_block/golden/orange_autumn_sapling.json
ca77be044c36f277c69b39beb431f3358b8908b5 data/exdeorum/recipes/sieve/moss_block/golden/origin_sapling.json
3999e28b259276aa72847383089fc5bb9995aa7b data/exdeorum/recipes/sieve/moss_block/golden/palm_sapling.json
+d4a1af09bcf26e5a996989b77e606e3e0e6412bc data/exdeorum/recipes/sieve/moss_block/golden/purple_archwood_sapling.json
6aa80bf22b9047f1225b811218071bcf8043315b data/exdeorum/recipes/sieve/moss_block/golden/rainbow_birch_sapling.json
bb900c6bd2588da74b3ca4145b2b82c302406268 data/exdeorum/recipes/sieve/moss_block/golden/redwood_sapling.json
+12b920c504cbe922cba852147fb258772310d5aa data/exdeorum/recipes/sieve/moss_block/golden/red_archwood_sapling.json
ab5ae026900f1d6c82f93d8beb2955695ace87fa data/exdeorum/recipes/sieve/moss_block/golden/small_dripleaf.json
1d56ffa4077e1567590c30513c7b5c9f09735ea0 data/exdeorum/recipes/sieve/moss_block/golden/snowblossom_sapling.json
+ea7bb6e0ed177c91aa734e70296fe25eea55a844 data/exdeorum/recipes/sieve/moss_block/golden/sourceberry_bush.json
47a1c47daea852999f58845e542a7e2a7f43b04a data/exdeorum/recipes/sieve/moss_block/golden/spore_blossom.json
9ed8aaa5555765dacc2df79e05e8799cf7bc6e5b data/exdeorum/recipes/sieve/moss_block/golden/spruce_sapling.json
62a2710898a61c30d849b58652b8892b7441db15 data/exdeorum/recipes/sieve/moss_block/golden/umbran_sapling.json
@@ -851,12 +873,14 @@ aa77cca261f061b6c67d7b76cfbee948eb6a3e8d data/exdeorum/recipes/sieve/moss_block/
687f696562d11b5a8f3f029f31cd903cacca5314 data/exdeorum/recipes/sieve/moss_block/iron/azalea.json
dab4403fa7e1cf72c062422421e609f4f27407be data/exdeorum/recipes/sieve/moss_block/iron/big_dripleaf.json
0319fa66a72967c39e5b5d2c92bb4fb34d722098 data/exdeorum/recipes/sieve/moss_block/iron/birch_sapling.json
+e1c42caaf829d3c3797da8d50e776d5f48b72fa7 data/exdeorum/recipes/sieve/moss_block/iron/blue_archwood_sapling.json
41ac46391e6dd459c9772fc5804929da572c9d31 data/exdeorum/recipes/sieve/moss_block/iron/cherry_sapling.json
12d0bce19552a1acd6ba187bc49026cb66d8c881 data/exdeorum/recipes/sieve/moss_block/iron/dark_oak_sapling.json
a5468b249371fdb37eb057acba5a38aefa74fc9c data/exdeorum/recipes/sieve/moss_block/iron/dead_sapling.json
1970ed7ba14fc02acf83821e7ae8bd28d7377774 data/exdeorum/recipes/sieve/moss_block/iron/fir_sapling.json
1357a70fdb53aa432a98d57591fee867b622d69f data/exdeorum/recipes/sieve/moss_block/iron/flowering_oak_sapling.json
15c737cf692119413df2e0ac4c6abdc1a6d1eb1a data/exdeorum/recipes/sieve/moss_block/iron/glow_berries.json
+be214c1ee151e2b9c1ef8431765056d119de9fb3 data/exdeorum/recipes/sieve/moss_block/iron/green_archwood_sapling.json
abfb7f930546914a53431660f4b9f50b593f0515 data/exdeorum/recipes/sieve/moss_block/iron/hellbark_sapling.json
1a2fdc1d401da18407a141dc9c2c21a01a8ce500 data/exdeorum/recipes/sieve/moss_block/iron/jacaranda_sapling.json
97d245c7e4a30a45921bf35a6bcc1cadb8c472fc data/exdeorum/recipes/sieve/moss_block/iron/jungle_sapling.json
@@ -868,10 +892,13 @@ abfb7f930546914a53431660f4b9f50b593f0515 data/exdeorum/recipes/sieve/moss_block/
6410af7734245e7242fa229ddf57a2dd2e92b940 data/exdeorum/recipes/sieve/moss_block/iron/orange_autumn_sapling.json
db79e83d80c8dcd69dfec351a739f1f114d0a27b data/exdeorum/recipes/sieve/moss_block/iron/origin_sapling.json
bcedd42ac5e47b835da37aa5eac84288b1c0674f data/exdeorum/recipes/sieve/moss_block/iron/palm_sapling.json
+a93826d4974c33a532537b1a79460924306a1485 data/exdeorum/recipes/sieve/moss_block/iron/purple_archwood_sapling.json
7c284061c2e88c33aeac6f940b44fae910869146 data/exdeorum/recipes/sieve/moss_block/iron/rainbow_birch_sapling.json
a4cb449eee625c9f6e62c96afc46183f5ad401fd data/exdeorum/recipes/sieve/moss_block/iron/redwood_sapling.json
+09390d9b94c57483552e029351e033e1c78da19b data/exdeorum/recipes/sieve/moss_block/iron/red_archwood_sapling.json
e46a4beb26c5f1572354e87bfe4553e0a4122576 data/exdeorum/recipes/sieve/moss_block/iron/small_dripleaf.json
4af66292689471615ada08edea2e5cf0760d769d data/exdeorum/recipes/sieve/moss_block/iron/snowblossom_sapling.json
+948adb1b750960efd88bca09891cf0914806d6b0 data/exdeorum/recipes/sieve/moss_block/iron/sourceberry_bush.json
0075db25f4650ba9dc172f15814725754d9f97e5 data/exdeorum/recipes/sieve/moss_block/iron/spore_blossom.json
93cb208475c16ebfdb286a2704a54b1594354c7f data/exdeorum/recipes/sieve/moss_block/iron/spruce_sapling.json
d33ba365d4f374589fa849c6abf96b0471f12216 data/exdeorum/recipes/sieve/moss_block/iron/umbran_sapling.json
@@ -881,12 +908,14 @@ b8ec4da2789fb1da1e1885b1e0ca598230915bb6 data/exdeorum/recipes/sieve/moss_block/
c026c50780e9df816f2a1536d5bd1bd245d3a785 data/exdeorum/recipes/sieve/moss_block/netherite/azalea.json
415b6baad54d477f2182ff7c2c5f009e85ae9deb data/exdeorum/recipes/sieve/moss_block/netherite/big_dripleaf.json
3a1cf97e22c7e65b04727cb00da7946acd859b4e data/exdeorum/recipes/sieve/moss_block/netherite/birch_sapling.json
+748c5b2eb5a155f146d209b80eea059e40503f8a data/exdeorum/recipes/sieve/moss_block/netherite/blue_archwood_sapling.json
a3fd022037cb8eb21330c4757b8c268369a19a10 data/exdeorum/recipes/sieve/moss_block/netherite/cherry_sapling.json
088eae3e8ce04c17b4c21490e52aff416b0e22f9 data/exdeorum/recipes/sieve/moss_block/netherite/dark_oak_sapling.json
af3c12951b0f130c6f141fac7332f34896ff8716 data/exdeorum/recipes/sieve/moss_block/netherite/dead_sapling.json
b8656cd29ba0bf5b800c8dad624041ad73151334 data/exdeorum/recipes/sieve/moss_block/netherite/fir_sapling.json
61e1309bffaf341a1b2d41354aea1824f87db1c9 data/exdeorum/recipes/sieve/moss_block/netherite/flowering_oak_sapling.json
a216466ec9cace1bd1de0c0c19469e41c49205f9 data/exdeorum/recipes/sieve/moss_block/netherite/glow_berries.json
+17693c064434a79b5b87c172b467ef50cb3024c5 data/exdeorum/recipes/sieve/moss_block/netherite/green_archwood_sapling.json
d1eae4db43f70c880c9c627eee3d8bf56ab9ed38 data/exdeorum/recipes/sieve/moss_block/netherite/hellbark_sapling.json
b8be943a3532c86f4bedfe4e4045e0ef5d6c2114 data/exdeorum/recipes/sieve/moss_block/netherite/jacaranda_sapling.json
1d2332257d5bdaebb487bc52e7e6ff21c053504b data/exdeorum/recipes/sieve/moss_block/netherite/jungle_sapling.json
@@ -898,10 +927,13 @@ e19bd9157fd5fb35ce43953b9ea27e9102945574 data/exdeorum/recipes/sieve/moss_block/
d9f6b596ff8e3b8d49f217bbd94f92bd04c37215 data/exdeorum/recipes/sieve/moss_block/netherite/orange_autumn_sapling.json
1ad95fe796e330a03ad82a2044b2a4641f79793b data/exdeorum/recipes/sieve/moss_block/netherite/origin_sapling.json
d5822b3238b31e4624b47abf2b983ef2618cb801 data/exdeorum/recipes/sieve/moss_block/netherite/palm_sapling.json
+bc33c76a5e875628f44cb950b4c2f9488c77f8ef data/exdeorum/recipes/sieve/moss_block/netherite/purple_archwood_sapling.json
1adde3a653591fe3b701b8829903a31b0ed5790e data/exdeorum/recipes/sieve/moss_block/netherite/rainbow_birch_sapling.json
90485e7cbbbb4ca7d968fe2647a698b256d67f3b data/exdeorum/recipes/sieve/moss_block/netherite/redwood_sapling.json
+f2650331566f88481478be9f8f2180309f2f3c3e data/exdeorum/recipes/sieve/moss_block/netherite/red_archwood_sapling.json
253817ef4f1a350d988df5e122a32fa8fd576819 data/exdeorum/recipes/sieve/moss_block/netherite/small_dripleaf.json
72bf022c6311a1d51daebfebfa174b30d1eb80c6 data/exdeorum/recipes/sieve/moss_block/netherite/snowblossom_sapling.json
+3eb522a548eee858a6262a962a61a3c677f3ee09 data/exdeorum/recipes/sieve/moss_block/netherite/sourceberry_bush.json
913767318dab8eda863e2816e06164f8b2b7d049 data/exdeorum/recipes/sieve/moss_block/netherite/spore_blossom.json
7b16289fd38e015d5b5f6bfe70314d8a507ca4b0 data/exdeorum/recipes/sieve/moss_block/netherite/spruce_sapling.json
8eb5ecc6afeaa657a88e480ba392ff1586ec3de5 data/exdeorum/recipes/sieve/moss_block/netherite/umbran_sapling.json
@@ -911,12 +943,14 @@ a2e30ef2775b54057a199e19e7995c771e7ee5ad data/exdeorum/recipes/sieve/moss_block/
bbf31b2f84618308a60b93d2f298de682a0a69b4 data/exdeorum/recipes/sieve/moss_block/string/azalea.json
6232ad4b9611b1d7276ad22924f878b83df668c0 data/exdeorum/recipes/sieve/moss_block/string/big_dripleaf.json
3c17107151c6f0a2b65c505b26d46abfebe37c1c data/exdeorum/recipes/sieve/moss_block/string/birch_sapling.json
+badf58659660407a57d8aaf09ea54b843f95cba3 data/exdeorum/recipes/sieve/moss_block/string/blue_archwood_sapling.json
40bf75ee165f0e09e9b6859ed4ef2aed21f3b76d data/exdeorum/recipes/sieve/moss_block/string/cherry_sapling.json
26bd4abc5eb68be6d263d6fd7d4113e4ca44bf8c data/exdeorum/recipes/sieve/moss_block/string/dark_oak_sapling.json
7c41f0971a9fe890a0086c48f77d6b18ca75da6c data/exdeorum/recipes/sieve/moss_block/string/dead_sapling.json
fe61102ccfb39c8159186a3f263427fb0e48b528 data/exdeorum/recipes/sieve/moss_block/string/fir_sapling.json
874a7febae3c96d89b7dd80262f4c5907935e422 data/exdeorum/recipes/sieve/moss_block/string/flowering_oak_sapling.json
d11877114c6d062021f178c55c05666c87cd31ab data/exdeorum/recipes/sieve/moss_block/string/glow_berries.json
+30cf1d47b4fa45a7100ee2b3fb4355580066c734 data/exdeorum/recipes/sieve/moss_block/string/green_archwood_sapling.json
772f38538d49ead6389f155d9d1d193c003d0d88 data/exdeorum/recipes/sieve/moss_block/string/hellbark_sapling.json
acb10a1fb1560fac09d39b01e7df0cb8f050d2ea data/exdeorum/recipes/sieve/moss_block/string/jacaranda_sapling.json
ee240ebb80802c83d48985d9e431bc12410589a4 data/exdeorum/recipes/sieve/moss_block/string/jungle_sapling.json
@@ -928,10 +962,13 @@ ee240ebb80802c83d48985d9e431bc12410589a4 data/exdeorum/recipes/sieve/moss_block/
5cd857910f20a2097fb269457efc23cc68cb2642 data/exdeorum/recipes/sieve/moss_block/string/orange_autumn_sapling.json
b25938a0adaeb90b4d7efd1af267f0bb142688ee data/exdeorum/recipes/sieve/moss_block/string/origin_sapling.json
433ef6235746ced6d172c309920efe18d5761c65 data/exdeorum/recipes/sieve/moss_block/string/palm_sapling.json
+fbc7ab7be1f1ff880f2e95dc6adba5a6b445847a data/exdeorum/recipes/sieve/moss_block/string/purple_archwood_sapling.json
975a569a757ea77ddd363549388397793315672f data/exdeorum/recipes/sieve/moss_block/string/rainbow_birch_sapling.json
c39411c2fb276936b0d5fa44d16336326135653a data/exdeorum/recipes/sieve/moss_block/string/redwood_sapling.json
+548122907138c9d02aba61a79d2f87e2a9f4bc6e data/exdeorum/recipes/sieve/moss_block/string/red_archwood_sapling.json
e5351932ff3700bf95f2ec770cd051f08debee9c data/exdeorum/recipes/sieve/moss_block/string/small_dripleaf.json
820b584992f51dd5a1c6dffd37db75043b2bd047 data/exdeorum/recipes/sieve/moss_block/string/snowblossom_sapling.json
+47a67142fae2fb2c44f039203e871c196ea03e62 data/exdeorum/recipes/sieve/moss_block/string/sourceberry_bush.json
64280db27eca51b0aa8fddc970756c1e3a25db08 data/exdeorum/recipes/sieve/moss_block/string/spore_blossom.json
fec8737e1aba9773807c7cd582c685e4532f488d data/exdeorum/recipes/sieve/moss_block/string/spruce_sapling.json
a69c433ef11539f6c8987536b8d99c4a2071a861 data/exdeorum/recipes/sieve/moss_block/string/umbran_sapling.json
diff --git a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
index 0ed0d49e..b76edcaa 100644
--- a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
+++ b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
@@ -1,9 +1,11 @@
-// 1.20.1 2023-09-23T11:56:49.5786879 ModKit Item Models for mod 'exdeorum'
+// 1.20.1 2023-11-02T20:23:36.9068339 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
+aaff98a3b19941899f5c6f9a26ff33bc0e260dc3 assets/exdeorum/models/item/archwood_barrel.json
+e74674fac30987df7dbafe2335c51eb993c5cb0e assets/exdeorum/models/item/archwood_sieve.json
fd1850138a04a6651f4a79cdc93b52b3ddcd88ab assets/exdeorum/models/item/bamboo_barrel.json
ef8aec7c31e2d11e5b2e653aea90eaf4d672258e assets/exdeorum/models/item/bamboo_crucible.json
731c17e6b668e353b4a4df3f3c847ccaf3d6024c assets/exdeorum/models/item/bamboo_sieve.json
@@ -12,6 +14,7 @@ cb54f7f749cf12c5980051180b59993c33513231 assets/exdeorum/models/item/birch_barre
c6a2834820a8ee03ad01a50df13fdaa50de55507 assets/exdeorum/models/item/birch_crucible.json
cea0d8d765050cad7aed1d23c8ff89cb7112a64d assets/exdeorum/models/item/birch_sieve.json
83c2bbf6ddc7053565b8450f57d8d19ca69d5a66 assets/exdeorum/models/item/blackstone_pebble.json
+ce29c4adab1efa20645351b8bb2aa5a87f36729d assets/exdeorum/models/item/blue_archwood_crucible.json
19995d73ae76d8ebcb64cab9219373f6192f5e8d assets/exdeorum/models/item/bone_crook.json
d3f7de31d0fba8578c3e36a16ab39ac0a4d54af9 assets/exdeorum/models/item/calcite_pebble.json
95b067616dfc39ad8f72bab6d2cf40c6c05a3748 assets/exdeorum/models/item/cherry_barrel.json
@@ -52,6 +55,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
+a117ad0a6e1d193ee65c0a2af1a88f7f5be444fd assets/exdeorum/models/item/green_archwood_crucible.json
b0d0d1ec41f465872243ea5b59a22caeadc1b81a assets/exdeorum/models/item/hellbark_barrel.json
4de47af7d2a66a6e18ce93c9e3a1582b33073a6b assets/exdeorum/models/item/hellbark_crucible.json
c3a5bdc2c3e8b12b41e9c3aae44839a331a5d238 assets/exdeorum/models/item/hellbark_sieve.json
@@ -96,11 +100,13 @@ acb7c543d965cfc01ba4cb7b2dc0577ebd1e0eba assets/exdeorum/models/item/porcelain_c
653c865c2af937bf1d4db587ef5190c5f4781a6f assets/exdeorum/models/item/porcelain_milk_bucket.json
83c0f1e491cb6d502b43de4411f7288ea5534a81 assets/exdeorum/models/item/porcelain_water_bucket.json
8012448a03d9a5a439daa36ae8f76f9fe13c3629 assets/exdeorum/models/item/porcelain_witch_water_bucket.json
+d90a49c2df6d56bb4baec118651d1f542f5d788c assets/exdeorum/models/item/purple_archwood_crucible.json
dd7fb4ac7abfdde6e563eba6d4f1531836ff2432 assets/exdeorum/models/item/random_armor_trim.json
52ebfa48c9f80357ab39cf66ef19d819f3cbcfd2 assets/exdeorum/models/item/random_pottery_sherd.json
a51ffb5d633cc0ced05c55cc9635acfd1a2113a1 assets/exdeorum/models/item/redwood_barrel.json
02b795c250fe11107f0d53449b1aeb94b0e38ebd assets/exdeorum/models/item/redwood_crucible.json
db1a7251bc49b8433b1e8183ce146a8c1d147165 assets/exdeorum/models/item/redwood_sieve.json
+fd049e432cadca3fc329cc94d2671731c07846d2 assets/exdeorum/models/item/red_archwood_crucible.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
diff --git a/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50 b/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
index face1c71..77ed3cbc 100644
--- a/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
+++ b/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
@@ -1,13 +1,16 @@
-// 1.20.1 2023-09-18T11:17:35.1916779 ModKit Block Models for mod 'exdeorum'
+// 1.20.1 2023-11-08T17:22:38.9409847 ModKit Block Models for mod 'exdeorum'
c73197f2dc770a353883c387b2b1f0b082283576 assets/exdeorum/blockstates/acacia_barrel.json
a3ef4562a4c7833439d8d66ff9c210406d317995 assets/exdeorum/blockstates/acacia_crucible.json
b3383c530978c5f67d897ba16fda9a2a359482cd assets/exdeorum/blockstates/acacia_sieve.json
+1707bbf6b41f7804539ecff8d07ef569e71b3b22 assets/exdeorum/blockstates/archwood_barrel.json
+94865b90373bb22d997cb93c353735fafdd22ead assets/exdeorum/blockstates/archwood_sieve.json
4115a92d979808efe4ec203db9819e082fbf04f7 assets/exdeorum/blockstates/bamboo_barrel.json
72e38584bb49810031c5fb6777ede58730c88ad6 assets/exdeorum/blockstates/bamboo_crucible.json
4671df367ed57f35ae1c780e6f1cc02a14edf0b5 assets/exdeorum/blockstates/bamboo_sieve.json
261a0bd190db5a031df5387ec5bffebdeeaaf29f assets/exdeorum/blockstates/birch_barrel.json
bddb3a17ea007a27b973dc2844becbd50c287863 assets/exdeorum/blockstates/birch_crucible.json
1c0bd78e0c3f68f472003872803aefe2edc022f9 assets/exdeorum/blockstates/birch_sieve.json
+9700a1b1e021ac3d7061d68539c29ef5d3ee7712 assets/exdeorum/blockstates/blue_archwood_crucible.json
40a49573256b0ee20ef9eaa99081e3d5c899fbd3 assets/exdeorum/blockstates/cherry_barrel.json
cc7231c38566080bcb2bf6af0edb1d2b290b38e3 assets/exdeorum/blockstates/cherry_crucible.json
a7af62e0deedaca41a7ea2d12b53a25aef4b5f6b assets/exdeorum/blockstates/cherry_sieve.json
@@ -28,6 +31,7 @@ ac1dd0acdb4f05237afa46729bc4092b3d6e3db7 assets/exdeorum/blockstates/dead_crucib
d63832f824cac69fa8187df7edc31731a1af8feb assets/exdeorum/blockstates/fir_barrel.json
93ee45895d7606fdd2827302f8b6d880ccfab725 assets/exdeorum/blockstates/fir_crucible.json
b27c1b2144d433b6ffd6d3ed4829dd39b1205c34 assets/exdeorum/blockstates/fir_sieve.json
+8de6d8e7ec696d1f65cac9a8e0593459d17447c0 assets/exdeorum/blockstates/green_archwood_crucible.json
be6c0b5ac28f356b5864f9e39c0646b68ca6ffd7 assets/exdeorum/blockstates/hellbark_barrel.json
9f7bf54fc13cb566d3d1395791638826fb6003b6 assets/exdeorum/blockstates/hellbark_crucible.json
d3370f4244423e3cb9bee27131aefdc52b6c1299 assets/exdeorum/blockstates/hellbark_sieve.json
@@ -53,9 +57,11 @@ ea8ce1e2d897636e796c53271928e47a4e568746 assets/exdeorum/blockstates/palm_barrel
e6cc311733a888fcbb7f1b54d295375b9a01b1df assets/exdeorum/blockstates/palm_crucible.json
fe9e903ab70c7c7cc177bcc72e3c797113289c90 assets/exdeorum/blockstates/palm_sieve.json
952a5b1185dab4dfd023df32312f0719b22a9855 assets/exdeorum/blockstates/porcelain_crucible.json
+3ea394fd32461ff782c405dbb053a2c80f05d727 assets/exdeorum/blockstates/purple_archwood_crucible.json
e45eb114f51881dc5f031763d6f48739b6a2c2c9 assets/exdeorum/blockstates/redwood_barrel.json
1ce3a30ff94133de2a4e8456d952c625ac310a9d assets/exdeorum/blockstates/redwood_crucible.json
1d1b612ab74c57672b85120f0d4acf3684c62295 assets/exdeorum/blockstates/redwood_sieve.json
+6d5f0101d2673a8978446db56296facb2937ebe2 assets/exdeorum/blockstates/red_archwood_crucible.json
05fed7f7136bdb949fc12b3a3f6c89c55778a177 assets/exdeorum/blockstates/spruce_barrel.json
44010d261124a2cda9ca8ed887aba9f766b3e71f assets/exdeorum/blockstates/spruce_crucible.json
4782482871677bfe372816bc8f17dbdfc9eb21f9 assets/exdeorum/blockstates/spruce_sieve.json
@@ -73,12 +79,15 @@ fef1ff79302f56ecedee3103fa4f98385ed07606 assets/exdeorum/blockstates/willow_cruc
860887c119547b23864f38dda264714330b45dfb assets/exdeorum/models/block/acacia_barrel.json
b3c99174f2a76a79897a81f57ec8f0ce1cb42394 assets/exdeorum/models/block/acacia_crucible.json
fa39007ebe3e9a5655dc00612e5841c784deb144 assets/exdeorum/models/block/acacia_sieve.json
+63191808e5914a47b903c8be5c9e51de255ceea9 assets/exdeorum/models/block/archwood_barrel.json
+c893658b1181643330d8a1d545c55a647cbce29c assets/exdeorum/models/block/archwood_sieve.json
631f7466186f8307f5b95f5c08cf47b939f6bd02 assets/exdeorum/models/block/bamboo_barrel.json
e80280c3b40a237cb37d7a7281fff2d829354791 assets/exdeorum/models/block/bamboo_crucible.json
30f15a5040a07180e8e5c792ca3d20ec6f24d101 assets/exdeorum/models/block/bamboo_sieve.json
bcf2d8e6879306f11a5596f0cad2908239895cb5 assets/exdeorum/models/block/birch_barrel.json
29835cbb3ad08f6e8f3701372d449cd14d220e12 assets/exdeorum/models/block/birch_crucible.json
5b3ea18ae87c74a50e7073199ee1da4d17cca24b assets/exdeorum/models/block/birch_sieve.json
+7c514293dc6f7e0e901be290dd592a0d4ffc6314 assets/exdeorum/models/block/blue_archwood_crucible.json
d23ccb3e024994342a447c2c8b4640bd4369a1f1 assets/exdeorum/models/block/cherry_barrel.json
faab9f9cc9d1e7e780238c2333b43bedad5699d0 assets/exdeorum/models/block/cherry_crucible.json
262285003a81793aa403894e71484d83bd98eb3a assets/exdeorum/models/block/cherry_sieve.json
@@ -99,6 +108,7 @@ d830e08e0746bdce09416afad8895c0fb2bf13e7 assets/exdeorum/models/block/dust.json
d27c5aea8db6502814fcd72eb49087d22a678e26 assets/exdeorum/models/block/fir_barrel.json
762efa7629a747986c1dcf9c42c549944604a8c1 assets/exdeorum/models/block/fir_crucible.json
85781b7b05ac544c7e8d4050ec631ad69e3eaec0 assets/exdeorum/models/block/fir_sieve.json
+a8ef8e588eab8da5ab8385722edf12004e38b62f assets/exdeorum/models/block/green_archwood_crucible.json
226167292ab0e0e7afc1818b620e08392746f781 assets/exdeorum/models/block/hellbark_barrel.json
dba8058f7ae253910dce77995cd4b88087c126ce assets/exdeorum/models/block/hellbark_crucible.json
cb12e4e64037076c64e64d4f1ca24fcd367b236f assets/exdeorum/models/block/hellbark_sieve.json
@@ -124,9 +134,11 @@ cf4d2e0edae49e117f740ce0ddfe91ac2914aae7 assets/exdeorum/models/block/palm_barre
14c6411a10b0ec4491a4b9009d1892d5331ad4c3 assets/exdeorum/models/block/palm_crucible.json
9bf10698687dd3b602360e749232a8e02f0a8826 assets/exdeorum/models/block/palm_sieve.json
c61e5a082d800671fe55031495511fa716f99183 assets/exdeorum/models/block/porcelain_crucible.json
+40886e7a0fef407f789c0572211e9d776136e2c8 assets/exdeorum/models/block/purple_archwood_crucible.json
37106dba7aef1020447ae1a218b780a2b34c4080 assets/exdeorum/models/block/redwood_barrel.json
1c1878a06cd94031964115e9fa238c4ef7fbebac assets/exdeorum/models/block/redwood_crucible.json
26f9658ac8bdab2e2acd776a01f5577d6f716438 assets/exdeorum/models/block/redwood_sieve.json
+7ccffa93046e2fe7be1e581eb82021c19e445f0d assets/exdeorum/models/block/red_archwood_crucible.json
962b3fda993c93727e3196181f346c8824723c26 assets/exdeorum/models/block/spruce_barrel.json
37c045fb5d4dab5cc648986bbbd3532e0a47500c assets/exdeorum/models/block/spruce_crucible.json
b089184195ded615924623228fd356d87784d080 assets/exdeorum/models/block/spruce_sieve.json
diff --git a/src/generated/resources/assets/exdeorum/blockstates/archwood_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/archwood_barrel.json
new file mode 100644
index 00000000..68568e26
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/archwood_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/archwood_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/archwood_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/archwood_sieve.json
new file mode 100644
index 00000000..21454be7
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/archwood_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/archwood_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/blue_archwood_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/blue_archwood_crucible.json
new file mode 100644
index 00000000..777d092d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/blue_archwood_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/blue_archwood_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/green_archwood_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/green_archwood_crucible.json
new file mode 100644
index 00000000..26a09d66
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/green_archwood_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/green_archwood_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/purple_archwood_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/purple_archwood_crucible.json
new file mode 100644
index 00000000..d5360d15
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/purple_archwood_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/purple_archwood_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/red_archwood_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/red_archwood_crucible.json
new file mode 100644
index 00000000..68444d80
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/red_archwood_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/red_archwood_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/lang/en_us.json b/src/generated/resources/assets/exdeorum/lang/en_us.json
index 5702aa5e..0037e524 100644
--- a/src/generated/resources/assets/exdeorum/lang/en_us.json
+++ b/src/generated/resources/assets/exdeorum/lang/en_us.json
@@ -12,12 +12,15 @@
"block.exdeorum.acacia_barrel": "Acacia Barrel",
"block.exdeorum.acacia_crucible": "Acacia Crucible",
"block.exdeorum.acacia_sieve": "Acacia Sieve",
+ "block.exdeorum.archwood_barrel": "Archwood Barrel",
+ "block.exdeorum.archwood_sieve": "Archwood Sieve",
"block.exdeorum.bamboo_barrel": "Bamboo Barrel",
"block.exdeorum.bamboo_crucible": "Bamboo Crucible",
"block.exdeorum.bamboo_sieve": "Bamboo Sieve",
"block.exdeorum.birch_barrel": "Birch Barrel",
"block.exdeorum.birch_crucible": "Birch Crucible",
"block.exdeorum.birch_sieve": "Birch Sieve",
+ "block.exdeorum.blue_archwood_crucible": "Cascading Archwood Crucible",
"block.exdeorum.cherry_barrel": "Cherry Barrel",
"block.exdeorum.cherry_crucible": "Cherry Crucible",
"block.exdeorum.cherry_sieve": "Cherry Sieve",
@@ -39,6 +42,7 @@
"block.exdeorum.fir_barrel": "Fir Barrel",
"block.exdeorum.fir_crucible": "Fir Crucible",
"block.exdeorum.fir_sieve": "Fir Sieve",
+ "block.exdeorum.green_archwood_crucible": "Flourishing Archwood Crucible",
"block.exdeorum.hellbark_barrel": "Hellbark Barrel",
"block.exdeorum.hellbark_crucible": "Hellbark Crucible",
"block.exdeorum.hellbark_sieve": "Hellbark Sieve",
@@ -65,6 +69,8 @@
"block.exdeorum.palm_crucible": "Palm Crucible",
"block.exdeorum.palm_sieve": "Palm Sieve",
"block.exdeorum.porcelain_crucible": "Porcelain Crucible",
+ "block.exdeorum.purple_archwood_crucible": "Vexing Archwood Crucible",
+ "block.exdeorum.red_archwood_crucible": "Blazing Archwood Crucible",
"block.exdeorum.redwood_barrel": "Redwood Barrel",
"block.exdeorum.redwood_crucible": "Redwood Crucible",
"block.exdeorum.redwood_sieve": "Redwood Sieve",
diff --git a/src/generated/resources/assets/exdeorum/models/block/archwood_barrel.json b/src/generated/resources/assets/exdeorum/models/block/archwood_barrel.json
new file mode 100644
index 00000000..59b8cfe8
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/archwood_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "ars_nouveau:block/archwood_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/archwood_sieve.json b/src/generated/resources/assets/exdeorum/models/block/archwood_sieve.json
new file mode 100644
index 00000000..ed2caf34
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/archwood_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "ars_nouveau:block/archwood_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/blue_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/block/blue_archwood_crucible.json
new file mode 100644
index 00000000..c2a0a466
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/blue_archwood_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "ars_nouveau:block/blue_archwood_log",
+ "inside": "ars_nouveau:block/blue_archwood_log",
+ "side": "ars_nouveau:block/blue_archwood_log",
+ "top": "ars_nouveau:block/blue_archwood_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/green_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/block/green_archwood_crucible.json
new file mode 100644
index 00000000..15450238
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/green_archwood_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "ars_nouveau:block/green_archwood_log",
+ "inside": "ars_nouveau:block/green_archwood_log",
+ "side": "ars_nouveau:block/green_archwood_log",
+ "top": "ars_nouveau:block/green_archwood_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/purple_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/block/purple_archwood_crucible.json
new file mode 100644
index 00000000..0257a7c0
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/purple_archwood_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "ars_nouveau:block/purple_archwood_log",
+ "inside": "ars_nouveau:block/purple_archwood_log",
+ "side": "ars_nouveau:block/purple_archwood_log",
+ "top": "ars_nouveau:block/purple_archwood_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/red_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/block/red_archwood_crucible.json
new file mode 100644
index 00000000..2624652d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/red_archwood_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "ars_nouveau:block/red_archwood_log",
+ "inside": "ars_nouveau:block/red_archwood_log",
+ "side": "ars_nouveau:block/red_archwood_log",
+ "top": "ars_nouveau:block/red_archwood_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/archwood_barrel.json b/src/generated/resources/assets/exdeorum/models/item/archwood_barrel.json
new file mode 100644
index 00000000..133d59a8
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/archwood_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/archwood_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/archwood_sieve.json b/src/generated/resources/assets/exdeorum/models/item/archwood_sieve.json
new file mode 100644
index 00000000..70c5a710
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/archwood_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/archwood_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/blue_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/item/blue_archwood_crucible.json
new file mode 100644
index 00000000..3ba0f6cd
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/blue_archwood_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/blue_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/green_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/item/green_archwood_crucible.json
new file mode 100644
index 00000000..cbe6a761
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/green_archwood_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/green_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/purple_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/item/purple_archwood_crucible.json
new file mode 100644
index 00000000..435c7778
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/purple_archwood_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/purple_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/red_archwood_crucible.json b/src/generated/resources/assets/exdeorum/models/item/red_archwood_crucible.json
new file mode 100644
index 00000000..394aff7b
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/red_archwood_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/red_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_barrel.json
new file mode 100644
index 00000000..34842630
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_barrel.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:archwood_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/archwood_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_sieve.json
new file mode 100644
index 00000000..45636485
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/archwood_sieve.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:archwood_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/archwood_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/blue_archwood_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/blue_archwood_crucible.json
new file mode 100644
index 00000000..cf5cdeab
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/blue_archwood_crucible.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:blue_archwood_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/blue_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/green_archwood_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/green_archwood_crucible.json
new file mode 100644
index 00000000..32c61239
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/green_archwood_crucible.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:green_archwood_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/green_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/purple_archwood_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/purple_archwood_crucible.json
new file mode 100644
index 00000000..8bd5e8fc
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/purple_archwood_crucible.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:purple_archwood_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/purple_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/red_archwood_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/red_archwood_crucible.json
new file mode 100644
index 00000000..6b9828bb
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/red_archwood_crucible.json
@@ -0,0 +1,21 @@
+{
+ "type": "minecraft:block",
+ "pools": [
+ {
+ "bonus_rolls": 0.0,
+ "conditions": [
+ {
+ "condition": "minecraft:survives_explosion"
+ }
+ ],
+ "entries": [
+ {
+ "type": "minecraft:item",
+ "name": "exdeorum:red_archwood_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/red_archwood_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/archwood_barrel.json b/src/generated/resources/data/exdeorum/recipes/archwood_barrel.json
new file mode 100644
index 00000000..002d82fb
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/archwood_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "ars_nouveau:archwood_slab"
+ },
+ "s": {
+ "item": "ars_nouveau:archwood_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:archwood_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/archwood_sieve.json b/src/generated/resources/data/exdeorum/recipes/archwood_sieve.json
new file mode 100644
index 00000000..bdcab4e4
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/archwood_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "ars_nouveau:archwood_planks"
+ },
+ "_": {
+ "item": "ars_nouveau:archwood_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:archwood_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/blue_archwood_crucible.json b/src/generated/resources/data/exdeorum/recipes/blue_archwood_crucible.json
new file mode 100644
index 00000000..5f4c068c
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/blue_archwood_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "ars_nouveau:archwood_slab"
+ },
+ "s": {
+ "item": "ars_nouveau:blue_archwood_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:blue_archwood_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/green_archwood_crucible.json b/src/generated/resources/data/exdeorum/recipes/green_archwood_crucible.json
new file mode 100644
index 00000000..09401102
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/green_archwood_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "ars_nouveau:archwood_slab"
+ },
+ "s": {
+ "item": "ars_nouveau:green_archwood_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:green_archwood_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/purple_archwood_crucible.json b/src/generated/resources/data/exdeorum/recipes/purple_archwood_crucible.json
new file mode 100644
index 00000000..11cb3a52
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/purple_archwood_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "ars_nouveau:archwood_slab"
+ },
+ "s": {
+ "item": "ars_nouveau:purple_archwood_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:purple_archwood_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/red_archwood_crucible.json b/src/generated/resources/data/exdeorum/recipes/red_archwood_crucible.json
new file mode 100644
index 00000000..b63a6521
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/red_archwood_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "ars_nouveau:archwood_slab"
+ },
+ "s": {
+ "item": "ars_nouveau:red_archwood_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:red_archwood_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dirt/flint/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/dirt/flint/sourceberry_bush.json
new file mode 100644
index 00000000..cced9a6c
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dirt/flint/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:dirt"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "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/moss_block/diamond/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/blue_archwood_sapling.json
new file mode 100644
index 00000000..1ad2e482
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/green_archwood_sapling.json
new file mode 100644
index 00000000..ba8fd30b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/purple_archwood_sapling.json
new file mode 100644
index 00000000..7e11914b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/red_archwood_sapling.json
new file mode 100644
index 00000000..9987e819
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/sourceberry_bush.json
new file mode 100644
index 00000000..d68dd9d7
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/diamond/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/blue_archwood_sapling.json
new file mode 100644
index 00000000..d3ca6314
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/green_archwood_sapling.json
new file mode 100644
index 00000000..04b9ac83
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/purple_archwood_sapling.json
new file mode 100644
index 00000000..58c7cda4
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/red_archwood_sapling.json
new file mode 100644
index 00000000..df1a35dd
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/sourceberry_bush.json
new file mode 100644
index 00000000..39fbfa0e
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/flint/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/blue_archwood_sapling.json
new file mode 100644
index 00000000..41a9004f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/green_archwood_sapling.json
new file mode 100644
index 00000000..f189b76d
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/purple_archwood_sapling.json
new file mode 100644
index 00000000..2565ed65
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/red_archwood_sapling.json
new file mode 100644
index 00000000..f62618d3
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/sourceberry_bush.json
new file mode 100644
index 00000000..ce9ca2dd
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/golden/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/blue_archwood_sapling.json
new file mode 100644
index 00000000..cceed1ca
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/green_archwood_sapling.json
new file mode 100644
index 00000000..ef2c84de
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/purple_archwood_sapling.json
new file mode 100644
index 00000000..966abd36
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/red_archwood_sapling.json
new file mode 100644
index 00000000..f1614a38
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/sourceberry_bush.json
new file mode 100644
index 00000000..5e8cc590
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/iron/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/blue_archwood_sapling.json
new file mode 100644
index 00000000..d874715e
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/green_archwood_sapling.json
new file mode 100644
index 00000000..c2cdb5c6
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/purple_archwood_sapling.json
new file mode 100644
index 00000000..cbf4c771
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/red_archwood_sapling.json
new file mode 100644
index 00000000..ba836448
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/sourceberry_bush.json
new file mode 100644
index 00000000..d0233aa4
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/netherite/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/blue_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/blue_archwood_sapling.json
new file mode 100644
index 00000000..3f30634a
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/blue_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ars_nouveau:blue_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/green_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/green_archwood_sapling.json
new file mode 100644
index 00000000..3d2936fa
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/green_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ars_nouveau:green_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/purple_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/purple_archwood_sapling.json
new file mode 100644
index 00000000..a14a6010
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/purple_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ars_nouveau:purple_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/red_archwood_sapling.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/red_archwood_sapling.json
new file mode 100644
index 00000000..3287475f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/red_archwood_sapling.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ars_nouveau:red_archwood_sapling",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.005
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/sourceberry_bush.json b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/sourceberry_bush.json
new file mode 100644
index 00000000..4c435d6e
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/moss_block/string/sourceberry_bush.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ars_nouveau"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "minecraft:moss_block"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ars_nouveau:sourceberry_bush",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.01
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json
index 25a6178c..da672a07 100644
--- a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json
+++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json
@@ -11,6 +11,17 @@
"exdeorum:bamboo_barrel",
"exdeorum:crimson_barrel",
"exdeorum:warped_barrel",
+ "exdeorum:fir_barrel",
+ "exdeorum:redwood_barrel",
+ "exdeorum:mahogany_barrel",
+ "exdeorum:jacaranda_barrel",
+ "exdeorum:palm_barrel",
+ "exdeorum:willow_barrel",
+ "exdeorum:dead_barrel",
+ "exdeorum:magic_barrel",
+ "exdeorum:umbran_barrel",
+ "exdeorum:hellbark_barrel",
+ "exdeorum:archwood_barrel",
"exdeorum:oak_sieve",
"exdeorum:spruce_sieve",
"exdeorum:birch_sieve",
@@ -22,6 +33,17 @@
"exdeorum:bamboo_sieve",
"exdeorum:crimson_sieve",
"exdeorum:warped_sieve",
+ "exdeorum:fir_sieve",
+ "exdeorum:redwood_sieve",
+ "exdeorum:mahogany_sieve",
+ "exdeorum:jacaranda_sieve",
+ "exdeorum:palm_sieve",
+ "exdeorum:willow_sieve",
+ "exdeorum:dead_sieve",
+ "exdeorum:magic_sieve",
+ "exdeorum:umbran_sieve",
+ "exdeorum:hellbark_sieve",
+ "exdeorum:archwood_sieve",
"exdeorum:warped_crucible",
"exdeorum:crimson_crucible",
"exdeorum:oak_crucible",
@@ -32,6 +54,20 @@
"exdeorum:dark_oak_crucible",
"exdeorum:mangrove_crucible",
"exdeorum:cherry_crucible",
- "exdeorum:bamboo_crucible"
+ "exdeorum:bamboo_crucible",
+ "exdeorum:fir_crucible",
+ "exdeorum:redwood_crucible",
+ "exdeorum:mahogany_crucible",
+ "exdeorum:jacaranda_crucible",
+ "exdeorum:palm_crucible",
+ "exdeorum:willow_crucible",
+ "exdeorum:dead_crucible",
+ "exdeorum:magic_crucible",
+ "exdeorum:umbran_crucible",
+ "exdeorum:hellbark_crucible",
+ "exdeorum:blue_archwood_crucible",
+ "exdeorum:red_archwood_crucible",
+ "exdeorum:purple_archwood_crucible",
+ "exdeorum:green_archwood_crucible"
]
}
\ No newline at end of file
diff --git a/src/main/java/thedarkcolour/exdeorum/block/WitchWaterBlock.java b/src/main/java/thedarkcolour/exdeorum/block/WitchWaterBlock.java
new file mode 100644
index 00000000..efd51975
--- /dev/null
+++ b/src/main/java/thedarkcolour/exdeorum/block/WitchWaterBlock.java
@@ -0,0 +1,151 @@
+/*
+ * 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.block;
+
+import dev.latvian.mods.kubejs.core.ServerLevelKJS;
+import net.minecraft.core.BlockPos;
+import net.minecraft.nbt.NbtOps;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.world.Difficulty;
+import net.minecraft.world.damagesource.DamageSource;
+import net.minecraft.world.damagesource.DamageSources;
+import net.minecraft.world.effect.MobEffect;
+import net.minecraft.world.effect.MobEffectInstance;
+import net.minecraft.world.effect.MobEffects;
+import net.minecraft.world.entity.*;
+import net.minecraft.world.entity.animal.MushroomCow;
+import net.minecraft.world.entity.animal.Rabbit;
+import net.minecraft.world.entity.animal.axolotl.Axolotl;
+import net.minecraft.world.entity.monster.Creeper;
+import net.minecraft.world.entity.monster.Witch;
+import net.minecraft.world.entity.monster.Zombie;
+import net.minecraft.world.entity.npc.Villager;
+import net.minecraft.world.entity.npc.VillagerProfession;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.ServerLevelAccessor;
+import net.minecraft.world.level.block.LiquidBlock;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.material.FlowingFluid;
+import org.jetbrains.annotations.Nullable;
+import thedarkcolour.exdeorum.config.EConfig;
+
+import java.util.function.Supplier;
+
+public class WitchWaterBlock extends LiquidBlock {
+ public WitchWaterBlock(Supplier extends FlowingFluid> pFluid, Properties pProperties) {
+ super(pFluid, pProperties);
+ }
+
+ @Override
+ public void entityInside(BlockState pState, Level level, BlockPos pPos, Entity entity) {
+ if (!level.isClientSide && entity.isAlive()) {
+ var entityType = entity.getType();
+
+ if (EConfig.SERVER.allowWitchWaterEntityConversion.get()) {
+ if (entityType == EntityType.VILLAGER) {
+ var villager = (Villager) entity;
+
+ if (level.getDifficulty() != Difficulty.PEACEFUL) {
+ if (!villager.isBaby() && villager.getVillagerData().getProfession() == VillagerProfession.CLERIC) {
+ if (attemptToConvertEntity(level, villager, EntityType.WITCH) != null) {
+ villager.releaseAllPois();
+ }
+ } else {
+ var zombieVillager = villager.convertTo(EntityType.ZOMBIE_VILLAGER, false);
+ if (zombieVillager != null) {
+ zombieVillager.finalizeSpawn((ServerLevelAccessor) level, level.getCurrentDifficultyAt(zombieVillager.blockPosition()), MobSpawnType.CONVERSION, new Zombie.ZombieGroupData(false, true), null);
+ zombieVillager.setVillagerData(villager.getVillagerData());
+ zombieVillager.setGossips(villager.getGossips().store(NbtOps.INSTANCE));
+ zombieVillager.setTradeOffers(villager.getOffers().createTag());
+ zombieVillager.setVillagerXp(villager.getVillagerXp());
+
+ net.minecraftforge.event.ForgeEventFactory.onLivingConvert(villager, zombieVillager);
+
+ villager.discard();
+ }
+ }
+ }
+ } else if (entityType == EntityType.SKELETON) {
+ attemptToConvertEntity(level, entity, EntityType.WITHER_SKELETON);
+ } else if (entityType == EntityType.CREEPER) {
+ entity.getEntityData().set(Creeper.DATA_IS_POWERED, true);
+ } else if (entityType == EntityType.SPIDER) {
+ attemptToConvertEntity(level, entity, EntityType.CAVE_SPIDER);
+ } else if (entityType == EntityType.SQUID) {
+ attemptToConvertEntity(level, entity, EntityType.GHAST);
+ } else if (entityType == EntityType.PIG || entityType == EntityType.PIGLIN) {
+ attemptToConvertEntity(level, entity, EntityType.ZOMBIFIED_PIGLIN);
+ } else if (entityType == EntityType.HOGLIN) {
+ attemptToConvertEntity(level, entity, EntityType.ZOGLIN);
+ } else if (entityType == EntityType.MOOSHROOM) {
+ ((MushroomCow) entity).setVariant(MushroomCow.MushroomType.BROWN);
+ } else if (entityType == EntityType.AXOLOTL) {
+ ((Axolotl) entity).setVariant(Axolotl.Variant.BLUE);
+ } else if (entityType == EntityType.RABBIT) {
+ ((Rabbit) entity).setVariant(Rabbit.Variant.EVIL);
+ } else if (entityType == EntityType.PUFFERFISH) {
+ attemptToConvertEntity(level, entity, EntityType.GUARDIAN);
+ } else if (entityType == EntityType.HORSE) {
+ if (level.random.nextBoolean()) {
+ attemptToConvertEntity(level, entity, EntityType.ZOMBIE_HORSE);
+ } else {
+ attemptToConvertEntity(level, entity, EntityType.SKELETON_HORSE);
+ }
+ }
+ }
+
+ if (entityType == EntityType.PLAYER) {
+ var living = (LivingEntity) entity;
+ living.addEffect(new MobEffectInstance(MobEffects.BLINDNESS, 210));
+ living.addEffect(new MobEffectInstance(MobEffects.WEAKNESS, 210, 2));
+ living.addEffect(new MobEffectInstance(MobEffects.WITHER, 210));
+ living.addEffect(new MobEffectInstance(MobEffects.MOVEMENT_SLOWDOWN, 210));
+ }
+ }
+ }
+
+ @SuppressWarnings("deprecation")
+ @Nullable
+ private static T attemptToConvertEntity(Level level, Entity entity, EntityType newType) {
+ if (level.getDifficulty() != Difficulty.PEACEFUL && entity instanceof LivingEntity) {
+ var newEntity = newType.create(level);
+
+ if (newEntity != null) {
+ var serverLevel = (ServerLevelAccessor) level;
+ newEntity.copyPosition(entity);
+ newEntity.finalizeSpawn(serverLevel, level.getCurrentDifficultyAt(entity.blockPosition()), MobSpawnType.CONVERSION, null, null);
+ newEntity.setNoAi(newEntity.isNoAi());
+
+ if (entity.hasCustomName()) {
+ newEntity.setCustomName(entity.getCustomName());
+ newEntity.setCustomNameVisible(entity.isCustomNameVisible());
+ }
+
+ newEntity.setPersistenceRequired();
+ net.minecraftforge.event.ForgeEventFactory.onLivingConvert((LivingEntity) entity, newEntity);
+ serverLevel.addFreshEntityWithPassengers(newEntity);
+ entity.discard();
+ }
+
+ return newEntity;
+ }
+
+ return null;
+ }
+}
diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
index 062ceb7c..f8834fc3 100644
--- a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
+++ b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
@@ -22,6 +22,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.nbt.CompoundTag;
+import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
import net.minecraft.tags.FluidTags;
@@ -31,7 +32,10 @@ import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.BowlFoodItem;
import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.ItemUtils;
import net.minecraft.world.item.Items;
+import net.minecraft.world.item.alchemy.PotionUtils;
+import net.minecraft.world.item.alchemy.Potions;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
@@ -44,6 +48,7 @@ import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.FluidType;
import net.minecraftforge.fluids.FluidUtil;
+import net.minecraftforge.fluids.IFluidTank;
import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.templates.FluidTank;
import net.minecraftforge.items.IItemHandler;
@@ -163,6 +168,10 @@ public class BarrelBlockEntity extends EBlockEntity {
this.item.setStackInSlot(0, item);
}
+ public IFluidTank getTank() {
+ return this.tank;
+ }
+
public InteractionResult use(Level level, BlockPos pos, Player player, InteractionHand hand) {
// Collect an item
if (!getItem().isEmpty()) {
@@ -184,11 +193,45 @@ public class BarrelBlockEntity extends EBlockEntity {
var playerItem = player.getItemInHand(hand);
if (!level.isClientSide) {
- var handItem = item.insertItem(0, player.getAbilities().instabuild ? playerItem.copy() : playerItem, false);
+ var bottled = false;
- if (!player.getAbilities().instabuild) {
- player.setItemInHand(hand, handItem);
- giveResultItem(level, pos);
+ if (EConfig.SERVER.allowWaterBottleTransfer.get()) {
+ var fluid = new FluidStack(Fluids.WATER, 250);
+
+ if (playerItem.getItem() == Items.POTION && PotionUtils.getPotion(playerItem) == Potions.WATER) {
+ if (tank.fill(fluid, IFluidHandler.FluidAction.SIMULATE) > 0) {
+ if (!player.getAbilities().instabuild) {
+ player.setItemInHand(hand, new ItemStack(Items.GLASS_BOTTLE));
+ }
+ tank.fill(fluid, IFluidHandler.FluidAction.EXECUTE);
+ bottled = true;
+ level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.BOTTLE_FILL, SoundSource.NEUTRAL, 1.0F, 1.0F);
+ }
+ } else if (playerItem.getItem() == Items.GLASS_BOTTLE) {
+ if (tank.drain(fluid, IFluidHandler.FluidAction.SIMULATE).getAmount() == 250) {
+ if (!player.getAbilities().instabuild) {
+ playerItem.shrink(1);
+ }
+ var bottle = PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER);
+ if (!player.addItem(bottle)) {
+ player.drop(bottle, false);
+ }
+ tank.drain(fluid, IFluidHandler.FluidAction.EXECUTE);
+ bottled = true;
+ level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.BOTTLE_EMPTY, SoundSource.NEUTRAL, 1.0F, 1.0F);
+ }
+ }
+ }
+
+ if (!bottled) {
+ var handItem = item.insertItem(0, player.getAbilities().instabuild ? playerItem.copy() : playerItem, false);
+
+ if (!player.getAbilities().instabuild) {
+ player.setItemInHand(hand, handItem);
+ giveResultItem(level, pos);
+ }
+ } else {
+ markUpdated();
}
}
diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/SieveBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/SieveBlockEntity.java
index 692e916b..7fb554b5 100644
--- a/src/main/java/thedarkcolour/exdeorum/blockentity/SieveBlockEntity.java
+++ b/src/main/java/thedarkcolour/exdeorum/blockentity/SieveBlockEntity.java
@@ -26,6 +26,7 @@ import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Items;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
@@ -36,6 +37,7 @@ import thedarkcolour.exdeorum.config.EConfig;
import thedarkcolour.exdeorum.recipe.RecipeUtil;
import thedarkcolour.exdeorum.recipe.sieve.SieveRecipe;
import thedarkcolour.exdeorum.registry.EBlockEntities;
+import thedarkcolour.exdeorum.registry.EItems;
import thedarkcolour.exdeorum.tag.EItemTags;
import java.util.Map;
@@ -243,8 +245,10 @@ public class SieveBlockEntity extends EBlockEntity {
private void giveItems(Player player) {
var pos = this.worldPosition;
- var context = new LootContext.Builder(new LootParams((ServerLevel) this.level, Map.of(), Map.of(), player.getLuck())).create(null);
+ var level = this.level;
+ var context = new LootContext.Builder(new LootParams((ServerLevel) level, Map.of(), Map.of(), player.getLuck())).create(null);
var rand = this.level.random;
+ var limitDrops = this.contents.getItem() == Items.MOSS_BLOCK && EConfig.SERVER.limitMossSieveDrops.get();
for (SieveRecipe recipe : RecipeUtil.getSieveRecipes(level.getRecipeManager(), this.mesh.getItem(), this.contents)) {
var amount = recipe.resultAmount.getInt(context);
@@ -256,9 +260,14 @@ public class SieveBlockEntity extends EBlockEntity {
}
if (amount >= 1) {
- var itemEntity = new ItemEntity(this.level, pos.getX() + 0.5, pos.getY() + 1.5, pos.getZ() + 0.5, new ItemStack(recipe.result, amount));
+ var itemEntity = new ItemEntity(level, pos.getX() + 0.5, pos.getY() + 1.5, pos.getZ() + 0.5, new ItemStack(recipe.result, amount));
itemEntity.setDeltaMovement(rand.nextGaussian() * 0.05, 0.2, rand.nextGaussian() * 0.05);
- this.level.addFreshEntity(itemEntity);
+ level.addFreshEntity(itemEntity);
+
+ // limit drops to 1 or two items (could be more than 2 but unlikely)
+ if (limitDrops && rand.nextInt(5) != 0) {
+ break;
+ }
}
}
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
index 540dca81..d80f1298 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
@@ -35,6 +35,7 @@ public class ModIds {
public static final String ENDERIO = "enderio";
public static final String BIOMES_O_PLENTY = "biomesoplenty";
public static final String APPLIED_ENERGISTICS_2 = "ae2";
+ public static final String ARS_NOUVEAU = "ars_nouveau";
public static final String MODEST_FLINT_OVERHAUL = "modestflintoverhaul";
public static final String FACTORIUM = "factorium";
}
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/PreferredOres.java b/src/main/java/thedarkcolour/exdeorum/compat/PreferredOres.java
index ea7c6d12..39b4a25a 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/PreferredOres.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/PreferredOres.java
@@ -130,7 +130,7 @@ public class PreferredOres {
}
public static Item getDefaultTinOre() {
- return defaultItem("tin_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.RAILCRAFT, ModIds.FACTORIUM);
+ return defaultItem("tin_ore", ModIds.ALL_THE_ORES, ModIds.GREG, ModIds.THERMAL, ModIds.MEKANISM, ModIds.RAILCRAFT, ModIds.FACTORIUM);
}
public static Item getDefaultZincOre() {
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
index 78273499..6cdeb2ba 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
@@ -162,6 +162,10 @@ public class ExDeorumJeiPlugin implements IModPlugin {
waterCrucibles.add(EItems.DEAD_CRUCIBLE.get());
waterCrucibles.add(EItems.MAGIC_CRUCIBLE.get());
waterCrucibles.add(EItems.UMBRAN_CRUCIBLE.get());
+ waterCrucibles.add(EItems.CASCADING_ARCHWOOD_CRUCIBLE.get());
+ waterCrucibles.add(EItems.BLAZING_ARCHWOOD_CRUCIBLE.get());
+ waterCrucibles.add(EItems.VEXING_ARCHWOOD_CRUCIBLE.get());
+ waterCrucibles.add(EItems.FLOURISHING_ARCHWOOD_CRUCIBLE.get());
}
for (var barrel : barrels) {
var stack = new ItemStack(barrel);
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/top/ExDeorumInfoProvider.java b/src/main/java/thedarkcolour/exdeorum/compat/top/ExDeorumInfoProvider.java
index b63697bd..63e9996c 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/top/ExDeorumInfoProvider.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/top/ExDeorumInfoProvider.java
@@ -71,8 +71,14 @@ public class ExDeorumInfoProvider implements IProbeInfoProvider {
info.text(CompoundText.create().style(TextStyleClass.ERROR).text("Burning! ").style(TextStyleClass.WARNING).text(progress / 20 + "s"));
}
+ if (playerEntity.isShiftKeyDown()) {
+ info.tank(barrel.getTank());
+ }
} else if (te instanceof AbstractCrucibleBlockEntity crucible) {
info.text(CompoundText.create().style(TextStyleClass.LABEL).text("Rate: ").style(TextStyleClass.WARNING).text(crucible.getMeltingRate() + "x"));
+ if (playerEntity.isShiftKeyDown()) {
+ info.tank(crucible.getTank());
+ }
} else if (te instanceof SieveBlockEntity sieve) {
if (!sieve.getContents().isEmpty()) {
info.text(CompoundText.create().style(TextStyleClass.LABEL).text("Progress: ").style(TextStyleClass.WARNING).text((100 - sieve.getProgress()) + "%"));
diff --git a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java
index 69f2c4b2..6b8a37e0 100644
--- a/src/main/java/thedarkcolour/exdeorum/config/EConfig.java
+++ b/src/main/java/thedarkcolour/exdeorum/config/EConfig.java
@@ -103,6 +103,9 @@ public class EConfig {
public final BooleanValue setVoidWorldAsDefault;
public final ConfigValue defaultSpawnTreeFeature;
public final BooleanValue useBiomeAppropriateTree;
+ public final BooleanValue limitMossSieveDrops;
+ public final BooleanValue allowWaterBottleTransfer;
+ public final BooleanValue allowWitchWaterEntityConversion;
public Server(ForgeConfigSpec.Builder builder) {
builder.comment("Server configuration for Ex Deorum").push("server");
@@ -134,6 +137,15 @@ public class EConfig {
this.useBiomeAppropriateTree = builder
.comment("Whether the Spawn Tree in the void world changes based on the biome it's in. If false, Oak Tree is always used.")
.define("use_biome_appropriate_tree", false);
+ this.limitMossSieveDrops = builder
+ .comment("Whether to restrict Moss Block sieve drops to 1-2 items when sieving. May be useful when lots of mods add saplings and the sieve drops become spammy.")
+ .define("limit_moss_sieve_drops", true);
+ this.allowWaterBottleTransfer = builder
+ .comment("Whether glass bottles can be used to transfer water between water crucibles and barrels.")
+ .define("allow_water_bottle_transfer", true);
+ this.allowWitchWaterEntityConversion = builder
+ .comment("Whether the entity conversion mechanic of Witch Water is enabled. If enabled, when an entity steps into Witch Water, the following conversions may happen: Villager -> Zombie Villager, Cleric Villager -> Witch, Skeleton -> Wither Skeleton, Creeper -> Charged Creeper, Spider -> Cave Spider, Pig & Piglin -> Zombified Piglin, Squid -> Ghast, Mooshroom -> Brown Mooshroom, Axolotl -> Blue Axolotl, Rabbit -> Killer Rabbit, Pufferfish -> Guardian, Horse -> Skeleton/Zombie Horse")
+ .define("allow_witch_water_entity_conversion", true);
builder.pop();
}
diff --git a/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java b/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
index 3dc6bd25..4dc9d988 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
@@ -20,7 +20,6 @@ package thedarkcolour.exdeorum.data;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
-import net.minecraftforge.client.model.data.ModelData;
import net.minecraftforge.client.model.generators.BlockModelBuilder;
import net.minecraftforge.client.model.generators.ConfiguredModel;
import thedarkcolour.exdeorum.registry.EBlocks;
@@ -79,6 +78,18 @@ class BlockModels {
// Mod compat
bopModels(models);
+ arsNouveauModels(models);
+ }
+
+ private static void arsNouveauModels(MKBlockModelProvider models) {
+ barrel(models, EBlocks.ARCHWOOD_BARREL.get(), ModCompatData.ARCHWOOD_PLANKS.get());
+
+ sieve(models, EBlocks.ARCHWOOD_SIEVE.get(), ModCompatData.ARCHWOOD_PLANKS.get());
+
+ crucible(models, EBlocks.CASCADING_ARCHWOOD_CRUCIBLE.get(), ModCompatData.CASCADING_ARCHWOOD_LOG.get());
+ crucible(models, EBlocks.BLAZING_ARCHWOOD_CRUCIBLE.get(), ModCompatData.BLAZING_ARCHWOOD_LOG.get());
+ crucible(models, EBlocks.VEXING_ARCHWOOD_CRUCIBLE.get(), ModCompatData.VEXING_ARCHWOOD_LOG.get());
+ crucible(models, EBlocks.FLOURISHING_ARCHWOOD_CRUCIBLE.get(), ModCompatData.FLOURISHING_ARCHWOOD_LOG.get());
}
private static void bopModels(MKBlockModelProvider models) {
@@ -114,6 +125,8 @@ class BlockModels {
crucible(models, EBlocks.MAGIC_CRUCIBLE.get(), ModCompatData.MAGIC_LOG.get());
crucible(models, EBlocks.UMBRAN_CRUCIBLE.get(), ModCompatData.UMBRAN_LOG.get());
crucible(models, EBlocks.HELLBARK_CRUCIBLE.get(), ModCompatData.HELLBARK_LOG.get());
+
+
}
public static void crucible(MKBlockModelProvider models, Block block) {
diff --git a/src/main/java/thedarkcolour/exdeorum/data/English.java b/src/main/java/thedarkcolour/exdeorum/data/English.java
index c970e138..04e448f4 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/English.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/English.java
@@ -19,6 +19,7 @@
package thedarkcolour.exdeorum.data;
import thedarkcolour.exdeorum.ExDeorum;
+import thedarkcolour.exdeorum.registry.EBlocks;
import thedarkcolour.modkit.data.MKEnglishProvider;
class English {
@@ -60,5 +61,10 @@ class English {
english.add(TranslationKeys.SIEVE_RECIPE_AVERAGE_OUTPUT, "Avg. Output: %s");
english.add(TranslationKeys.SIEVE_RECIPE_MIN_OUTPUT, "Min: %s");
english.add(TranslationKeys.SIEVE_RECIPE_MAX_OUTPUT, "Max: %s");
+
+ english.addBlock(EBlocks.VEXING_ARCHWOOD_CRUCIBLE, "Vexing Archwood Crucible");
+ english.addBlock(EBlocks.CASCADING_ARCHWOOD_CRUCIBLE, "Cascading Archwood Crucible");
+ english.addBlock(EBlocks.BLAZING_ARCHWOOD_CRUCIBLE, "Blazing Archwood Crucible");
+ english.addBlock(EBlocks.FLOURISHING_ARCHWOOD_CRUCIBLE, "Flourishing Archwood Crucible");
}
}
diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
index 45c67177..b135c6a2 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
@@ -30,7 +30,7 @@ import thedarkcolour.exdeorum.compat.ModIds;
import java.util.function.Consumer;
import java.util.function.Function;
-// registers dummy items so that data generation can reference modded items without needing those mods installed.
+// Mocks modded items so that data generation can reference modded items without needing those mods installed.
public class ModCompatData {
// Ender IO
public static RegistryObject- GRAINS_OF_INFINITY;
@@ -109,6 +109,23 @@ public class ModCompatData {
public static RegistryObject
- CHARGED_CERTUS_QUARTZ_CRYSTAL;
public static RegistryObject
- CERTUS_QUARTZ_DUST;
public static RegistryObject
- SKY_STONE_DUST;
+ // Ars Nouveau
+ public static RegistryObject
- BLUE_ARCHWOOD_SAPLING;
+ public static RegistryObject
- RED_ARCHWOOD_SAPLING;
+ public static RegistryObject
- PURPLE_ARCHWOOD_SAPLING;
+ public static RegistryObject
- GREEN_ARCHWOOD_SAPLING;
+ public static RegistryObject
- SOURCEBERRY;
+ public static RegistryObject CASCADING_ARCHWOOD_LOG;
+ public static RegistryObject BLAZING_ARCHWOOD_LOG;
+ public static RegistryObject VEXING_ARCHWOOD_LOG;
+ public static RegistryObject FLOURISHING_ARCHWOOD_LOG;
+ public static RegistryObject ARCHWOOD_PLANKS;
+ public static RegistryObject
- CASCADING_ARCHWOOD_LOG_ITEM;
+ public static RegistryObject
- BLAZING_ARCHWOOD_LOG_ITEM;
+ public static RegistryObject
- VEXING_ARCHWOOD_LOG_ITEM;
+ public static RegistryObject
- FLOURISHING_ARCHWOOD_LOG_ITEM;
+ public static RegistryObject
- ARCHWOOD_SLAB;
+ public static RegistryObject
- ARCHWOOD_PLANKS_ITEM;
public static void registerModData() {
registerModItems(ModIds.ENDERIO, addItem -> GRAINS_OF_INFINITY = addItem.apply("grains_of_infinity"));
@@ -190,6 +207,26 @@ public class ModCompatData {
CERTUS_QUARTZ_DUST = addItem.apply("certus_quartz_dust");
SKY_STONE_DUST = addItem.apply("sky_dust");
});
+ registerModBlocks(ModIds.ARS_NOUVEAU, addBlock -> {
+ CASCADING_ARCHWOOD_LOG = addBlock.apply("blue_archwood_log");
+ BLAZING_ARCHWOOD_LOG = addBlock.apply("red_archwood_log");
+ VEXING_ARCHWOOD_LOG = addBlock.apply("purple_archwood_log");
+ FLOURISHING_ARCHWOOD_LOG = addBlock.apply("green_archwood_log");
+ ARCHWOOD_PLANKS = addBlock.apply("archwood_planks");
+ });
+ registerModItems(ModIds.ARS_NOUVEAU, addItem -> {
+ BLUE_ARCHWOOD_SAPLING = addItem.apply("blue_archwood_sapling");
+ RED_ARCHWOOD_SAPLING = addItem.apply("red_archwood_sapling");
+ PURPLE_ARCHWOOD_SAPLING = addItem.apply("purple_archwood_sapling");
+ GREEN_ARCHWOOD_SAPLING = addItem.apply("green_archwood_sapling");
+ SOURCEBERRY = addItem.apply("sourceberry_bush");
+ CASCADING_ARCHWOOD_LOG_ITEM = addItem.apply("blue_archwood_log");
+ BLAZING_ARCHWOOD_LOG_ITEM = addItem.apply("red_archwood_log");
+ VEXING_ARCHWOOD_LOG_ITEM = addItem.apply("purple_archwood_log");
+ FLOURISHING_ARCHWOOD_LOG_ITEM = addItem.apply("green_archwood_log");
+ ARCHWOOD_SLAB = addItem.apply("archwood_slab");
+ ARCHWOOD_PLANKS_ITEM = addItem.apply("archwood_planks");
+ });
}
private static void registerModItems(String modid, Consumer>> addItems) {
diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
index 3b336912..7b4943ca 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
@@ -31,7 +31,6 @@ import net.minecraft.world.level.levelgen.presets.WorldPreset;
import net.minecraft.world.level.levelgen.structure.BuiltinStructureSets;
import net.minecraft.world.level.levelgen.structure.StructureSet;
import net.minecraft.world.level.material.Fluid;
-import net.minecraftforge.common.Tags;
import thedarkcolour.exdeorum.ExDeorum;
import thedarkcolour.exdeorum.block.EBlock;
import thedarkcolour.exdeorum.registry.EBlocks;
@@ -46,7 +45,29 @@ class ModTags {
public static void createBlockTags(MKTagsProvider tags) {
tags.tag(EBlockTags.WATERING_CAN_TICKABLE).add(Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.CRIMSON_FUNGUS, Blocks.WARPED_FUNGUS, Blocks.RED_MUSHROOM, Blocks.BROWN_MUSHROOM, Blocks.CACTUS, Blocks.SUGAR_CANE, Blocks.SWEET_BERRY_BUSH, Blocks.COCOA).addTags(BlockTags.SAPLINGS, BlockTags.NYLIUM, BlockTags.BEE_GROWABLES);
- tags.tag(BlockTags.MINEABLE_WITH_AXE).add(EBlocks.OAK_BARREL.get(), EBlocks.SPRUCE_BARREL.get(), EBlocks.BIRCH_BARREL.get(), EBlocks.JUNGLE_BARREL.get(), EBlocks.ACACIA_BARREL.get(), EBlocks.DARK_OAK_BARREL.get(), EBlocks.MANGROVE_BARREL.get(), EBlocks.CHERRY_BARREL.get(), EBlocks.BAMBOO_BARREL.get(), EBlocks.CRIMSON_BARREL.get(), EBlocks.WARPED_BARREL.get(), EBlocks.OAK_SIEVE.get(), EBlocks.SPRUCE_SIEVE.get(), EBlocks.BIRCH_SIEVE.get(), EBlocks.JUNGLE_SIEVE.get(), EBlocks.ACACIA_SIEVE.get(), EBlocks.DARK_OAK_SIEVE.get(), EBlocks.MANGROVE_SIEVE.get(), EBlocks.CHERRY_SIEVE.get(), EBlocks.BAMBOO_SIEVE.get(), EBlocks.CRIMSON_SIEVE.get(), EBlocks.WARPED_SIEVE.get(), EBlocks.WARPED_CRUCIBLE.get(), EBlocks.CRIMSON_CRUCIBLE.get(), EBlocks.OAK_CRUCIBLE.get(), EBlocks.SPRUCE_CRUCIBLE.get(), EBlocks.BIRCH_CRUCIBLE.get(), EBlocks.JUNGLE_CRUCIBLE.get(), EBlocks.ACACIA_CRUCIBLE.get(), EBlocks.DARK_OAK_CRUCIBLE.get(), EBlocks.MANGROVE_CRUCIBLE.get(), EBlocks.CHERRY_CRUCIBLE.get(), EBlocks.BAMBOO_CRUCIBLE.get());
+ tags.tag(BlockTags.MINEABLE_WITH_AXE).add(
+ // Vanilla barrels
+ EBlocks.OAK_BARREL.get(), EBlocks.SPRUCE_BARREL.get(), EBlocks.BIRCH_BARREL.get(), EBlocks.JUNGLE_BARREL.get(), EBlocks.ACACIA_BARREL.get(), EBlocks.DARK_OAK_BARREL.get(), EBlocks.MANGROVE_BARREL.get(), EBlocks.CHERRY_BARREL.get(), EBlocks.BAMBOO_BARREL.get(), EBlocks.CRIMSON_BARREL.get(), EBlocks.WARPED_BARREL.get(),
+ // BOP barrels
+ EBlocks.FIR_BARREL.get(), EBlocks.REDWOOD_BARREL.get(), EBlocks.MAHOGANY_BARREL.get(), EBlocks.JACARANDA_BARREL.get(), EBlocks.PALM_BARREL.get(), EBlocks.WILLOW_BARREL.get(), EBlocks.DEAD_BARREL.get(), EBlocks.MAGIC_BARREL.get(), EBlocks.UMBRAN_BARREL.get(), EBlocks.HELLBARK_BARREL.get(),
+ // Ars Nouveau barrels
+ EBlocks.ARCHWOOD_BARREL.get(),
+ // Vanilla sieves
+ EBlocks.OAK_SIEVE.get(), EBlocks.SPRUCE_SIEVE.get(), EBlocks.BIRCH_SIEVE.get(), EBlocks.JUNGLE_SIEVE.get(), EBlocks.ACACIA_SIEVE.get(), EBlocks.DARK_OAK_SIEVE.get(), EBlocks.MANGROVE_SIEVE.get(), EBlocks.CHERRY_SIEVE.get(), EBlocks.BAMBOO_SIEVE.get(), EBlocks.CRIMSON_SIEVE.get(), EBlocks.WARPED_SIEVE.get(),
+ // BOP sieves
+ EBlocks.FIR_SIEVE.get(), EBlocks.REDWOOD_SIEVE.get(), EBlocks.MAHOGANY_SIEVE.get(), EBlocks.JACARANDA_SIEVE.get(), EBlocks.PALM_SIEVE.get(), EBlocks.WILLOW_SIEVE.get(), EBlocks.DEAD_SIEVE.get(), EBlocks.MAGIC_SIEVE.get(), EBlocks.UMBRAN_SIEVE.get(), EBlocks.HELLBARK_SIEVE.get(),
+ // Ars Nouveau sieves
+ EBlocks.ARCHWOOD_SIEVE.get(),
+ // Vanilla crucibles
+ EBlocks.WARPED_CRUCIBLE.get(), EBlocks.CRIMSON_CRUCIBLE.get(), EBlocks.OAK_CRUCIBLE.get(), EBlocks.SPRUCE_CRUCIBLE.get(), EBlocks.BIRCH_CRUCIBLE.get(), EBlocks.JUNGLE_CRUCIBLE.get(), EBlocks.ACACIA_CRUCIBLE.get(), EBlocks.DARK_OAK_CRUCIBLE.get(), EBlocks.MANGROVE_CRUCIBLE.get(), EBlocks.CHERRY_CRUCIBLE.get(), EBlocks.BAMBOO_CRUCIBLE.get(),
+ // BOP crucibles
+ EBlocks.FIR_CRUCIBLE.get(), EBlocks.REDWOOD_CRUCIBLE.get(), EBlocks.MAHOGANY_CRUCIBLE.get(), EBlocks.JACARANDA_CRUCIBLE.get(), EBlocks.PALM_CRUCIBLE.get(), EBlocks.WILLOW_CRUCIBLE.get(), EBlocks.DEAD_CRUCIBLE.get(), EBlocks.MAGIC_CRUCIBLE.get(), EBlocks.UMBRAN_CRUCIBLE.get(), EBlocks.HELLBARK_CRUCIBLE.get(),
+ // Ars Nouveau crucibles
+ EBlocks.CASCADING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.BLAZING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.VEXING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.FLOURISHING_ARCHWOOD_CRUCIBLE.get()
+ );
tags.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(EBlocks.STONE_BARREL, EBlocks.PORCELAIN_CRUCIBLE, EBlocks.UNFIRED_PORCELAIN_CRUCIBLE);
tags.tag(BlockTags.MINEABLE_WITH_SHOVEL).add(EBlocks.DUST, EBlocks.CRUSHED_NETHERRACK, EBlocks.CRUSHED_END_STONE, EBlocks.CRUSHED_DEEPSLATE, EBlocks.CRUSHED_BLACKSTONE);
tags.tag(BlockTags.MINEABLE_WITH_HOE).add(EBlocks.INFESTED_LEAVES);
diff --git a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
index d96b0084..306c8049 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
@@ -102,17 +102,22 @@ public class Recipes {
uShaped(recipes, EItems.CRIMSON_CRUCIBLE, ingredient(Items.CRIMSON_STEM), ingredient(Items.CRIMSON_SLAB));
uShaped(recipes, EItems.WARPED_CRUCIBLE, ingredient(Items.WARPED_STEM), ingredient(Items.WARPED_SLAB));
uShaped(recipes, EItems.UNFIRED_PORCELAIN_CRUCIBLE, ingredient(EItems.PORCELAIN_CLAY_BALL.get()), ingredient(EItems.PORCELAIN_CLAY_BALL.get()));
- // Modded crucibles
- bopUShaped(recipes, EItems.FIR_CRUCIBLE, ModCompatData.FIR_LOG_ITEM, ModCompatData.FIR_SLAB);
- bopUShaped(recipes, EItems.REDWOOD_CRUCIBLE, ModCompatData.REDWOOD_LOG_ITEM, ModCompatData.REDWOOD_SLAB);
- bopUShaped(recipes, EItems.MAHOGANY_CRUCIBLE, ModCompatData.MAHOGANY_LOG_ITEM, ModCompatData.MAHOGANY_SLAB);
- bopUShaped(recipes, EItems.JACARANDA_CRUCIBLE, ModCompatData.JACARANDA_LOG_ITEM, ModCompatData.JACARANDA_SLAB);
- bopUShaped(recipes, EItems.PALM_CRUCIBLE, ModCompatData.PALM_LOG_ITEM, ModCompatData.PALM_SLAB);
- bopUShaped(recipes, EItems.WILLOW_CRUCIBLE, ModCompatData.WILLOW_LOG_ITEM, ModCompatData.WILLOW_SLAB);
- bopUShaped(recipes, EItems.DEAD_CRUCIBLE, ModCompatData.DEAD_LOG_ITEM, ModCompatData.DEAD_SLAB);
- bopUShaped(recipes, EItems.MAGIC_CRUCIBLE, ModCompatData.MAGIC_LOG_ITEM, ModCompatData.MAGIC_SLAB);
- bopUShaped(recipes, EItems.UMBRAN_CRUCIBLE, ModCompatData.UMBRAN_LOG_ITEM, ModCompatData.UMBRAN_SLAB);
- bopUShaped(recipes, EItems.HELLBARK_CRUCIBLE, ModCompatData.HELLBARK_LOG_ITEM, ModCompatData.HELLBARK_SLAB);
+ // BOP crucibles
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.FIR_LOG_ITEM, ModCompatData.FIR_SLAB, EItems.FIR_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.REDWOOD_LOG_ITEM, ModCompatData.REDWOOD_SLAB, EItems.REDWOOD_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAHOGANY_LOG_ITEM, ModCompatData.MAHOGANY_SLAB, EItems.MAHOGANY_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.JACARANDA_LOG_ITEM, ModCompatData.JACARANDA_SLAB, EItems.JACARANDA_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.PALM_LOG_ITEM, ModCompatData.PALM_SLAB, EItems.PALM_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.WILLOW_LOG_ITEM, ModCompatData.WILLOW_SLAB, EItems.WILLOW_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.DEAD_LOG_ITEM, ModCompatData.DEAD_SLAB, EItems.DEAD_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAGIC_LOG_ITEM, ModCompatData.MAGIC_SLAB, EItems.MAGIC_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.UMBRAN_LOG_ITEM, ModCompatData.UMBRAN_SLAB, EItems.UMBRAN_CRUCIBLE);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.HELLBARK_LOG_ITEM, ModCompatData.HELLBARK_SLAB, EItems.HELLBARK_CRUCIBLE);
+ // Ars crucibles
+ modUShaped(recipes, ModIds.ARS_NOUVEAU, ModCompatData.CASCADING_ARCHWOOD_LOG_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.CASCADING_ARCHWOOD_CRUCIBLE);
+ modUShaped(recipes, ModIds.ARS_NOUVEAU, ModCompatData.BLAZING_ARCHWOOD_LOG_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.BLAZING_ARCHWOOD_CRUCIBLE);
+ modUShaped(recipes, ModIds.ARS_NOUVEAU, ModCompatData.VEXING_ARCHWOOD_LOG_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.VEXING_ARCHWOOD_CRUCIBLE);
+ modUShaped(recipes, ModIds.ARS_NOUVEAU, ModCompatData.FLOURISHING_ARCHWOOD_LOG_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.FLOURISHING_ARCHWOOD_CRUCIBLE);
// Barrels
uShaped(recipes, EItems.OAK_BARREL, ingredient(Items.OAK_PLANKS), ingredient(Items.OAK_SLAB));
@@ -128,16 +133,17 @@ public class Recipes {
uShaped(recipes, EItems.WARPED_BARREL, ingredient(Items.WARPED_PLANKS), ingredient(Items.WARPED_SLAB));
uShaped(recipes, EItems.STONE_BARREL, ingredient(Items.STONE), ingredient(Items.STONE_SLAB));
// Modded barrels
- bopUShaped(recipes, EItems.FIR_BARREL, ModCompatData.FIR_PLANKS_ITEM, ModCompatData.FIR_SLAB);
- bopUShaped(recipes, EItems.REDWOOD_BARREL, ModCompatData.REDWOOD_PLANKS_ITEM, ModCompatData.REDWOOD_SLAB);
- bopUShaped(recipes, EItems.MAHOGANY_BARREL, ModCompatData.MAHOGANY_PLANKS_ITEM, ModCompatData.MAHOGANY_SLAB);
- bopUShaped(recipes, EItems.JACARANDA_BARREL, ModCompatData.JACARANDA_PLANKS_ITEM, ModCompatData.JACARANDA_SLAB);
- bopUShaped(recipes, EItems.PALM_BARREL, ModCompatData.PALM_PLANKS_ITEM, ModCompatData.PALM_SLAB);
- bopUShaped(recipes, EItems.WILLOW_BARREL, ModCompatData.WILLOW_PLANKS_ITEM, ModCompatData.WILLOW_SLAB);
- bopUShaped(recipes, EItems.DEAD_BARREL, ModCompatData.DEAD_PLANKS_ITEM, ModCompatData.DEAD_SLAB);
- bopUShaped(recipes, EItems.MAGIC_BARREL, ModCompatData.MAGIC_PLANKS_ITEM, ModCompatData.MAGIC_SLAB);
- bopUShaped(recipes, EItems.UMBRAN_BARREL, ModCompatData.UMBRAN_PLANKS_ITEM, ModCompatData.UMBRAN_SLAB);
- bopUShaped(recipes, EItems.HELLBARK_BARREL, ModCompatData.HELLBARK_PLANKS_ITEM, ModCompatData.HELLBARK_SLAB);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.FIR_PLANKS_ITEM, ModCompatData.FIR_SLAB, EItems.FIR_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.REDWOOD_PLANKS_ITEM, ModCompatData.REDWOOD_SLAB, EItems.REDWOOD_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAHOGANY_PLANKS_ITEM, ModCompatData.MAHOGANY_SLAB, EItems.MAHOGANY_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.JACARANDA_PLANKS_ITEM, ModCompatData.JACARANDA_SLAB, EItems.JACARANDA_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.PALM_PLANKS_ITEM, ModCompatData.PALM_SLAB, EItems.PALM_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.WILLOW_PLANKS_ITEM, ModCompatData.WILLOW_SLAB, EItems.WILLOW_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.DEAD_PLANKS_ITEM, ModCompatData.DEAD_SLAB, EItems.DEAD_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAGIC_PLANKS_ITEM, ModCompatData.MAGIC_SLAB, EItems.MAGIC_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.UMBRAN_PLANKS_ITEM, ModCompatData.UMBRAN_SLAB, EItems.UMBRAN_BARREL);
+ modUShaped(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.HELLBARK_PLANKS_ITEM, ModCompatData.HELLBARK_SLAB, EItems.HELLBARK_BARREL);
+ modUShaped(recipes, ModIds.ARS_NOUVEAU, ModCompatData.ARCHWOOD_PLANKS_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.ARCHWOOD_BARREL);
// Pebbles and ore chunks
recipes.grid2x2(Items.COBBLESTONE, ingredient(EItems.STONE_PEBBLE));
@@ -180,16 +186,17 @@ public class Recipes {
sieve(recipes, EItems.CRIMSON_SIEVE, Items.CRIMSON_PLANKS, Items.CRIMSON_SLAB);
sieve(recipes, EItems.WARPED_SIEVE, Items.WARPED_PLANKS, Items.WARPED_SLAB);
// Modded sieves
- bopSieve(recipes, EItems.FIR_SIEVE, ModCompatData.FIR_PLANKS_ITEM, ModCompatData.FIR_SLAB);
- bopSieve(recipes, EItems.REDWOOD_SIEVE, ModCompatData.REDWOOD_PLANKS_ITEM, ModCompatData.REDWOOD_SLAB);
- bopSieve(recipes, EItems.MAHOGANY_SIEVE, ModCompatData.MAHOGANY_PLANKS_ITEM, ModCompatData.MAHOGANY_SLAB);
- bopSieve(recipes, EItems.JACARANDA_SIEVE, ModCompatData.JACARANDA_PLANKS_ITEM, ModCompatData.JACARANDA_SLAB);
- bopSieve(recipes, EItems.PALM_SIEVE, ModCompatData.PALM_PLANKS_ITEM, ModCompatData.PALM_SLAB);
- bopSieve(recipes, EItems.WILLOW_SIEVE, ModCompatData.WILLOW_PLANKS_ITEM, ModCompatData.WILLOW_SLAB);
- bopSieve(recipes, EItems.DEAD_SIEVE, ModCompatData.DEAD_PLANKS_ITEM, ModCompatData.DEAD_SLAB);
- bopSieve(recipes, EItems.MAGIC_SIEVE, ModCompatData.MAGIC_PLANKS_ITEM, ModCompatData.MAGIC_SLAB);
- bopSieve(recipes, EItems.UMBRAN_SIEVE, ModCompatData.UMBRAN_PLANKS_ITEM, ModCompatData.UMBRAN_SLAB);
- bopSieve(recipes, EItems.HELLBARK_SIEVE, ModCompatData.HELLBARK_PLANKS_ITEM, ModCompatData.HELLBARK_SLAB);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.FIR_PLANKS_ITEM, ModCompatData.FIR_SLAB, EItems.FIR_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.REDWOOD_PLANKS_ITEM, ModCompatData.REDWOOD_SLAB, EItems.REDWOOD_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAHOGANY_PLANKS_ITEM, ModCompatData.MAHOGANY_SLAB, EItems.MAHOGANY_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.JACARANDA_PLANKS_ITEM, ModCompatData.JACARANDA_SLAB, EItems.JACARANDA_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.PALM_PLANKS_ITEM, ModCompatData.PALM_SLAB, EItems.PALM_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.WILLOW_PLANKS_ITEM, ModCompatData.WILLOW_SLAB, EItems.WILLOW_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.DEAD_PLANKS_ITEM, ModCompatData.DEAD_SLAB, EItems.DEAD_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.MAGIC_PLANKS_ITEM, ModCompatData.MAGIC_SLAB, EItems.MAGIC_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.UMBRAN_PLANKS_ITEM, ModCompatData.UMBRAN_SLAB, EItems.UMBRAN_SIEVE);
+ modSieve(recipes, ModIds.BIOMES_O_PLENTY, ModCompatData.HELLBARK_PLANKS_ITEM, ModCompatData.HELLBARK_SLAB, EItems.HELLBARK_SIEVE);
+ modSieve(recipes, ModIds.ARS_NOUVEAU, ModCompatData.ARCHWOOD_PLANKS_ITEM, ModCompatData.ARCHWOOD_SLAB, EItems.ARCHWOOD_SIEVE);
// Meshes
recipes.grid3x3(EItems.STRING_MESH.get(), ingredient(Tags.Items.STRING));
@@ -232,14 +239,14 @@ public class Recipes {
});
}
- private static void bopUShaped(MKRecipeProvider recipes, RegistryObject extends Item> result, RegistryObject extends Item> sides, RegistryObject extends Item> middle) {
- recipes.conditional(result.getId().getPath(), List.of(modInstalled(ModIds.BIOMES_O_PLENTY)), writer1 -> {
+ private static void modUShaped(MKRecipeProvider recipes, String modid, RegistryObject extends Item> sides, RegistryObject extends Item> middle, RegistryObject extends Item> result) {
+ recipes.conditional(result.getId().getPath(), List.of(modInstalled(modid)), writer1 -> {
uShaped(recipes, result, ingredient(sides), ingredient(middle));
});
}
- private static void bopSieve(MKRecipeProvider recipes, RegistryObject extends Item> result, RegistryObject extends Item> planks, RegistryObject extends Item> slab) {
- recipes.conditional(result.getId().getPath(), List.of(modInstalled(ModIds.BIOMES_O_PLENTY)), writer1 -> {
+ private static void modSieve(MKRecipeProvider recipes, String modid, RegistryObject extends Item> planks, RegistryObject extends Item> slab, RegistryObject extends Item> result) {
+ recipes.conditional(result.getId().getPath(), List.of(modInstalled(modid)), writer1 -> {
sieve(recipes, result, planks.get(), slab.get());
});
}
@@ -501,7 +508,7 @@ public class Recipes {
}
private static void barrelMixing(Consumer writer, Ingredient ingredient, Fluid fluidType, Item result) {
- writer.accept(new FinishedBarrelMixingRecipe(new ResourceLocation(ExDeorum.ID, "barrel_mixing/" + path(result)), ingredient, fluidType, 1000, result));
+ barrelMixing(writer, "", ingredient, fluidType, result);
}
private static void barrelMixing(Consumer writer, String suffix, Ingredient ingredient, Fluid fluidType, Item result) {
diff --git a/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java b/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
index d896deda..02e72a74 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
@@ -88,6 +88,7 @@ class SieveRecipes {
addDrop.accept(Items.BAMBOO, chance(0.04f));
addDrop.accept(Items.PINK_PETALS, chance(0.03f));
addDrop.accept(Items.SWEET_BERRIES, chance(0.05f));
+ addConditionalDrop.accept(ModCompatData.SOURCEBERRY.get(), chance(0.03f), Recipes.modInstalled(ModIds.ARS_NOUVEAU));
});
// Dirt -> Iron mesh
forMesh(writer, ingredient(Items.DIRT), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
@@ -852,6 +853,14 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.MAGIC_SAPLING.get(), chance(0.04f), bop);
addConditionalDrop.accept(ModCompatData.UMBRAN_SAPLING.get(), chance(0.04f), bop);
addConditionalDrop.accept(ModCompatData.HELLBARK_SAPLING.get(), chance(0.04f), bop);
+
+ var ars = Recipes.modInstalled(ModIds.ARS_NOUVEAU);
+ addConditionalDrop.accept(ModCompatData.BLUE_ARCHWOOD_SAPLING.get(), chance(0.005f), ars);
+ addConditionalDrop.accept(ModCompatData.RED_ARCHWOOD_SAPLING.get(), chance(0.005f), ars);
+ addConditionalDrop.accept(ModCompatData.PURPLE_ARCHWOOD_SAPLING.get(), chance(0.005f), ars);
+ addConditionalDrop.accept(ModCompatData.GREEN_ARCHWOOD_SAPLING.get(), chance(0.005f), ars);
+
+ addConditionalDrop.accept(ModCompatData.SOURCEBERRY.get(), chance(0.01f), ars);
});
}
forMesh(writer, ingredient(Items.MOSS_BLOCK), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EBlockEntities.java b/src/main/java/thedarkcolour/exdeorum/registry/EBlockEntities.java
index cee63c60..80dc7464 100644
--- a/src/main/java/thedarkcolour/exdeorum/registry/EBlockEntities.java
+++ b/src/main/java/thedarkcolour/exdeorum/registry/EBlockEntities.java
@@ -59,7 +59,12 @@ public class EBlockEntities {
EBlocks.WILLOW_CRUCIBLE.get(),
EBlocks.DEAD_CRUCIBLE.get(),
EBlocks.MAGIC_CRUCIBLE.get(),
- EBlocks.UMBRAN_CRUCIBLE.get()
+ EBlocks.UMBRAN_CRUCIBLE.get(),
+ // Ars Nouveau
+ EBlocks.CASCADING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.BLAZING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.VEXING_ARCHWOOD_CRUCIBLE.get(),
+ EBlocks.FLOURISHING_ARCHWOOD_CRUCIBLE.get()
).build(null));
public static final RegistryObject> BARREL = BLOCK_ENTITIES.register("barrel", () -> BlockEntityType.Builder.of(BarrelBlockEntity::new,
EBlocks.OAK_BARREL.get(),
@@ -84,7 +89,9 @@ public class EBlockEntities {
EBlocks.DEAD_BARREL.get(),
EBlocks.MAGIC_BARREL.get(),
EBlocks.UMBRAN_BARREL.get(),
- EBlocks.HELLBARK_BARREL.get()
+ EBlocks.HELLBARK_BARREL.get(),
+ // Ars Nouveau
+ EBlocks.ARCHWOOD_BARREL.get()
).build(null));
public static final RegistryObject> SIEVE = BLOCK_ENTITIES.register("sieve", () -> BlockEntityType.Builder.of(SieveBlockEntity::new,
EBlocks.OAK_SIEVE.get(),
@@ -108,6 +115,8 @@ public class EBlockEntities {
EBlocks.DEAD_SIEVE.get(),
EBlocks.MAGIC_SIEVE.get(),
EBlocks.UMBRAN_SIEVE.get(),
- EBlocks.HELLBARK_SIEVE.get()
+ EBlocks.HELLBARK_SIEVE.get(),
+ // Ars Nouveau
+ EBlocks.ARCHWOOD_SIEVE.get()
).build(null));
}
diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
index b8748807..9cd88312 100644
--- a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
+++ b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
@@ -30,13 +30,7 @@ import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import thedarkcolour.exdeorum.ExDeorum;
-import thedarkcolour.exdeorum.block.BarrelBlock;
-import thedarkcolour.exdeorum.block.EndCakeBlock;
-import thedarkcolour.exdeorum.block.InfestedLeavesBlock;
-import thedarkcolour.exdeorum.block.LavaCrucibleBlock;
-import thedarkcolour.exdeorum.block.SieveBlock;
-import thedarkcolour.exdeorum.block.UnfiredCrucibleBlock;
-import thedarkcolour.exdeorum.block.WaterCrucibleBlock;
+import thedarkcolour.exdeorum.block.*;
import static net.minecraft.world.level.block.state.BlockBehaviour.Properties.copy;
import static net.minecraft.world.level.block.state.BlockBehaviour.Properties.of;
@@ -75,6 +69,8 @@ public class EBlocks {
public static final RegistryObject MAGIC_BARREL = registerBarrel("magic_barrel", false, false, MapColor.COLOR_BLUE);
public static final RegistryObject UMBRAN_BARREL = registerBarrel("umbran_barrel", false, false, MapColor.TERRACOTTA_BLUE);
public static final RegistryObject HELLBARK_BARREL = registerBarrel("hellbark_barrel", false, false, MapColor.TERRACOTTA_GRAY);
+ // Ars Nouveau Barrels
+ public static final RegistryObject ARCHWOOD_BARREL = registerBarrel("archwood_barrel", false, false, MapColor.COLOR_GRAY);
// Sieves
public static final RegistryObject OAK_SIEVE = registerSieve("oak_sieve");
@@ -99,6 +95,8 @@ public class EBlocks {
public static final RegistryObject MAGIC_SIEVE = registerSieve("magic_sieve");
public static final RegistryObject UMBRAN_SIEVE = registerSieve("umbran_sieve");
public static final RegistryObject HELLBARK_SIEVE = registerSieve("hellbark_sieve");
+ // Ars Nouveau Sieves
+ public static final RegistryObject ARCHWOOD_SIEVE = registerSieve("archwood_sieve");
// Lava Crucibles
public static final RegistryObject PORCELAIN_CRUCIBLE = registerLavaCrucible("porcelain_crucible", true, SoundType.STONE);
@@ -128,10 +126,15 @@ public class EBlocks {
public static final RegistryObject DEAD_CRUCIBLE = registerWaterCrucible("dead_crucible");
public static final RegistryObject MAGIC_CRUCIBLE = registerWaterCrucible("magic_crucible");
public static final RegistryObject UMBRAN_CRUCIBLE = registerWaterCrucible("umbran_crucible");
+ // Ars Nouveau Water Crucibles
+ public static final RegistryObject CASCADING_ARCHWOOD_CRUCIBLE = registerWaterCrucible("blue_archwood_crucible");
+ public static final RegistryObject BLAZING_ARCHWOOD_CRUCIBLE = registerWaterCrucible("red_archwood_crucible");
+ public static final RegistryObject VEXING_ARCHWOOD_CRUCIBLE = registerWaterCrucible("purple_archwood_crucible");
+ public static final RegistryObject FLOURISHING_ARCHWOOD_CRUCIBLE = registerWaterCrucible("green_archwood_crucible");
// Misc
public static final RegistryObject INFESTED_LEAVES = BLOCKS.register("infested_leaves", () -> new InfestedLeavesBlock(copy(Blocks.OAK_LEAVES)));
- public static final RegistryObject WITCH_WATER = BLOCKS.register("witch_water", () -> new LiquidBlock(EFluids.WITCH_WATER, copy(Blocks.WATER).mapColor(MapColor.COLOR_PURPLE)));
+ public static final RegistryObject WITCH_WATER = BLOCKS.register("witch_water", () -> new WitchWaterBlock(EFluids.WITCH_WATER, copy(Blocks.WATER).mapColor(MapColor.COLOR_PURPLE)));
public static final RegistryObject END_CAKE = BLOCKS.register("end_cake", () -> new EndCakeBlock(of().noLootTable().mapColor(MapColor.COLOR_BLACK).forceSolidOn().strength(0.5F).sound(SoundType.WOOL).pushReaction(PushReaction.BLOCK)));
public static RegistryObject registerSieve(String name) {
diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
index 6aa3aee8..66f2ab0f 100644
--- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
+++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
@@ -168,6 +168,8 @@ public class EItems {
public static final RegistryObject MAGIC_BARREL = registerItemBlock(EBlocks.MAGIC_BARREL);
public static final RegistryObject UMBRAN_BARREL = registerItemBlock(EBlocks.UMBRAN_BARREL);
public static final RegistryObject HELLBARK_BARREL = registerItemBlock(EBlocks.HELLBARK_BARREL);
+ // Ars Nouveau Barrels
+ public static final RegistryObject ARCHWOOD_BARREL = registerItemBlock(EBlocks.ARCHWOOD_BARREL);
// Sieves
public static final RegistryObject OAK_SIEVE = registerItemBlock(EBlocks.OAK_SIEVE);
@@ -192,6 +194,8 @@ public class EItems {
public static final RegistryObject MAGIC_SIEVE = registerItemBlock(EBlocks.MAGIC_SIEVE);
public static final RegistryObject UMBRAN_SIEVE = registerItemBlock(EBlocks.UMBRAN_SIEVE);
public static final RegistryObject HELLBARK_SIEVE = registerItemBlock(EBlocks.HELLBARK_SIEVE);
+ // Ars Nouveau Sieves
+ public static final RegistryObject ARCHWOOD_SIEVE = registerItemBlock(EBlocks.ARCHWOOD_SIEVE);
// Lava Crucibles
public static final RegistryObject PORCELAIN_CRUCIBLE = registerItemBlock(EBlocks.PORCELAIN_CRUCIBLE);
@@ -211,7 +215,7 @@ public class EItems {
public static final RegistryObject MANGROVE_CRUCIBLE = registerItemBlock(EBlocks.MANGROVE_CRUCIBLE);
public static final RegistryObject CHERRY_CRUCIBLE = registerItemBlock(EBlocks.CHERRY_CRUCIBLE);
public static final RegistryObject BAMBOO_CRUCIBLE = registerItemBlock(EBlocks.BAMBOO_CRUCIBLE);
- // BOP Water Crucible
+ // BOP Water Crucibles
public static final RegistryObject FIR_CRUCIBLE = registerItemBlock(EBlocks.FIR_CRUCIBLE);
public static final RegistryObject REDWOOD_CRUCIBLE = registerItemBlock(EBlocks.REDWOOD_CRUCIBLE);
public static final RegistryObject MAHOGANY_CRUCIBLE = registerItemBlock(EBlocks.MAHOGANY_CRUCIBLE);
@@ -221,6 +225,11 @@ public class EItems {
public static final RegistryObject DEAD_CRUCIBLE = registerItemBlock(EBlocks.DEAD_CRUCIBLE);
public static final RegistryObject MAGIC_CRUCIBLE = registerItemBlock(EBlocks.MAGIC_CRUCIBLE);
public static final RegistryObject UMBRAN_CRUCIBLE = registerItemBlock(EBlocks.UMBRAN_CRUCIBLE);
+ // Ars Nouveau Water Crucibles
+ public static final RegistryObject CASCADING_ARCHWOOD_CRUCIBLE = registerItemBlock(EBlocks.CASCADING_ARCHWOOD_CRUCIBLE);
+ public static final RegistryObject BLAZING_ARCHWOOD_CRUCIBLE = registerItemBlock(EBlocks.BLAZING_ARCHWOOD_CRUCIBLE);
+ public static final RegistryObject VEXING_ARCHWOOD_CRUCIBLE = registerItemBlock(EBlocks.VEXING_ARCHWOOD_CRUCIBLE);
+ public static final RegistryObject FLOURISHING_ARCHWOOD_CRUCIBLE = registerItemBlock(EBlocks.FLOURISHING_ARCHWOOD_CRUCIBLE);
public static final RegistryObject END_CAKE = registerItemBlock(EBlocks.END_CAKE);
@@ -260,6 +269,9 @@ public class EItems {
output.accept(UMBRAN_SIEVE.get());
output.accept(HELLBARK_SIEVE.get());
}
+ if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
+ output.accept(ARCHWOOD_SIEVE.get());
+ }
output.accept(PORCELAIN_CRUCIBLE.get());
output.accept(WARPED_CRUCIBLE.get());
output.accept(CRIMSON_CRUCIBLE.get());
@@ -288,6 +300,12 @@ public class EItems {
output.accept(MAGIC_CRUCIBLE.get());
output.accept(UMBRAN_CRUCIBLE.get());
}
+ if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
+ output.accept(CASCADING_ARCHWOOD_CRUCIBLE.get());
+ output.accept(BLAZING_ARCHWOOD_CRUCIBLE.get());
+ output.accept(VEXING_ARCHWOOD_CRUCIBLE.get());
+ output.accept(FLOURISHING_ARCHWOOD_CRUCIBLE.get());
+ }
output.accept(DUST.get());
output.accept(CRUSHED_NETHERRACK.get());
@@ -371,5 +389,8 @@ public class EItems {
output.accept(UMBRAN_BARREL.get());
output.accept(HELLBARK_BARREL.get());
}
+ if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
+ output.accept(ARCHWOOD_BARREL.get());
+ }
}
}
diff --git a/src/main/resources/META-INF/accesstransformer.cfg b/src/main/resources/META-INF/accesstransformer.cfg
index 337f1e96..f4a3823b 100644
--- a/src/main/resources/META-INF/accesstransformer.cfg
+++ b/src/main/resources/META-INF/accesstransformer.cfg
@@ -17,3 +17,5 @@ public net.minecraft.client.multiplayer.ClientLevel f_104563_ # clientLevelData
public-f net.minecraft.client.multiplayer.ClientLevel$ClientLevelData f_104832_ # isFlat
public net.minecraft.client.renderer.RenderStateShard f_110152_ # LIGHTMAP
public net.minecraft.client.renderer.RenderStateShard f_110145_ # BLOCK_SHEET_MIPPED
+public net.minecraft.world.entity.monster.Creeper f_32274_ # DATA_IS_POWERED
+public net.minecraft.world.entity.npc.Villager m_35524_()V # releaseAllPois