From 0f47f6ca405550963ac808a10d1feee2900a3496 Mon Sep 17 00:00:00 2001
From: thedarkcolour <30441001+thedarkcolour@users.noreply.github.com>
Date: Sun, 26 Nov 2023 02:40:03 -0800
Subject: [PATCH] Saving changes for WIP 1.10
---
build.gradle | 2 +-
changelog.md | 7 +
.../221483d9edeccdc82e726e39216c875f3fc356d3 | 6 +-
.../59eb3dbb5f86130e09b3c62d89b9525ee01cf52d | 30 +-
.../711e6e4ef0ec2176e93c58a9656c8098f7158439 | 8 +-
.../93943142017732f21fbc4fa325d116c728b69767 | 4 +-
.../9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e | 48 +-
.../fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd | 30 +-
.../fc41039380e20c0de816b178c0dd0b68eb0f1d50 | 58 ++-
.../blockstates/bluebright_barrel.json | 7 +
.../blockstates/bluebright_crucible.json | 7 +
.../blockstates/bluebright_sieve.json | 7 +
.../exdeorum/blockstates/comet_barrel.json | 7 +
.../exdeorum/blockstates/comet_crucible.json | 7 +
.../exdeorum/blockstates/comet_sieve.json | 7 +
.../blockstates/crystallized_barrel.json | 7 +
.../blockstates/crystallized_crucible.json | 7 +
.../blockstates/crystallized_sieve.json | 7 +
.../exdeorum/blockstates/dusk_barrel.json | 7 +
.../exdeorum/blockstates/dusk_crucible.json | 7 +
.../exdeorum/blockstates/dusk_sieve.json | 7 +
.../blockstates/frostbright_barrel.json | 7 +
.../blockstates/frostbright_crucible.json | 7 +
.../blockstates/frostbright_sieve.json | 7 +
.../blockstates/golden_oak_crucible.json | 7 +
.../exdeorum/blockstates/lunar_barrel.json | 7 +
.../exdeorum/blockstates/lunar_crucible.json | 7 +
.../exdeorum/blockstates/lunar_sieve.json | 7 +
.../exdeorum/blockstates/maple_barrel.json | 7 +
.../exdeorum/blockstates/maple_crucible.json | 7 +
.../exdeorum/blockstates/maple_sieve.json | 7 +
.../exdeorum/blockstates/skyroot_barrel.json | 7 +
.../blockstates/skyroot_crucible.json | 7 +
.../exdeorum/blockstates/skyroot_sieve.json | 7 +
.../exdeorum/blockstates/starlit_barrel.json | 7 +
.../blockstates/starlit_crucible.json | 7 +
.../exdeorum/blockstates/starlit_sieve.json | 7 +
.../resources/assets/exdeorum/lang/en_us.json | 30 ++
.../models/block/bluebright_barrel.json | 6 +
.../models/block/bluebright_crucible.json | 9 +
.../models/block/bluebright_sieve.json | 6 +
.../exdeorum/models/block/comet_barrel.json | 6 +
.../exdeorum/models/block/comet_crucible.json | 9 +
.../exdeorum/models/block/comet_sieve.json | 6 +
.../models/block/crystallized_barrel.json | 7 +
.../models/block/crystallized_crucible.json | 10 +
.../models/block/crystallized_sieve.json | 7 +
.../exdeorum/models/block/dusk_barrel.json | 6 +
.../exdeorum/models/block/dusk_crucible.json | 9 +
.../exdeorum/models/block/dusk_sieve.json | 6 +
.../models/block/frostbright_barrel.json | 6 +
.../models/block/frostbright_crucible.json | 9 +
.../models/block/frostbright_sieve.json | 6 +
.../models/block/golden_oak_crucible.json | 9 +
.../exdeorum/models/block/lunar_barrel.json | 6 +
.../exdeorum/models/block/lunar_crucible.json | 9 +
.../exdeorum/models/block/lunar_sieve.json | 6 +
.../exdeorum/models/block/maple_barrel.json | 6 +
.../exdeorum/models/block/maple_crucible.json | 9 +
.../exdeorum/models/block/maple_sieve.json | 6 +
.../exdeorum/models/block/skyroot_barrel.json | 6 +
.../models/block/skyroot_crucible.json | 9 +
.../exdeorum/models/block/skyroot_sieve.json | 6 +
.../exdeorum/models/block/starlit_barrel.json | 6 +
.../models/block/starlit_crucible.json | 9 +
.../exdeorum/models/block/starlit_sieve.json | 6 +
.../models/item/bluebright_barrel.json | 3 +
.../models/item/bluebright_crucible.json | 3 +
.../models/item/bluebright_sieve.json | 3 +
.../exdeorum/models/item/comet_barrel.json | 3 +
.../exdeorum/models/item/comet_crucible.json | 3 +
.../exdeorum/models/item/comet_sieve.json | 3 +
.../models/item/crystallized_barrel.json | 3 +
.../models/item/crystallized_crucible.json | 3 +
.../models/item/crystallized_sieve.json | 3 +
.../exdeorum/models/item/dusk_barrel.json | 3 +
.../exdeorum/models/item/dusk_crucible.json | 3 +
.../exdeorum/models/item/dusk_sieve.json | 3 +
.../models/item/frostbright_barrel.json | 3 +
.../models/item/frostbright_crucible.json | 3 +
.../models/item/frostbright_sieve.json | 3 +
.../models/item/golden_oak_crucible.json | 3 +
.../exdeorum/models/item/lunar_barrel.json | 3 +
.../exdeorum/models/item/lunar_crucible.json | 3 +
.../exdeorum/models/item/lunar_sieve.json | 3 +
.../exdeorum/models/item/maple_barrel.json | 3 +
.../exdeorum/models/item/maple_crucible.json | 3 +
.../exdeorum/models/item/maple_sieve.json | 3 +
.../exdeorum/models/item/skyroot_barrel.json | 3 +
.../models/item/skyroot_crucible.json | 3 +
.../exdeorum/models/item/skyroot_sieve.json | 3 +
.../exdeorum/models/item/starlit_barrel.json | 3 +
.../models/item/starlit_crucible.json | 3 +
.../exdeorum/models/item/starlit_sieve.json | 3 +
.../loot_tables/blocks/bluebright_barrel.json | 21 +
.../blocks/bluebright_crucible.json | 21 +
.../loot_tables/blocks/bluebright_sieve.json | 21 +
.../loot_tables/blocks/comet_barrel.json | 21 +
.../loot_tables/blocks/comet_crucible.json | 21 +
.../loot_tables/blocks/comet_sieve.json | 21 +
.../blocks/crystallized_barrel.json | 21 +
.../blocks/crystallized_crucible.json | 21 +
.../blocks/crystallized_sieve.json | 21 +
.../loot_tables/blocks/dusk_barrel.json | 21 +
.../loot_tables/blocks/dusk_crucible.json | 21 +
.../loot_tables/blocks/dusk_sieve.json | 21 +
.../blocks/frostbright_barrel.json | 21 +
.../blocks/frostbright_crucible.json | 21 +
.../loot_tables/blocks/frostbright_sieve.json | 21 +
.../blocks/golden_oak_crucible.json | 21 +
.../loot_tables/blocks/lunar_barrel.json | 21 +
.../loot_tables/blocks/lunar_crucible.json | 21 +
.../loot_tables/blocks/lunar_sieve.json | 21 +
.../loot_tables/blocks/maple_barrel.json | 21 +
.../loot_tables/blocks/maple_crucible.json | 21 +
.../loot_tables/blocks/maple_sieve.json | 21 +
.../loot_tables/blocks/skyroot_barrel.json | 21 +
.../loot_tables/blocks/skyroot_crucible.json | 21 +
.../loot_tables/blocks/skyroot_sieve.json | 21 +
.../loot_tables/blocks/starlit_barrel.json | 21 +
.../loot_tables/blocks/starlit_crucible.json | 21 +
.../loot_tables/blocks/starlit_sieve.json | 21 +
.../exdeorum/recipes/bluebright_barrel.json | 34 ++
.../exdeorum/recipes/bluebright_crucible.json | 34 ++
.../exdeorum/recipes/bluebright_sieve.json | 37 ++
.../data/exdeorum/recipes/comet_barrel.json | 34 ++
.../data/exdeorum/recipes/comet_crucible.json | 34 ++
.../data/exdeorum/recipes/comet_sieve.json | 37 ++
.../exdeorum/recipes/crystallized_barrel.json | 34 ++
.../recipes/crystallized_crucible.json | 34 ++
.../exdeorum/recipes/crystallized_sieve.json | 37 ++
.../data/exdeorum/recipes/dusk_barrel.json | 34 ++
.../data/exdeorum/recipes/dusk_crucible.json | 34 ++
.../data/exdeorum/recipes/dusk_sieve.json | 37 ++
.../exdeorum/recipes/frostbright_barrel.json | 34 ++
.../recipes/frostbright_crucible.json | 34 ++
.../exdeorum/recipes/frostbright_sieve.json | 37 ++
.../exdeorum/recipes/golden_oak_crucible.json | 34 ++
.../data/exdeorum/recipes/lunar_barrel.json | 34 ++
.../data/exdeorum/recipes/lunar_crucible.json | 34 ++
.../data/exdeorum/recipes/lunar_sieve.json | 37 ++
.../data/exdeorum/recipes/maple_barrel.json | 34 ++
.../data/exdeorum/recipes/maple_crucible.json | 34 ++
.../data/exdeorum/recipes/maple_sieve.json | 37 ++
.../dust/diamond/certus_quartz_dust.json | 26 ++
.../sieve/dust/diamond/yellorium_dust.json | 2 +-
.../sieve/dust/flint/certus_quartz_dust.json | 26 ++
.../sieve/dust/flint/yellorium_dust.json | 2 +-
.../sieve/dust/golden/certus_quartz_dust.json | 26 ++
.../sieve/dust/golden/yellorium_dust.json | 2 +-
.../sieve/dust/iron/certus_quartz_dust.json | 26 ++
.../sieve/dust/iron/yellorium_dust.json | 2 +-
.../dust/netherite/certus_quartz_dust.json | 26 ++
.../sieve/dust/netherite/yellorium_dust.json | 2 +-
.../sieve/dust/string/certus_quartz_dust.json | 26 ++
.../sieve/dust/string/yellorium_dust.json | 2 +-
.../data/exdeorum/recipes/skyroot_barrel.json | 34 ++
.../exdeorum/recipes/skyroot_crucible.json | 34 ++
.../data/exdeorum/recipes/skyroot_sieve.json | 37 ++
.../data/exdeorum/recipes/starlit_barrel.json | 34 ++
.../exdeorum/recipes/starlit_crucible.json | 34 ++
.../data/exdeorum/recipes/starlit_sieve.json | 37 ++
.../tags/blocks/watering_can_tickable.json | 314 ++++++++++++-
.../exdeorum/tags/items/stone_barrels.json | 3 +-
.../exdeorum/tags/items/wooden_barrels.json | 21 +-
.../minecraft/tags/blocks/mineable/axe.json | 27 +-
.../tags/blocks/mineable/pickaxe.json | 5 +-
.../AbstractCrucibleBlockEntity.java | 15 +-
.../blockentity/BarrelBlockEntity.java | 25 +-
.../blockentity/LavaCrucibleBlockEntity.java | 1 +
.../exdeorum/client/ClientHandler.java | 6 +-
.../thedarkcolour/exdeorum/compat/ModIds.java | 1 +
.../exdeorum/compat/jei/ClientJeiUtil.java | 165 +++++++
.../jei/CrucibleHeatSourcesCategory.java | 131 ++++++
.../compat/jei/ExDeorumJeiPlugin.java | 47 +-
.../exdeorum/data/BlockModels.java | 93 ++--
.../thedarkcolour/exdeorum/data/English.java | 2 +
.../exdeorum/data/ModCompatData.java | 411 +++++++++---------
.../thedarkcolour/exdeorum/data/ModTags.java | 26 +-
.../exdeorum/data/TranslationKeys.java | 2 +
.../exdeorum/data/recipe/Recipes.java | 12 +
.../exdeorum/data/recipe/SieveRecipes.java | 6 +
.../exdeorum/event/EventHandler.java | 7 +
.../exdeorum/registry/EBlocks.java | 18 +-
.../exdeorum/registry/EItems.java | 129 ++++--
185 files changed, 3559 insertions(+), 347 deletions(-)
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/bluebright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/bluebright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/bluebright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/comet_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/comet_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/comet_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/crystallized_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/crystallized_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/crystallized_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/dusk_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/dusk_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/dusk_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/frostbright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/frostbright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/frostbright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/golden_oak_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/lunar_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/lunar_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/lunar_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/maple_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/maple_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/maple_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/skyroot_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/skyroot_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/skyroot_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/starlit_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/starlit_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/blockstates/starlit_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/bluebright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/bluebright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/bluebright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/comet_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/comet_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/comet_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/crystallized_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/crystallized_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/crystallized_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/dusk_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/dusk_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/dusk_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/frostbright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/frostbright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/frostbright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/golden_oak_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/lunar_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/lunar_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/lunar_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/maple_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/maple_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/maple_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/skyroot_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/skyroot_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/skyroot_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/starlit_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/starlit_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/block/starlit_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/bluebright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/bluebright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/bluebright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/comet_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/comet_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/comet_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/crystallized_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/crystallized_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/crystallized_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/dusk_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/dusk_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/dusk_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/frostbright_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/frostbright_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/frostbright_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/golden_oak_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/lunar_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/lunar_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/lunar_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/maple_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/maple_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/maple_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/skyroot_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/skyroot_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/skyroot_sieve.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/starlit_barrel.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/starlit_crucible.json
create mode 100644 src/generated/resources/assets/exdeorum/models/item/starlit_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/comet_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/comet_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/comet_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/golden_oak_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/maple_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/maple_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/maple_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/bluebright_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/bluebright_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/bluebright_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/comet_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/comet_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/comet_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/crystallized_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/crystallized_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/crystallized_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/dusk_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/dusk_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/dusk_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/frostbright_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/frostbright_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/frostbright_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/golden_oak_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/lunar_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/lunar_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/lunar_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/maple_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/maple_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/maple_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/sieve/dust/string/certus_quartz_dust.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/skyroot_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/skyroot_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/skyroot_sieve.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/starlit_barrel.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/starlit_crucible.json
create mode 100644 src/generated/resources/data/exdeorum/recipes/starlit_sieve.json
create mode 100644 src/main/java/thedarkcolour/exdeorum/compat/jei/ClientJeiUtil.java
create mode 100644 src/main/java/thedarkcolour/exdeorum/compat/jei/CrucibleHeatSourcesCategory.java
diff --git a/build.gradle b/build.gradle
index 4560ae5f..335c2ffb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ plugins {
id 'org.spongepowered.mixin' version '0.7.+'
}
-version = '1.9'
+version = '1.10'
group = 'thedarkcolour.exdeorum'
base {
archivesName = 'exdeorum'
diff --git a/changelog.md b/changelog.md
index 2cd2f1c7..bf1284d9 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,10 @@
+## Ex Deorum 1.10
+- Added crucibles, sieves, and barrels for wood types from Blue Skies and Aether mods.
+- Added Certus Quartz Dust as a sieve drop from Dust.
+- Allow extracting water from wooden crucibles using water bottles.
+- Watering cans now accelerate crops from Pam's Harvestcraft 2 Crops
+- Fixed a crash that happened with Ex Deorum barrels and crucibles when logging out of a world.
+
## Ex Deorum 1.9
- Fixed incompatibility with SkyblockBuilder where player would not receive torch/watering can and Ex Deorum advancements
- Fixed error message printing while patching the End Portal method
diff --git a/src/generated/resources/.cache/221483d9edeccdc82e726e39216c875f3fc356d3 b/src/generated/resources/.cache/221483d9edeccdc82e726e39216c875f3fc356d3
index 59eb2b40..fb9dc910 100644
--- a/src/generated/resources/.cache/221483d9edeccdc82e726e39216c875f3fc356d3
+++ b/src/generated/resources/.cache/221483d9edeccdc82e726e39216c875f3fc356d3
@@ -1,9 +1,9 @@
-// 1.20.1 2023-08-08T15:59:08.3354345 Tags for minecraft:item mod id exdeorum
+// 1.20.1 2023-11-25T19:04:39.9873323 Tags for minecraft:item mod id exdeorum
6c72957356b1d59a27be736fa1da54a5a9795ef7 data/exdeorum/tags/items/barrels.json
5feb54ce68fa657af5ce696f75b8c7a6d04cc7a7 data/exdeorum/tags/items/crooks.json
74eefeb986d633d26ad42202c4a6b5e71463c425 data/exdeorum/tags/items/end_cake_materials.json
be46bf2abe731d5ee5bd15ce72f222b2b9a49385 data/exdeorum/tags/items/hammers.json
b90bd3c642e69b9e800c58a9f8f53e369652e6ba data/exdeorum/tags/items/pebbles.json
8e1b5ab26037123d3948e9ac9f50da1b7cd0a129 data/exdeorum/tags/items/sieve_meshes.json
-c97c766a33dab7ad0c0c9dfab62ae0f0c19dcb99 data/exdeorum/tags/items/stone_barrels.json
-ffdb0354323b0eb3c4170e26bfffa2670bb16781 data/exdeorum/tags/items/wooden_barrels.json
+0152da758e7665bf282f17f466599c7a009d9a15 data/exdeorum/tags/items/stone_barrels.json
+da9e65a9ddbd1b6fa3ee55da4c0f8a041bb05dcd data/exdeorum/tags/items/wooden_barrels.json
diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
index a55c0a3d..2205b069 100644
--- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
+++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d
@@ -1,4 +1,4 @@
-// 1.20.1 2023-11-02T20:23:36.9109676 Loot Tables
+// 1.20.1 2023-11-25T19:04:39.9783304 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
@@ -10,10 +10,16 @@ aaaf1a2e8b859fe3d057b38bd24c3fb7b6ee5065 data/exdeorum/loot_tables/blocks/bamboo
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
+d27d5d53011436ca54dd604846ce467a9e857aef data/exdeorum/loot_tables/blocks/bluebright_barrel.json
+1df19ae40ef726fe4371707b2d8b3fa4b3291285 data/exdeorum/loot_tables/blocks/bluebright_crucible.json
+42bf543b8a2b7ab3c65ed6cabd966af1f521fe64 data/exdeorum/loot_tables/blocks/bluebright_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
+4ce6aa79ac4ba8ad3b56b68023b880917fd8097f data/exdeorum/loot_tables/blocks/comet_barrel.json
+8f2d837af622df791fefe3a981a35a6243f1252e data/exdeorum/loot_tables/blocks/comet_crucible.json
+9ed892d74409a4bbb41f4f277a7fdf9c58a5e011 data/exdeorum/loot_tables/blocks/comet_sieve.json
d52a2d3bcb85c58e549248d5205f863c40d3bd87 data/exdeorum/loot_tables/blocks/crimson_barrel.json
78b361a27788eeda88a1228a5c813d9106ec038e data/exdeorum/loot_tables/blocks/crimson_crucible.json
149b1a730939c3a3b2823b77e1b3771ff6397679 data/exdeorum/loot_tables/blocks/crimson_sieve.json
@@ -21,16 +27,26 @@ d52a2d3bcb85c58e549248d5205f863c40d3bd87 data/exdeorum/loot_tables/blocks/crimso
84e81d576fb09922cdebe758b52ffccf56284b10 data/exdeorum/loot_tables/blocks/crushed_deepslate.json
d15f9ed4837d0015efb7688c9b10716084c78337 data/exdeorum/loot_tables/blocks/crushed_end_stone.json
cb1d2e4511ad98f974192f5a60161a30472808aa data/exdeorum/loot_tables/blocks/crushed_netherrack.json
+4aaac302b355e196dfe0f673a8ef32b187cb1439 data/exdeorum/loot_tables/blocks/crystallized_barrel.json
+bbc01ca3225c9fac9b73a67ab1db63aa70ccdab8 data/exdeorum/loot_tables/blocks/crystallized_crucible.json
+9d4272237d99f9559e48d11b0bd24d75dde85bb3 data/exdeorum/loot_tables/blocks/crystallized_sieve.json
cc2ff4d4632fcffee0d3e06529670a102c280410 data/exdeorum/loot_tables/blocks/dark_oak_barrel.json
74dbd2298667036228a3b0b1a9ef895fb6a0bf5a data/exdeorum/loot_tables/blocks/dark_oak_crucible.json
912b85cbf5d89a043dc232e6e08119d3e4b9b357 data/exdeorum/loot_tables/blocks/dark_oak_sieve.json
cbc4c95f7813751d2b47c8a72448c78387649d7f data/exdeorum/loot_tables/blocks/dead_barrel.json
a727ae35bc208071cde56afda963b6cbb3af6c1b data/exdeorum/loot_tables/blocks/dead_crucible.json
868376d65d39785f28a2ad9ca3ae97b6cda9c849 data/exdeorum/loot_tables/blocks/dead_sieve.json
+2341def8271637c343246635575eb30eec16d976 data/exdeorum/loot_tables/blocks/dusk_barrel.json
+5f122cbae4477b241ee9563b86ae4e2c22936674 data/exdeorum/loot_tables/blocks/dusk_crucible.json
+6ef284edf33a89e5a2a214a64879874d1a928a4b data/exdeorum/loot_tables/blocks/dusk_sieve.json
23cfb51730f2ecd873d7d5277ac8521a249e8320 data/exdeorum/loot_tables/blocks/dust.json
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
+3bf11251903bb28a99fb846c0ae876a672e74732 data/exdeorum/loot_tables/blocks/frostbright_barrel.json
+1c6c8860fd3019dc30beb708c51e99c0741376ad data/exdeorum/loot_tables/blocks/frostbright_crucible.json
+792ccff30c1a64e10f764bae21a4dcb0ded995da data/exdeorum/loot_tables/blocks/frostbright_sieve.json
+92866fcb8d3cf3223ff5efaef3d2e2872eb4b959 data/exdeorum/loot_tables/blocks/golden_oak_crucible.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
@@ -42,6 +58,9 @@ b23b0494ef9f535744f7390f74a35527442aee6f data/exdeorum/loot_tables/blocks/jacara
58a121ab7b39913271784b018fc6c55532917f21 data/exdeorum/loot_tables/blocks/jungle_barrel.json
a652a1374c1cd710e26d28c015b83beb9f5e378c data/exdeorum/loot_tables/blocks/jungle_crucible.json
b60904a4c6286bea6c91ac40ace12c63f3d049cc data/exdeorum/loot_tables/blocks/jungle_sieve.json
+37cefdf07f602346405b6cd230074afdada98936 data/exdeorum/loot_tables/blocks/lunar_barrel.json
+b31ccfa30cefce0c1a07edbf69f6ce0604d25165 data/exdeorum/loot_tables/blocks/lunar_crucible.json
+850947b8a11119badb3fc3812c52e108a95ec2bc data/exdeorum/loot_tables/blocks/lunar_sieve.json
45bce99894bcee0308320c4826ad23403108fe80 data/exdeorum/loot_tables/blocks/magic_barrel.json
0e2867614ca43b236f697b928fa3e08ddd97deab data/exdeorum/loot_tables/blocks/magic_crucible.json
a87b179ee0ac3d65310268b7d40b864195f233c4 data/exdeorum/loot_tables/blocks/magic_sieve.json
@@ -51,6 +70,9 @@ f2fd2b243936f3bf2e4cc07e8be0adf607b5af89 data/exdeorum/loot_tables/blocks/mahoga
88749902dcd90e63d874dc2c3f9c606e480469ab data/exdeorum/loot_tables/blocks/mangrove_barrel.json
b38104ee25127d9c65ad9e323ed879f76df7a048 data/exdeorum/loot_tables/blocks/mangrove_crucible.json
70c03b4d38a62da4d2eeb1ff525bd0f5e62e0e8e data/exdeorum/loot_tables/blocks/mangrove_sieve.json
+475b89fd8f09834652f80c93d8a6d0964d708ead data/exdeorum/loot_tables/blocks/maple_barrel.json
+54f36187d7fb97dedc4680d14e2ad7d70b5c64af data/exdeorum/loot_tables/blocks/maple_crucible.json
+7ffe80360af055f3977d05b5684a299886bcb756 data/exdeorum/loot_tables/blocks/maple_sieve.json
cad973c873a2e50ccfac91e88eadb3c2462d39d1 data/exdeorum/loot_tables/blocks/oak_barrel.json
f94bc97efbfd26ccf7dba32d414fb5e33decd5f6 data/exdeorum/loot_tables/blocks/oak_crucible.json
8d69a87e09fc8a179d5a1bc8eba5faab66e77a6c data/exdeorum/loot_tables/blocks/oak_sieve.json
@@ -63,9 +85,15 @@ b75af3bb5693488a1373235a0dcb0627aa6d049a data/exdeorum/loot_tables/blocks/redwoo
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
+b2992ec87d859591ae845a01cef8547c1460a00d data/exdeorum/loot_tables/blocks/skyroot_barrel.json
+1f96ad0e06b9f4f773f70f2e9c8a91cf354249aa data/exdeorum/loot_tables/blocks/skyroot_crucible.json
+246ac502f71f4211b4a1b3e6af2b51d330ebc3cc data/exdeorum/loot_tables/blocks/skyroot_sieve.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
+9c7ca9312ec8ff9d519b6fe90925f968f3455177 data/exdeorum/loot_tables/blocks/starlit_barrel.json
+cfa80ab9ce1c7f71a87920437b02b43c42004562 data/exdeorum/loot_tables/blocks/starlit_crucible.json
+6b1b5d616fce35f0c851011f9913b860e2a7f690 data/exdeorum/loot_tables/blocks/starlit_sieve.json
82063725ffe92af96bb2502547ba8cc9d3fd411e data/exdeorum/loot_tables/blocks/stone_barrel.json
49ca31b6acd08c4e78bb7e90a4a6fad396f7a515 data/exdeorum/loot_tables/blocks/umbran_barrel.json
cb088dd4c735b2b59c361134623167386c5d4d67 data/exdeorum/loot_tables/blocks/umbran_crucible.json
diff --git a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439 b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
index ba48cdc3..78a62835 100644
--- a/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
+++ b/src/generated/resources/.cache/711e6e4ef0ec2176e93c58a9656c8098f7158439
@@ -1,7 +1,7 @@
-// 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
+// 1.20.1 2023-11-25T21:07:59.265727 Tags for minecraft:block mod id exdeorum
+77dfab311d3714c77bcac2df0397d23d4707f03b data/exdeorum/tags/blocks/watering_can_tickable.json
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/leaves.json
-c65cd82c956f169d03a1f640f24d9c43508e54ee data/minecraft/tags/blocks/mineable/axe.json
+6118dd1a976e5c95335fe0271c784eef3dac5bf5 data/minecraft/tags/blocks/mineable/axe.json
f6a9610ebae09549baf17e27200037cd17318055 data/minecraft/tags/blocks/mineable/hoe.json
-a23ae1801375c0c9525c3d712cb0eeb87174c219 data/minecraft/tags/blocks/mineable/pickaxe.json
+bfedafec4139f53d4f5af45596fe448d134c86eb 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 704da429..0099633b 100644
--- a/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767
+++ b/src/generated/resources/.cache/93943142017732f21fbc4fa325d116c728b69767
@@ -1,2 +1,2 @@
-// 1.20.1 2023-11-08T17:22:38.9363563 ModKit Language: en_us for mod 'exdeorum'
-2efe32d6fbf19209a87d65b3cc2a3291c39d55ca assets/exdeorum/lang/en_us.json
+// 1.20.1 2023-11-25T22:05:28.9763125 ModKit Language: en_us for mod 'exdeorum'
+78936365b3ddf8e22eef4418bb1a98a11abb2c4b assets/exdeorum/lang/en_us.json
diff --git a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
index 5e36f083..53968868 100644
--- a/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
+++ b/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e
@@ -1,4 +1,4 @@
-// 1.20.1 2023-11-08T17:34:26.3552838 Recipes
+// 1.20.1 2023-11-25T20:27:03.8436949 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
@@ -176,6 +176,9 @@ 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
+933afd9d49d8105e035ddeaf4699144b0c59d8fb data/exdeorum/recipes/bluebright_barrel.json
+4498a2719a6fde620e885a36db9810616fe5b00e data/exdeorum/recipes/bluebright_crucible.json
+a17158c9265e3c2a2757218ecc5661edd6e55389 data/exdeorum/recipes/bluebright_sieve.json
876e11e8194543322606195b37bc7d48231076c7 data/exdeorum/recipes/blue_archwood_crucible.json
e2747b1a78ad7e24daa1457cd42727d4e557e601 data/exdeorum/recipes/bone_crook.json
d4226d4489481ade3466dd77412ce086b54566ea data/exdeorum/recipes/calcite.json
@@ -184,6 +187,9 @@ b2e3bb4ec8706924dae30712573f269cff310f6f data/exdeorum/recipes/cherry_crucible.j
8eb7cc61d49e09d60961b3563957b0643400ba01 data/exdeorum/recipes/cherry_sieve.json
b39efa0032946e54274f8b45a654f7e55ff23673 data/exdeorum/recipes/cobbled_deepslate.json
ba90fbda213e52dc15ea532c8f10c63ea47747de data/exdeorum/recipes/cobblestone.json
+95f25315f53bdbc7db29cabdda0272a5482cc8d2 data/exdeorum/recipes/comet_barrel.json
+526976257819a8daa86c0b89156794987aa7f615 data/exdeorum/recipes/comet_crucible.json
+73ba7e02ac0e754e9525d3bdf8ad1a2756b32c3f data/exdeorum/recipes/comet_sieve.json
0f7fa8aac7b5e0a3a882db3ca0f6e46b1731f672 data/exdeorum/recipes/cooked_silk_worm.json
508acb3340451e047f94a07759649fa81f0e6c06 data/exdeorum/recipes/cooked_silk_worm_from_campfire_cooking.json
0843aa55ea02679d6cd055e469a8dc980aed84b0 data/exdeorum/recipes/cooked_silk_worm_from_smoking.json
@@ -192,6 +198,9 @@ ba90fbda213e52dc15ea532c8f10c63ea47747de data/exdeorum/recipes/cobblestone.json
20ddd97165d2b2c1c9c04f364ddec810ca7d73d6 data/exdeorum/recipes/crimson_crucible.json
21057c2afeda8c54e808b82818c93c8102326f98 data/exdeorum/recipes/crimson_sieve.json
f6a9036c1bbc4fa0cdc25ef4c851de5ddac0a4ff data/exdeorum/recipes/crook.json
+c81379fe022f3667ce506e4927aac97d1b66999f data/exdeorum/recipes/crystallized_barrel.json
+77cf611f4e10c507fc4ec116ba0a9d9d1ce58273 data/exdeorum/recipes/crystallized_crucible.json
+324b6222287940a7fb008b9c6a1e9caecada8af3 data/exdeorum/recipes/crystallized_sieve.json
f41b9a2782302d6684a89127b90f47ba432b35f1 data/exdeorum/recipes/dark_oak_barrel.json
88de5b2df3c7cbb668195ebff7d60235fa897cdf data/exdeorum/recipes/dark_oak_crucible.json
b14283dd10c79ddb507aa849a9a432266b615f19 data/exdeorum/recipes/dark_oak_sieve.json
@@ -202,13 +211,20 @@ b14283dd10c79ddb507aa849a9a432266b615f19 data/exdeorum/recipes/dark_oak_sieve.js
4bb1b1df247eaa495b18df77893ac6cfaaa9477a data/exdeorum/recipes/diamond_mesh.json
8244864c8c0fb88af380c18bb593a8cb3982abbd data/exdeorum/recipes/diamond_watering_can.json
596e6fb9a4c633938b7b3c778baad53cdd9fd2ed data/exdeorum/recipes/diorite.json
+44da784210aab9a5035b77cb1fa71761b025ef62 data/exdeorum/recipes/dusk_barrel.json
+dab9bb66c9b292265cba8bcce75c33f306d04df2 data/exdeorum/recipes/dusk_crucible.json
+838ecf522b90ab1e78699f2343500ddb9a396090 data/exdeorum/recipes/dusk_sieve.json
04ae3d6df1f7ed4d376c3f95bc4924651a1148e8 data/exdeorum/recipes/end_cake.json
a3b9f47a73b9cbb4d908ac0b8ad90b308271c04c data/exdeorum/recipes/fir_barrel.json
7f7a034824513701aa0493267f7f8219d8fdef89 data/exdeorum/recipes/fir_crucible.json
8821d420a2f1dae54a0276cf33f94b5689eda056 data/exdeorum/recipes/fir_sieve.json
fafeef8c11df81d877166ba0d4add3823515dad3 data/exdeorum/recipes/flint_mesh.json
+c778aaf0af19417cab77cc60852725c871190ad3 data/exdeorum/recipes/frostbright_barrel.json
+3023dca367b5b56ef41c2819c9169bb961f0c9a8 data/exdeorum/recipes/frostbright_crucible.json
+500a5175a3660f37899b652a3c18c3d867f7c504 data/exdeorum/recipes/frostbright_sieve.json
4adddee39d6ff6ee58dedfdeb32265a051f9a722 data/exdeorum/recipes/golden_hammer.json
a32f858ab7b6b5d5546b8474175a44a93d85f8bc data/exdeorum/recipes/golden_mesh.json
+a119064052e4bb6873c6dc10c50b36e52e9dc58c data/exdeorum/recipes/golden_oak_crucible.json
e77acbd0878f662f441d590287e71e66593ef928 data/exdeorum/recipes/golden_watering_can.json
44ed0e97591833c39e32847f22edf333ae551b22 data/exdeorum/recipes/gold_ore.json
959cdac69e6907157e75b38b098cff21609f4869 data/exdeorum/recipes/granite.json
@@ -254,6 +270,9 @@ d24ed2178e5875da5e0a6f82b5ac9c2ece4b64ff data/exdeorum/recipes/lava_crucible/cob
0963c17c9f78907017fa0192c684f016c39f31eb data/exdeorum/recipes/lava_crucible/gravel.json
e9affa16c926fe63ca2270a81aba4e33cd0b198b data/exdeorum/recipes/lava_crucible/netherrack.json
20744c980e4a68f67acea24af617f1ddb865f9a3 data/exdeorum/recipes/lava_crucible/stone.json
+de4aec27404547b2cc9a709e54eba1459c210149 data/exdeorum/recipes/lunar_barrel.json
+848e724409a1ade08e1d40a28b6d570e0362cb45 data/exdeorum/recipes/lunar_crucible.json
+6760d41983e3553c785f251c1ab4813db7312b32 data/exdeorum/recipes/lunar_sieve.json
eefb8d9a0b49405d1a9788425df1c9c7937458e4 data/exdeorum/recipes/magic_barrel.json
19ccb45f92da97401ef10f7def8d7b439d683910 data/exdeorum/recipes/magic_crucible.json
10c7971c338d0079d1125a7b320fe407ceabe089 data/exdeorum/recipes/magic_sieve.json
@@ -263,6 +282,9 @@ b012c1b39678d3e560365bc01a59c9a88182388e data/exdeorum/recipes/mahogany_barrel.j
8efa8d7c8da52d42d8e1a831004dfc080423a500 data/exdeorum/recipes/mangrove_barrel.json
95edd369ab19abd17ef56cfa2350a2dc185c7747 data/exdeorum/recipes/mangrove_crucible.json
9c38235abb08f3cdd8838c0a0efb98154dee97e3 data/exdeorum/recipes/mangrove_sieve.json
+e288683a0ad5496b43667307e9a22b35a0482d77 data/exdeorum/recipes/maple_barrel.json
+c6ab33d03646b9af8b2d624e28b7d21083772dda data/exdeorum/recipes/maple_crucible.json
+f1b143b0f52102366fd79d608540e67e9909c43f data/exdeorum/recipes/maple_sieve.json
962586e6665baef84b573df40211ff3ce36d88b0 data/exdeorum/recipes/moss_block.json
f92abca4ddd5f75b770e81fc745a735a7fd0ee68 data/exdeorum/recipes/netherite_hammer.json
c7d0c0109b34ee2e325c42b6664d5fe6b8ea5117 data/exdeorum/recipes/netherite_mesh.json
@@ -591,23 +613,26 @@ fc2c65334a37a71c05c86df5e836b073b259d746 data/exdeorum/recipes/sieve/dirt/string
d31fa934cef32f4bcc4cabf110f2b90ae12a1db7 data/exdeorum/recipes/sieve/dirt/string/wheat_seeds.json
885055cb3b8f1349a2bf634eb604098311017d02 data/exdeorum/recipes/sieve/dust/diamond/blaze_powder.json
13df9ac15d131c250cbdb175ff3bc1145afadcb5 data/exdeorum/recipes/sieve/dust/diamond/bone_meal.json
+23b2c4ae8e60860e57a7ad8ae425d32908589ee9 data/exdeorum/recipes/sieve/dust/diamond/certus_quartz_dust.json
b46cceeab1061ed238e005b2415b24160fcd5d73 data/exdeorum/recipes/sieve/dust/diamond/glowstone_dust.json
da3556d43a22a00cfba29419879f8bb1c24f76e0 data/exdeorum/recipes/sieve/dust/diamond/gold_nugget.json
0087b10cc106dc6cb22a9574567faf8096fa797e data/exdeorum/recipes/sieve/dust/diamond/grains_of_infinity.json
aacdbedc91e09191a6fc335ed82ca481d934ebc3 data/exdeorum/recipes/sieve/dust/diamond/gunpowder.json
00907e701451521c3ca793ec337b0b2f0166e895 data/exdeorum/recipes/sieve/dust/diamond/redstone.json
2c09ba69a51a5a700fd07ed1ed209be54d8cbff3 data/exdeorum/recipes/sieve/dust/diamond/sky_dust.json
-e071b7083dd1f122a6008d773d80e29b0939dce7 data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json
+64de5902f0aaee9c844ba1316a796e10cb0aed34 data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json
7eba59b03b5affdc11c937060e99949db301086a data/exdeorum/recipes/sieve/dust/flint/blaze_powder.json
7af226b5661b96e0b8ddcb8ec902d37f429b0b48 data/exdeorum/recipes/sieve/dust/flint/bone_meal.json
+a9f3901aba05d5167242c8bfe116077848a178c0 data/exdeorum/recipes/sieve/dust/flint/certus_quartz_dust.json
0a7d44bdff5a9b7040f702cb5ff756ce231c9a60 data/exdeorum/recipes/sieve/dust/flint/glowstone_dust.json
c418797b65a0c67841c5e99d8fec95d1ee780065 data/exdeorum/recipes/sieve/dust/flint/grains_of_infinity.json
52c65219279d46fe5474a8a01d69a1362cb3a2ea data/exdeorum/recipes/sieve/dust/flint/gunpowder.json
7ecd5ae5d7f6783ff7535978352190a9af1b0ab4 data/exdeorum/recipes/sieve/dust/flint/redstone.json
17c71d15a28be77366da40ad3461b0ded7369e97 data/exdeorum/recipes/sieve/dust/flint/sky_dust.json
-b9f030c35edfd7cf832cd2d026eb7526681d8ebf data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json
+34cf976c49dbd139da48e9896d700587e0ae75e1 data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json
bdbe4b3434ff67299b47d65eab0c442b235dc654 data/exdeorum/recipes/sieve/dust/golden/blaze_powder.json
fab2426618c3f527ed401f1ef2cee3fa81de1969 data/exdeorum/recipes/sieve/dust/golden/bone_meal.json
+9a3afdda33010d9572d23135d3ef2f7882d96cc6 data/exdeorum/recipes/sieve/dust/golden/certus_quartz_dust.json
9a9eb3cc996de392e75dd9c6613af1ff382615d5 data/exdeorum/recipes/sieve/dust/golden/glowstone_dust.json
183741090cfd4dbb792f70c9daea3dd8030f56e2 data/exdeorum/recipes/sieve/dust/golden/gold_nugget.json
c087c3ba3bd7bda74aac13435f61a998060d4872 data/exdeorum/recipes/sieve/dust/golden/grains_of_infinity.json
@@ -615,18 +640,20 @@ c087c3ba3bd7bda74aac13435f61a998060d4872 data/exdeorum/recipes/sieve/dust/golden
a9c9258b74162f5132b8b47f3981b071ec6b60bf data/exdeorum/recipes/sieve/dust/golden/raw_gold.json
65c99881294536c0f59d66d0e7429d85bbec0b9b data/exdeorum/recipes/sieve/dust/golden/redstone.json
d5a4a64774eca713f8242423d10d89f8bb79a19b data/exdeorum/recipes/sieve/dust/golden/sky_dust.json
-45bf0f375561c5d4ede6e90611c4cc60ac704705 data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json
+f5e23ee85134101ff76f64b301e7cc3d86fb87e6 data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json
4b304a265794186e3c1fbd23acfcfde57322d615 data/exdeorum/recipes/sieve/dust/iron/blaze_powder.json
758573f460a7f2ff2104a1bbfde2fa8392d002a4 data/exdeorum/recipes/sieve/dust/iron/bone_meal.json
+2b467eea067acb9bdabb6f70cb4dca0d9aa495bc data/exdeorum/recipes/sieve/dust/iron/certus_quartz_dust.json
e3f7f74c6e84a149282b23f0388e25c7ae5f4352 data/exdeorum/recipes/sieve/dust/iron/glowstone_dust.json
f5c25b6ee05890bdc41ddc45a14b2015665388fe data/exdeorum/recipes/sieve/dust/iron/grains_of_infinity.json
5ffc2f95fc5a52aad02e7b063ba64c4cd41836f3 data/exdeorum/recipes/sieve/dust/iron/gunpowder.json
eeb2ec19599044971eeff5929e7238fa398f1f08 data/exdeorum/recipes/sieve/dust/iron/iron_nugget.json
9dc82b4a79edf9561566137af39399b1621b89a0 data/exdeorum/recipes/sieve/dust/iron/redstone.json
b051722d781020d01924077074da364f6099570e data/exdeorum/recipes/sieve/dust/iron/sky_dust.json
-e059dbdb19633d8c07823d472fe4109fe5f482b8 data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json
+9fd60c04e81943398e45a95f8f301fe4ee1f6efd data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json
55bf627cf6c3a8eca57328cb482a6f86326a8e68 data/exdeorum/recipes/sieve/dust/netherite/blaze_powder.json
33e35a1af71274a675498234b8dcd9834368c717 data/exdeorum/recipes/sieve/dust/netherite/bone_meal.json
+7d60b5931f989c33a629c215de7a3eb30d7504d8 data/exdeorum/recipes/sieve/dust/netherite/certus_quartz_dust.json
0472c65dad0e35df7397dfb2a7b53c5408f5fffc data/exdeorum/recipes/sieve/dust/netherite/glowstone_dust.json
d82f3f9b53a74977cb6ff682013beb150088d61b data/exdeorum/recipes/sieve/dust/netherite/gold_nugget.json
a776c6d6946a02fea8bb346860f525bde2c835de data/exdeorum/recipes/sieve/dust/netherite/grains_of_infinity.json
@@ -634,15 +661,16 @@ a776c6d6946a02fea8bb346860f525bde2c835de data/exdeorum/recipes/sieve/dust/nether
c6a8996009ae3e712a2895001e96c74bb35b224c data/exdeorum/recipes/sieve/dust/netherite/iron_nugget.json
44e98c8ce40d6f72596b009398943cb3ac6ef1b5 data/exdeorum/recipes/sieve/dust/netherite/redstone.json
451f4b0384aea8cc590b50aadf2719dad1681744 data/exdeorum/recipes/sieve/dust/netherite/sky_dust.json
-74dc5a0f222df29970a3d70a1cb89f3525044568 data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json
+20f154dc498320be8037e23b3bdc7b1c483d2f95 data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json
7bed9653a0d40436bd15531ffb15eb84563cfc4d data/exdeorum/recipes/sieve/dust/string/blaze_powder.json
74dc1675b4dc9c0d1d96bc22db0b844f322082b8 data/exdeorum/recipes/sieve/dust/string/bone_meal.json
+cba6919cb727ca93629dc90cf1b743694f061310 data/exdeorum/recipes/sieve/dust/string/certus_quartz_dust.json
e4ead3b21ece1d4470c2000017586c1730acd1bb data/exdeorum/recipes/sieve/dust/string/glowstone_dust.json
91428deb05889718e458b8cd9f6d610f1e652330 data/exdeorum/recipes/sieve/dust/string/grains_of_infinity.json
3272a1f8b4534dd8800b07b7ec826d8f7a4fae65 data/exdeorum/recipes/sieve/dust/string/gunpowder.json
e1a8558df8270d57cbcdf7255b93b40d0c05d33b data/exdeorum/recipes/sieve/dust/string/redstone.json
f4dd212eb788b5e16f13aefca723231e1e52d2ab data/exdeorum/recipes/sieve/dust/string/sky_dust.json
-bde922cc7bd1eec8a2479169dcfa9b5c5d69a27e data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json
+9b5162b466041d395a2428c2c944b0a450c135b6 data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json
9df7ca0a604ab01b33dfe0b342441b9705c9ac9e data/exdeorum/recipes/sieve/gravel/diamond/aluminum_ore_chunk.json
b1b1c231670f2622dc2227fac65aff0ebbd2ea19 data/exdeorum/recipes/sieve/gravel/diamond/amethyst_shard.json
2284efd2a38ecb63f694ba0586c478b26207adce data/exdeorum/recipes/sieve/gravel/diamond/coal.json
@@ -1091,9 +1119,15 @@ adc67fcc8b6ec1ffbb36a26155af01b015842c46 data/exdeorum/recipes/sieve/soul_sand/i
584ece6c099a190de75d1d88431c59e5b930dc33 data/exdeorum/recipes/sieve/soul_sand/string/glowstone_dust.json
efa24078ae05e89dcaf7869ed7973e9688456c90 data/exdeorum/recipes/sieve/soul_sand/string/gunpowder.json
fe809175ad8570b7338b3aff029c040ca0fe5095 data/exdeorum/recipes/sieve/soul_sand/string/quartz.json
+9ab74f344d31bf2bde6ce9c2aad2d739e7b5f234 data/exdeorum/recipes/skyroot_barrel.json
+8e724e34a3107b459a0f6be31c2acd7e9782be97 data/exdeorum/recipes/skyroot_crucible.json
+80b9df7f6ed4c5fb23f5d79cdd7dfbd1a79253e7 data/exdeorum/recipes/skyroot_sieve.json
5fada017bfccd7c672986d436e390ed5799b185a data/exdeorum/recipes/spruce_barrel.json
3a2654f08af2014451533d7168c29ed866c0788f data/exdeorum/recipes/spruce_crucible.json
b4531ee1e1478da1145f099271cff9a9c2069c46 data/exdeorum/recipes/spruce_sieve.json
+d2603bba921c88282b027e8fde26cb6f19293099 data/exdeorum/recipes/starlit_barrel.json
+8746ef0a00dab2133a2fc3a2e2af17030d77112b data/exdeorum/recipes/starlit_crucible.json
+2b8a0cc7d6ba4c1787ac8e0e55cde14ba2d38e6e data/exdeorum/recipes/starlit_sieve.json
5c0a2619af428a12b5669976c8d489e4c87c7a47 data/exdeorum/recipes/stone_barrel.json
0aee7f0e68984984d53cab77fef3296f48a8bbf1 data/exdeorum/recipes/stone_hammer.json
8a3b28ce7f95cb82cd4693caee0cfbd856324fd5 data/exdeorum/recipes/stone_watering_can.json
diff --git a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
index b76edcaa..b8f47d33 100644
--- a/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
+++ b/src/generated/resources/.cache/fc2b6ffd874afaa6f2f20b450921dbfbbc8b86bd
@@ -1,4 +1,4 @@
-// 1.20.1 2023-11-02T20:23:36.9068339 ModKit Item Models for mod 'exdeorum'
+// 1.20.1 2023-11-25T19:04:39.9733295 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
@@ -14,6 +14,9 @@ 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
+aca318964a4af0b54d935faa6c83c8653bdb4296 assets/exdeorum/models/item/bluebright_barrel.json
+6c91566e21ce1d6e97513f49edd6ba986c317b07 assets/exdeorum/models/item/bluebright_crucible.json
+43e534189ef41de5ffe650e27f9e2039a9a8c0b2 assets/exdeorum/models/item/bluebright_sieve.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
@@ -21,6 +24,9 @@ d3f7de31d0fba8578c3e36a16ab39ac0a4d54af9 assets/exdeorum/models/item/calcite_peb
9480047be2df6b628b18f1102699ed8f24de4deb assets/exdeorum/models/item/cherry_crucible.json
8e6c3863c2c6f6fc4039d8157cb9850b193a56be assets/exdeorum/models/item/cherry_sieve.json
4f5fa166847ceacc60abaa11bc70bb947be20c27 assets/exdeorum/models/item/cobalt_ore_chunk.json
+dbd3c1898984f6aab278ffb78760a5a8850da789 assets/exdeorum/models/item/comet_barrel.json
+42ef0c6e4a6f3fd8efcfba24f3ad6fdfb071bdca assets/exdeorum/models/item/comet_crucible.json
+ab256ed56e23571c5f80e930c6dbc90c04b2eb01 assets/exdeorum/models/item/comet_sieve.json
e0a5c7f6e6ec0cd9aa99175d3bca27b88ac299d4 assets/exdeorum/models/item/cooked_silk_worm.json
a24ee1ee422f8460afec77474608b988d52ea42d assets/exdeorum/models/item/copper_ore_chunk.json
d6109df4904776aca591e7dfc8ee8da50664e1df assets/exdeorum/models/item/crimson_barrel.json
@@ -32,6 +38,9 @@ d4e37ab48e6a73807f2f811dbb0243d1e47e43b4 assets/exdeorum/models/item/crook.json
265eca52aabed2fe1a5ec5a1b3e8e7371942d187 assets/exdeorum/models/item/crushed_deepslate.json
670588edd96ed3914a8ebd82788682d20194f10c assets/exdeorum/models/item/crushed_end_stone.json
a81914d35e6d1027d348e54608245ff90cee2793 assets/exdeorum/models/item/crushed_netherrack.json
+b148ebf96adcc2a03fe8a653279b2a7ec70b5272 assets/exdeorum/models/item/crystallized_barrel.json
+0d0cef3fc706933dcd067cb164ebf16847cdfb0b assets/exdeorum/models/item/crystallized_crucible.json
+2bd6f8b0d49d17d253554ea2a338c61e89857a73 assets/exdeorum/models/item/crystallized_sieve.json
fd9b0ecdfacc39df90a9f80e1ed813cf07f7294b assets/exdeorum/models/item/dark_oak_barrel.json
927f88a29eeb6eed779ddbe38ba6d21b1c38939e assets/exdeorum/models/item/dark_oak_crucible.json
8ce9c480e9daa9a7644fea4bcacd51d77fa237df assets/exdeorum/models/item/dark_oak_sieve.json
@@ -43,14 +52,21 @@ b4104cc571bb62de4ec205f1ef1750a1b0217a0f assets/exdeorum/models/item/dead_sieve.
db9d0dbe1ad45be2a238c6e5f6f9d102b436340c assets/exdeorum/models/item/diamond_mesh.json
21810f413414ae5c2430ff0b9da6e01515d608ea assets/exdeorum/models/item/diamond_watering_can.json
ab6a64efa0d9ddcce071a5a1996e46877ebbfff2 assets/exdeorum/models/item/diorite_pebble.json
+304f1ad9612a16f551cec505947a6d6b141fa6a7 assets/exdeorum/models/item/dusk_barrel.json
+4cea858b2c5f72a5e41a73bd24b4fcc81109a758 assets/exdeorum/models/item/dusk_crucible.json
+6248654a9e89e547ff3ff8b81f4ad8a92e9f8e12 assets/exdeorum/models/item/dusk_sieve.json
8edca3e9c453345a5c6c5752096926d943b73ff3 assets/exdeorum/models/item/dust.json
2ba0fb3dcca0337d100198f00996eed6b4f0efa5 assets/exdeorum/models/item/end_cake.json
ddcd1d34048c1aa0462fd7481d664acaf94b6b0e assets/exdeorum/models/item/fir_barrel.json
dc27dff26c3f0853fbbbd763dcda36f43a333361 assets/exdeorum/models/item/fir_crucible.json
073c2854a0fa5840c52c6769f9483e7af17b4022 assets/exdeorum/models/item/fir_sieve.json
d445d763388c9fb9ae4f8e8e8c200d92b3db7628 assets/exdeorum/models/item/flint_mesh.json
+70591469880369ec9586d7e05e19ef9c99c4a484 assets/exdeorum/models/item/frostbright_barrel.json
+d4ad4bfb4a15b1c8639c623fc2a706fc71051e85 assets/exdeorum/models/item/frostbright_crucible.json
+69669ecb115f750607543bc7d6790c1cf5091c1c assets/exdeorum/models/item/frostbright_sieve.json
ff1e2e653bf0dcba9d25bdf6b44cc6118b2f0cc8 assets/exdeorum/models/item/golden_hammer.json
f2138f982e5ee62ca1ed52c3a64a7813fd91ead9 assets/exdeorum/models/item/golden_mesh.json
+dea2cc3a5538e648b67f779b62b650ecea694274 assets/exdeorum/models/item/golden_oak_crucible.json
5b2c04bdc90b653c764c86fd367c29359d82558b assets/exdeorum/models/item/golden_watering_can.json
ee9de2285230b32b42585283793b265c4bb14773 assets/exdeorum/models/item/gold_ore_chunk.json
5c80508cc8b27f55f91efc58efb7955e70dd2592 assets/exdeorum/models/item/granite_pebble.json
@@ -71,6 +87,9 @@ e4719451e58406787ac0d5fb40416b76b2a03002 assets/exdeorum/models/item/jungle_barr
746006f07a42bc786ccab5c6f5849f175e117183 assets/exdeorum/models/item/jungle_crucible.json
eebf19c29a53f46c26a33bb9e2052190c88ecc50 assets/exdeorum/models/item/jungle_sieve.json
5b40d64710f86ff702001cf658e4928f8195f2fa assets/exdeorum/models/item/lead_ore_chunk.json
+c4e7ccf8e6915926936b165ff5980fd533327769 assets/exdeorum/models/item/lunar_barrel.json
+dec903b9466d6cf1ac05effcef8b8439fe524509 assets/exdeorum/models/item/lunar_crucible.json
+59a7338eb3c8c6e4cfe49070cdadca01dec3007a assets/exdeorum/models/item/lunar_sieve.json
3331c8b6920e1ca297578e6b50ea657c7b4a1ae8 assets/exdeorum/models/item/magic_barrel.json
d731d1ae590d603ebcd2b619fa0d60b7426beb70 assets/exdeorum/models/item/magic_crucible.json
a47f968f3ad7d417b636e0d66fc19a9b0411ec41 assets/exdeorum/models/item/magic_sieve.json
@@ -80,6 +99,9 @@ ff89dc05408074da0e9d41bfef91dfe975302403 assets/exdeorum/models/item/mahogany_cr
40db3277bce3f5291d16740d6dd0d96661e04197 assets/exdeorum/models/item/mangrove_barrel.json
9d8b0cd120a6965dcba6cc3753d76b7171bbddbc assets/exdeorum/models/item/mangrove_crucible.json
319ea63595a7f9ceff1818414c8250f777f087f4 assets/exdeorum/models/item/mangrove_sieve.json
+c3f2af2a88cd97148b05efbd6e24fc2558fcc0b8 assets/exdeorum/models/item/maple_barrel.json
+cc045825c562e9133858ce5cfe6e6f1dcb747d8e assets/exdeorum/models/item/maple_crucible.json
+a64e9b9ce91ac6b2f36690a770afc52b8900a614 assets/exdeorum/models/item/maple_sieve.json
d543d3e18bdcf2bf79a762b52cc61a4161124db1 assets/exdeorum/models/item/mycelium_spores.json
1f48b2ce3452ce5d02142c9f663ae7bdb7d1d934 assets/exdeorum/models/item/netherite_hammer.json
248ebed818e2e4a5eb7ce78363f56433a3066646 assets/exdeorum/models/item/netherite_mesh.json
@@ -110,9 +132,15 @@ fd049e432cadca3fc329cc94d2671731c07846d2 assets/exdeorum/models/item/red_archwoo
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
+356d6b050ec773e581baf325d40be4c1e8e7664c assets/exdeorum/models/item/skyroot_barrel.json
+7dac1307076484ed68673eb9d2b362f3f803b22b assets/exdeorum/models/item/skyroot_crucible.json
+0e5391d4a08ace7cc45ab1ef35d1f21c9215fceb assets/exdeorum/models/item/skyroot_sieve.json
a017f369bb5bf2dde7ebc1134fc89f96a725ea8d assets/exdeorum/models/item/spruce_barrel.json
03dac3d7dec527c4a9efbb6c28d23815252b9c39 assets/exdeorum/models/item/spruce_crucible.json
a1acf7f34360d0710f0f0bceb83f5028c4c93710 assets/exdeorum/models/item/spruce_sieve.json
+198585a47db306514cd00258b8151cdfc947302d assets/exdeorum/models/item/starlit_barrel.json
+22da19d8a60d1d2daf8fdaab43fb546607e27216 assets/exdeorum/models/item/starlit_crucible.json
+7e1cc1a117ccdcd1421dbe259e31f07d365d8bd1 assets/exdeorum/models/item/starlit_sieve.json
bf3f5eb4caf2e2d4d4e7f33d1323b2ca5eb29329 assets/exdeorum/models/item/stone_barrel.json
b71e04a912b620bfebfd309bf5d61cee8fba35b9 assets/exdeorum/models/item/stone_hammer.json
9cf157cd0b41f89c9291be6b6383e0494369c6ef assets/exdeorum/models/item/stone_pebble.json
diff --git a/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50 b/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
index 77ed3cbc..6818828e 100644
--- a/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
+++ b/src/generated/resources/.cache/fc41039380e20c0de816b178c0dd0b68eb0f1d50
@@ -1,4 +1,4 @@
-// 1.20.1 2023-11-08T17:22:38.9409847 ModKit Block Models for mod 'exdeorum'
+// 1.20.1 2023-11-25T20:27:03.839694 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
@@ -10,10 +10,16 @@ b3383c530978c5f67d897ba16fda9a2a359482cd assets/exdeorum/blockstates/acacia_siev
261a0bd190db5a031df5387ec5bffebdeeaaf29f assets/exdeorum/blockstates/birch_barrel.json
bddb3a17ea007a27b973dc2844becbd50c287863 assets/exdeorum/blockstates/birch_crucible.json
1c0bd78e0c3f68f472003872803aefe2edc022f9 assets/exdeorum/blockstates/birch_sieve.json
+b0ea38bf2d9ed4f46f62d90d21769ea4b879f5ee assets/exdeorum/blockstates/bluebright_barrel.json
+924f27f6fc972613c418f5ce84748ef2e4f2d78f assets/exdeorum/blockstates/bluebright_crucible.json
+e37bcf6331df41ef4839cd4b225bc162cf19e54a assets/exdeorum/blockstates/bluebright_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
+64713b2fa1ef90662db65c8eae16eb2920a0167e assets/exdeorum/blockstates/comet_barrel.json
+9283c15b68736b006fc39486568aeaca3382235a assets/exdeorum/blockstates/comet_crucible.json
+d8bf04064bb0899c4d19a1e750a5db178ec391dd assets/exdeorum/blockstates/comet_sieve.json
67c6e741ca0043db513343036e03e279e9c7baa6 assets/exdeorum/blockstates/crimson_barrel.json
ed5687c99bd36a19685bbf84251f70c6b8a864df assets/exdeorum/blockstates/crimson_crucible.json
4d5b5d78fb5e510c2d8f7fa7f53eaafbe392624d assets/exdeorum/blockstates/crimson_sieve.json
@@ -21,16 +27,26 @@ ed5687c99bd36a19685bbf84251f70c6b8a864df assets/exdeorum/blockstates/crimson_cru
02946489dea8f7ed1aa421fb5272e085b5914d0f assets/exdeorum/blockstates/crushed_deepslate.json
8d10a465486ff5fcaf4bac892c7b77116b0dce07 assets/exdeorum/blockstates/crushed_end_stone.json
4c54ec759e85353b770c699f8378d3df25166a74 assets/exdeorum/blockstates/crushed_netherrack.json
+ec89ec38d7c35db2e0884b78744aea013b221ffa assets/exdeorum/blockstates/crystallized_barrel.json
+828d49eaad5877f1bc24b51e29129f975b0a148f assets/exdeorum/blockstates/crystallized_crucible.json
+f4df326e1cb314ded2a5fe838fdf0ab5bb784542 assets/exdeorum/blockstates/crystallized_sieve.json
2da1a307b707e9c60df5a3edcd05a0dde1e9b2ad assets/exdeorum/blockstates/dark_oak_barrel.json
23deb16d368141b5bf7719ec37d192877f2b17a2 assets/exdeorum/blockstates/dark_oak_crucible.json
4f3fb658e92bd49bbc1e490c4f43d192a8e1d820 assets/exdeorum/blockstates/dark_oak_sieve.json
ce1cd0da179c016d89de0ad9d7dfa5df4c9b1f31 assets/exdeorum/blockstates/dead_barrel.json
ac1dd0acdb4f05237afa46729bc4092b3d6e3db7 assets/exdeorum/blockstates/dead_crucible.json
796b6e3fa339b6e14b8093309001d71e00391650 assets/exdeorum/blockstates/dead_sieve.json
+d2d7e65ddd67d21a10a2adab1c05484b50456763 assets/exdeorum/blockstates/dusk_barrel.json
+063601bc3eae1d76932ee73c7e6295386f66ed58 assets/exdeorum/blockstates/dusk_crucible.json
+c871751ba1bd02f89da38b9e3224e30fd507afd5 assets/exdeorum/blockstates/dusk_sieve.json
2b3a23c53e758b09237bc1c9fab54ebc4fc9cd0f assets/exdeorum/blockstates/dust.json
d63832f824cac69fa8187df7edc31731a1af8feb assets/exdeorum/blockstates/fir_barrel.json
93ee45895d7606fdd2827302f8b6d880ccfab725 assets/exdeorum/blockstates/fir_crucible.json
b27c1b2144d433b6ffd6d3ed4829dd39b1205c34 assets/exdeorum/blockstates/fir_sieve.json
+6b3f2161c77254ec18c433be64b9e33f53e77522 assets/exdeorum/blockstates/frostbright_barrel.json
+817e0499149faf1436d77cbc523658625eba6d86 assets/exdeorum/blockstates/frostbright_crucible.json
+0381daae48047530301b53a806521ab3fefd0f3b assets/exdeorum/blockstates/frostbright_sieve.json
+ac7f67b0c61ef7c84d6597d2b672efd1caaeeff6 assets/exdeorum/blockstates/golden_oak_crucible.json
8de6d8e7ec696d1f65cac9a8e0593459d17447c0 assets/exdeorum/blockstates/green_archwood_crucible.json
be6c0b5ac28f356b5864f9e39c0646b68ca6ffd7 assets/exdeorum/blockstates/hellbark_barrel.json
9f7bf54fc13cb566d3d1395791638826fb6003b6 assets/exdeorum/blockstates/hellbark_crucible.json
@@ -41,6 +57,9 @@ f23a84b813f91a2e06513869e80ce9e3dc36865d assets/exdeorum/blockstates/jacaranda_s
d7c007d5985f8b3f58bbc272f61c925f63b895c2 assets/exdeorum/blockstates/jungle_barrel.json
1bb680b56e473a9579d3b4ab580a463aa7320bce assets/exdeorum/blockstates/jungle_crucible.json
b110cceb998d70afeb7a3e86f7221823baca13f1 assets/exdeorum/blockstates/jungle_sieve.json
+7cf1be09599be68c4d4e647a1cd8d53bee0f1d9f assets/exdeorum/blockstates/lunar_barrel.json
+9400f7a3cc0e68a916a19f313edb2058c424c350 assets/exdeorum/blockstates/lunar_crucible.json
+281028e0bd8851e2c71dbf2fcd3cd8361c8fbafd assets/exdeorum/blockstates/lunar_sieve.json
96ae0b56b359ccb043e30a39c5a76c93cc35e1dd assets/exdeorum/blockstates/magic_barrel.json
b2e3e3d75547a2a7dfc6c1424d2258256a05abf2 assets/exdeorum/blockstates/magic_crucible.json
f1203d261298616fdebfd668d5a65eb38c4eec0a assets/exdeorum/blockstates/magic_sieve.json
@@ -50,6 +69,9 @@ e98b18c8e612f4f7b28ad27118fe561b479d7b31 assets/exdeorum/blockstates/mahogany_si
a36247640a8c8d753629c0932db2a6f1fe902242 assets/exdeorum/blockstates/mangrove_barrel.json
acfaab8a50091b22983e613fad447a1ba58cb563 assets/exdeorum/blockstates/mangrove_crucible.json
bae1185e471e1fd7593558d45f325890d3ac22af assets/exdeorum/blockstates/mangrove_sieve.json
+eae290513fb18b4939057ff9d2b5c1c01c27d24f assets/exdeorum/blockstates/maple_barrel.json
+74c0fe5164c6286a4ea83b7c759b20b53a5ad23f assets/exdeorum/blockstates/maple_crucible.json
+9f7f937fecf458a6338bef7df396e5261ddbbcdb assets/exdeorum/blockstates/maple_sieve.json
796c87e3943774050d577bdad4fb43f01d430a21 assets/exdeorum/blockstates/oak_barrel.json
426eb8511dae435c2bcf78343cf7552c7bddcb38 assets/exdeorum/blockstates/oak_crucible.json
119a076801031739f1b4323050260c0f2af7cb94 assets/exdeorum/blockstates/oak_sieve.json
@@ -62,9 +84,15 @@ e45eb114f51881dc5f031763d6f48739b6a2c2c9 assets/exdeorum/blockstates/redwood_bar
1ce3a30ff94133de2a4e8456d952c625ac310a9d assets/exdeorum/blockstates/redwood_crucible.json
1d1b612ab74c57672b85120f0d4acf3684c62295 assets/exdeorum/blockstates/redwood_sieve.json
6d5f0101d2673a8978446db56296facb2937ebe2 assets/exdeorum/blockstates/red_archwood_crucible.json
+deda333b34f61a146fac1e4a1dd072da3799e886 assets/exdeorum/blockstates/skyroot_barrel.json
+b40658da364ec9e43fbdc846e5920f41826d07ee assets/exdeorum/blockstates/skyroot_crucible.json
+ed8fc337a93e03f724f17ff81154717b7255448c assets/exdeorum/blockstates/skyroot_sieve.json
05fed7f7136bdb949fc12b3a3f6c89c55778a177 assets/exdeorum/blockstates/spruce_barrel.json
44010d261124a2cda9ca8ed887aba9f766b3e71f assets/exdeorum/blockstates/spruce_crucible.json
4782482871677bfe372816bc8f17dbdfc9eb21f9 assets/exdeorum/blockstates/spruce_sieve.json
+b3dde41445111133fd5eb760c95fad3cece54398 assets/exdeorum/blockstates/starlit_barrel.json
+4eb0f96c61e4308ea518cddab1756d74424290b8 assets/exdeorum/blockstates/starlit_crucible.json
+b10f9b9055f167bb2de9c521c942ab3a9e25ee33 assets/exdeorum/blockstates/starlit_sieve.json
fc4d16f61cb43aeff11df5a91ca40b5225cd4617 assets/exdeorum/blockstates/stone_barrel.json
5e65863299c88a5545a9b0cf689459c3f3fcbfb9 assets/exdeorum/blockstates/umbran_barrel.json
a231d5ebaf7f4bdc793afab3809221a71ae31e85 assets/exdeorum/blockstates/umbran_crucible.json
@@ -87,10 +115,16 @@ e80280c3b40a237cb37d7a7281fff2d829354791 assets/exdeorum/models/block/bamboo_cru
bcf2d8e6879306f11a5596f0cad2908239895cb5 assets/exdeorum/models/block/birch_barrel.json
29835cbb3ad08f6e8f3701372d449cd14d220e12 assets/exdeorum/models/block/birch_crucible.json
5b3ea18ae87c74a50e7073199ee1da4d17cca24b assets/exdeorum/models/block/birch_sieve.json
+ab13621f6caf716da64954b36e240b28355fb827 assets/exdeorum/models/block/bluebright_barrel.json
+4bb6432971cc98f60e762cbfa97d33115e363aec assets/exdeorum/models/block/bluebright_crucible.json
+671eb85db582e88526fb094c03f3dd8298c19072 assets/exdeorum/models/block/bluebright_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
+85e0dce2ba7e558007e9ba34b43a1b3c29f329a0 assets/exdeorum/models/block/comet_barrel.json
+8989a71ac3dafa4b8e3dde539a4c503b5eddc1f6 assets/exdeorum/models/block/comet_crucible.json
+c8999b232152bf8b207a053ce4504a1344ec72cf assets/exdeorum/models/block/comet_sieve.json
324f6871a85dc8e050e69cfe01efda5d286d3d29 assets/exdeorum/models/block/crimson_barrel.json
75c5fa5eb3bb4e50dcde0f08e2a6fe7ba02f6f19 assets/exdeorum/models/block/crimson_crucible.json
42d62c6d3f7e59550bf84ffd4648ce4ee4f82bb1 assets/exdeorum/models/block/crimson_sieve.json
@@ -98,16 +132,26 @@ faab9f9cc9d1e7e780238c2333b43bedad5699d0 assets/exdeorum/models/block/cherry_cru
a2af67f20500b713eca8f7fe16172aa63a2247ef assets/exdeorum/models/block/crushed_deepslate.json
771591ba50a804b9e40f5677f8a342fdb4cc7f2f assets/exdeorum/models/block/crushed_end_stone.json
7e365e2125de3671a2463d65da8ecdb49dde7349 assets/exdeorum/models/block/crushed_netherrack.json
+06ece8e0db154883fbb2da5960c354e679bbe6b3 assets/exdeorum/models/block/crystallized_barrel.json
+6949251c7416e86c44eaf5ece200d52ce8895361 assets/exdeorum/models/block/crystallized_crucible.json
+82658256eb5ff8e541baf5a94a29cb288d63ca2e assets/exdeorum/models/block/crystallized_sieve.json
de9aa8b53fa49340ee517f1ba0d3fbdc438803b8 assets/exdeorum/models/block/dark_oak_barrel.json
ff1a89eceac7e45fd607e185d7866257d98484ae assets/exdeorum/models/block/dark_oak_crucible.json
ac71aabed761bad18215a7cdb9cb48467f27124d assets/exdeorum/models/block/dark_oak_sieve.json
a63ba3d05ccd7595d077c94a4c0b89ff5ae7661d assets/exdeorum/models/block/dead_barrel.json
cb84b3ac106da115c219eb8e395c270a8826c87c assets/exdeorum/models/block/dead_crucible.json
41224086b5a62452cfacbfd4027a903223e183c7 assets/exdeorum/models/block/dead_sieve.json
+fcd0116ea7d65137772ced72276ed8891d02820e assets/exdeorum/models/block/dusk_barrel.json
+b339a135241140f7c75bceb95d645d6fe9fa9d2d assets/exdeorum/models/block/dusk_crucible.json
+21b88dd174aa6401b338a63d6e331c4681837cb1 assets/exdeorum/models/block/dusk_sieve.json
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
+17c506009f272dc1a4bc0c14151a6a3104dcc4cb assets/exdeorum/models/block/frostbright_barrel.json
+d7e3028a3b120cbd73443bdfa46cbbb9d7fa96ea assets/exdeorum/models/block/frostbright_crucible.json
+2f0d769554728208a3329b576d47371395934926 assets/exdeorum/models/block/frostbright_sieve.json
+9b74decab34b17ee0244f7137b837abf5b5e9277 assets/exdeorum/models/block/golden_oak_crucible.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
@@ -118,6 +162,9 @@ d765115bebd6325784d0f6af834384b02e31e457 assets/exdeorum/models/block/jacaranda_
9866ea51238290ad4047a8f465cca265a031ba2e assets/exdeorum/models/block/jungle_barrel.json
859ecb3e78e7397ccb6215da9847a13bc18be585 assets/exdeorum/models/block/jungle_crucible.json
b2f1598de1a629c7188abff444e55656a52c980a assets/exdeorum/models/block/jungle_sieve.json
+c04adf596ef98c4846afc45d9784a994ec778e7a assets/exdeorum/models/block/lunar_barrel.json
+f4a70aee73d2db59e4e8a682436d262fb60731d1 assets/exdeorum/models/block/lunar_crucible.json
+2400b92b65fa4fe3f1930862f0461aab5592cdf9 assets/exdeorum/models/block/lunar_sieve.json
ab1ac99442f476a3c25192c596d2c981a7e40599 assets/exdeorum/models/block/magic_barrel.json
5268cff33d51bbcf94d1a77a2c55daba67401f91 assets/exdeorum/models/block/magic_crucible.json
0e1c298f02ba19e4af29af000e5f31f9e6e58930 assets/exdeorum/models/block/magic_sieve.json
@@ -127,6 +174,9 @@ ab60983ae0982770c32b5fabb6658fb3d71ad1e5 assets/exdeorum/models/block/mahogany_s
a17a9e140df3b806392140fdef1143baf5c48be1 assets/exdeorum/models/block/mangrove_barrel.json
bce011e499cf4b2228eacfe9b36b9c208be87fcf assets/exdeorum/models/block/mangrove_crucible.json
21d00d555f5c784b862e55ef4553aafd69397c09 assets/exdeorum/models/block/mangrove_sieve.json
+0386b82c010e1bbadbef042df45d4f37b1a00768 assets/exdeorum/models/block/maple_barrel.json
+be1673d85dccb87cf8b1d09ef0740c9542c2436f assets/exdeorum/models/block/maple_crucible.json
+e50acc263580b7b0dd849c6798efe1ae93b86965 assets/exdeorum/models/block/maple_sieve.json
ab7dc4690a875587d3db6f7434c17bcf1f791ce5 assets/exdeorum/models/block/oak_barrel.json
c38c960b89de5cf12880ade53b2e5d93353999a3 assets/exdeorum/models/block/oak_crucible.json
e99bd2a977838d228af9431c39adbf9209b21484 assets/exdeorum/models/block/oak_sieve.json
@@ -139,9 +189,15 @@ c61e5a082d800671fe55031495511fa716f99183 assets/exdeorum/models/block/porcelain_
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
+138e98669ad31c40b6e5d8173f7d53d0788da816 assets/exdeorum/models/block/skyroot_barrel.json
+f6881719d1653c416c9fe73960d6901c8609075a assets/exdeorum/models/block/skyroot_crucible.json
+2b52d49b10d6ae33105ead4260c3237a85cb58e6 assets/exdeorum/models/block/skyroot_sieve.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
+391d08630ba8c4484a29d4cea4d661bea87375b3 assets/exdeorum/models/block/starlit_barrel.json
+ce012fd1b42d0628551e64e751fb8a866c8700ef assets/exdeorum/models/block/starlit_crucible.json
+1199e9ebce21cf700e8d2f64c88214c0533c065c assets/exdeorum/models/block/starlit_sieve.json
a1bfa20c0c4314fdfd75b2f04533fef81a949bcd assets/exdeorum/models/block/stone_barrel.json
50cee371b0c38beff561b772df5fb6b5e824c6a6 assets/exdeorum/models/block/umbran_barrel.json
a9141f4555651c7055f573ee06e72067c91cb47a assets/exdeorum/models/block/umbran_crucible.json
diff --git a/src/generated/resources/assets/exdeorum/blockstates/bluebright_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/bluebright_barrel.json
new file mode 100644
index 00000000..35f58a2a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/bluebright_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/bluebright_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/bluebright_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/bluebright_crucible.json
new file mode 100644
index 00000000..9d550883
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/bluebright_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/bluebright_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/bluebright_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/bluebright_sieve.json
new file mode 100644
index 00000000..cda8eb84
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/bluebright_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/bluebright_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/comet_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/comet_barrel.json
new file mode 100644
index 00000000..73b81af5
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/comet_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/comet_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/comet_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/comet_crucible.json
new file mode 100644
index 00000000..d2cd549d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/comet_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/comet_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/comet_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/comet_sieve.json
new file mode 100644
index 00000000..72821d83
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/comet_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/comet_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/crystallized_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/crystallized_barrel.json
new file mode 100644
index 00000000..e8499daf
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/crystallized_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/crystallized_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/crystallized_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/crystallized_crucible.json
new file mode 100644
index 00000000..08cb050e
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/crystallized_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/crystallized_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/crystallized_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/crystallized_sieve.json
new file mode 100644
index 00000000..232cbfd7
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/crystallized_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/crystallized_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/dusk_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/dusk_barrel.json
new file mode 100644
index 00000000..cedd038f
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/dusk_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/dusk_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/dusk_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/dusk_crucible.json
new file mode 100644
index 00000000..e450f52a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/dusk_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/dusk_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/dusk_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/dusk_sieve.json
new file mode 100644
index 00000000..94c7450e
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/dusk_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/dusk_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/frostbright_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/frostbright_barrel.json
new file mode 100644
index 00000000..60b9b588
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/frostbright_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/frostbright_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/frostbright_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/frostbright_crucible.json
new file mode 100644
index 00000000..2179bc82
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/frostbright_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/frostbright_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/frostbright_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/frostbright_sieve.json
new file mode 100644
index 00000000..1f927b79
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/frostbright_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/frostbright_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/golden_oak_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/golden_oak_crucible.json
new file mode 100644
index 00000000..86a4cb26
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/golden_oak_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/golden_oak_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/lunar_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/lunar_barrel.json
new file mode 100644
index 00000000..1a618c9c
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/lunar_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/lunar_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/lunar_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/lunar_crucible.json
new file mode 100644
index 00000000..c387035b
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/lunar_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/lunar_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/lunar_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/lunar_sieve.json
new file mode 100644
index 00000000..b1bbe203
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/lunar_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/lunar_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/maple_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/maple_barrel.json
new file mode 100644
index 00000000..fafb13f1
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/maple_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/maple_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/maple_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/maple_crucible.json
new file mode 100644
index 00000000..492bf632
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/maple_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/maple_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/maple_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/maple_sieve.json
new file mode 100644
index 00000000..205dd6de
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/maple_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/maple_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/skyroot_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/skyroot_barrel.json
new file mode 100644
index 00000000..0299f640
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/skyroot_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/skyroot_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/skyroot_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/skyroot_crucible.json
new file mode 100644
index 00000000..79f3b43f
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/skyroot_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/skyroot_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/skyroot_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/skyroot_sieve.json
new file mode 100644
index 00000000..6da20fb2
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/skyroot_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/skyroot_sieve"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/starlit_barrel.json b/src/generated/resources/assets/exdeorum/blockstates/starlit_barrel.json
new file mode 100644
index 00000000..9237ce7d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/starlit_barrel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/starlit_barrel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/starlit_crucible.json b/src/generated/resources/assets/exdeorum/blockstates/starlit_crucible.json
new file mode 100644
index 00000000..0fe8edf6
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/starlit_crucible.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/starlit_crucible"
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/blockstates/starlit_sieve.json b/src/generated/resources/assets/exdeorum/blockstates/starlit_sieve.json
new file mode 100644
index 00000000..8a360e60
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/blockstates/starlit_sieve.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "exdeorum:block/starlit_sieve"
+ }
+ }
+}
\ 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 0037e524..acfea613 100644
--- a/src/generated/resources/assets/exdeorum/lang/en_us.json
+++ b/src/generated/resources/assets/exdeorum/lang/en_us.json
@@ -21,9 +21,15 @@
"block.exdeorum.birch_crucible": "Birch Crucible",
"block.exdeorum.birch_sieve": "Birch Sieve",
"block.exdeorum.blue_archwood_crucible": "Cascading Archwood Crucible",
+ "block.exdeorum.bluebright_barrel": "Bluebright Barrel",
+ "block.exdeorum.bluebright_crucible": "Bluebright Crucible",
+ "block.exdeorum.bluebright_sieve": "Bluebright Sieve",
"block.exdeorum.cherry_barrel": "Cherry Barrel",
"block.exdeorum.cherry_crucible": "Cherry Crucible",
"block.exdeorum.cherry_sieve": "Cherry Sieve",
+ "block.exdeorum.comet_barrel": "Comet Barrel",
+ "block.exdeorum.comet_crucible": "Comet Crucible",
+ "block.exdeorum.comet_sieve": "Comet Sieve",
"block.exdeorum.crimson_barrel": "Crimson Barrel",
"block.exdeorum.crimson_crucible": "Crimson Crucible",
"block.exdeorum.crimson_sieve": "Crimson Sieve",
@@ -31,17 +37,27 @@
"block.exdeorum.crushed_deepslate": "Crushed Deepslate",
"block.exdeorum.crushed_end_stone": "Crushed End Stone",
"block.exdeorum.crushed_netherrack": "Crushed Netherrack",
+ "block.exdeorum.crystallized_barrel": "Crystallized Barrel",
+ "block.exdeorum.crystallized_crucible": "Crystallized Crucible",
+ "block.exdeorum.crystallized_sieve": "Crystallized Sieve",
"block.exdeorum.dark_oak_barrel": "Dark Oak Barrel",
"block.exdeorum.dark_oak_crucible": "Dark Oak Crucible",
"block.exdeorum.dark_oak_sieve": "Dark Oak Sieve",
"block.exdeorum.dead_barrel": "Dead Barrel",
"block.exdeorum.dead_crucible": "Dead Crucible",
"block.exdeorum.dead_sieve": "Dead Sieve",
+ "block.exdeorum.dusk_barrel": "Dusk Barrel",
+ "block.exdeorum.dusk_crucible": "Dusk Crucible",
+ "block.exdeorum.dusk_sieve": "Dusk Sieve",
"block.exdeorum.dust": "Dust",
"block.exdeorum.end_cake": "End Cake",
"block.exdeorum.fir_barrel": "Fir Barrel",
"block.exdeorum.fir_crucible": "Fir Crucible",
"block.exdeorum.fir_sieve": "Fir Sieve",
+ "block.exdeorum.frostbright_barrel": "Frostbright Barrel",
+ "block.exdeorum.frostbright_crucible": "Frostbright Crucible",
+ "block.exdeorum.frostbright_sieve": "Frostbright Sieve",
+ "block.exdeorum.golden_oak_crucible": "Golden Oak Crucible",
"block.exdeorum.green_archwood_crucible": "Flourishing Archwood Crucible",
"block.exdeorum.hellbark_barrel": "Hellbark Barrel",
"block.exdeorum.hellbark_crucible": "Hellbark Crucible",
@@ -53,6 +69,9 @@
"block.exdeorum.jungle_barrel": "Jungle Barrel",
"block.exdeorum.jungle_crucible": "Jungle Crucible",
"block.exdeorum.jungle_sieve": "Jungle Sieve",
+ "block.exdeorum.lunar_barrel": "Lunar Barrel",
+ "block.exdeorum.lunar_crucible": "Lunar Crucible",
+ "block.exdeorum.lunar_sieve": "Lunar Sieve",
"block.exdeorum.magic_barrel": "Magic Barrel",
"block.exdeorum.magic_crucible": "Magic Crucible",
"block.exdeorum.magic_sieve": "Magic Sieve",
@@ -62,6 +81,9 @@
"block.exdeorum.mangrove_barrel": "Mangrove Barrel",
"block.exdeorum.mangrove_crucible": "Mangrove Crucible",
"block.exdeorum.mangrove_sieve": "Mangrove Sieve",
+ "block.exdeorum.maple_barrel": "Maple Barrel",
+ "block.exdeorum.maple_crucible": "Maple Crucible",
+ "block.exdeorum.maple_sieve": "Maple Sieve",
"block.exdeorum.oak_barrel": "Oak Barrel",
"block.exdeorum.oak_crucible": "Oak Crucible",
"block.exdeorum.oak_sieve": "Oak Sieve",
@@ -74,9 +96,15 @@
"block.exdeorum.redwood_barrel": "Redwood Barrel",
"block.exdeorum.redwood_crucible": "Redwood Crucible",
"block.exdeorum.redwood_sieve": "Redwood Sieve",
+ "block.exdeorum.skyroot_barrel": "Skyroot Barrel",
+ "block.exdeorum.skyroot_crucible": "Skyroot Crucible",
+ "block.exdeorum.skyroot_sieve": "Skyroot Sieve",
"block.exdeorum.spruce_barrel": "Spruce Barrel",
"block.exdeorum.spruce_crucible": "Spruce Crucible",
"block.exdeorum.spruce_sieve": "Spruce Sieve",
+ "block.exdeorum.starlit_barrel": "Starlit Barrel",
+ "block.exdeorum.starlit_crucible": "Starlit Crucible",
+ "block.exdeorum.starlit_sieve": "Starlit Sieve",
"block.exdeorum.stone_barrel": "Stone Barrel",
"block.exdeorum.umbran_barrel": "Umbran Barrel",
"block.exdeorum.umbran_crucible": "Umbran Crucible",
@@ -94,6 +122,8 @@
"gui.exdeorum.category.barrel_compost": "Barrel Compost",
"gui.exdeorum.category.barrel_compost.volume": "Compost: %s",
"gui.exdeorum.category.barrel_mixing": "Barrel Mixing",
+ "gui.exdeorum.category.crucible_heat_source": "Crucible Heat Sources",
+ "gui.exdeorum.category.crucible_heat_source.multiplier": "Melt Rate: %sx",
"gui.exdeorum.category.hammer": "Hammer",
"gui.exdeorum.category.lava_crucible": "Lava Crucible",
"gui.exdeorum.category.sieve": "Sieve",
diff --git a/src/generated/resources/assets/exdeorum/models/block/bluebright_barrel.json b/src/generated/resources/assets/exdeorum/models/block/bluebright_barrel.json
new file mode 100644
index 00000000..d496d729
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/bluebright_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/bluebright_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/bluebright_crucible.json b/src/generated/resources/assets/exdeorum/models/block/bluebright_crucible.json
new file mode 100644
index 00000000..c0bc8766
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/bluebright_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/bluebright_log_side",
+ "inside": "blue_skies:block/wood/bluebright_log_side",
+ "side": "blue_skies:block/wood/bluebright_log_side",
+ "top": "blue_skies:block/wood/bluebright_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/bluebright_sieve.json b/src/generated/resources/assets/exdeorum/models/block/bluebright_sieve.json
new file mode 100644
index 00000000..9d74490e
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/bluebright_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/bluebright_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/comet_barrel.json b/src/generated/resources/assets/exdeorum/models/block/comet_barrel.json
new file mode 100644
index 00000000..d19e0184
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/comet_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/comet_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/comet_crucible.json b/src/generated/resources/assets/exdeorum/models/block/comet_crucible.json
new file mode 100644
index 00000000..6a5a5f85
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/comet_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/comet_log_side",
+ "inside": "blue_skies:block/wood/comet_log_side",
+ "side": "blue_skies:block/wood/comet_log_side",
+ "top": "blue_skies:block/wood/comet_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/comet_sieve.json b/src/generated/resources/assets/exdeorum/models/block/comet_sieve.json
new file mode 100644
index 00000000..a96caf5c
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/comet_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/comet_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/crystallized_barrel.json b/src/generated/resources/assets/exdeorum/models/block/crystallized_barrel.json
new file mode 100644
index 00000000..c4f0433f
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/crystallized_barrel.json
@@ -0,0 +1,7 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "render_type": "minecraft:translucent",
+ "textures": {
+ "barrel": "blue_skies:block/wood/crystallized_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/crystallized_crucible.json b/src/generated/resources/assets/exdeorum/models/block/crystallized_crucible.json
new file mode 100644
index 00000000..a590af23
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/crystallized_crucible.json
@@ -0,0 +1,10 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "render_type": "minecraft:translucent",
+ "textures": {
+ "bottom": "blue_skies:block/wood/crystallized_log_side",
+ "inside": "blue_skies:block/wood/crystallized_log_side",
+ "side": "blue_skies:block/wood/crystallized_log_side",
+ "top": "blue_skies:block/wood/crystallized_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/crystallized_sieve.json b/src/generated/resources/assets/exdeorum/models/block/crystallized_sieve.json
new file mode 100644
index 00000000..9068cb0a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/crystallized_sieve.json
@@ -0,0 +1,7 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "render_type": "minecraft:translucent",
+ "textures": {
+ "texture": "blue_skies:block/wood/crystallized_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/dusk_barrel.json b/src/generated/resources/assets/exdeorum/models/block/dusk_barrel.json
new file mode 100644
index 00000000..58c268e4
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/dusk_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/dusk_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/dusk_crucible.json b/src/generated/resources/assets/exdeorum/models/block/dusk_crucible.json
new file mode 100644
index 00000000..ec6209f1
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/dusk_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/dusk_log_side",
+ "inside": "blue_skies:block/wood/dusk_log_side",
+ "side": "blue_skies:block/wood/dusk_log_side",
+ "top": "blue_skies:block/wood/dusk_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/dusk_sieve.json b/src/generated/resources/assets/exdeorum/models/block/dusk_sieve.json
new file mode 100644
index 00000000..de326c57
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/dusk_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/dusk_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/frostbright_barrel.json b/src/generated/resources/assets/exdeorum/models/block/frostbright_barrel.json
new file mode 100644
index 00000000..ce82ff9b
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/frostbright_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/frostbright_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/frostbright_crucible.json b/src/generated/resources/assets/exdeorum/models/block/frostbright_crucible.json
new file mode 100644
index 00000000..e92d2517
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/frostbright_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/frostbright_log_side",
+ "inside": "blue_skies:block/wood/frostbright_log_side",
+ "side": "blue_skies:block/wood/frostbright_log_side",
+ "top": "blue_skies:block/wood/frostbright_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/frostbright_sieve.json b/src/generated/resources/assets/exdeorum/models/block/frostbright_sieve.json
new file mode 100644
index 00000000..5747256e
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/frostbright_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/frostbright_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/golden_oak_crucible.json b/src/generated/resources/assets/exdeorum/models/block/golden_oak_crucible.json
new file mode 100644
index 00000000..2d8d0516
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/golden_oak_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "aether:block/natural/golden_oak_log",
+ "inside": "aether:block/natural/golden_oak_log",
+ "side": "aether:block/natural/golden_oak_log",
+ "top": "aether:block/natural/golden_oak_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/lunar_barrel.json b/src/generated/resources/assets/exdeorum/models/block/lunar_barrel.json
new file mode 100644
index 00000000..f87fbbbd
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/lunar_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/lunar_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/lunar_crucible.json b/src/generated/resources/assets/exdeorum/models/block/lunar_crucible.json
new file mode 100644
index 00000000..1a3f8e41
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/lunar_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/lunar_log_side",
+ "inside": "blue_skies:block/wood/lunar_log_side",
+ "side": "blue_skies:block/wood/lunar_log_side",
+ "top": "blue_skies:block/wood/lunar_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/lunar_sieve.json b/src/generated/resources/assets/exdeorum/models/block/lunar_sieve.json
new file mode 100644
index 00000000..e70b2367
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/lunar_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/lunar_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/maple_barrel.json b/src/generated/resources/assets/exdeorum/models/block/maple_barrel.json
new file mode 100644
index 00000000..f15de509
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/maple_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/maple_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/maple_crucible.json b/src/generated/resources/assets/exdeorum/models/block/maple_crucible.json
new file mode 100644
index 00000000..05b4197a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/maple_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/maple_log_side",
+ "inside": "blue_skies:block/wood/maple_log_side",
+ "side": "blue_skies:block/wood/maple_log_side",
+ "top": "blue_skies:block/wood/maple_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/maple_sieve.json b/src/generated/resources/assets/exdeorum/models/block/maple_sieve.json
new file mode 100644
index 00000000..85d1041b
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/maple_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/maple_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/skyroot_barrel.json b/src/generated/resources/assets/exdeorum/models/block/skyroot_barrel.json
new file mode 100644
index 00000000..62af4f8f
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/skyroot_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "aether:block/construction/skyroot_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/skyroot_crucible.json b/src/generated/resources/assets/exdeorum/models/block/skyroot_crucible.json
new file mode 100644
index 00000000..bb70b115
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/skyroot_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "aether:block/natural/skyroot_log",
+ "inside": "aether:block/natural/skyroot_log",
+ "side": "aether:block/natural/skyroot_log",
+ "top": "aether:block/natural/skyroot_log"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/skyroot_sieve.json b/src/generated/resources/assets/exdeorum/models/block/skyroot_sieve.json
new file mode 100644
index 00000000..fcb13c3c
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/skyroot_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "aether:block/construction/skyroot_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/starlit_barrel.json b/src/generated/resources/assets/exdeorum/models/block/starlit_barrel.json
new file mode 100644
index 00000000..c82e51aa
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/starlit_barrel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_barrel",
+ "textures": {
+ "barrel": "blue_skies:block/wood/starlit_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/starlit_crucible.json b/src/generated/resources/assets/exdeorum/models/block/starlit_crucible.json
new file mode 100644
index 00000000..700a8646
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/starlit_crucible.json
@@ -0,0 +1,9 @@
+{
+ "parent": "exdeorum:block/template_crucible",
+ "textures": {
+ "bottom": "blue_skies:block/wood/starlit_log_side",
+ "inside": "blue_skies:block/wood/starlit_log_side",
+ "side": "blue_skies:block/wood/starlit_log_side",
+ "top": "blue_skies:block/wood/starlit_log_side"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/block/starlit_sieve.json b/src/generated/resources/assets/exdeorum/models/block/starlit_sieve.json
new file mode 100644
index 00000000..ce59dd39
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/block/starlit_sieve.json
@@ -0,0 +1,6 @@
+{
+ "parent": "exdeorum:block/template_sieve",
+ "textures": {
+ "texture": "blue_skies:block/wood/starlit_planks"
+ }
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/bluebright_barrel.json b/src/generated/resources/assets/exdeorum/models/item/bluebright_barrel.json
new file mode 100644
index 00000000..f9b6178c
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/bluebright_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/bluebright_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/bluebright_crucible.json b/src/generated/resources/assets/exdeorum/models/item/bluebright_crucible.json
new file mode 100644
index 00000000..e61b021a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/bluebright_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/bluebright_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/bluebright_sieve.json b/src/generated/resources/assets/exdeorum/models/item/bluebright_sieve.json
new file mode 100644
index 00000000..c5893ae5
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/bluebright_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/bluebright_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/comet_barrel.json b/src/generated/resources/assets/exdeorum/models/item/comet_barrel.json
new file mode 100644
index 00000000..847cf50a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/comet_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/comet_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/comet_crucible.json b/src/generated/resources/assets/exdeorum/models/item/comet_crucible.json
new file mode 100644
index 00000000..ade9882a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/comet_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/comet_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/comet_sieve.json b/src/generated/resources/assets/exdeorum/models/item/comet_sieve.json
new file mode 100644
index 00000000..1ed04f44
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/comet_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/comet_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/crystallized_barrel.json b/src/generated/resources/assets/exdeorum/models/item/crystallized_barrel.json
new file mode 100644
index 00000000..7ed7d2d9
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/crystallized_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/crystallized_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/crystallized_crucible.json b/src/generated/resources/assets/exdeorum/models/item/crystallized_crucible.json
new file mode 100644
index 00000000..099e671b
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/crystallized_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/crystallized_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/crystallized_sieve.json b/src/generated/resources/assets/exdeorum/models/item/crystallized_sieve.json
new file mode 100644
index 00000000..b915f732
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/crystallized_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/crystallized_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/dusk_barrel.json b/src/generated/resources/assets/exdeorum/models/item/dusk_barrel.json
new file mode 100644
index 00000000..f261ce8f
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/dusk_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/dusk_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/dusk_crucible.json b/src/generated/resources/assets/exdeorum/models/item/dusk_crucible.json
new file mode 100644
index 00000000..a007da04
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/dusk_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/dusk_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/dusk_sieve.json b/src/generated/resources/assets/exdeorum/models/item/dusk_sieve.json
new file mode 100644
index 00000000..cd08e362
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/dusk_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/dusk_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/frostbright_barrel.json b/src/generated/resources/assets/exdeorum/models/item/frostbright_barrel.json
new file mode 100644
index 00000000..b7352aa3
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/frostbright_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/frostbright_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/frostbright_crucible.json b/src/generated/resources/assets/exdeorum/models/item/frostbright_crucible.json
new file mode 100644
index 00000000..1f7b2fb0
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/frostbright_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/frostbright_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/frostbright_sieve.json b/src/generated/resources/assets/exdeorum/models/item/frostbright_sieve.json
new file mode 100644
index 00000000..272c188a
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/frostbright_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/frostbright_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/golden_oak_crucible.json b/src/generated/resources/assets/exdeorum/models/item/golden_oak_crucible.json
new file mode 100644
index 00000000..dfa8d7fe
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/golden_oak_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/golden_oak_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/lunar_barrel.json b/src/generated/resources/assets/exdeorum/models/item/lunar_barrel.json
new file mode 100644
index 00000000..06dc0660
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/lunar_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/lunar_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/lunar_crucible.json b/src/generated/resources/assets/exdeorum/models/item/lunar_crucible.json
new file mode 100644
index 00000000..c1d649b7
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/lunar_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/lunar_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/lunar_sieve.json b/src/generated/resources/assets/exdeorum/models/item/lunar_sieve.json
new file mode 100644
index 00000000..c164e7ee
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/lunar_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/lunar_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/maple_barrel.json b/src/generated/resources/assets/exdeorum/models/item/maple_barrel.json
new file mode 100644
index 00000000..992ff64d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/maple_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/maple_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/maple_crucible.json b/src/generated/resources/assets/exdeorum/models/item/maple_crucible.json
new file mode 100644
index 00000000..41c607af
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/maple_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/maple_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/maple_sieve.json b/src/generated/resources/assets/exdeorum/models/item/maple_sieve.json
new file mode 100644
index 00000000..7a5c7d10
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/maple_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/maple_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/skyroot_barrel.json b/src/generated/resources/assets/exdeorum/models/item/skyroot_barrel.json
new file mode 100644
index 00000000..576911f9
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/skyroot_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/skyroot_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/skyroot_crucible.json b/src/generated/resources/assets/exdeorum/models/item/skyroot_crucible.json
new file mode 100644
index 00000000..6c6aae3d
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/skyroot_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/skyroot_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/skyroot_sieve.json b/src/generated/resources/assets/exdeorum/models/item/skyroot_sieve.json
new file mode 100644
index 00000000..35fe9384
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/skyroot_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/skyroot_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/starlit_barrel.json b/src/generated/resources/assets/exdeorum/models/item/starlit_barrel.json
new file mode 100644
index 00000000..9cdf5f32
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/starlit_barrel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/starlit_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/starlit_crucible.json b/src/generated/resources/assets/exdeorum/models/item/starlit_crucible.json
new file mode 100644
index 00000000..45ec4bf0
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/starlit_crucible.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/starlit_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/assets/exdeorum/models/item/starlit_sieve.json b/src/generated/resources/assets/exdeorum/models/item/starlit_sieve.json
new file mode 100644
index 00000000..f822aef0
--- /dev/null
+++ b/src/generated/resources/assets/exdeorum/models/item/starlit_sieve.json
@@ -0,0 +1,3 @@
+{
+ "parent": "exdeorum:block/starlit_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_barrel.json
new file mode 100644
index 00000000..8b6573b5
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_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:bluebright_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/bluebright_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_crucible.json
new file mode 100644
index 00000000..dcde38c3
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_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:bluebright_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/bluebright_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_sieve.json
new file mode 100644
index 00000000..a46e7256
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/bluebright_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:bluebright_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/bluebright_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_barrel.json
new file mode 100644
index 00000000..8ddc8643
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_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:comet_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/comet_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_crucible.json
new file mode 100644
index 00000000..14edcee3
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_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:comet_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/comet_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_sieve.json
new file mode 100644
index 00000000..aaa85c25
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/comet_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:comet_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/comet_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_barrel.json
new file mode 100644
index 00000000..726230ad
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_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:crystallized_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/crystallized_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_crucible.json
new file mode 100644
index 00000000..8bfb4e1f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_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:crystallized_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/crystallized_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_sieve.json
new file mode 100644
index 00000000..6cb225dd
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/crystallized_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:crystallized_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/crystallized_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_barrel.json
new file mode 100644
index 00000000..3faa4cc0
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_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:dusk_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/dusk_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_crucible.json
new file mode 100644
index 00000000..1386214e
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_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:dusk_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/dusk_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_sieve.json
new file mode 100644
index 00000000..6eee521d
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/dusk_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:dusk_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/dusk_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_barrel.json
new file mode 100644
index 00000000..853562c5
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_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:frostbright_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/frostbright_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_crucible.json
new file mode 100644
index 00000000..54e980df
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_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:frostbright_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/frostbright_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_sieve.json
new file mode 100644
index 00000000..606abe9a
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/frostbright_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:frostbright_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/frostbright_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/golden_oak_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/golden_oak_crucible.json
new file mode 100644
index 00000000..4402695f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/golden_oak_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:golden_oak_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/golden_oak_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_barrel.json
new file mode 100644
index 00000000..2a47b057
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_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:lunar_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/lunar_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_crucible.json
new file mode 100644
index 00000000..dd2c791b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_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:lunar_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/lunar_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_sieve.json
new file mode 100644
index 00000000..483b50e9
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/lunar_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:lunar_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/lunar_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_barrel.json
new file mode 100644
index 00000000..6a3b3a81
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_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:maple_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/maple_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_crucible.json
new file mode 100644
index 00000000..5e3b04f3
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_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:maple_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/maple_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_sieve.json
new file mode 100644
index 00000000..f54a4e18
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/maple_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:maple_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/maple_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_barrel.json
new file mode 100644
index 00000000..c9dfa0f1
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_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:skyroot_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/skyroot_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_crucible.json
new file mode 100644
index 00000000..1605c009
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_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:skyroot_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/skyroot_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_sieve.json
new file mode 100644
index 00000000..86df0b01
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/skyroot_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:skyroot_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/skyroot_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_barrel.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_barrel.json
new file mode 100644
index 00000000..a42543d5
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_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:starlit_barrel"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/starlit_barrel"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_crucible.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_crucible.json
new file mode 100644
index 00000000..7ba94317
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_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:starlit_crucible"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/starlit_crucible"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_sieve.json b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_sieve.json
new file mode 100644
index 00000000..52c344ee
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/loot_tables/blocks/starlit_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:starlit_sieve"
+ }
+ ],
+ "rolls": 1.0
+ }
+ ],
+ "random_sequence": "exdeorum:blocks/starlit_sieve"
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/bluebright_barrel.json b/src/generated/resources/data/exdeorum/recipes/bluebright_barrel.json
new file mode 100644
index 00000000..18af3e4d
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/bluebright_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:bluebright_slab"
+ },
+ "s": {
+ "item": "blue_skies:bluebright_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:bluebright_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/bluebright_crucible.json b/src/generated/resources/data/exdeorum/recipes/bluebright_crucible.json
new file mode 100644
index 00000000..f7d5a08f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/bluebright_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:bluebright_slab"
+ },
+ "s": {
+ "item": "blue_skies:bluebright_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:bluebright_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/bluebright_sieve.json b/src/generated/resources/data/exdeorum/recipes/bluebright_sieve.json
new file mode 100644
index 00000000..b34abb94
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/bluebright_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:bluebright_planks"
+ },
+ "_": {
+ "item": "blue_skies:bluebright_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:bluebright_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/comet_barrel.json b/src/generated/resources/data/exdeorum/recipes/comet_barrel.json
new file mode 100644
index 00000000..e3d76fe7
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/comet_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:comet_slab"
+ },
+ "s": {
+ "item": "blue_skies:comet_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:comet_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/comet_crucible.json b/src/generated/resources/data/exdeorum/recipes/comet_crucible.json
new file mode 100644
index 00000000..97fa7a1b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/comet_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:comet_slab"
+ },
+ "s": {
+ "item": "blue_skies:comet_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:comet_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/comet_sieve.json b/src/generated/resources/data/exdeorum/recipes/comet_sieve.json
new file mode 100644
index 00000000..4847931c
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/comet_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:comet_planks"
+ },
+ "_": {
+ "item": "blue_skies:comet_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:comet_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/crystallized_barrel.json b/src/generated/resources/data/exdeorum/recipes/crystallized_barrel.json
new file mode 100644
index 00000000..219e1a0b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/crystallized_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:crystallized_slab"
+ },
+ "s": {
+ "item": "blue_skies:crystallized_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:crystallized_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/crystallized_crucible.json b/src/generated/resources/data/exdeorum/recipes/crystallized_crucible.json
new file mode 100644
index 00000000..c4cc50c6
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/crystallized_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:crystallized_slab"
+ },
+ "s": {
+ "item": "blue_skies:crystallized_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:crystallized_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/crystallized_sieve.json b/src/generated/resources/data/exdeorum/recipes/crystallized_sieve.json
new file mode 100644
index 00000000..9b0eac9d
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/crystallized_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:crystallized_planks"
+ },
+ "_": {
+ "item": "blue_skies:crystallized_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:crystallized_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/dusk_barrel.json b/src/generated/resources/data/exdeorum/recipes/dusk_barrel.json
new file mode 100644
index 00000000..4134d652
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/dusk_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:dusk_slab"
+ },
+ "s": {
+ "item": "blue_skies:dusk_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:dusk_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/dusk_crucible.json b/src/generated/resources/data/exdeorum/recipes/dusk_crucible.json
new file mode 100644
index 00000000..24f70e30
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/dusk_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:dusk_slab"
+ },
+ "s": {
+ "item": "blue_skies:dusk_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:dusk_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/dusk_sieve.json b/src/generated/resources/data/exdeorum/recipes/dusk_sieve.json
new file mode 100644
index 00000000..bb3c2948
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/dusk_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:dusk_planks"
+ },
+ "_": {
+ "item": "blue_skies:dusk_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:dusk_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/frostbright_barrel.json b/src/generated/resources/data/exdeorum/recipes/frostbright_barrel.json
new file mode 100644
index 00000000..fb3e72f3
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/frostbright_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:frostbright_slab"
+ },
+ "s": {
+ "item": "blue_skies:frostbright_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:frostbright_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/frostbright_crucible.json b/src/generated/resources/data/exdeorum/recipes/frostbright_crucible.json
new file mode 100644
index 00000000..5b04b212
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/frostbright_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:frostbright_slab"
+ },
+ "s": {
+ "item": "blue_skies:frostbright_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:frostbright_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/frostbright_sieve.json b/src/generated/resources/data/exdeorum/recipes/frostbright_sieve.json
new file mode 100644
index 00000000..94404d53
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/frostbright_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:frostbright_planks"
+ },
+ "_": {
+ "item": "blue_skies:frostbright_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:frostbright_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/golden_oak_crucible.json b/src/generated/resources/data/exdeorum/recipes/golden_oak_crucible.json
new file mode 100644
index 00000000..642a3377
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/golden_oak_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "aether"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "aether:skyroot_slab"
+ },
+ "s": {
+ "item": "aether:golden_oak_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:golden_oak_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/lunar_barrel.json b/src/generated/resources/data/exdeorum/recipes/lunar_barrel.json
new file mode 100644
index 00000000..34164fe2
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/lunar_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:lunar_slab"
+ },
+ "s": {
+ "item": "blue_skies:lunar_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:lunar_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/lunar_crucible.json b/src/generated/resources/data/exdeorum/recipes/lunar_crucible.json
new file mode 100644
index 00000000..b8a8ffda
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/lunar_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:lunar_slab"
+ },
+ "s": {
+ "item": "blue_skies:lunar_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:lunar_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/lunar_sieve.json b/src/generated/resources/data/exdeorum/recipes/lunar_sieve.json
new file mode 100644
index 00000000..82628169
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/lunar_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:lunar_planks"
+ },
+ "_": {
+ "item": "blue_skies:lunar_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:lunar_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/maple_barrel.json b/src/generated/resources/data/exdeorum/recipes/maple_barrel.json
new file mode 100644
index 00000000..1264d63b
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/maple_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:maple_slab"
+ },
+ "s": {
+ "item": "blue_skies:maple_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:maple_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/maple_crucible.json b/src/generated/resources/data/exdeorum/recipes/maple_crucible.json
new file mode 100644
index 00000000..ae96f7e8
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/maple_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:maple_slab"
+ },
+ "s": {
+ "item": "blue_skies:maple_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:maple_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/maple_sieve.json b/src/generated/resources/data/exdeorum/recipes/maple_sieve.json
new file mode 100644
index 00000000..1b726617
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/maple_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:maple_planks"
+ },
+ "_": {
+ "item": "blue_skies:maple_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:maple_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/certus_quartz_dust.json
new file mode 100644
index 00000000..4b5ba7f9
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:diamond_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.1
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json
index 506aebcc..783069a7 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/diamond/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:diamond_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/certus_quartz_dust.json
new file mode 100644
index 00000000..9e7bafc0
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:flint_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.07
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json
index 529c11b6..8f016e5f 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/flint/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:flint_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/certus_quartz_dust.json
new file mode 100644
index 00000000..18f78e9f
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:golden_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.08
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json
index 5554a5c8..88abadbd 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/golden/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:golden_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/certus_quartz_dust.json
new file mode 100644
index 00000000..aee93382
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:iron_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.075
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json
index d8290d71..908e4511 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/iron/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:iron_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/certus_quartz_dust.json
new file mode 100644
index 00000000..56c79d98
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:netherite_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.11
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json
index 43484a13..0d1a1c1e 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/netherite/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:netherite_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/certus_quartz_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/certus_quartz_dust.json
new file mode 100644
index 00000000..c9fdc028
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/certus_quartz_dust.json
@@ -0,0 +1,26 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "ae2"
+ }
+ ],
+ "recipe": {
+ "type": "exdeorum:sieve",
+ "ingredient": {
+ "item": "exdeorum:dust"
+ },
+ "mesh": "exdeorum:string_mesh",
+ "result": "ae2:certus_quartz_dust",
+ "result_amount": {
+ "type": "minecraft:binomial",
+ "n": 1.0,
+ "p": 0.06
+ }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json
index cd3a80a0..12d6050b 100644
--- a/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json
+++ b/src/generated/resources/data/exdeorum/recipes/sieve/dust/string/yellorium_dust.json
@@ -14,7 +14,7 @@
"item": "exdeorum:dust"
},
"mesh": "exdeorum:string_mesh",
- "result": "bigreactors:yellorium_dust",
+ "result": "biggerreactors:yellorium_dust",
"result_amount": {
"type": "minecraft:binomial",
"n": 1.0,
diff --git a/src/generated/resources/data/exdeorum/recipes/skyroot_barrel.json b/src/generated/resources/data/exdeorum/recipes/skyroot_barrel.json
new file mode 100644
index 00000000..ec7b000a
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/skyroot_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "aether"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "aether:skyroot_slab"
+ },
+ "s": {
+ "item": "aether:skyroot_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:skyroot_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/skyroot_crucible.json b/src/generated/resources/data/exdeorum/recipes/skyroot_crucible.json
new file mode 100644
index 00000000..0640c443
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/skyroot_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "aether"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "aether:skyroot_slab"
+ },
+ "s": {
+ "item": "aether:skyroot_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:skyroot_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/skyroot_sieve.json b/src/generated/resources/data/exdeorum/recipes/skyroot_sieve.json
new file mode 100644
index 00000000..33010036
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/skyroot_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "aether"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "aether:skyroot_planks"
+ },
+ "_": {
+ "item": "aether:skyroot_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:skyroot_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/starlit_barrel.json b/src/generated/resources/data/exdeorum/recipes/starlit_barrel.json
new file mode 100644
index 00000000..c0207746
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/starlit_barrel.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:starlit_slab"
+ },
+ "s": {
+ "item": "blue_skies:starlit_planks"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:starlit_barrel"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/starlit_crucible.json b/src/generated/resources/data/exdeorum/recipes/starlit_crucible.json
new file mode 100644
index 00000000..570d9411
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/starlit_crucible.json
@@ -0,0 +1,34 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "m": {
+ "item": "blue_skies:starlit_slab"
+ },
+ "s": {
+ "item": "blue_skies:starlit_log"
+ }
+ },
+ "pattern": [
+ "s s",
+ "s s",
+ "sms"
+ ],
+ "result": {
+ "item": "exdeorum:starlit_crucible"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/recipes/starlit_sieve.json b/src/generated/resources/data/exdeorum/recipes/starlit_sieve.json
new file mode 100644
index 00000000..97248fa9
--- /dev/null
+++ b/src/generated/resources/data/exdeorum/recipes/starlit_sieve.json
@@ -0,0 +1,37 @@
+{
+ "type": "forge:conditional",
+ "recipes": [
+ {
+ "conditions": [
+ {
+ "type": "forge:mod_loaded",
+ "modid": "blue_skies"
+ }
+ ],
+ "recipe": {
+ "type": "minecraft:crafting_shaped",
+ "category": "misc",
+ "key": {
+ "I": {
+ "tag": "forge:rods/wooden"
+ },
+ "O": {
+ "item": "blue_skies:starlit_planks"
+ },
+ "_": {
+ "item": "blue_skies:starlit_slab"
+ }
+ },
+ "pattern": [
+ "O O",
+ "O_O",
+ "I I"
+ ],
+ "result": {
+ "item": "exdeorum:starlit_sieve"
+ },
+ "show_notification": true
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json b/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json
index e3ef352e..c49c7045 100644
--- a/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json
+++ b/src/generated/resources/data/exdeorum/tags/blocks/watering_can_tickable.json
@@ -12,6 +12,318 @@
"minecraft:cocoa",
"#minecraft:saplings",
"#minecraft:nylium",
- "#minecraft:bee_growables"
+ "#minecraft:bee_growables",
+ {
+ "id": "pamhc2crops:pamagavecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamamaranthcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamarrowrootcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamartichokecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamasparaguscrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pambarleycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pambeancrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pambellpeppercrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamblackberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamblueberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pambroccolicrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pambrusselsproutcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcabbagecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcactusfruitcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcandleberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcantaloupecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcassavacrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcauliflowercrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcelerycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamchickpeacrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamchilipeppercrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcoffeebeancrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcorncrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcottoncrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcranberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamcucumbercrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pameggplantcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamelderberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamflaxcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamgarliccrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamgingercrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamgrapecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamgreengrapecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamhuckleberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamjicamacrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamjuniperberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamjutecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamkalecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamkenafcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamkiwicrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamkohlrabicrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamleekcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamlentilcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamlettucecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pammilletcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pammulberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pammustardseedscrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamoatscrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamokracrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamonioncrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamparsnipcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pampeanutcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pampeascrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pampineapplecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamquinoacrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamradishcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamraspberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamrhubarbcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamricecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamrutabagacrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamryecrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamscallioncrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamsesameseedscrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamsisalcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamsoybeancrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamspiceleafcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamspinachcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamstrawberrycrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamsweetpotatocrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamtarocrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamtealeafcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamtomatillocrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamtomatocrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamturnipcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamwaterchestnutcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamwhitemushroomcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamwintersquashcrop",
+ "required": false
+ },
+ {
+ "id": "pamhc2crops:pamzucchinicrop",
+ "required": false
+ }
]
}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/tags/items/stone_barrels.json b/src/generated/resources/data/exdeorum/tags/items/stone_barrels.json
index fa14114d..417d9381 100644
--- a/src/generated/resources/data/exdeorum/tags/items/stone_barrels.json
+++ b/src/generated/resources/data/exdeorum/tags/items/stone_barrels.json
@@ -1,5 +1,6 @@
{
"values": [
- "exdeorum:stone_barrel"
+ "exdeorum:stone_barrel",
+ "exdeorum:crystallized_barrel"
]
}
\ No newline at end of file
diff --git a/src/generated/resources/data/exdeorum/tags/items/wooden_barrels.json b/src/generated/resources/data/exdeorum/tags/items/wooden_barrels.json
index 9eeb4d42..0d8de545 100644
--- a/src/generated/resources/data/exdeorum/tags/items/wooden_barrels.json
+++ b/src/generated/resources/data/exdeorum/tags/items/wooden_barrels.json
@@ -8,6 +8,25 @@
"exdeorum:dark_oak_barrel",
"exdeorum:mangrove_barrel",
"exdeorum:cherry_barrel",
- "exdeorum:bamboo_barrel"
+ "exdeorum:bamboo_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:skyroot_barrel",
+ "exdeorum:bluebright_barrel",
+ "exdeorum:starlit_barrel",
+ "exdeorum:frostbright_barrel",
+ "exdeorum:comet_barrel",
+ "exdeorum:lunar_barrel",
+ "exdeorum:dusk_barrel",
+ "exdeorum:maple_barrel"
]
}
\ 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 da672a07..7d835c91 100644
--- a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json
+++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json
@@ -22,6 +22,14 @@
"exdeorum:umbran_barrel",
"exdeorum:hellbark_barrel",
"exdeorum:archwood_barrel",
+ "exdeorum:skyroot_barrel",
+ "exdeorum:bluebright_barrel",
+ "exdeorum:starlit_barrel",
+ "exdeorum:frostbright_barrel",
+ "exdeorum:comet_barrel",
+ "exdeorum:lunar_barrel",
+ "exdeorum:dusk_barrel",
+ "exdeorum:maple_barrel",
"exdeorum:oak_sieve",
"exdeorum:spruce_sieve",
"exdeorum:birch_sieve",
@@ -44,6 +52,14 @@
"exdeorum:umbran_sieve",
"exdeorum:hellbark_sieve",
"exdeorum:archwood_sieve",
+ "exdeorum:skyroot_sieve",
+ "exdeorum:bluebright_sieve",
+ "exdeorum:starlit_sieve",
+ "exdeorum:frostbright_sieve",
+ "exdeorum:comet_sieve",
+ "exdeorum:lunar_sieve",
+ "exdeorum:dusk_sieve",
+ "exdeorum:maple_sieve",
"exdeorum:warped_crucible",
"exdeorum:crimson_crucible",
"exdeorum:oak_crucible",
@@ -68,6 +84,15 @@
"exdeorum:blue_archwood_crucible",
"exdeorum:red_archwood_crucible",
"exdeorum:purple_archwood_crucible",
- "exdeorum:green_archwood_crucible"
+ "exdeorum:green_archwood_crucible",
+ "exdeorum:skyroot_crucible",
+ "exdeorum:golden_oak_crucible",
+ "exdeorum:bluebright_crucible",
+ "exdeorum:starlit_crucible",
+ "exdeorum:frostbright_crucible",
+ "exdeorum:comet_crucible",
+ "exdeorum:lunar_crucible",
+ "exdeorum:dusk_crucible",
+ "exdeorum:maple_crucible"
]
}
\ No newline at end of file
diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json
index 0325eb07..46e67f2f 100644
--- a/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json
+++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json
@@ -2,6 +2,9 @@
"values": [
"exdeorum:stone_barrel",
"exdeorum:porcelain_crucible",
- "exdeorum:unfired_porcelain_crucible"
+ "exdeorum:unfired_porcelain_crucible",
+ "exdeorum:crystallized_barrel",
+ "exdeorum:crystallized_crucible",
+ "exdeorum:crystallized_sieve"
]
}
\ No newline at end of file
diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java
index d9ff5639..cf7f3e68 100644
--- a/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java
+++ b/src/main/java/thedarkcolour/exdeorum/blockentity/AbstractCrucibleBlockEntity.java
@@ -50,7 +50,9 @@ import net.minecraftforge.items.ItemStackHandler;
import net.minecraftforge.registries.ForgeRegistries;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
+import thedarkcolour.exdeorum.config.EConfig;
import thedarkcolour.exdeorum.recipe.crucible.CrucibleRecipe;
+import thedarkcolour.exdeorum.registry.EBlockEntities;
import thedarkcolour.exdeorum.registry.EItems;
import java.util.HashMap;
@@ -125,8 +127,17 @@ public abstract class AbstractCrucibleBlockEntity extends EBlockEntity {
return FluidUtil.interactWithFluidHandler(player, hand, tank) ? InteractionResult.sidedSuccess(level.isClientSide) : InteractionResult.PASS;
}
- if (!level.isClientSide && canInsertItem(playerItem)) {
- tryMelt(playerItem, player.getAbilities().instabuild ? stack -> {} : stack -> stack.shrink(1));
+ if (!level.isClientSide) {
+ if (playerItem.getItem() == Items.GLASS_BOTTLE && this.getType() == EBlockEntities.WATER_CRUCIBLE.get() && EConfig.SERVER.allowWaterBottleTransfer.get()) {
+ var fluid = new FluidStack(Fluids.WATER, 250);
+
+ if (tank.drain(fluid, IFluidHandler.FluidAction.SIMULATE).getAmount() == 250) {
+ BarrelBlockEntity.extractWaterBottle(this.tank, level, player, playerItem, fluid);
+ markUpdated();
+ }
+ } else if (canInsertItem(playerItem)) {
+ tryMelt(playerItem, player.getAbilities().instabuild ? stack -> {} : stack -> stack.shrink(1));
+ }
}
return InteractionResult.sidedSuccess(level.isClientSide);
diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
index f8834fc3..87128aae 100644
--- a/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
+++ b/src/main/java/thedarkcolour/exdeorum/blockentity/BarrelBlockEntity.java
@@ -22,7 +22,6 @@ 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;
@@ -32,7 +31,6 @@ 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;
@@ -209,16 +207,8 @@ public class BarrelBlockEntity extends EBlockEntity {
}
} 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);
+ extractWaterBottle(tank, level, player, playerItem, fluid);
bottled = true;
- level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.BOTTLE_EMPTY, SoundSource.NEUTRAL, 1.0F, 1.0F);
}
}
}
@@ -238,6 +228,19 @@ public class BarrelBlockEntity extends EBlockEntity {
return InteractionResult.sidedSuccess(level.isClientSide);
}
+ // Also used by Water Crucibles
+ protected static void extractWaterBottle(IFluidHandler tank, Level level, Player player, ItemStack playerItem, FluidStack fluid) {
+ 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);
+ level.playSound(null, player.getX(), player.getY(), player.getZ(), SoundEvents.BOTTLE_EMPTY, SoundSource.NEUTRAL, 1.0F, 1.0F);
+ }
+
// Pops the item out of the barrel (ex. dirt that has finished composting)
private InteractionResult giveResultItem(Level level, BlockPos pos) {
if (!level.isClientSide) {
diff --git a/src/main/java/thedarkcolour/exdeorum/blockentity/LavaCrucibleBlockEntity.java b/src/main/java/thedarkcolour/exdeorum/blockentity/LavaCrucibleBlockEntity.java
index 4bff1a55..f2b04f6c 100644
--- a/src/main/java/thedarkcolour/exdeorum/blockentity/LavaCrucibleBlockEntity.java
+++ b/src/main/java/thedarkcolour/exdeorum/blockentity/LavaCrucibleBlockEntity.java
@@ -21,6 +21,7 @@ package thedarkcolour.exdeorum.blockentity;
import it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap;
import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
+import it.unimi.dsi.fastutil.objects.ObjectSet;
import net.minecraft.core.BlockPos;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
diff --git a/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java b/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java
index 68bbbafa..6708d0a5 100644
--- a/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java
+++ b/src/main/java/thedarkcolour/exdeorum/client/ClientHandler.java
@@ -21,6 +21,7 @@ package thedarkcolour.exdeorum.client;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.Timer;
import net.minecraft.client.gui.screens.worldselection.CreateWorldScreen;
import net.minecraft.client.gui.screens.worldselection.WorldCreationUiState;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
@@ -98,11 +99,6 @@ public class ClientHandler {
private static void onPlayerLogout(ClientPlayerNetworkEvent.LoggingOut event) {
ClientMessageHandler.isInVoidWorld = false;
needsRecipeCacheRefresh = false;
-
- // Only null when logging in
- if (Minecraft.getInstance().level != null) {
- RecipeUtil.unload();
- }
}
private static void onConfigChanged(ModConfigEvent.Reloading event) {
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
index ce6a29b9..a1da83eb 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/ModIds.java
@@ -40,4 +40,5 @@ public class ModIds {
public static final String FACTORIUM = "factorium";
public static final String AETHER = "aether";
public static final String BLUE_SKIES = "blue_skies";
+ public static final String PAMS_HARVESTCRAFT_CROPS = "pamhc2crops";
}
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ClientJeiUtil.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ClientJeiUtil.java
new file mode 100644
index 00000000..6e1ed1e8
--- /dev/null
+++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ClientJeiUtil.java
@@ -0,0 +1,165 @@
+/*
+ * Ex Deorum
+ * Copyright (c) 2023 thedarkcolour
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package thedarkcolour.exdeorum.compat.jei;
+
+import com.mojang.blaze3d.platform.Lighting;
+import com.mojang.blaze3d.systems.RenderSystem;
+import com.mojang.blaze3d.vertex.BufferBuilder;
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.Tesselator;
+import com.mojang.math.Axis;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiGraphics;
+import net.minecraft.client.renderer.GameRenderer;
+import net.minecraft.client.renderer.ItemBlockRenderTypes;
+import net.minecraft.client.renderer.MultiBufferSource;
+import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.Sheets;
+import net.minecraft.client.renderer.texture.OverlayTexture;
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.world.inventory.InventoryMenu;
+import net.minecraft.world.level.BlockAndTintGetter;
+import net.minecraft.world.level.ColorResolver;
+import net.minecraft.world.level.LightLayer;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.lighting.LevelLightEngine;
+import net.minecraft.world.level.material.FluidState;
+import net.minecraft.world.level.material.Fluids;
+import org.jetbrains.annotations.Nullable;
+
+class ClientJeiUtil {
+ private static final FluidState EMPTY = Fluids.EMPTY.defaultFluidState();
+ private static final BlockState AIR = Blocks.AIR.defaultBlockState();
+
+ // https://github.com/way2muchnoise/JustEnoughResources/blob/89ee40ff068c8d6eb6ab103f76381445691cffc9/Common/src/main/java/jeresources/util/RenderHelper.java#L100
+ static void renderBlock(GuiGraphics guiGraphics, BlockState block, float x, float y, float z, float scale) {
+ Minecraft mc = Minecraft.getInstance();
+ PoseStack poseStack = guiGraphics.pose();
+
+ poseStack.translate(x, y, z);
+ poseStack.scale(-scale, -scale, -scale);
+ poseStack.translate(-0.5F, -0.5F, 0);
+ poseStack.mulPose(Axis.XP.rotationDegrees(-30F));
+ poseStack.translate(0.5F, 0, -0.5F);
+ poseStack.mulPose(Axis.YP.rotationDegrees(45f));
+ poseStack.translate(-0.5F, 0, 0.5F);
+
+ poseStack.pushPose();
+ RenderSystem.setShaderColor(1F, 1F, 1F, 1F);
+ poseStack.translate(0, 0, -1);
+
+ FluidState fluidState = block.getFluidState();
+
+ if (fluidState.isEmpty()) {
+ MultiBufferSource.BufferSource buffers = mc.renderBuffers().bufferSource();
+
+ mc.getBlockRenderer().renderSingleBlock(block, poseStack, buffers, 15728880, OverlayTexture.NO_OVERLAY);
+
+ buffers.endBatch();
+ } else {
+ RenderType renderType = ItemBlockRenderTypes.getRenderLayer(fluidState);
+ PoseStack modelView = RenderSystem.getModelViewStack();
+ Tesselator tesselator = Tesselator.getInstance();
+ BufferBuilder builder = tesselator.getBuilder();
+ renderType.setupRenderState();
+ modelView.pushPose();
+ modelView.mulPoseMatrix(poseStack.last().pose());
+ RenderSystem.applyModelViewMatrix();
+
+ builder.begin(renderType.mode(), renderType.format());
+
+ Dummy.tempState = block;
+ Dummy.tempFluid = fluidState;
+ mc.getBlockRenderer().renderLiquid(BlockPos.ZERO, Dummy.INSTANCE, builder, block, block.getFluidState());
+ Dummy.tempFluid = EMPTY;
+ Dummy.tempState = AIR;
+
+ if (builder.building()) {
+ tesselator.end();
+ }
+
+ renderType.clearRenderState();
+ modelView.popPose();
+ RenderSystem.applyModelViewMatrix();
+ }
+
+ poseStack.popPose();
+ }
+
+ private enum Dummy implements BlockAndTintGetter {
+ INSTANCE;
+
+ private static BlockState tempState = AIR;
+ private static FluidState tempFluid = EMPTY;
+
+ @Override
+ public float getShade(Direction pDirection, boolean pShade) {
+ return 1;
+ }
+
+ @Override
+ public LevelLightEngine getLightEngine() {
+ return Minecraft.getInstance().level.getLightEngine();
+ }
+
+ @Override
+ public int getBlockTint(BlockPos pBlockPos, ColorResolver pColorResolver) {
+ return 0;
+ }
+
+ @Override
+ public int getBrightness(LightLayer pLightType, BlockPos pBlockPos) {
+ return 15;
+ }
+
+ @Override
+ public int getRawBrightness(BlockPos pBlockPos, int pAmount) {
+ return 15;
+ }
+
+ @Nullable
+ @Override
+ public BlockEntity getBlockEntity(BlockPos pPos) {
+ return null;
+ }
+
+ @Override
+ public BlockState getBlockState(BlockPos pos) {
+ return pos.equals(BlockPos.ZERO) ? tempState : AIR;
+ }
+
+ @Override
+ public FluidState getFluidState(BlockPos pos) {
+ return pos.equals(BlockPos.ZERO) ? tempFluid : EMPTY;
+ }
+
+ @Override
+ public int getHeight() {
+ return 0;
+ }
+
+ @Override
+ public int getMinBuildHeight() {
+ return 0;
+ }
+ }
+}
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/CrucibleHeatSourcesCategory.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/CrucibleHeatSourcesCategory.java
new file mode 100644
index 00000000..fb4272c6
--- /dev/null
+++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/CrucibleHeatSourcesCategory.java
@@ -0,0 +1,131 @@
+/*
+ * Ex Deorum
+ * Copyright (c) 2023 thedarkcolour
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+package thedarkcolour.exdeorum.compat.jei;
+
+import com.mojang.blaze3d.platform.InputConstants;
+import it.unimi.dsi.fastutil.objects.Object2IntMap;
+import mezz.jei.api.constants.VanillaTypes;
+import mezz.jei.api.gui.builder.IRecipeLayoutBuilder;
+import mezz.jei.api.gui.drawable.IDrawable;
+import mezz.jei.api.gui.ingredient.IRecipeSlotsView;
+import mezz.jei.api.helpers.IGuiHelper;
+import mezz.jei.api.ingredients.ITypedIngredient;
+import mezz.jei.api.recipe.IFocus;
+import mezz.jei.api.recipe.IFocusFactory;
+import mezz.jei.api.recipe.IFocusGroup;
+import mezz.jei.api.recipe.RecipeIngredientRole;
+import mezz.jei.api.recipe.RecipeType;
+import mezz.jei.api.recipe.category.IRecipeCategory;
+import mezz.jei.api.runtime.IRecipesGui;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiGraphics;
+import net.minecraft.network.chat.Component;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Items;
+import net.minecraft.world.item.TooltipFlag;
+import net.minecraft.world.level.block.Block;
+import thedarkcolour.exdeorum.data.TranslationKeys;
+import thedarkcolour.exdeorum.registry.EItems;
+
+import java.util.List;
+
+class CrucibleHeatSourcesCategory implements IRecipeCategory> {
+ public static final int WIDTH = 120;
+ public static final int HEIGHT = 48;
+
+ private final IDrawable background;
+ private final IDrawable icon;
+ private final Component title;
+ private final IFocusFactory focusFactory;
+
+ public CrucibleHeatSourcesCategory(IGuiHelper helper, IFocusFactory focusFactory) {
+ this.background = helper.createBlankDrawable(WIDTH, HEIGHT);
+ this.title = Component.translatable(TranslationKeys.CRUCIBLE_HEAT_SOURCE_CATEGORY_TITLE);
+ this.icon = helper.createDrawableItemStack(new ItemStack(EItems.PORCELAIN_CRUCIBLE.get()));
+ this.focusFactory = focusFactory;
+ }
+
+ @Override
+ public RecipeType> getRecipeType() {
+ return ExDeorumJeiPlugin.CRUCIBLE_HEAT_SOURCES;
+ }
+
+ @Override
+ public Component getTitle() {
+ return this.title;
+ }
+
+ @Override
+ public IDrawable getBackground() {
+ return this.background;
+ }
+
+ @Override
+ public IDrawable getIcon() {
+ return this.icon;
+ }
+
+ @Override
+ public void setRecipe(IRecipeLayoutBuilder builder, Object2IntMap.Entry recipe, IFocusGroup focuses) {
+ var itemForm = recipe.getKey().asItem();
+
+ if (itemForm != Items.AIR) {
+ builder.addInvisibleIngredients(RecipeIngredientRole.INPUT).addItemStack(new ItemStack(itemForm));
+ }
+ }
+
+ @Override
+ public void draw(Object2IntMap.Entry recipe, IRecipeSlotsView recipeSlotsView, GuiGraphics graphics, double mouseX, double mouseY) {
+ var volume = recipe.getIntValue();
+ var volumeLabel = Component.translatable(TranslationKeys.CRUCIBLE_HEAT_SOURCE_CATEGORY_MULTIPLIER, volume);
+ var font = Minecraft.getInstance().font;
+
+ graphics.drawString(font, volumeLabel, 60 - font.width(volumeLabel) / 2, 5, 0xff808080, false);
+
+ ClientJeiUtil.renderBlock(graphics, recipe.getKey().defaultBlockState(), 60, 24, 10, 20F);
+ }
+
+ @Override
+ public List getTooltipStrings(Object2IntMap.Entry recipe, IRecipeSlotsView recipeSlotsView, double mouseX, double mouseY) {
+ if (44.0 < mouseX && mouseX < 76.0 && 16 < mouseY && mouseY < 48) {
+ return new ItemStack(recipe.getKey()).getTooltipLines(Minecraft.getInstance().player, Minecraft.getInstance().options.advancedItemTooltips ? TooltipFlag.ADVANCED : TooltipFlag.NORMAL);
+ }
+ return List.of();
+ }
+
+ @Override
+ public boolean handleInput(Object2IntMap.Entry recipe, double mouseX, double mouseY, InputConstants.Key input) {
+ if (input.getType() == InputConstants.Type.MOUSE && (input.getValue() == InputConstants.MOUSE_BUTTON_LEFT || input.getValue() == InputConstants.MOUSE_BUTTON_RIGHT)) {
+ if (44.0 < mouseX && mouseX < 76.0 && 16 < mouseY && mouseY < 48) {
+ var itemForm = recipe.getKey().asItem();
+
+ if (itemForm != Items.AIR && Minecraft.getInstance().screen instanceof IRecipesGui recipesGui) {
+ recipesGui.show(focusFactory.createFocus(input.getValue() == InputConstants.MOUSE_BUTTON_LEFT ? RecipeIngredientRole.INPUT : RecipeIngredientRole.OUTPUT, VanillaTypes.ITEM_STACK, new ItemStack(itemForm)));
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public int getHeight() {
+ return 48;
+ }
+}
diff --git a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
index 042b9569..b174367e 100644
--- a/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
+++ b/src/main/java/thedarkcolour/exdeorum/compat/jei/ExDeorumJeiPlugin.java
@@ -19,6 +19,8 @@
package thedarkcolour.exdeorum.compat.jei;
import com.google.common.collect.Lists;
+import it.unimi.dsi.fastutil.objects.Object2IntMap;
+import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import mezz.jei.api.IModPlugin;
import mezz.jei.api.JeiPlugin;
import mezz.jei.api.constants.VanillaTypes;
@@ -27,16 +29,21 @@ import mezz.jei.api.recipe.RecipeType;
import mezz.jei.api.registration.IRecipeCatalystRegistration;
import mezz.jei.api.registration.IRecipeCategoryRegistration;
import mezz.jei.api.registration.IRecipeRegistration;
+import mezz.jei.api.registration.IVanillaCategoryExtensionRegistration;
import net.minecraft.client.Minecraft;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.Container;
import net.minecraft.world.item.ItemStack;
-import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Recipe;
+import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
+import net.minecraft.world.level.block.WallBlock;
+import net.minecraft.world.level.block.WallTorchBlock;
import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.ModList;
import thedarkcolour.exdeorum.ExDeorum;
+import thedarkcolour.exdeorum.blockentity.LavaCrucibleBlockEntity;
import thedarkcolour.exdeorum.compat.ModIds;
import thedarkcolour.exdeorum.data.TranslationKeys;
import thedarkcolour.exdeorum.item.WateringCanItem;
@@ -64,6 +71,9 @@ public class ExDeorumJeiPlugin implements IModPlugin {
static final RecipeType BARREL_MIXING = RecipeType.create(ExDeorum.ID, "barrel_mixing", BarrelMixingRecipe.class);
static final RecipeType LAVA_CRUCIBLE = RecipeType.create(ExDeorum.ID, "lava_crucible", CrucibleRecipe.class);
static final RecipeType WATER_CRUCIBLE = RecipeType.create(ExDeorum.ID, "water_crucible", CrucibleRecipe.class);
+ // I love Java generics (todo finish implementing)
+ @SuppressWarnings("unchecked")
+ static final RecipeType> CRUCIBLE_HEAT_SOURCES = RecipeType.create(ExDeorum.ID, "crucible_heat_sources", (Class>) ((Object) Object2IntMap.Entry.class));
static final RecipeType SIEVE = RecipeType.create(ExDeorum.ID, "sieve", JeiSieveRecipeGroup.class);
static final RecipeType HAMMER = RecipeType.create(ExDeorum.ID, "hammer", HammerRecipe.class);
@@ -82,6 +92,7 @@ public class ExDeorumJeiPlugin implements IModPlugin {
registration.addRecipeCategories(new BarrelMixingCategory(helper, plus, arrow));
registration.addRecipeCategories(new CrucibleCategory.LavaCrucible(helper, arrow));
registration.addRecipeCategories(new CrucibleCategory.WaterCrucible(helper, arrow));
+ registration.addRecipeCategories(new CrucibleHeatSourcesCategory(helper, registration.getJeiHelpers().getFocusFactory()));
registration.addRecipeCategories(new SieveCategory(helper));
registration.addRecipeCategories(new HammerCategory(helper, arrow));
}
@@ -209,7 +220,9 @@ public class ExDeorumJeiPlugin implements IModPlugin {
registration.addRecipeCatalyst(stack, BARREL_MIXING);
}
for (var lavaCrucible : lavaCrucibles) {
- registration.addRecipeCatalyst(new ItemStack(lavaCrucible), LAVA_CRUCIBLE);
+ var stack = new ItemStack(lavaCrucible);
+ registration.addRecipeCatalyst(stack, LAVA_CRUCIBLE);
+ registration.addRecipeCatalyst(stack, CRUCIBLE_HEAT_SOURCES);
}
for (var waterCrucible : waterCrucibles) {
registration.addRecipeCatalyst(new ItemStack(waterCrucible), WATER_CRUCIBLE);
@@ -264,6 +277,36 @@ public class ExDeorumJeiPlugin implements IModPlugin {
addRecipes(registration, WATER_CRUCIBLE, ERecipeTypes.WATER_CRUCIBLE);
addRecipes(registration, HAMMER, ERecipeTypes.HAMMER);
JeiSieveRecipeGroup.addGroupedRecipes(registration, SIEVE);
+
+ addCrucibleHeatSources(registration);
+ }
+
+ private static void addCrucibleHeatSources(IRecipeRegistration registration) {
+ var values = new Object2IntOpenHashMap();
+ for (var entry : LavaCrucibleBlockEntity.HEAT_REGISTRY.object2IntEntrySet()) {
+ var state = entry.getKey();
+ var block = state.getBlock();
+
+ if (block instanceof WallTorchBlock) continue;
+
+ if (block != Blocks.AIR) {
+ final int newValue = entry.getIntValue();
+
+ values.computeInt(block, (key, value) -> {
+ if (value != null) {
+ return Math.max(value, newValue);
+ } else {
+ return newValue == 0 ? null : newValue;
+ }
+ });
+ }
+ }
+ registration.addRecipes(CRUCIBLE_HEAT_SOURCES, List.copyOf(values.object2IntEntrySet()));
+ }
+
+ @Override
+ public void registerVanillaCategoryExtensions(IVanillaCategoryExtensionRegistration registration) {
+ IModPlugin.super.registerVanillaCategoryExtensions(registration);
}
private static > void addRecipes(IRecipeRegistration registration, RecipeType category, Supplier> type) {
diff --git a/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java b/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
index 0dbbf2c3..931f6c3e 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/BlockModels.java
@@ -18,13 +18,16 @@
package thedarkcolour.exdeorum.data;
+import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import net.minecraftforge.client.model.generators.BlockModelBuilder;
import net.minecraftforge.client.model.generators.ConfiguredModel;
+import net.minecraftforge.registries.ForgeRegistries;
import thedarkcolour.exdeorum.registry.EBlocks;
import thedarkcolour.modkit.data.MKBlockModelProvider;
+import java.util.Objects;
import java.util.function.Supplier;
class BlockModels {
@@ -97,41 +100,44 @@ class BlockModels {
}
private static void aetherModels(MKBlockModelProvider models) {
- barrel(models, EBlocks.SKYROOT_BARREL, ModCompatData.SKYROOT_PLANKS.get());
+ barrel(models, EBlocks.SKYROOT_BARREL, ModCompatData.SKYROOT_PLANKS.get(), "construction/");
- sieve(models, EBlocks.SKYROOT_SIEVE.get(), ModCompatData.SKYROOT_PLANKS.get());
+ sieve(models, EBlocks.SKYROOT_SIEVE.get(), ModCompatData.SKYROOT_PLANKS.get(), "construction/");
- crucible(models, EBlocks.SKYROOT_CRUCIBLE.get(), ModCompatData.SKYROOT_LOG.get());
- crucible(models, EBlocks.GOLDEN_OAK_CRUCIBLE.get(), ModCompatData.GOLDEN_OAK_LOG.get());
+ crucible(models, EBlocks.SKYROOT_CRUCIBLE.get(), ModCompatData.SKYROOT_LOG.get(), "natural/", "");
+ crucible(models, EBlocks.GOLDEN_OAK_CRUCIBLE.get(), ModCompatData.GOLDEN_OAK_LOG.get(), "natural/", "");
}
private static void blueSkiesModels(MKBlockModelProvider models) {
- barrel(models, EBlocks.BLUEBRIGHT_BARREL, ModCompatData.BLUEBRIGHT_PLANKS.get());
- barrel(models, EBlocks.STARLIT_BARREL, ModCompatData.STARLIT_PLANKS.get());
- barrel(models, EBlocks.FROSTBRIGHT_BARREL, ModCompatData.FROSTBRIGHT_PLANKS.get());
- barrel(models, EBlocks.COMET_BARREL, ModCompatData.COMET_PLANKS.get());
- barrel(models, EBlocks.LUNAR_BARREL, ModCompatData.LUNAR_PLANKS.get());
- barrel(models, EBlocks.DUSK_BARREL, ModCompatData.DUSK_PLANKS.get());
- barrel(models, EBlocks.MAPLE_BARREL, ModCompatData.MAPLE_PLANKS.get());
- barrel(models, EBlocks.CRYSTALLIZED_BARREL, ModCompatData.CRYSTALLIZED_PLANKS.get());
+ final String woodPrefix = "wood/";
+ final String logSuffix = "_side";
- barrel(models, EBlocks.BLUEBRIGHT_SIEVE.get(), ModCompatData.BLUEBRIGHT_PLANKS.get());
- barrel(models, EBlocks.STARLIT_SIEVE.get(), ModCompatData.STARLIT_PLANKS.get());
- barrel(models, EBlocks.FROSTBRIGHT_SIEVE.get(), ModCompatData.FROSTBRIGHT_PLANKS.get());
- barrel(models, EBlocks.COMET_SIEVE.get(), ModCompatData.COMET_PLANKS.get());
- barrel(models, EBlocks.LUNAR_SIEVE.get(), ModCompatData.LUNAR_PLANKS.get());
- barrel(models, EBlocks.DUSK_SIEVE.get(), ModCompatData.DUSK_PLANKS.get());
- barrel(models, EBlocks.MAPLE_SIEVE.get(), ModCompatData.MAPLE_PLANKS.get());
- barrel(models, EBlocks.CRYSTALLIZED_SIEVE.get(), ModCompatData.CRYSTALLIZED_PLANKS.get());
+ barrel(models, EBlocks.BLUEBRIGHT_BARREL, ModCompatData.BLUEBRIGHT_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.STARLIT_BARREL, ModCompatData.STARLIT_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.FROSTBRIGHT_BARREL, ModCompatData.FROSTBRIGHT_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.COMET_BARREL, ModCompatData.COMET_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.LUNAR_BARREL, ModCompatData.LUNAR_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.DUSK_BARREL, ModCompatData.DUSK_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.MAPLE_BARREL, ModCompatData.MAPLE_PLANKS.get(), woodPrefix);
+ barrel(models, EBlocks.CRYSTALLIZED_BARREL, ModCompatData.CRYSTALLIZED_PLANKS.get(), woodPrefix).renderType("translucent");
- crucible(models, EBlocks.BLUEBRIGHT_CRUCIBLE.get(), ModCompatData.BLUEBRIGHT_LOG.get());
- crucible(models, EBlocks.STARLIT_CRUCIBLE.get(), ModCompatData.STARLIT_LOG.get());
- crucible(models, EBlocks.FROSTBRIGHT_CRUCIBLE.get(), ModCompatData.FROSTBRIGHT_LOG.get());
- crucible(models, EBlocks.COMET_CRUCIBLE.get(), ModCompatData.COMET_LOG.get());
- crucible(models, EBlocks.LUNAR_CRUCIBLE.get(), ModCompatData.LUNAR_LOG.get());
- crucible(models, EBlocks.DUSK_CRUCIBLE.get(), ModCompatData.DUSK_LOG.get());
- crucible(models, EBlocks.MAPLE_CRUCIBLE.get(), ModCompatData.MAPLE_LOG.get());
- crucible(models, EBlocks.CRYSTALLIZED_CRUCIBLE.get(), ModCompatData.CRYSTALLIZED_LOG.get());
+ sieve(models, EBlocks.BLUEBRIGHT_SIEVE.get(), ModCompatData.BLUEBRIGHT_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.STARLIT_SIEVE.get(), ModCompatData.STARLIT_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.FROSTBRIGHT_SIEVE.get(), ModCompatData.FROSTBRIGHT_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.COMET_SIEVE.get(), ModCompatData.COMET_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.LUNAR_SIEVE.get(), ModCompatData.LUNAR_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.DUSK_SIEVE.get(), ModCompatData.DUSK_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.MAPLE_SIEVE.get(), ModCompatData.MAPLE_PLANKS.get(), woodPrefix);
+ sieve(models, EBlocks.CRYSTALLIZED_SIEVE.get(), ModCompatData.CRYSTALLIZED_PLANKS.get(), woodPrefix).renderType("translucent");
+
+ crucible(models, EBlocks.BLUEBRIGHT_CRUCIBLE.get(), ModCompatData.BLUEBRIGHT_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.STARLIT_CRUCIBLE.get(), ModCompatData.STARLIT_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.FROSTBRIGHT_CRUCIBLE.get(), ModCompatData.FROSTBRIGHT_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.COMET_CRUCIBLE.get(), ModCompatData.COMET_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.LUNAR_CRUCIBLE.get(), ModCompatData.LUNAR_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.DUSK_CRUCIBLE.get(), ModCompatData.DUSK_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.MAPLE_CRUCIBLE.get(), ModCompatData.MAPLE_LOG.get(), woodPrefix, logSuffix);
+ crucible(models, EBlocks.CRYSTALLIZED_CRUCIBLE.get(), ModCompatData.CRYSTALLIZED_LOG.get(), woodPrefix, logSuffix).renderType("translucent");
}
private static void bopModels(MKBlockModelProvider models) {
@@ -169,14 +175,19 @@ class BlockModels {
crucible(models, EBlocks.HELLBARK_CRUCIBLE.get(), ModCompatData.HELLBARK_LOG.get());
}
+ // Only used in Ex Deorum
public static void crucible(MKBlockModelProvider models, Block block) {
crucible(models, block, block);
}
public static void crucible(MKBlockModelProvider models, Block block, Block appearance) {
- var texture = models.blockTexture(appearance);
+ crucible(models, block, appearance, "", "");
+ }
- singleModel(models, block)
+ public static BlockModelBuilder crucible(MKBlockModelProvider models, Block block, Block appearance, String pathPrefix, String pathSuffix) {
+ var texture = texture(appearance, pathPrefix, pathSuffix);
+
+ return singleModel(models, block)
.parent(models.modFile("template_crucible"))
.texture("inside", texture)
.texture("top", texture)
@@ -184,16 +195,29 @@ class BlockModels {
.texture("side", texture);
}
+ private static ResourceLocation texture(Block block, String prefix, String suffix) {
+ var key = Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(block));
+ return new ResourceLocation(key.getNamespace(), "block/" + prefix + key.getPath() + suffix);
+ }
+
public static void barrel(MKBlockModelProvider models, Supplier extends Block> block, Block appearance) {
- singleModel(models, block.get())
+ barrel(models, block, appearance, "");
+ }
+
+ public static BlockModelBuilder barrel(MKBlockModelProvider models, Supplier extends Block> block, Block appearance, String pathPrefix) {
+ return singleModel(models, block.get())
.parent(models.modFile("template_barrel"))
- .texture("barrel", models.blockTexture(appearance));
+ .texture("barrel", texture(appearance, pathPrefix, ""));
}
public static void sieve(MKBlockModelProvider models, Block block, Block appearance) {
- singleModel(models, block)
+ sieve(models, block, appearance, "");
+ }
+
+ public static BlockModelBuilder sieve(MKBlockModelProvider models, Block block, Block appearance, String pathPrefix) {
+ return singleModel(models, block)
.parent(models.modFile("template_sieve"))
- .texture("texture", models.blockTexture(appearance));
+ .texture("texture", texture(appearance, pathPrefix, ""));
}
public static BlockModelBuilder singleModel(MKBlockModelProvider models, Block block) {
@@ -204,7 +228,6 @@ class BlockModels {
return builder;
}
-
public static BlockModelBuilder blockModel(MKBlockModelProvider models, Block block) {
return models.models().getBuilder(models.name(block));
}
diff --git a/src/main/java/thedarkcolour/exdeorum/data/English.java b/src/main/java/thedarkcolour/exdeorum/data/English.java
index 04e448f4..d5ed57c5 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/English.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/English.java
@@ -55,6 +55,8 @@ class English {
english.add(TranslationKeys.BARREL_MIXING_CATEGORY_TITLE, "Barrel Mixing");
english.add(TranslationKeys.WATER_CRUCIBLE_CATEGORY_TITLE, "Water Crucible");
english.add(TranslationKeys.LAVA_CRUCIBLE_CATEGORY_TITLE, "Lava Crucible");
+ english.add(TranslationKeys.CRUCIBLE_HEAT_SOURCE_CATEGORY_TITLE, "Crucible Heat Sources");
+ english.add(TranslationKeys.CRUCIBLE_HEAT_SOURCE_CATEGORY_MULTIPLIER, "Melt Rate: %sx");
english.add(TranslationKeys.HAMMER_CATEGORY_TITLE, "Hammer");
english.add(TranslationKeys.SIEVE_CATEGORY_TITLE, "Sieve");
english.add(TranslationKeys.SIEVE_RECIPE_CHANCE, "Chance: %s%%");
diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
index 9d26a6e2..d4aebcf7 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/ModCompatData.java
@@ -18,240 +18,221 @@
package thedarkcolour.exdeorum.data;
+import net.minecraft.core.registries.Registries;
+import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockBehaviour;
+import net.minecraftforge.data.loading.DatagenModLoader;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
-import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import thedarkcolour.exdeorum.compat.ModIds;
-import java.util.function.Consumer;
-import java.util.function.Function;
+import java.util.IdentityHashMap;
+import java.util.Map;
// Mocks modded items so that data generation can reference modded items without needing those mods installed.
public class ModCompatData {
+ // Identity maps because keys are just constants from ModIds
+ private static final Map> itemRegistries = new IdentityHashMap<>();
+ private static final Map> blockRegistries = new IdentityHashMap<>();
+
+ @SuppressWarnings("DataFlowIssue")
+ private static RegistryObject- item(String modid, String name) {
+ if (DatagenModLoader.isRunningDataGen()) {
+ DeferredRegister
- registry = itemRegistries.computeIfAbsent(modid, key -> DeferredRegister.create(Registries.ITEM, key));
+ return registry.register(name, () -> new Item(new Item.Properties()));
+ } else {
+ return null;
+ }
+ }
+
+ @SuppressWarnings("DataFlowIssue")
+ private static RegistryObject block(String modid, String name) {
+ if (DatagenModLoader.isRunningDataGen()) {
+ DeferredRegister registry = blockRegistries.computeIfAbsent(modid, key -> DeferredRegister.create(Registries.BLOCK, key));
+ return registry.register(name, () -> new Block(BlockBehaviour.Properties.of()));
+ } else {
+ return null;
+ }
+ }
+
// Ender IO
- public static RegistryObject
- GRAINS_OF_INFINITY;
+ public static final RegistryObject
-
+ GRAINS_OF_INFINITY = item(ModIds.ENDERIO, "grains_of_infinity");
// Bigger reactors
- public static RegistryObject
- YELLORIUM_DUST;
+ public static final RegistryObject
-
+ YELLORIUM_DUST = item(ModIds.BIGGER_REACTORS, "yellorium_dust");
// Biomes O' Plenty
- public static RegistryObject FIR_PLANKS;
- public static RegistryObject REDWOOD_PLANKS;
- public static RegistryObject MAHOGANY_PLANKS;
- public static RegistryObject JACARANDA_PLANKS;
- public static RegistryObject PALM_PLANKS;
- public static RegistryObject WILLOW_PLANKS;
- public static RegistryObject DEAD_PLANKS;
- public static RegistryObject MAGIC_PLANKS;
- public static RegistryObject UMBRAN_PLANKS;
- public static RegistryObject HELLBARK_PLANKS;
- public static RegistryObject
- FIR_PLANKS_ITEM;
- public static RegistryObject
- REDWOOD_PLANKS_ITEM;
- public static RegistryObject
- MAHOGANY_PLANKS_ITEM;
- public static RegistryObject
- JACARANDA_PLANKS_ITEM;
- public static RegistryObject
- PALM_PLANKS_ITEM;
- public static RegistryObject
- WILLOW_PLANKS_ITEM;
- public static RegistryObject
- DEAD_PLANKS_ITEM;
- public static RegistryObject
- MAGIC_PLANKS_ITEM;
- public static RegistryObject
- UMBRAN_PLANKS_ITEM;
- public static RegistryObject
- HELLBARK_PLANKS_ITEM;
- public static RegistryObject
- FIR_SLAB;
- public static RegistryObject
- REDWOOD_SLAB;
- public static RegistryObject
- MAHOGANY_SLAB;
- public static RegistryObject
- JACARANDA_SLAB;
- public static RegistryObject
- PALM_SLAB;
- public static RegistryObject
- WILLOW_SLAB;
- public static RegistryObject
- DEAD_SLAB;
- public static RegistryObject
- MAGIC_SLAB;
- public static RegistryObject
- UMBRAN_SLAB;
- public static RegistryObject
- HELLBARK_SLAB;
- public static RegistryObject
- FIR_LOG_ITEM;
- public static RegistryObject
- REDWOOD_LOG_ITEM;
- public static RegistryObject
- MAHOGANY_LOG_ITEM;
- public static RegistryObject
- JACARANDA_LOG_ITEM;
- public static RegistryObject
- PALM_LOG_ITEM;
- public static RegistryObject
- WILLOW_LOG_ITEM;
- public static RegistryObject
- DEAD_LOG_ITEM;
- public static RegistryObject
- MAGIC_LOG_ITEM;
- public static RegistryObject
- UMBRAN_LOG_ITEM;
- public static RegistryObject
- HELLBARK_LOG_ITEM;
- public static RegistryObject FIR_LOG;
- public static RegistryObject REDWOOD_LOG;
- public static RegistryObject MAHOGANY_LOG;
- public static RegistryObject JACARANDA_LOG;
- public static RegistryObject PALM_LOG;
- public static RegistryObject WILLOW_LOG;
- public static RegistryObject DEAD_LOG;
- public static RegistryObject MAGIC_LOG;
- public static RegistryObject UMBRAN_LOG;
- public static RegistryObject HELLBARK_LOG;
- public static RegistryObject
- ORIGIN_SAPLING;
- public static RegistryObject
- FLOWERING_OAK_SAPLING;
- public static RegistryObject
- SNOWBLOSSOM_SAPLING;
- public static RegistryObject
- RAINBOW_BIRCH_SAPLING;
- public static RegistryObject
- YELLOW_AUTUMN_SAPLING;
- public static RegistryObject
- ORANGE_AUTUMN_SAPLING;
- public static RegistryObject
- MAPLE_SAPLING;
- public static RegistryObject
- FIR_SAPLING;
- public static RegistryObject
- REDWOOD_SAPLING;
- public static RegistryObject
- MAHOGANY_SAPLING;
- public static RegistryObject
- JACARANDA_SAPLING;
- public static RegistryObject
- PALM_SAPLING;
- public static RegistryObject
- WILLOW_SAPLING;
- public static RegistryObject
- DEAD_SAPLING;
- public static RegistryObject
- MAGIC_SAPLING;
- public static RegistryObject
- UMBRAN_SAPLING;
- public static RegistryObject
- HELLBARK_SAPLING;
+ public static final RegistryObject
+ FIR_PLANKS = block(ModIds.BIOMES_O_PLENTY, "fir_planks"),
+ REDWOOD_PLANKS = block(ModIds.BIOMES_O_PLENTY, "redwood_planks"),
+ MAHOGANY_PLANKS = block(ModIds.BIOMES_O_PLENTY, "mahogany_planks"),
+ JACARANDA_PLANKS = block(ModIds.BIOMES_O_PLENTY, "jacaranda_planks"),
+ PALM_PLANKS = block(ModIds.BIOMES_O_PLENTY, "palm_planks"),
+ WILLOW_PLANKS = block(ModIds.BIOMES_O_PLENTY, "willow_planks"),
+ DEAD_PLANKS = block(ModIds.BIOMES_O_PLENTY, "dead_planks"),
+ MAGIC_PLANKS = block(ModIds.BIOMES_O_PLENTY, "magic_planks"),
+ UMBRAN_PLANKS = block(ModIds.BIOMES_O_PLENTY, "umbran_planks"),
+ HELLBARK_PLANKS = block(ModIds.BIOMES_O_PLENTY, "hellbark_planks"),
+ FIR_LOG = block(ModIds.BIOMES_O_PLENTY, "fir_log"),
+ REDWOOD_LOG = block(ModIds.BIOMES_O_PLENTY, "redwood_log"),
+ MAHOGANY_LOG = block(ModIds.BIOMES_O_PLENTY, "mahogany_log"),
+ JACARANDA_LOG = block(ModIds.BIOMES_O_PLENTY, "jacaranda_log"),
+ PALM_LOG = block(ModIds.BIOMES_O_PLENTY, "palm_log"),
+ WILLOW_LOG = block(ModIds.BIOMES_O_PLENTY, "willow_log"),
+ DEAD_LOG = block(ModIds.BIOMES_O_PLENTY, "dead_log"),
+ MAGIC_LOG = block(ModIds.BIOMES_O_PLENTY, "magic_log"),
+ UMBRAN_LOG = block(ModIds.BIOMES_O_PLENTY, "umbran_log"),
+ HELLBARK_LOG = block(ModIds.BIOMES_O_PLENTY, "hellbark_log");
+ public static final RegistryObject
-
+ FIR_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "fir_planks"),
+ REDWOOD_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "redwood_planks"),
+ MAHOGANY_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "mahogany_planks"),
+ JACARANDA_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "jacaranda_planks"),
+ PALM_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "palm_planks"),
+ WILLOW_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "willow_planks"),
+ DEAD_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "dead_planks"),
+ MAGIC_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "magic_planks"),
+ UMBRAN_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "umbran_planks"),
+ HELLBARK_PLANKS_ITEM = item(ModIds.BIOMES_O_PLENTY, "hellbark_planks"),
+ FIR_SLAB = item(ModIds.BIOMES_O_PLENTY, "fir_slab"),
+ REDWOOD_SLAB = item(ModIds.BIOMES_O_PLENTY, "redwood_slab"),
+ MAHOGANY_SLAB = item(ModIds.BIOMES_O_PLENTY, "mahogany_slab"),
+ JACARANDA_SLAB = item(ModIds.BIOMES_O_PLENTY, "jacaranda_slab"),
+ PALM_SLAB = item(ModIds.BIOMES_O_PLENTY, "palm_slab"),
+ WILLOW_SLAB = item(ModIds.BIOMES_O_PLENTY, "willow_slab"),
+ DEAD_SLAB = item(ModIds.BIOMES_O_PLENTY, "dead_slab"),
+ MAGIC_SLAB = item(ModIds.BIOMES_O_PLENTY, "magic_slab"),
+ UMBRAN_SLAB = item(ModIds.BIOMES_O_PLENTY, "umbran_slab"),
+ HELLBARK_SLAB = item(ModIds.BIOMES_O_PLENTY, "hellbark_slab"),
+ FIR_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "fir_log"),
+ REDWOOD_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "redwood_log"),
+ MAHOGANY_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "mahogany_log"),
+ JACARANDA_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "jacaranda_log"),
+ PALM_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "palm_log"),
+ WILLOW_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "willow_log"),
+ DEAD_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "dead_log"),
+ MAGIC_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "magic_log"),
+ UMBRAN_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "umbran_log"),
+ HELLBARK_LOG_ITEM = item(ModIds.BIOMES_O_PLENTY, "hellbark_log"),
+ ORIGIN_SAPLING = item(ModIds.BIOMES_O_PLENTY, "origin_sapling"),
+ FLOWERING_OAK_SAPLING = item(ModIds.BIOMES_O_PLENTY, "flowering_oak_sapling"),
+ SNOWBLOSSOM_SAPLING = item(ModIds.BIOMES_O_PLENTY, "snowblossom_sapling"),
+ RAINBOW_BIRCH_SAPLING = item(ModIds.BIOMES_O_PLENTY, "rainbow_birch_sapling"),
+ YELLOW_AUTUMN_SAPLING = item(ModIds.BIOMES_O_PLENTY, "yellow_autumn_sapling"),
+ ORANGE_AUTUMN_SAPLING = item(ModIds.BIOMES_O_PLENTY, "orange_autumn_sapling"),
+ MAPLE_SAPLING = item(ModIds.BIOMES_O_PLENTY, "maple_sapling"),
+ FIR_SAPLING = item(ModIds.BIOMES_O_PLENTY, "fir_sapling"),
+ REDWOOD_SAPLING = item(ModIds.BIOMES_O_PLENTY, "redwood_sapling"),
+ MAHOGANY_SAPLING = item(ModIds.BIOMES_O_PLENTY, "mahogany_sapling"),
+ JACARANDA_SAPLING = item(ModIds.BIOMES_O_PLENTY, "jacaranda_sapling"),
+ PALM_SAPLING = item(ModIds.BIOMES_O_PLENTY, "palm_sapling"),
+ WILLOW_SAPLING = item(ModIds.BIOMES_O_PLENTY, "willow_sapling"),
+ DEAD_SAPLING = item(ModIds.BIOMES_O_PLENTY, "dead_sapling"),
+ MAGIC_SAPLING = item(ModIds.BIOMES_O_PLENTY, "magic_sapling"),
+ UMBRAN_SAPLING = item(ModIds.BIOMES_O_PLENTY, "umbran_sapling"),
+ HELLBARK_SAPLING = item(ModIds.BIOMES_O_PLENTY, "hellbark_sapling");
// Applied Energistics 2
- public static RegistryObject
- CERTUS_QUARTZ_CRYSTAL;
- public static RegistryObject
- CHARGED_CERTUS_QUARTZ_CRYSTAL;
- public static RegistryObject
- CERTUS_QUARTZ_DUST;
- public static RegistryObject
- SKY_STONE_DUST;
+ public static final RegistryObject
-
+ CERTUS_QUARTZ_CRYSTAL = item(ModIds.APPLIED_ENERGISTICS_2, "certus_quartz_crystal"),
+ CHARGED_CERTUS_QUARTZ_CRYSTAL = item(ModIds.APPLIED_ENERGISTICS_2, "charged_certus_quartz_crystal"),
+ CERTUS_QUARTZ_DUST = item(ModIds.APPLIED_ENERGISTICS_2, "certus_quartz_dust"),
+ SKY_STONE_DUST = item(ModIds.APPLIED_ENERGISTICS_2, "sky_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 final RegistryObject
+ CASCADING_ARCHWOOD_LOG = block(ModIds.ARS_NOUVEAU, "blue_archwood_log"),
+ BLAZING_ARCHWOOD_LOG = block(ModIds.ARS_NOUVEAU, "red_archwood_log"),
+ VEXING_ARCHWOOD_LOG = block(ModIds.ARS_NOUVEAU, "purple_archwood_log"),
+ FLOURISHING_ARCHWOOD_LOG = block(ModIds.ARS_NOUVEAU, "green_archwood_log"),
+ ARCHWOOD_PLANKS = block(ModIds.ARS_NOUVEAU, "archwood_planks");
+ public static final RegistryObject
-
+ BLUE_ARCHWOOD_SAPLING = item(ModIds.ARS_NOUVEAU, "blue_archwood_sapling"),
+ RED_ARCHWOOD_SAPLING = item(ModIds.ARS_NOUVEAU, "red_archwood_sapling"),
+ PURPLE_ARCHWOOD_SAPLING = item(ModIds.ARS_NOUVEAU, "purple_archwood_sapling"),
+ GREEN_ARCHWOOD_SAPLING = item(ModIds.ARS_NOUVEAU, "green_archwood_sapling"),
+ SOURCEBERRY = item(ModIds.ARS_NOUVEAU, "sourceberry_bush"),
+ CASCADING_ARCHWOOD_LOG_ITEM = item(ModIds.ARS_NOUVEAU, "blue_archwood_log"),
+ BLAZING_ARCHWOOD_LOG_ITEM = item(ModIds.ARS_NOUVEAU, "red_archwood_log"),
+ VEXING_ARCHWOOD_LOG_ITEM = item(ModIds.ARS_NOUVEAU, "purple_archwood_log"),
+ FLOURISHING_ARCHWOOD_LOG_ITEM = item(ModIds.ARS_NOUVEAU, "green_archwood_log"),
+ ARCHWOOD_SLAB = item(ModIds.ARS_NOUVEAU, "archwood_slab"),
+ ARCHWOOD_PLANKS_ITEM = item(ModIds.ARS_NOUVEAU, "archwood_planks");
// Aether
- public static RegistryObject SKYROOT_PLANKS;
- public static RegistryObject
- SKYROOT_SLAB;
- public static RegistryObject
- SKYROOT_PLANKS_ITEM;
+ public static final RegistryObject
+ SKYROOT_PLANKS = block(ModIds.AETHER, "skyroot_planks"),
+ SKYROOT_LOG = block(ModIds.AETHER, "skyroot_log"),
+ GOLDEN_OAK_LOG = block(ModIds.AETHER, "golden_oak_log");
+ public static final RegistryObject
-
+ SKYROOT_SLAB = item(ModIds.AETHER, "skyroot_slab"),
+ SKYROOT_PLANKS_ITEM = item(ModIds.AETHER, "skyroot_planks"),
+ GOLDEN_OAK_LOG_ITEM = item(ModIds.AETHER, "golden_oak_log"),
+ SKYROOT_LOG_ITEM = item(ModIds.AETHER, "skyroot_log");
+ // Blue Skies
+ public static final RegistryObject
+ BLUEBRIGHT_PLANKS = block(ModIds.BLUE_SKIES, "bluebright_planks"),
+ STARLIT_PLANKS = block(ModIds.BLUE_SKIES, "starlit_planks"),
+ FROSTBRIGHT_PLANKS = block(ModIds.BLUE_SKIES, "frostbright_planks"),
+ COMET_PLANKS = block(ModIds.BLUE_SKIES, "comet_planks"),
+ LUNAR_PLANKS = block(ModIds.BLUE_SKIES, "lunar_planks"),
+ DUSK_PLANKS = block(ModIds.BLUE_SKIES, "dusk_planks"),
+ MAPLE_PLANKS = block(ModIds.BLUE_SKIES, "maple_planks"),
+ CRYSTALLIZED_PLANKS = block(ModIds.BLUE_SKIES, "crystallized_planks"),
+ BLUEBRIGHT_LOG = block(ModIds.BLUE_SKIES, "bluebright_log"),
+ STARLIT_LOG = block(ModIds.BLUE_SKIES, "starlit_log"),
+ FROSTBRIGHT_LOG = block(ModIds.BLUE_SKIES, "frostbright_log"),
+ COMET_LOG = block(ModIds.BLUE_SKIES, "comet_log"),
+ LUNAR_LOG = block(ModIds.BLUE_SKIES, "lunar_log"),
+ DUSK_LOG = block(ModIds.BLUE_SKIES, "dusk_log"),
+ MAPLE_LOG = block(ModIds.BLUE_SKIES, "maple_log"),
+ CRYSTALLIZED_LOG = block(ModIds.BLUE_SKIES, "crystallized_log");
+ public static final RegistryObject
-
+ BLUEBRIGHT_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "bluebright_planks"),
+ STARLIT_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "starlit_planks"),
+ FROSTBRIGHT_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "frostbright_planks"),
+ COMET_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "comet_planks"),
+ LUNAR_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "lunar_planks"),
+ DUSK_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "dusk_planks"),
+ MAPLE_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "maple_planks"),
+ CRYSTALLIZED_PLANKS_ITEM = item(ModIds.BLUE_SKIES, "crystallized_planks"),
+ BLUEBRIGHT_SLAB = item(ModIds.BLUE_SKIES, "bluebright_slab"),
+ STARLIT_SLAB = item(ModIds.BLUE_SKIES, "starlit_slab"),
+ FROSTBRIGHT_SLAB = item(ModIds.BLUE_SKIES, "frostbright_slab"),
+ COMET_SLAB = item(ModIds.BLUE_SKIES, "comet_slab"),
+ LUNAR_SLAB = item(ModIds.BLUE_SKIES, "lunar_slab"),
+ DUSK_SLAB = item(ModIds.BLUE_SKIES, "dusk_slab"),
+ MAPLE_SLAB = item(ModIds.BLUE_SKIES, "maple_slab"),
+ CRYSTALLIZED_SLAB = item(ModIds.BLUE_SKIES, "crystallized_slab"),
+ BLUEBRIGHT_LOG_ITEM = item(ModIds.BLUE_SKIES, "bluebright_log"),
+ STARLIT_LOG_ITEM = item(ModIds.BLUE_SKIES, "starlit_log"),
+ FROSTBRIGHT_LOG_ITEM = item(ModIds.BLUE_SKIES, "frostbright_log"),
+ COMET_LOG_ITEM = item(ModIds.BLUE_SKIES, "comet_log"),
+ LUNAR_LOG_ITEM = item(ModIds.BLUE_SKIES, "lunar_log"),
+ DUSK_LOG_ITEM = item(ModIds.BLUE_SKIES, "dusk_log"),
+ MAPLE_LOG_ITEM = item(ModIds.BLUE_SKIES, "maple_log"),
+ CRYSTALLIZED_LOG_ITEM = item(ModIds.BLUE_SKIES, "crystallized_log");
+
+ public static final ResourceLocation[] PAMS_CROPS;
+
+ static {
+ // copy and pasted from the GitHub
+ String[] names = { "pamagavecrop", "pamamaranthcrop", "pamarrowrootcrop", "pamartichokecrop", "pamasparaguscrop", "pambarleycrop", "pambeancrop", "pambellpeppercrop", "pamblackberrycrop", "pamblueberrycrop", "pambroccolicrop", "pambrusselsproutcrop", "pamcabbagecrop", "pamcactusfruitcrop", "pamcandleberrycrop", "pamcantaloupecrop", "pamcassavacrop", "pamcauliflowercrop", "pamcelerycrop", "pamchickpeacrop", "pamchilipeppercrop", "pamcoffeebeancrop", "pamcorncrop", "pamcottoncrop", "pamcranberrycrop", "pamcucumbercrop", "pameggplantcrop", "pamelderberrycrop", "pamflaxcrop", "pamgarliccrop", "pamgingercrop", "pamgrapecrop", "pamgreengrapecrop", "pamhuckleberrycrop", "pamjicamacrop", "pamjuniperberrycrop", "pamjutecrop", "pamkalecrop", "pamkenafcrop", "pamkiwicrop", "pamkohlrabicrop", "pamleekcrop", "pamlentilcrop", "pamlettucecrop", "pammilletcrop", "pammulberrycrop", "pammustardseedscrop", "pamoatscrop", "pamokracrop", "pamonioncrop", "pamparsnipcrop", "pampeanutcrop", "pampeascrop", "pampineapplecrop", "pamquinoacrop", "pamradishcrop", "pamraspberrycrop", "pamrhubarbcrop", "pamricecrop", "pamrutabagacrop", "pamryecrop", "pamscallioncrop", "pamsesameseedscrop", "pamsisalcrop", "pamsoybeancrop", "pamspiceleafcrop", "pamspinachcrop", "pamstrawberrycrop", "pamsweetpotatocrop", "pamtarocrop", "pamtealeafcrop", "pamtomatillocrop", "pamtomatocrop", "pamturnipcrop", "pamwaterchestnutcrop", "pamwhitemushroomcrop", "pamwintersquashcrop", "pamzucchinicrop"};
+ PAMS_CROPS = new ResourceLocation[names.length];
+
+ for (int i = 0, namesLength = names.length; i < namesLength; i++) {
+ PAMS_CROPS[i] = new ResourceLocation(ModIds.PAMS_HARVESTCRAFT_CROPS, names[i]);
+ }
+ }
public static void registerModData() {
- registerModItems(ModIds.ENDERIO, addItem -> GRAINS_OF_INFINITY = addItem.apply("grains_of_infinity"));
- registerModItems(ModIds.EXTREME_REACTORS, addItem -> YELLORIUM_DUST = addItem.apply("yellorium_dust"));
- registerModBlocks(ModIds.BIOMES_O_PLENTY, addBlock -> {
- FIR_PLANKS = addBlock.apply("fir_planks");
- REDWOOD_PLANKS = addBlock.apply("redwood_planks");
- MAHOGANY_PLANKS = addBlock.apply("mahogany_planks");
- JACARANDA_PLANKS = addBlock.apply("jacaranda_planks");
- PALM_PLANKS = addBlock.apply("palm_planks");
- WILLOW_PLANKS = addBlock.apply("willow_planks");
- DEAD_PLANKS = addBlock.apply("dead_planks");
- MAGIC_PLANKS = addBlock.apply("magic_planks");
- UMBRAN_PLANKS = addBlock.apply("umbran_planks");
- HELLBARK_PLANKS = addBlock.apply("hellbark_planks");
- FIR_LOG = addBlock.apply("fir_log");
- REDWOOD_LOG = addBlock.apply("redwood_log");
- MAHOGANY_LOG = addBlock.apply("mahogany_log");
- JACARANDA_LOG = addBlock.apply("jacaranda_log");
- PALM_LOG = addBlock.apply("palm_log");
- WILLOW_LOG = addBlock.apply("willow_log");
- DEAD_LOG = addBlock.apply("dead_log");
- MAGIC_LOG = addBlock.apply("magic_log");
- UMBRAN_LOG = addBlock.apply("umbran_log");
- HELLBARK_LOG = addBlock.apply("hellbark_log");
- });
- registerModItems(ModIds.BIOMES_O_PLENTY, addItem -> {
- FIR_PLANKS_ITEM = addItem.apply("fir_planks");
- REDWOOD_PLANKS_ITEM = addItem.apply("redwood_planks");
- MAHOGANY_PLANKS_ITEM = addItem.apply("mahogany_planks");
- JACARANDA_PLANKS_ITEM = addItem.apply("jacaranda_planks");
- PALM_PLANKS_ITEM = addItem.apply("palm_planks");
- WILLOW_PLANKS_ITEM = addItem.apply("willow_planks");
- DEAD_PLANKS_ITEM = addItem.apply("dead_planks");
- MAGIC_PLANKS_ITEM = addItem.apply("magic_planks");
- UMBRAN_PLANKS_ITEM = addItem.apply("umbran_planks");
- HELLBARK_PLANKS_ITEM = addItem.apply("hellbark_planks");
- FIR_SLAB = addItem.apply("fir_slab");
- REDWOOD_SLAB = addItem.apply("redwood_slab");
- MAHOGANY_SLAB = addItem.apply("mahogany_slab");
- JACARANDA_SLAB = addItem.apply("jacaranda_slab");
- PALM_SLAB = addItem.apply("palm_slab");
- WILLOW_SLAB = addItem.apply("willow_slab");
- DEAD_SLAB = addItem.apply("dead_slab");
- MAGIC_SLAB = addItem.apply("magic_slab");
- UMBRAN_SLAB = addItem.apply("umbran_slab");
- HELLBARK_SLAB = addItem.apply("hellbark_slab");
- ORIGIN_SAPLING = addItem.apply("origin_sapling");
- FLOWERING_OAK_SAPLING = addItem.apply("flowering_oak_sapling");
- SNOWBLOSSOM_SAPLING = addItem.apply("snowblossom_sapling");
- RAINBOW_BIRCH_SAPLING = addItem.apply("rainbow_birch_sapling");
- YELLOW_AUTUMN_SAPLING = addItem.apply("yellow_autumn_sapling");
- ORANGE_AUTUMN_SAPLING = addItem.apply("orange_autumn_sapling");
- MAPLE_SAPLING = addItem.apply("maple_sapling");
- FIR_SAPLING = addItem.apply("fir_sapling");
- REDWOOD_SAPLING = addItem.apply("redwood_sapling");
- MAHOGANY_SAPLING = addItem.apply("mahogany_sapling");
- JACARANDA_SAPLING = addItem.apply("jacaranda_sapling");
- PALM_SAPLING = addItem.apply("palm_sapling");
- WILLOW_SAPLING = addItem.apply("willow_sapling");
- DEAD_SAPLING = addItem.apply("dead_sapling");
- MAGIC_SAPLING = addItem.apply("magic_sapling");
- UMBRAN_SAPLING = addItem.apply("umbran_sapling");
- HELLBARK_SAPLING = addItem.apply("hellbark_sapling");
- FIR_LOG_ITEM = addItem.apply("fir_log");
- REDWOOD_LOG_ITEM = addItem.apply("redwood_log");
- MAHOGANY_LOG_ITEM = addItem.apply("mahogany_log");
- JACARANDA_LOG_ITEM = addItem.apply("jacaranda_log");
- PALM_LOG_ITEM = addItem.apply("palm_log");
- WILLOW_LOG_ITEM = addItem.apply("willow_log");
- DEAD_LOG_ITEM = addItem.apply("dead_log");
- MAGIC_LOG_ITEM = addItem.apply("magic_log");
- UMBRAN_LOG_ITEM = addItem.apply("umbran_log");
- HELLBARK_LOG_ITEM = addItem.apply("hellbark_log");
- });
- registerModItems(ModIds.APPLIED_ENERGISTICS_2, addItem -> {
- CERTUS_QUARTZ_CRYSTAL = addItem.apply("certus_quartz_crystal");
- CHARGED_CERTUS_QUARTZ_CRYSTAL = addItem.apply("charged_certus_quartz_crystal");
- 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");
- });
- registerModBlocks(ModIds.AETHER, addBlock -> {
- SKYROOT_PLANKS = addBlock.apply("skyroot_planks");
- });
- registerModItems(ModIds.AETHER, addItem -> {
- SKYROOT_SLAB = addItem.apply("skyroot_slab");
- SKYROOT_PLANKS_ITEM = addItem.apply("skyroot_planks");
- });
- }
+ var modBus = FMLJavaModLoadingContext.get().getModEventBus();
- private static void registerModItems(String modid, Consumer>> addItems) {
- var deferredRegister = DeferredRegister.create(ForgeRegistries.ITEMS, modid);
- deferredRegister.register(FMLJavaModLoadingContext.get().getModEventBus());
-
- addItems.accept(name -> deferredRegister.register(name, () -> new Item(new Item.Properties())));
- }
-
- @SuppressWarnings("SameParameterValue")
- private static void registerModBlocks(String modid, Consumer>> addBlocks) {
- var deferredRegister = DeferredRegister.create(ForgeRegistries.BLOCKS, modid);
- deferredRegister.register(FMLJavaModLoadingContext.get().getModEventBus());
-
- addBlocks.accept(name -> deferredRegister.register(name, () -> new Block(BlockBehaviour.Properties.of())));
+ for (var registry : itemRegistries.values()) {
+ registry.register(modBus);
+ }
+ for (var registry : blockRegistries.values()) {
+ registry.register(modBus);
+ }
}
}
diff --git a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
index 2c3a5206..d97b13f9 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/ModTags.java
@@ -42,7 +42,11 @@ import thedarkcolour.modkit.data.MKTagsProvider;
class ModTags {
public static void createBlockTags(MKTagsProvider tags) {
- tags.tag(EBlockTags.WATERING_CAN_TICKABLE).add(Blocks.GRASS_BLOCK, Blocks.MYCELIUM, Blocks.CRIMSON_FUNGUS, Blocks.WARPED_FUNGUS, Blocks.RED_MUSHROOM, Blocks.BROWN_MUSHROOM, Blocks.CACTUS, Blocks.SUGAR_CANE, Blocks.SWEET_BERRY_BUSH, Blocks.COCOA).addTags(BlockTags.SAPLINGS, BlockTags.NYLIUM, BlockTags.BEE_GROWABLES);
+ var wateringCanTickable = tags.tag(EBlockTags.WATERING_CAN_TICKABLE);
+ wateringCanTickable.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);
+ for (ResourceLocation path : ModCompatData.PAMS_CROPS) {
+ wateringCanTickable.addOptional(path);
+ }
tags.tag(BlockTags.MINEABLE_WITH_AXE).add(
// Vanilla barrels
@@ -54,7 +58,7 @@ class ModTags {
// Aether barrels
EBlocks.SKYROOT_BARREL.get(),
// Blue Skies barrels
- EBlocks.BLUEBRIGHT_BARREL.get(), EBlocks.STARLIT_BARREL.get(), EBlocks.FROSTBRIGHT_BARREL.get(), EBlocks.COMET_BARREL.get(), EBlocks.LUNAR_BARREL.get(), EBlocks.DUSK_BARREL.get(), EBlocks.MAPLE_BARREL.get(), EBlocks.CRYSTALLIZED_BARREL.get(),
+ EBlocks.BLUEBRIGHT_BARREL.get(), EBlocks.STARLIT_BARREL.get(), EBlocks.FROSTBRIGHT_BARREL.get(), EBlocks.COMET_BARREL.get(), EBlocks.LUNAR_BARREL.get(), EBlocks.DUSK_BARREL.get(), EBlocks.MAPLE_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
@@ -64,7 +68,7 @@ class ModTags {
// Aether sieves
EBlocks.SKYROOT_SIEVE.get(),
// Blue Skies sieves
- EBlocks.BLUEBRIGHT_SIEVE.get(), EBlocks.STARLIT_SIEVE.get(), EBlocks.FROSTBRIGHT_SIEVE.get(), EBlocks.COMET_SIEVE.get(), EBlocks.LUNAR_SIEVE.get(), EBlocks.DUSK_SIEVE.get(), EBlocks.MAPLE_SIEVE.get(), EBlocks.CRYSTALLIZED_SIEVE.get(),
+ EBlocks.BLUEBRIGHT_SIEVE.get(), EBlocks.STARLIT_SIEVE.get(), EBlocks.FROSTBRIGHT_SIEVE.get(), EBlocks.COMET_SIEVE.get(), EBlocks.LUNAR_SIEVE.get(), EBlocks.DUSK_SIEVE.get(), EBlocks.MAPLE_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
@@ -76,7 +80,7 @@ class ModTags {
// Blue Skies crucibles
EBlocks.BLUEBRIGHT_CRUCIBLE.get(), EBlocks.STARLIT_CRUCIBLE.get(), EBlocks.FROSTBRIGHT_CRUCIBLE.get(), EBlocks.COMET_CRUCIBLE.get(), EBlocks.LUNAR_CRUCIBLE.get(), EBlocks.DUSK_CRUCIBLE.get(), EBlocks.MAPLE_CRUCIBLE.get()
);
- tags.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(EBlocks.STONE_BARREL, EBlocks.PORCELAIN_CRUCIBLE, EBlocks.UNFIRED_PORCELAIN_CRUCIBLE);
+ tags.tag(BlockTags.MINEABLE_WITH_PICKAXE).add(EBlocks.STONE_BARREL, EBlocks.PORCELAIN_CRUCIBLE, EBlocks.UNFIRED_PORCELAIN_CRUCIBLE, EBlocks.CRYSTALLIZED_BARREL, EBlocks.CRYSTALLIZED_CRUCIBLE, EBlocks.CRYSTALLIZED_SIEVE);
tags.tag(BlockTags.MINEABLE_WITH_SHOVEL).add(EBlocks.DUST, EBlocks.CRUSHED_NETHERRACK, EBlocks.CRUSHED_END_STONE, EBlocks.CRUSHED_DEEPSLATE, EBlocks.CRUSHED_BLACKSTONE);
tags.tag(BlockTags.MINEABLE_WITH_HOE).add(EBlocks.INFESTED_LEAVES);
tags.tag(BlockTags.LEAVES).add(EBlocks.INFESTED_LEAVES);
@@ -88,8 +92,18 @@ class ModTags {
tags.tag(EItemTags.SIEVE_MESHES).add(EItems.STRING_MESH, EItems.FLINT_MESH, EItems.IRON_MESH, EItems.GOLDEN_MESH, EItems.DIAMOND_MESH, EItems.NETHERITE_MESH);
tags.tag(EItemTags.PEBBLES).add(EItems.STONE_PEBBLE, EItems.DIORITE_PEBBLE, EItems.GRANITE_PEBBLE, EItems.ANDESITE_PEBBLE, EItems.DEEPSLATE_PEBBLE, EItems.TUFF_PEBBLE, EItems.CALCITE_PEBBLE, EItems.BLACKSTONE_PEBBLE, EItems.BASALT_PEBBLE);
tags.tag(EItemTags.END_CAKE_MATERIAL).add(Items.ENDER_EYE);
- tags.tag(EItemTags.WOODEN_BARRELS).add(EItems.OAK_BARREL.get(), EItems.SPRUCE_BARREL.get(), EItems.BIRCH_BARREL.get(), EItems.JUNGLE_BARREL.get(), EItems.ACACIA_BARREL.get(), EItems.DARK_OAK_BARREL.get(), EItems.MANGROVE_BARREL.get(), EItems.CHERRY_BARREL.get(), EItems.BAMBOO_BARREL.get());
- tags.tag(EItemTags.STONE_BARRELS).add(EItems.STONE_BARREL);
+ tags.tag(EItemTags.WOODEN_BARRELS).add(
+ EItems.OAK_BARREL.get(), EItems.SPRUCE_BARREL.get(), EItems.BIRCH_BARREL.get(), EItems.JUNGLE_BARREL.get(), EItems.ACACIA_BARREL.get(), EItems.DARK_OAK_BARREL.get(), EItems.MANGROVE_BARREL.get(), EItems.CHERRY_BARREL.get(), EItems.BAMBOO_BARREL.get(),
+ // BOP barrels
+ EItems.FIR_BARREL.get(), EItems.REDWOOD_BARREL.get(), EItems.MAHOGANY_BARREL.get(), EItems.JACARANDA_BARREL.get(), EItems.PALM_BARREL.get(), EItems.WILLOW_BARREL.get(), EItems.DEAD_BARREL.get(), EItems.MAGIC_BARREL.get(), EItems.UMBRAN_BARREL.get(), EItems.HELLBARK_BARREL.get(),
+ // Ars Nouveau barrels
+ EItems.ARCHWOOD_BARREL.get(),
+ // Aether barrels
+ EItems.SKYROOT_BARREL.get(),
+ // Blue Skies barrels
+ EItems.BLUEBRIGHT_BARREL.get(), EItems.STARLIT_BARREL.get(), EItems.FROSTBRIGHT_BARREL.get(), EItems.COMET_BARREL.get(), EItems.LUNAR_BARREL.get(), EItems.DUSK_BARREL.get(), EItems.MAPLE_BARREL.get()
+ );
+ tags.tag(EItemTags.STONE_BARRELS).add(EItems.STONE_BARREL, EItems.CRYSTALLIZED_BARREL);
tags.tag(EItemTags.BARRELS).addTags(EItemTags.WOODEN_BARRELS, EItemTags.STONE_BARRELS);
}
diff --git a/src/main/java/thedarkcolour/exdeorum/data/TranslationKeys.java b/src/main/java/thedarkcolour/exdeorum/data/TranslationKeys.java
index bf5f03ab..7191c6be 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/TranslationKeys.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/TranslationKeys.java
@@ -54,6 +54,8 @@ public class TranslationKeys {
public static final String BARREL_MIXING_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.barrel_mixing";
public static final String WATER_CRUCIBLE_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.water_crucible";
public static final String LAVA_CRUCIBLE_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.lava_crucible";
+ public static final String CRUCIBLE_HEAT_SOURCE_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.crucible_heat_source";
+ public static final String CRUCIBLE_HEAT_SOURCE_CATEGORY_MULTIPLIER = "gui." + ExDeorum.ID + ".category.crucible_heat_source.multiplier";
public static final String HAMMER_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.hammer";
public static final String SIEVE_CATEGORY_TITLE = "gui." + ExDeorum.ID + ".category.sieve";
public static final String SIEVE_RECIPE_CHANCE = "gui." + ExDeorum.ID + ".category.sieve.chance";
diff --git a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
index 399a050f..9467f709 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/recipe/Recipes.java
@@ -118,6 +118,18 @@ public class Recipes {
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);
+ // Aether crucibles
+ modUShaped(recipes, ModIds.AETHER, ModCompatData.GOLDEN_OAK_LOG_ITEM, ModCompatData.SKYROOT_SLAB, EItems.GOLDEN_OAK_CRUCIBLE);
+ modUShaped(recipes, ModIds.AETHER, ModCompatData.SKYROOT_LOG_ITEM, ModCompatData.SKYROOT_SLAB, EItems.SKYROOT_CRUCIBLE);
+ // Blue Skies crucibles
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.BLUEBRIGHT_LOG_ITEM, ModCompatData.BLUEBRIGHT_SLAB, EItems.BLUEBRIGHT_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.STARLIT_LOG_ITEM, ModCompatData.STARLIT_SLAB, EItems.STARLIT_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.FROSTBRIGHT_LOG_ITEM, ModCompatData.FROSTBRIGHT_SLAB, EItems.FROSTBRIGHT_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.COMET_LOG_ITEM, ModCompatData.COMET_SLAB, EItems.COMET_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.LUNAR_LOG_ITEM, ModCompatData.LUNAR_SLAB, EItems.LUNAR_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.DUSK_LOG_ITEM, ModCompatData.DUSK_SLAB, EItems.DUSK_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.MAPLE_LOG_ITEM, ModCompatData.MAPLE_SLAB, EItems.MAPLE_CRUCIBLE);
+ modUShaped(recipes, ModIds.BLUE_SKIES, ModCompatData.CRYSTALLIZED_LOG_ITEM, ModCompatData.CRYSTALLIZED_SLAB, EItems.CRYSTALLIZED_CRUCIBLE);
// Barrels
uShaped(recipes, EItems.OAK_BARREL, ingredient(Items.OAK_PLANKS), ingredient(Items.OAK_SLAB));
diff --git a/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java b/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
index 02e72a74..c4781585 100644
--- a/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
+++ b/src/main/java/thedarkcolour/exdeorum/data/recipe/SieveRecipes.java
@@ -424,6 +424,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.06f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.05f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.06f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.06f), Recipes.AE2);
});
forMesh(writer, ingredient(EItems.DUST.get()), EItems.FLINT_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
addDrop.accept(Items.GUNPOWDER, chance(0.11f));
@@ -435,6 +436,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.07f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.055f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.07f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.07f), Recipes.AE2);
});
forMesh(writer, ingredient(EItems.DUST.get()), EItems.IRON_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
addDrop.accept(Items.GUNPOWDER, chance(0.13f));
@@ -447,6 +449,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.09f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.08f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.075f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.075f), Recipes.AE2);
});
forMesh(writer, ingredient(EItems.DUST.get()), EItems.GOLDEN_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
addDrop.accept(Items.GUNPOWDER, chance(0.13f));
@@ -460,6 +463,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.11f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.10f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.08f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.08f), Recipes.AE2);
});
forMesh(writer, ingredient(EItems.DUST.get()), EItems.DIAMOND_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
addDrop.accept(Items.GUNPOWDER, chance(0.14f));
@@ -472,6 +476,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.12f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.12f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.10f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.10f), Recipes.AE2);
});
forMesh(writer, ingredient(EItems.DUST.get()), EItems.NETHERITE_MESH, (addDrop, addTagDrop, addConditionalDrop) -> {
addDrop.accept(Items.GUNPOWDER, chance(0.14f));
@@ -485,6 +490,7 @@ class SieveRecipes {
addConditionalDrop.accept(ModCompatData.GRAINS_OF_INFINITY.get(), chance(0.135f), Recipes.ENDERIO);
addConditionalDrop.accept(ModCompatData.YELLORIUM_DUST.get(), chance(0.14f), Recipes.EXTREME_REACTORS);
addConditionalDrop.accept(ModCompatData.SKY_STONE_DUST.get(), chance(0.11f), Recipes.AE2);
+ addConditionalDrop.accept(ModCompatData.CERTUS_QUARTZ_DUST.get(), chance(0.11f), Recipes.AE2);
});
// Crushed Deepslate -> String mesh
diff --git a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java
index 16dfa8cd..9b52058e 100644
--- a/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java
+++ b/src/main/java/thedarkcolour/exdeorum/event/EventHandler.java
@@ -45,6 +45,8 @@ import net.minecraftforge.event.AddReloadListenerEvent;
import net.minecraftforge.event.OnDatapackSyncEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.event.level.LevelEvent;
+import net.minecraftforge.event.server.ServerStoppingEvent;
+import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.fluids.FluidInteractionRegistry;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.InterModComms;
@@ -86,12 +88,17 @@ public final class EventHandler {
fmlBus.addListener(EventHandler::createSpawnTree);
modBus.addListener(EventHandler::interModEnqueue);
modBus.addListener(EventHandler::onCommonSetup);
+ fmlBus.addListener(EventHandler::serverShutdown);
if (ExDeorum.DEBUG) {
fmlBus.addListener(EventHandler::handleDebugCommands);
}
}
+ private static void serverShutdown(ServerStoppingEvent event) {
+ RecipeUtil.unload();
+ }
+
private static void handleDebugCommands(ClientChatEvent event) {
if (event.getMessage().equals(".compost_colors")) {
event.setCanceled(true);
diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
index 3bb4769c..ce7b304f 100644
--- a/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
+++ b/src/main/java/thedarkcolour/exdeorum/registry/EBlocks.java
@@ -18,6 +18,7 @@
package thedarkcolour.exdeorum.registry;
+import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.DyeColor;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
@@ -32,6 +33,8 @@ import net.minecraftforge.registries.RegistryObject;
import thedarkcolour.exdeorum.ExDeorum;
import thedarkcolour.exdeorum.block.*;
+import java.util.function.Supplier;
+
import static net.minecraft.world.level.block.state.BlockBehaviour.Properties.copy;
import static net.minecraft.world.level.block.state.BlockBehaviour.Properties.of;
@@ -92,7 +95,7 @@ public class EBlocks {
public static final RegistryObject DARK_OAK_SIEVE = registerSieve("dark_oak_sieve");
public static final RegistryObject MANGROVE_SIEVE = registerSieve("mangrove_sieve");
public static final RegistryObject CHERRY_SIEVE = registerSieve("cherry_sieve");
- public static final RegistryObject BAMBOO_SIEVE = registerSieve("bamboo_sieve");
+ public static final RegistryObject BAMBOO_SIEVE = registerSieve("bamboo_sieve", SoundType.BAMBOO_WOOD);
public static final RegistryObject CRIMSON_SIEVE = registerSieve("crimson_sieve");
public static final RegistryObject WARPED_SIEVE = registerSieve("warped_sieve");
// BOP Sieves
@@ -118,7 +121,7 @@ public class EBlocks {
public static final RegistryObject LUNAR_SIEVE = registerSieve("lunar_sieve");
public static final RegistryObject DUSK_SIEVE = registerSieve("dusk_sieve");
public static final RegistryObject MAPLE_SIEVE = registerSieve("maple_sieve");
- public static final RegistryObject CRYSTALLIZED_SIEVE = registerSieve("crystallized_sieve");
+ public static final RegistryObject CRYSTALLIZED_SIEVE = registerSieve("crystallized_sieve", SoundType.GLASS);
// Lava Crucibles
public static final RegistryObject PORCELAIN_CRUCIBLE = registerLavaCrucible("porcelain_crucible", true, SoundType.STONE);
@@ -173,14 +176,19 @@ public class EBlocks {
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) {
- var bamboo = name.equals("bamboo_sieve");
- return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD)));
+ return registerSieve(name, SoundType.WOOD);
+ }
+
+ public static RegistryObject registerSieve(String name, SoundType sound) {
+ return BLOCKS.register(name, () -> new SieveBlock(of().strength(2.0f).noOcclusion().sound(sound)));
}
public static RegistryObject registerBarrel(String name, boolean stone, boolean fireproof, MapColor color) {
var bamboo = name.equals("bamboo_barrel");
+ var crystallized = name.equals("crystallized_barrel");
+
return BLOCKS.register(name, () -> {
- var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? SoundType.STONE : (bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD));
+ var props = of().noOcclusion().strength(stone ? 4.0f : 2.0f).sound(stone ? (crystallized ? SoundType.GLASS : SoundType.STONE) : (bamboo ? SoundType.BAMBOO_WOOD : SoundType.WOOD));
if (!stone) {
if (!fireproof) {
props.ignitedByLava();
diff --git a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
index b7d9f889..4008a8e0 100644
--- a/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
+++ b/src/main/java/thedarkcolour/exdeorum/registry/EItems.java
@@ -33,6 +33,7 @@ import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import thedarkcolour.exdeorum.ExDeorum;
import thedarkcolour.exdeorum.block.EBlock;
+import thedarkcolour.exdeorum.block.SieveBlock;
import thedarkcolour.exdeorum.compat.ModIds;
import thedarkcolour.exdeorum.item.*;
import thedarkcolour.exdeorum.recipe.RecipeUtil;
@@ -208,6 +209,17 @@ public class EItems {
public static final RegistryObject HELLBARK_SIEVE = registerItemBlock(EBlocks.HELLBARK_SIEVE);
// Ars Nouveau Sieves
public static final RegistryObject ARCHWOOD_SIEVE = registerItemBlock(EBlocks.ARCHWOOD_SIEVE);
+ // Aether Sieves
+ public static final RegistryObject SKYROOT_SIEVE = registerItemBlock(EBlocks.SKYROOT_SIEVE);
+ // Blue Skies Sieves
+ public static final RegistryObject BLUEBRIGHT_SIEVE = registerItemBlock(EBlocks.BLUEBRIGHT_SIEVE);
+ public static final RegistryObject STARLIT_SIEVE = registerItemBlock(EBlocks.STARLIT_SIEVE);
+ public static final RegistryObject FROSTBRIGHT_SIEVE = registerItemBlock(EBlocks.FROSTBRIGHT_SIEVE);
+ public static final RegistryObject COMET_SIEVE = registerItemBlock(EBlocks.COMET_SIEVE);
+ public static final RegistryObject LUNAR_SIEVE = registerItemBlock(EBlocks.LUNAR_SIEVE);
+ public static final RegistryObject DUSK_SIEVE = registerItemBlock(EBlocks.DUSK_SIEVE);
+ public static final RegistryObject MAPLE_SIEVE = registerItemBlock(EBlocks.MAPLE_SIEVE);
+ public static final RegistryObject CRYSTALLIZED_SIEVE = registerItemBlock(EBlocks.CRYSTALLIZED_SIEVE);
// Lava Crucibles
public static final RegistryObject PORCELAIN_CRUCIBLE = registerItemBlock(EBlocks.PORCELAIN_CRUCIBLE);
@@ -216,6 +228,8 @@ public class EItems {
public static final RegistryObject UNFIRED_PORCELAIN_CRUCIBLE = registerItemBlock(EBlocks.UNFIRED_PORCELAIN_CRUCIBLE);
// BOP Lava Crucibles
public static final RegistryObject HELLBARK_CRUCIBLE = registerItemBlock(EBlocks.HELLBARK_CRUCIBLE);
+ // Blue Skies Lava Crucibles
+ public static final RegistryObject CRYSTALLIZED_CRUCIBLE = registerItemBlock(EBlocks.CRYSTALLIZED_CRUCIBLE);
// Water Crucibles
public static final RegistryObject OAK_CRUCIBLE = registerItemBlock(EBlocks.OAK_CRUCIBLE);
@@ -242,10 +256,26 @@ public class EItems {
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);
+ // Aether Water Crucibles
+ public static final RegistryObject SKYROOT_CRUCIBLE = registerItemBlock(EBlocks.SKYROOT_CRUCIBLE);
+ public static final RegistryObject GOLDEN_OAK_CRUCIBLE = registerItemBlock(EBlocks.GOLDEN_OAK_CRUCIBLE);
+ // Blue Skies Water Crucibles
+ public static final RegistryObject BLUEBRIGHT_CRUCIBLE = registerItemBlock(EBlocks.BLUEBRIGHT_CRUCIBLE);
+ public static final RegistryObject STARLIT_CRUCIBLE = registerItemBlock(EBlocks.STARLIT_CRUCIBLE);
+ public static final RegistryObject FROSTBRIGHT_CRUCIBLE = registerItemBlock(EBlocks.FROSTBRIGHT_CRUCIBLE);
+ public static final RegistryObject COMET_CRUCIBLE = registerItemBlock(EBlocks.COMET_CRUCIBLE);
+ public static final RegistryObject LUNAR_CRUCIBLE = registerItemBlock(EBlocks.LUNAR_CRUCIBLE);
+ public static final RegistryObject DUSK_CRUCIBLE = registerItemBlock(EBlocks.DUSK_CRUCIBLE);
+ public static final RegistryObject MAPLE_CRUCIBLE = registerItemBlock(EBlocks.MAPLE_CRUCIBLE);
public static final RegistryObject END_CAKE = registerItemBlock(EBlocks.END_CAKE);
public static void addItemsToMainTab(CreativeModeTab.Output output) {
+ boolean biomesOPlenty = ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY);
+ boolean arsNouveau = ModList.get().isLoaded(ModIds.ARS_NOUVEAU);
+ boolean aether = ModList.get().isLoaded(ModIds.AETHER);
+ boolean blueSkies = ModList.get().isLoaded(ModIds.BLUE_SKIES);
+
output.accept(OAK_BARREL.get());
output.accept(SPRUCE_BARREL.get());
output.accept(BIRCH_BARREL.get());
@@ -258,7 +288,38 @@ public class EItems {
output.accept(CRIMSON_BARREL.get());
output.accept(WARPED_BARREL.get());
output.accept(STONE_BARREL.get());
+
+ if (biomesOPlenty) {
+ output.accept(FIR_BARREL.get());
+ output.accept(REDWOOD_BARREL.get());
+ output.accept(MAHOGANY_BARREL.get());
+ output.accept(JACARANDA_BARREL.get());
+ output.accept(PALM_BARREL.get());
+ output.accept(WILLOW_BARREL.get());
+ output.accept(DEAD_BARREL.get());
+ output.accept(MAGIC_BARREL.get());
+ output.accept(UMBRAN_BARREL.get());
+ output.accept(HELLBARK_BARREL.get());
+ }
+ if (arsNouveau) {
+ output.accept(ARCHWOOD_BARREL.get());
+ }
+ if (aether) {
+ output.accept(SKYROOT_BARREL.get());
+ }
+ if (blueSkies) {
+ output.accept(BLUEBRIGHT_BARREL.get());
+ output.accept(STARLIT_BARREL.get());
+ output.accept(FROSTBRIGHT_BARREL.get());
+ output.accept(COMET_BARREL.get());
+ output.accept(LUNAR_BARREL.get());
+ output.accept(DUSK_BARREL.get());
+ output.accept(MAPLE_BARREL.get());
+ output.accept(CRYSTALLIZED_BARREL.get());
+ }
+
output.accept(OAK_SIEVE.get());
+
output.accept(SPRUCE_SIEVE.get());
output.accept(BIRCH_SIEVE.get());
output.accept(JUNGLE_SIEVE.get());
@@ -269,7 +330,8 @@ public class EItems {
output.accept(BAMBOO_SIEVE.get());
output.accept(CRIMSON_SIEVE.get());
output.accept(WARPED_SIEVE.get());
- if (ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY)) {
+
+ if (biomesOPlenty) {
output.accept(FIR_SIEVE.get());
output.accept(REDWOOD_SIEVE.get());
output.accept(MAHOGANY_SIEVE.get());
@@ -281,16 +343,33 @@ public class EItems {
output.accept(UMBRAN_SIEVE.get());
output.accept(HELLBARK_SIEVE.get());
}
- if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
+ if (arsNouveau) {
output.accept(ARCHWOOD_SIEVE.get());
}
+ if (aether) {
+ output.accept(SKYROOT_SIEVE.get());
+ }
+ if (blueSkies) {
+ output.accept(BLUEBRIGHT_SIEVE.get());
+ output.accept(STARLIT_SIEVE.get());
+ output.accept(FROSTBRIGHT_SIEVE.get());
+ output.accept(COMET_SIEVE.get());
+ output.accept(LUNAR_SIEVE.get());
+ output.accept(DUSK_SIEVE.get());
+ output.accept(MAPLE_SIEVE.get());
+ output.accept(CRYSTALLIZED_SIEVE.get());
+ }
+
output.accept(PORCELAIN_CRUCIBLE.get());
output.accept(WARPED_CRUCIBLE.get());
output.accept(CRIMSON_CRUCIBLE.get());
output.accept(UNFIRED_PORCELAIN_CRUCIBLE.get());
- if (ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY)) {
+ if (biomesOPlenty) {
output.accept(HELLBARK_CRUCIBLE.get());
}
+ if (blueSkies) {
+ output.accept(CRYSTALLIZED_CRUCIBLE.get());
+ }
output.accept(OAK_CRUCIBLE.get());
output.accept(SPRUCE_CRUCIBLE.get());
output.accept(BIRCH_CRUCIBLE.get());
@@ -301,7 +380,7 @@ public class EItems {
output.accept(CHERRY_CRUCIBLE.get());
output.accept(BAMBOO_CRUCIBLE.get());
- if (ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY)) {
+ if (biomesOPlenty) {
output.accept(FIR_CRUCIBLE.get());
output.accept(REDWOOD_CRUCIBLE.get());
output.accept(MAHOGANY_CRUCIBLE.get());
@@ -312,16 +391,25 @@ public class EItems {
output.accept(MAGIC_CRUCIBLE.get());
output.accept(UMBRAN_CRUCIBLE.get());
}
- if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
+ if (arsNouveau) {
output.accept(CASCADING_ARCHWOOD_CRUCIBLE.get());
output.accept(BLAZING_ARCHWOOD_CRUCIBLE.get());
output.accept(VEXING_ARCHWOOD_CRUCIBLE.get());
output.accept(FLOURISHING_ARCHWOOD_CRUCIBLE.get());
}
- if (ModList.get().isLoaded(ModIds.AETHER)) {
+ if (aether) {
output.accept(SKYROOT_CRUCIBLE.get());
output.accept(GOLDEN_OAK_CRUCIBLE.get());
}
+ if (blueSkies) {
+ output.accept(BLUEBRIGHT_CRUCIBLE.get());
+ output.accept(STARLIT_CRUCIBLE.get());
+ output.accept(FROSTBRIGHT_CRUCIBLE.get());
+ output.accept(COMET_CRUCIBLE.get());
+ output.accept(LUNAR_CRUCIBLE.get());
+ output.accept(DUSK_CRUCIBLE.get());
+ output.accept(MAPLE_CRUCIBLE.get());
+ }
output.accept(DUST.get());
output.accept(CRUSHED_NETHERRACK.get());
@@ -392,34 +480,5 @@ public class EItems {
output.accept(PORCELAIN_LAVA_BUCKET.get());
output.accept(PORCELAIN_MILK_BUCKET.get());
output.accept(PORCELAIN_WITCH_WATER_BUCKET.get());
-
- if (ModList.get().isLoaded(ModIds.BIOMES_O_PLENTY)) {
- output.accept(FIR_BARREL.get());
- output.accept(REDWOOD_BARREL.get());
- output.accept(MAHOGANY_BARREL.get());
- output.accept(JACARANDA_BARREL.get());
- output.accept(PALM_BARREL.get());
- output.accept(WILLOW_BARREL.get());
- output.accept(DEAD_BARREL.get());
- output.accept(MAGIC_BARREL.get());
- output.accept(UMBRAN_BARREL.get());
- output.accept(HELLBARK_BARREL.get());
- }
- if (ModList.get().isLoaded(ModIds.ARS_NOUVEAU)) {
- output.accept(ARCHWOOD_BARREL.get());
- }
- if (ModList.get().isLoaded(ModIds.AETHER)) {
- output.accept(SKYROOT_BARREL.get());
- }
- if (ModList.get().isLoaded(ModIds.BLUE_SKIES)) {
- output.accept(BLUEBRIGHT_BARREL.get());
- output.accept(STARLIT_BARREL.get());
- output.accept(FROSTBRIGHT_BARREL.get());
- output.accept(COMET_BARREL.get());
- output.accept(LUNAR_BARREL.get());
- output.accept(DUSK_BARREL.get());
- output.accept(MAPLE_BARREL.get());
- output.accept(CRYSTALLIZED_BARREL.get());
- }
}
}