From 6434b1a6c801a077092560697dccd86a20c8f0d0 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Mon, 20 Jan 2025 20:26:14 -0300 Subject: [PATCH 01/14] stop making infinite water with lights --- .../enjarai/trickster/spell/trick/block/ConjureLightTrick.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java index 63380a27..74810c75 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java @@ -26,7 +26,7 @@ public Fragment conjure(SpellContext ctx, VectorFragment pos) throws BlunderExce var waterlogged = false; if (!world.getBlockState(blockPos).isAir()) { - if (!world.getFluidState(blockPos).isIn(FluidTags.WATER)) { + if (!world.getFluidState(blockPos).isIn(FluidTags.WATER) || !world.getFluidState(blockPos).isStill()) { throw new BlockOccupiedBlunder(this, pos); } waterlogged = true; From aa8e969ce15caa4dd008889f12cdb9f9850567f7 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Mon, 20 Jan 2025 21:09:27 -0300 Subject: [PATCH 02/14] stop deleting waterlogged blocks, instead delete replaceable blocks --- .../spell/trick/block/ConjureLightTrick.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java index 74810c75..d668dc0d 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java @@ -11,7 +11,8 @@ import dev.enjarai.trickster.spell.blunder.BlockOccupiedBlunder; import dev.enjarai.trickster.spell.blunder.BlunderException; import dev.enjarai.trickster.spell.type.Signature; -import net.minecraft.registry.tag.FluidTags; +import net.minecraft.block.BlockState; +import net.minecraft.fluid.Fluids; public class ConjureLightTrick extends Trick { public ConjureLightTrick() { @@ -23,13 +24,13 @@ public Fragment conjure(SpellContext ctx, VectorFragment pos) throws BlunderExce var world = ctx.source().getWorld(); expectCanBuild(ctx, blockPos); - var waterlogged = false; + BlockState state = world.getBlockState(blockPos); + var waterlogged = state.getFluidState().getFluid() == Fluids.WATER; + var dry = state.getFluidState().getFluid() == Fluids.EMPTY; - if (!world.getBlockState(blockPos).isAir()) { - if (!world.getFluidState(blockPos).isIn(FluidTags.WATER) || !world.getFluidState(blockPos).isStill()) { - throw new BlockOccupiedBlunder(this, pos); - } - waterlogged = true; + // Blunder if block can't be replaced or if it has a fluid that isn't still water + if (!state.isReplaceable() || (!state.isAir() && !waterlogged && !dry)) { + throw new BlockOccupiedBlunder(this, pos); } ctx.useMana(this, 20); From c01ca728f29f5299247f60b9eb9d20f9ae327c66 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:16:56 -0300 Subject: [PATCH 03/14] properly waterlog placed blocks --- .../trickster/spell/trick/block/PlaceBlockTrick.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/block/PlaceBlockTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/block/PlaceBlockTrick.java index 89e0eb19..fdc0c251 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/block/PlaceBlockTrick.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/block/PlaceBlockTrick.java @@ -14,13 +14,14 @@ import dev.enjarai.trickster.spell.trick.Trick; import dev.enjarai.trickster.spell.type.Signature; import net.minecraft.entity.ItemEntity; +import net.minecraft.fluid.Fluids; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; import net.minecraft.sound.BlockSoundGroup; import net.minecraft.sound.SoundCategory; +import net.minecraft.state.property.Properties; import net.minecraft.world.event.GameEvent; -import java.util.List; import java.util.Optional; public class PlaceBlockTrick extends Trick { @@ -55,6 +56,10 @@ public Fragment place(SpellContext ctx, VectorFragment pos, ItemStack stack) thr throw new CannotPlaceBlockBlunder(this, state.getBlock(), pos); } + if (state.contains(Properties.WATERLOGGED)) { + state = state.with(Properties.WATERLOGGED, world.getFluidState(blockPos).getFluid() == Fluids.WATER); + } + var dist = ctx.source().getPos().distance(pos.vector()); ctx.useMana(this, Math.max((float) dist, 8f)); world.setBlockState(blockPos, state); From 5ce7d9a53144f031c1008b4c63ac0251c57ae993 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 00:22:30 -0300 Subject: [PATCH 04/14] keep blockstate properties on conversions --- .../27614340de28b382d5f7ae74366bcf39e2ac3aeb | 126 +++++++++--------- .../3ac65fa3d3c37fa00307c1168fcecdd37a25c66a | 2 +- .../61708f0ed37294451167e111af3b2b862215b6f8 | 98 +++++++------- .../79ef07c0320f2b1bff073a33f581b6ea484cf452 | 98 +++++++------- .../de828e1c0b483619cb31befb2371ade13f1a18a1 | 6 +- .../f158030e12b0d9d4165e4586179e424d8925bffa | 32 ++--- .../minecraft/conversion/erode/anvil.json | 1 + .../conversion/erode/chipped_anvil.json | 1 + .../conversion/erode/cobblestone_slab.json | 1 + .../conversion/erode/cobblestone_stairs.json | 1 + .../conversion/erode/cobblestone_wall.json | 1 + .../conversion/erode/copper_bulb.json | 1 + .../conversion/erode/copper_door.json | 1 + .../conversion/erode/copper_grate.json | 1 + .../conversion/erode/copper_trapdoor.json | 1 + .../conversion/erode/cut_copper_slab.json | 1 + .../conversion/erode/cut_copper_stairs.json | 1 + .../conversion/erode/exposed_copper_bulb.json | 1 + .../conversion/erode/exposed_copper_door.json | 1 + .../erode/exposed_copper_grate.json | 1 + .../erode/exposed_copper_trapdoor.json | 1 + .../erode/exposed_cut_copper_slab.json | 1 + .../erode/exposed_cut_copper_stairs.json | 1 + .../conversion/erode/stone_brick_slab.json | 1 + .../conversion/erode/stone_brick_stairs.json | 1 + .../conversion/erode/stone_brick_wall.json | 1 + .../conversion/erode/stone_bricks.json | 2 + .../erode/weathered_copper_bulb.json | 1 + .../erode/weathered_copper_door.json | 1 + .../erode/weathered_copper_grate.json | 1 + .../erode/weathered_copper_trapdoor.json | 1 + .../erode/weathered_cut_copper_slab.json | 1 + .../erode/weathered_cut_copper_stairs.json | 1 + .../conversion/BlockConversionLoader.java | 31 ++++- .../ErodeBlockConversionGenerator.java | 61 +++++---- .../provider/BlockConversionProvider.java | 83 ++++++++---- 36 files changed, 331 insertions(+), 234 deletions(-) diff --git a/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb b/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb index e3fc7aac..c0ff42c0 100644 --- a/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb +++ b/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb @@ -1,63 +1,63 @@ -// 1.21 2025-01-18T01:54:59.5987181 Trickster/Model Definitions -be89ca0492892b810135472265a1fa873151a8f0 assets\trickster\models\item\command_knot.json -0c24009d9f713f084ff55efcb5aedef3924fc3bf assets\trickster\models\item\written_scroll_white.json -96809df525387fe221827afd762b90062300440f assets\trickster\models\item\scroll_and_quill_black.json -68799707c7a1bba63c5cff3c8dbeec6b44bd06b8 assets\trickster\blockstates\charging_array.json -fe72cc051cf77ba7ea5b6ca82cabf06c56cb4503 assets\trickster\blockstates\spell_construct.json -1b9cef12c72abf3e20c0cb70743fb574e8d0cf04 assets\trickster\models\item\rusted_spell_core.json -f00b04573fa8a37423acbd2cfa58995b577acc9f assets\trickster\models\item\written_scroll_light_gray.json -4dadb13156ab71c0e20c3acad5c8e9506610137b assets\trickster\models\item\amethyst_knot.json -0365b58ff0a90639528778ad8ec3bdf3fd337ace assets\trickster\models\item\scroll_and_quill_lime.json -7cd9a2d7e13659094779ee999474bc85392fe900 assets\trickster\models\item\scroll_and_quill_white.json -585aef1a541ae893ae74d54742d2382121c9621b assets\trickster\models\item\amethyst_whorl.json -1e5f52dedfd765cf5c0ab6579f32614beb368576 assets\trickster\models\item\nan.json -731c4a8f7b5d2845410c03b22e2521bcf41f969c assets\trickster\models\item\scroll_and_quill_red.json -ad5d09f6b76c65ada5383c567922cd74524f968c assets\trickster\models\item\written_scroll_red.json -06fb6fc1c900f99d2dd7537b8c7d13481323604e assets\trickster\models\item\echo_knot.json -032bd4c0ea04699e58ffbf43c29d1bf96fa19eb5 assets\trickster\models\block\scroll_shelf.json -4b75bcb18c8f3e6ed30eaf767410a836b1be57d6 assets\trickster\models\item\written_scroll_magenta.json -8457e5235482b7f547386747d1f8fb2123926fdf assets\trickster\blockstates\scroll_shelf.json -0af8ae55bca54e5baea1b840c12340690af85f5c assets\trickster\models\item\written_scroll_green.json -25fc9665ae52d7788aa19923c04ba3874290a007 assets\trickster\models\item\scroll_and_quill_orange.json -274e1f4724884bcb7cc8337d4ffac31a3af801fe assets\trickster\models\item\written_scroll_black.json -22ef3ac293ebe5b86928380e232bfaccc6202a28 assets\trickster\models\item\warding_charm.json -cf211674ac067136f295b34038fad600c1165b99 assets\trickster\models\item\written_scroll.json -4320a21f02ba7db476a7dbf19eaa031ef40ca85c assets\trickster\models\item\scroll_and_quill_green.json -b0c13ffb9082049c0ed38c75744d557504409e86 assets\trickster\models\item\written_scroll_gray.json -d29d7f82679d35538363d72edafd2229e0f26958 assets\trickster\models\item\scroll_and_quill_brown.json -1b60d5962f38ecaf3e79d678b2f069057b1c69ab assets\trickster\models\item\scroll_and_quill_purple.json -e5a42570471a60ff1e13197f121d3786ba39071c assets\trickster\models\item\spell_core.json -c29f71428dcd472e97e6574b8cb1f156ea3b9fcd assets\trickster\models\item\written_scroll_pink.json -b1b58c33f70e10632bb128929a2cc5548313f19a assets\trickster\models\item\ominous_spell_core.json -9faf558d1aa0f4946cf100c91b4f2819b7a07538 assets\trickster\models\item\written_scroll_orange.json -49e029faed97e108d69b1a5339f092fa7c3ac913 assets\trickster\models\item\spell_resonator.json -d44eea2605a3263a62d123f63edc0cfbe3f30870 assets\trickster\models\item\charging_array.json -85f44373cd91352eb424318c4f289ae4829b3f80 assets\trickster\models\item\scroll_shelf.json -52ba2ed5a5d7f67675af14a56e11cad44857f53b assets\trickster\models\item\diamond_knot.json -40c79ffc0e3c554e4c5f7b5e9f5144e6ce524f0e assets\trickster\blockstates\light.json -2f7ac0d58a5c1dd9391452bdde2b219a584786f8 assets\trickster\models\item\written_scroll_cyan.json -c995dc518d2d7134ffe57b13897fda67a0b0f815 assets\trickster\models\item\scroll_and_quill_pink.json -03ec5d0e130b285409440674fa4adf632312325a assets\trickster\models\item\scroll_and_quill_blue.json -ac75d1dcaf4df0990b246b571b214c88c2043fc5 assets\trickster\models\item\written_scroll_blue.json -575f98c294e9b0778c0bccf43bf742ffb333b925 assets\trickster\models\item\scroll_and_quill_light_blue.json -07cddf70df0f5e7a92f0c44af3f523be57bd80d6 assets\trickster\models\item\written_scroll_yellow.json -76a7c57257f8f9538cf8c631e412d6c22ce1c1eb assets\trickster\models\item\scroll_and_quill_light_gray.json -b2b1aaf26ce09fb4f7de2fbde84e56f568bc247d assets\trickster\models\item\scroll_and_quill_cyan.json -e622027802fd7ffb1c2e6f6d1733f17ed239e61d assets\trickster\models\item\tome_of_tomfoolery.json -1eed470d17d966cf34d3dada10b19053562c0c2f assets\trickster\models\item\written_scroll_purple.json -9d5d343103d621d1a2f492cec156c06274efdc15 assets\trickster\blockstates\spell_resonator.json -1f778e1f2c30077615a7ea8b89c6da45b5c0631f assets\trickster\models\item\written_scroll_light_blue.json -c651f1dafc6486d4b76b11cafb5adaf86b97f2eb assets\trickster\models\item\emerald_knot.json -edec8170be553ecb287cd4f9e718988b201f58a9 assets\trickster\models\item\wand.json -2a8749d4361b2691332bd1d021866d7f9106ca0e assets\trickster\blockstates\modular_spell_construct.json -11f88e31ee80e48a4b56df7363c1dfd36659bd76 assets\trickster\models\item\scroll_and_quill_yellow.json -68b6bc87e4d5e9b2709e30d6a6ca9b139c4f5fee assets\trickster\models\item\macro_ring.json -ce371fd6383c178fd713cbe03828b8015df480d8 assets\trickster\models\item\scroll_and_quill_gray.json -21f8195436d581c8272b28d7a306ce8e14f53a5e assets\trickster\models\item\spell_ink.json -f1968641f7837fe2083a928582b12d565cf59ce0 assets\trickster\models\item\spell_construct.json -9485ad9be41799d6c5bd48cd6dead8464f65beb5 assets\trickster\models\item\scroll_and_quill_magenta.json -06af58b66840c735a18e12df1442fa2cd83c4df4 assets\trickster\models\item\written_scroll_brown.json -62cc6f617bc26a9ac45c2b21ff9e312062963258 assets\trickster\models\item\scroll_and_quill.json -ce15632fcb3beb33453bccd6c7cc398b86834d85 assets\trickster\models\item\written_scroll_lime.json -1d20d3356c7098ceded88807637ed3ced7cb8d26 assets\trickster\models\item\cracked_echo_knot.json -e7e256d1cc75121b08bfb8a9cf6c6bf4818b559f assets\trickster\models\item\modular_spell_construct.json +// 1.21 2025-01-22T00:15:24.951293767 Trickster/Model Definitions +585aef1a541ae893ae74d54742d2382121c9621b assets/trickster/models/item/amethyst_whorl.json +e7e256d1cc75121b08bfb8a9cf6c6bf4818b559f assets/trickster/models/item/modular_spell_construct.json +76a7c57257f8f9538cf8c631e412d6c22ce1c1eb assets/trickster/models/item/scroll_and_quill_light_gray.json +f00b04573fa8a37423acbd2cfa58995b577acc9f assets/trickster/models/item/written_scroll_light_gray.json +21f8195436d581c8272b28d7a306ce8e14f53a5e assets/trickster/models/item/spell_ink.json +03ec5d0e130b285409440674fa4adf632312325a assets/trickster/models/item/scroll_and_quill_blue.json +e622027802fd7ffb1c2e6f6d1733f17ed239e61d assets/trickster/models/item/tome_of_tomfoolery.json +52ba2ed5a5d7f67675af14a56e11cad44857f53b assets/trickster/models/item/diamond_knot.json +d44eea2605a3263a62d123f63edc0cfbe3f30870 assets/trickster/models/item/charging_array.json +40c79ffc0e3c554e4c5f7b5e9f5144e6ce524f0e assets/trickster/blockstates/light.json +c29f71428dcd472e97e6574b8cb1f156ea3b9fcd assets/trickster/models/item/written_scroll_pink.json +0365b58ff0a90639528778ad8ec3bdf3fd337ace assets/trickster/models/item/scroll_and_quill_lime.json +4b75bcb18c8f3e6ed30eaf767410a836b1be57d6 assets/trickster/models/item/written_scroll_magenta.json +ad5d09f6b76c65ada5383c567922cd74524f968c assets/trickster/models/item/written_scroll_red.json +be89ca0492892b810135472265a1fa873151a8f0 assets/trickster/models/item/command_knot.json +22ef3ac293ebe5b86928380e232bfaccc6202a28 assets/trickster/models/item/warding_charm.json +274e1f4724884bcb7cc8337d4ffac31a3af801fe assets/trickster/models/item/written_scroll_black.json +07cddf70df0f5e7a92f0c44af3f523be57bd80d6 assets/trickster/models/item/written_scroll_yellow.json +1d20d3356c7098ceded88807637ed3ced7cb8d26 assets/trickster/models/item/cracked_echo_knot.json +7cd9a2d7e13659094779ee999474bc85392fe900 assets/trickster/models/item/scroll_and_quill_white.json +f1968641f7837fe2083a928582b12d565cf59ce0 assets/trickster/models/item/spell_construct.json +1e5f52dedfd765cf5c0ab6579f32614beb368576 assets/trickster/models/item/nan.json +0af8ae55bca54e5baea1b840c12340690af85f5c assets/trickster/models/item/written_scroll_green.json +ac75d1dcaf4df0990b246b571b214c88c2043fc5 assets/trickster/models/item/written_scroll_blue.json +d29d7f82679d35538363d72edafd2229e0f26958 assets/trickster/models/item/scroll_and_quill_brown.json +1f778e1f2c30077615a7ea8b89c6da45b5c0631f assets/trickster/models/item/written_scroll_light_blue.json +fe72cc051cf77ba7ea5b6ca82cabf06c56cb4503 assets/trickster/blockstates/spell_construct.json +8457e5235482b7f547386747d1f8fb2123926fdf assets/trickster/blockstates/scroll_shelf.json +c651f1dafc6486d4b76b11cafb5adaf86b97f2eb assets/trickster/models/item/emerald_knot.json +b1b58c33f70e10632bb128929a2cc5548313f19a assets/trickster/models/item/ominous_spell_core.json +25fc9665ae52d7788aa19923c04ba3874290a007 assets/trickster/models/item/scroll_and_quill_orange.json +032bd4c0ea04699e58ffbf43c29d1bf96fa19eb5 assets/trickster/models/block/scroll_shelf.json +9faf558d1aa0f4946cf100c91b4f2819b7a07538 assets/trickster/models/item/written_scroll_orange.json +575f98c294e9b0778c0bccf43bf742ffb333b925 assets/trickster/models/item/scroll_and_quill_light_blue.json +2f7ac0d58a5c1dd9391452bdde2b219a584786f8 assets/trickster/models/item/written_scroll_cyan.json +cf211674ac067136f295b34038fad600c1165b99 assets/trickster/models/item/written_scroll.json +4dadb13156ab71c0e20c3acad5c8e9506610137b assets/trickster/models/item/amethyst_knot.json +1eed470d17d966cf34d3dada10b19053562c0c2f assets/trickster/models/item/written_scroll_purple.json +731c4a8f7b5d2845410c03b22e2521bcf41f969c assets/trickster/models/item/scroll_and_quill_red.json +edec8170be553ecb287cd4f9e718988b201f58a9 assets/trickster/models/item/wand.json +06fb6fc1c900f99d2dd7537b8c7d13481323604e assets/trickster/models/item/echo_knot.json +68799707c7a1bba63c5cff3c8dbeec6b44bd06b8 assets/trickster/blockstates/charging_array.json +0c24009d9f713f084ff55efcb5aedef3924fc3bf assets/trickster/models/item/written_scroll_white.json +b0c13ffb9082049c0ed38c75744d557504409e86 assets/trickster/models/item/written_scroll_gray.json +2a8749d4361b2691332bd1d021866d7f9106ca0e assets/trickster/blockstates/modular_spell_construct.json +11f88e31ee80e48a4b56df7363c1dfd36659bd76 assets/trickster/models/item/scroll_and_quill_yellow.json +96809df525387fe221827afd762b90062300440f assets/trickster/models/item/scroll_and_quill_black.json +9d5d343103d621d1a2f492cec156c06274efdc15 assets/trickster/blockstates/spell_resonator.json +ce371fd6383c178fd713cbe03828b8015df480d8 assets/trickster/models/item/scroll_and_quill_gray.json +c995dc518d2d7134ffe57b13897fda67a0b0f815 assets/trickster/models/item/scroll_and_quill_pink.json +ce15632fcb3beb33453bccd6c7cc398b86834d85 assets/trickster/models/item/written_scroll_lime.json +4320a21f02ba7db476a7dbf19eaa031ef40ca85c assets/trickster/models/item/scroll_and_quill_green.json +9485ad9be41799d6c5bd48cd6dead8464f65beb5 assets/trickster/models/item/scroll_and_quill_magenta.json +85f44373cd91352eb424318c4f289ae4829b3f80 assets/trickster/models/item/scroll_shelf.json +1b60d5962f38ecaf3e79d678b2f069057b1c69ab assets/trickster/models/item/scroll_and_quill_purple.json +e5a42570471a60ff1e13197f121d3786ba39071c assets/trickster/models/item/spell_core.json +1b9cef12c72abf3e20c0cb70743fb574e8d0cf04 assets/trickster/models/item/rusted_spell_core.json +49e029faed97e108d69b1a5339f092fa7c3ac913 assets/trickster/models/item/spell_resonator.json +b2b1aaf26ce09fb4f7de2fbde84e56f568bc247d assets/trickster/models/item/scroll_and_quill_cyan.json +68b6bc87e4d5e9b2709e30d6a6ca9b139c4f5fee assets/trickster/models/item/macro_ring.json +62cc6f617bc26a9ac45c2b21ff9e312062963258 assets/trickster/models/item/scroll_and_quill.json +06af58b66840c735a18e12df1442fa2cd83c4df4 assets/trickster/models/item/written_scroll_brown.json diff --git a/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a b/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a index d1e107bb..ef7aa413 100644 --- a/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a +++ b/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a @@ -1 +1 @@ -// 1.21 2025-01-18T01:54:59.6007179 Trickster/Recipes +// 1.21 2025-01-22T00:15:24.952323651 Trickster/Recipes diff --git a/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 b/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 index 148e0392..b47e9351 100644 --- a/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 +++ b/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 @@ -1,49 +1,49 @@ -// 1.21 2025-01-18T01:54:59.6027182 Trickster/Block Conversion (heat) -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\podzol.json -d37d3055bdc00865240ee179aced3b8a64ffc9c6 data\minecraft\conversion\heat\packed_ice.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\dark_oak_sapling.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\grass_block.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\spruce_sapling.json -f355c50648c7ae4f280e154eeb0f7a169897e7e4 data\minecraft\conversion\heat\iron_ore.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\mycelium.json -033c7069e9fe5a46a1d002c36503ff5baeb1bc42 data\minecraft\conversion\heat\coal_ore.json -29af50841b9aee7823a5b115ad00b225516a656d data\minecraft\conversion\heat\andesite.json -29af50841b9aee7823a5b115ad00b225516a656d data\minecraft\conversion\heat\diorite.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\farmland.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\cherry_sapling.json -537af9afd657108c88a2cbe31ce04795ce549d8e data\minecraft\conversion\heat\red_sand.json -931269de5d9c7b11f4d777dac43012038ac72249 data\minecraft\conversion\heat\raw_iron_block.json -6c2366426425633986c08c79289872a15caa6af2 data\minecraft\conversion\heat\magma_block.json -10f8d8817c349527906647f42a8c3bc4ea5a0425 data\minecraft\conversion\heat\redstone_ore.json -735120120360a11ce9a5f72af5a605acda4302de data\minecraft\conversion\heat\stone.json -56d1df800477d0d2edc3b2923168424b571d0ab6 data\minecraft\conversion\heat\water_cauldron.json -411fd4561458e8b55ab8e8db17c59325a7f50f26 data\minecraft\conversion\heat\blue_ice.json -14ca5dc03d95bbecf4fec0b3d340b4266686b6e0 data\minecraft\conversion\heat\wet_sponge.json -0bcc06c59a2641ae24c51bbe5953ab9d1bf890d0 data\minecraft\conversion\heat\emerald_ore.json -5f06bda2a820ad3a9b4cde7a650d0ec6535f0492 data\minecraft\conversion\heat\sand.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\rooted_dirt.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\oak_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\azalea.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data\minecraft\conversion\heat\snow_block.json -e2d3a73d4253da94993ad8c2105e84b1fdd4df46 data\minecraft\conversion\heat\raw_copper_block.json -6f18f1c5496a8044718408987e139c43cb08671a data\minecraft\conversion\heat\raw_gold_block.json -e5eb6f862fd6b0778d8e7ef9bc6513b69dca93a4 data\minecraft\conversion\heat\cobblestone.json -2da2da32caed56613d1090c51ddeba215205b668 data\minecraft\conversion\heat\mossy_cobblestone.json -672cd36a3ae23d4058adb7dffee9f98de873e270 data\minecraft\conversion\heat\copper_ore.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\flowering_azalea.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data\minecraft\conversion\heat\water.json -ef14533ad40b2b6b0862656671e25e20e4ac2ddc data\minecraft\conversion\heat\gold_ore.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data\minecraft\conversion\heat\cobweb.json -a9d7bbeea1c5680b22339d08bd65a688ba0e7dbd data\minecraft\conversion\heat\diamond_ore.json -a86def6145874a0758b43a6646388d163cca0a9f data\minecraft\conversion\heat\mud.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data\minecraft\conversion\heat\snow.json -5d6f6b956878f4f6edeb098d3276c4ee70a4fefd data\minecraft\conversion\heat\lapis_ore.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\dirt.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\jungle_sapling.json -46164668ef746b88e8ceca5d755e45e59d223531 data\minecraft\conversion\heat\ice.json -21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data\minecraft\conversion\heat\deepslate.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\birch_sapling.json -21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data\minecraft\conversion\heat\cobbled_deepslate.json -29af50841b9aee7823a5b115ad00b225516a656d data\minecraft\conversion\heat\granite.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data\minecraft\conversion\heat\dirt_path.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\heat\acacia_sapling.json +// 1.21 2025-01-22T00:15:24.953375594 Trickster/Block Conversion (heat) +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/granite.json +5f06bda2a820ad3a9b4cde7a650d0ec6535f0492 data/minecraft/conversion/heat/sand.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/birch_sapling.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/dirt.json +f355c50648c7ae4f280e154eeb0f7a169897e7e4 data/minecraft/conversion/heat/iron_ore.json +ef14533ad40b2b6b0862656671e25e20e4ac2ddc data/minecraft/conversion/heat/gold_ore.json +a86def6145874a0758b43a6646388d163cca0a9f data/minecraft/conversion/heat/mud.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/water.json +a9d7bbeea1c5680b22339d08bd65a688ba0e7dbd data/minecraft/conversion/heat/diamond_ore.json +5d6f6b956878f4f6edeb098d3276c4ee70a4fefd data/minecraft/conversion/heat/lapis_ore.json +46164668ef746b88e8ceca5d755e45e59d223531 data/minecraft/conversion/heat/ice.json +931269de5d9c7b11f4d777dac43012038ac72249 data/minecraft/conversion/heat/raw_iron_block.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/jungle_sapling.json +537af9afd657108c88a2cbe31ce04795ce549d8e data/minecraft/conversion/heat/red_sand.json +0bcc06c59a2641ae24c51bbe5953ab9d1bf890d0 data/minecraft/conversion/heat/emerald_ore.json +411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/heat/blue_ice.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/podzol.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/dark_oak_sapling.json +735120120360a11ce9a5f72af5a605acda4302de data/minecraft/conversion/heat/stone.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/cobweb.json +10f8d8817c349527906647f42a8c3bc4ea5a0425 data/minecraft/conversion/heat/redstone_ore.json +21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data/minecraft/conversion/heat/deepslate.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/farmland.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/grass_block.json +e2d3a73d4253da94993ad8c2105e84b1fdd4df46 data/minecraft/conversion/heat/raw_copper_block.json +56d1df800477d0d2edc3b2923168424b571d0ab6 data/minecraft/conversion/heat/water_cauldron.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/acacia_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/cherry_sapling.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/dirt_path.json +d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/heat/packed_ice.json +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/andesite.json +6c2366426425633986c08c79289872a15caa6af2 data/minecraft/conversion/heat/magma_block.json +e5eb6f862fd6b0778d8e7ef9bc6513b69dca93a4 data/minecraft/conversion/heat/cobblestone.json +033c7069e9fe5a46a1d002c36503ff5baeb1bc42 data/minecraft/conversion/heat/coal_ore.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/azalea.json +21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data/minecraft/conversion/heat/cobbled_deepslate.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/snow.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/snow_block.json +6f18f1c5496a8044718408987e139c43cb08671a data/minecraft/conversion/heat/raw_gold_block.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/oak_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/flowering_azalea.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/spruce_sapling.json +672cd36a3ae23d4058adb7dffee9f98de873e270 data/minecraft/conversion/heat/copper_ore.json +2da2da32caed56613d1090c51ddeba215205b668 data/minecraft/conversion/heat/mossy_cobblestone.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/mycelium.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/rooted_dirt.json +14ca5dc03d95bbecf4fec0b3d340b4266686b6e0 data/minecraft/conversion/heat/wet_sponge.json +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/diorite.json diff --git a/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 b/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 index e9bfa19c..c6d3e519 100644 --- a/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 +++ b/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 @@ -1,49 +1,49 @@ -// 1.21 2025-01-18T01:54:59.6017178 Trickster/Block Conversion (erode) -0927ab9e0c5c00547c06fd408e700964072b0526 data\minecraft\conversion\erode\nether_bricks.json -18b0c140ba78642298fa881d24d901ceef776955 data\minecraft\conversion\erode\weathered_cut_copper.json -97300d9c9bc10615202ca56049bdca2ad697fb62 data\minecraft\conversion\erode\copper_trapdoor.json -868d6c7f7e817b9bcc9e34c0a554ef6949518995 data\minecraft\conversion\erode\weathered_copper.json -85145a002c0089fb0b977d90eddee7b60e0325d3 data\minecraft\conversion\erode\cobblestone.json -eab08c88acbb0b7dc13f525e298097a420eff1db data\minecraft\conversion\erode\weathered_copper_door.json -584a2020d364d1ebb94c1501e78a58fc61f22a03 data\minecraft\conversion\erode\exposed_cut_copper_stairs.json -3cc5ea94ddc16c76825a87ff90a9306f159ffb2d data\minecraft\conversion\erode\cut_copper_stairs.json -34f792503a649d482a9031f79349d921f4789585 data\minecraft\conversion\erode\weathered_copper_trapdoor.json -060a9d08737d79306b0a039fde9eeee1f1ee4e2e data\minecraft\conversion\erode\chipped_anvil.json -25ddaae2f381f157be8ef043d316876edd16cc47 data\minecraft\conversion\erode\sandstone.json -420674605490fcf1d9a3f90ed2c1745a69be51dc data\minecraft\conversion\erode\polished_blackstone_bricks.json -151e5a7d734209b3e89b1cc3594c21da16aabdfe data\minecraft\conversion\erode\cobblestone_stairs.json -ea78402d9e42359329749041288772e4c6f93721 data\minecraft\conversion\erode\stone.json -7fa81078b622a2fa8fd6403f7751eef45b8bf65c data\minecraft\conversion\erode\exposed_cut_copper.json -5c36a8c586eab9edf948b870673b573ba6ac8755 data\minecraft\conversion\erode\weathered_copper_grate.json -17dc231fae6c99d780a01604e721e9db93c19ed5 data\minecraft\conversion\erode\cut_copper_slab.json -566a368f375d537ac2a4dce619c22780868e7386 data\minecraft\conversion\erode\exposed_copper_bulb.json -9bb9c7cf206624fe0f6c574d43eb133b96ee5ba7 data\minecraft\conversion\erode\copper_bulb.json -936db3751acb3f57d48ad8d373badbbc3fc8d91b data\minecraft\conversion\erode\netherite_block.json -2ebf3d84c0d46c53930f559055fae4f38b7e705a data\minecraft\conversion\erode\deepslate_bricks.json -f726defc4bee15523d21e741ea3a99f7b3efd609 data\minecraft\conversion\erode\exposed_copper.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data\minecraft\conversion\erode\damaged_anvil.json -87b392534bf18bccd38319679f1eec9fbfa543ae data\minecraft\conversion\erode\anvil.json -7578fdc4008dfc4d6955b76c82d245aa576d5b00 data\minecraft\conversion\erode\exposed_chiseled_copper.json -7958aaf4bbeba913c2b39eec2e7fb6bf9f157f60 data\minecraft\conversion\erode\cut_copper.json -65192a1f47c62db1c8bff50b50570a4a8ac5b15a data\minecraft\conversion\erode\exposed_copper_grate.json -b536aba631791aaefc50f4f408586236ae0718f4 data\minecraft\conversion\erode\weathered_cut_copper_stairs.json -94434288a5b194ac91ecb5641e2f9e97f2685f26 data\minecraft\conversion\erode\cobblestone_wall.json -c20873bfb2ea0a12296bb1ab4dfcc2f926318e54 data\minecraft\conversion\erode\stone_brick_wall.json -66a76cd165ba2d43cf4af807a3011fb731ad0101 data\minecraft\conversion\erode\weathered_cut_copper_slab.json -9b7e6535c0e7dee661b50b8697ad4f9b47134011 data\minecraft\conversion\erode\weathered_copper_bulb.json -c857b2277844de457a12a6343bbc7865de01ce98 data\minecraft\conversion\erode\exposed_cut_copper_slab.json -266dfaf60482253e0b9945677cfc93c03e38a7d9 data\minecraft\conversion\erode\infested_stone_bricks.json -086b880ab27ab2d3202b253a428cd27d7ecefd3f data\minecraft\conversion\erode\copper_grate.json -9fd632770a1e315ccdaed8a379574fa1bdbf103d data\minecraft\conversion\erode\cobblestone_slab.json -6a7bce852cafe9accfae680cda64f6fe184f59a7 data\minecraft\conversion\erode\weathered_chiseled_copper.json -9da988e964fbba1136a4712e30e17959d30d137c data\minecraft\conversion\erode\chiseled_copper.json -12416ac35b2c2f87dc351243505df0ab8ee1ea40 data\minecraft\conversion\erode\stone_brick_slab.json -600074b2757618ffcde861b2ebbc640165e081e6 data\minecraft\conversion\erode\copper_door.json -f3458b1ad8588b7ab14d158367e2ed41c8158986 data\minecraft\conversion\erode\exposed_copper_door.json -c879055d87b481765e3a17da172cf4d7487893e7 data\minecraft\conversion\erode\exposed_copper_trapdoor.json -4aae13b6aa680f10d7937e37f032a3e0f39aaf99 data\minecraft\conversion\erode\stone_brick_stairs.json -7a2c1187087c879781471bc56af4ba4b50bbe45b data\minecraft\conversion\erode\deepslate_tiles.json -25ddaae2f381f157be8ef043d316876edd16cc47 data\minecraft\conversion\erode\gravel.json -8e1c0a9db71d2e5c15af5cac051b832c18d4aa18 data\minecraft\conversion\erode\copper_block.json -d8be15d631963fbf16f57d1f86a8d56c2be21e25 data\minecraft\conversion\erode\stone_bricks.json -0c749cf0cd6f17c7d40167296d0d4084c30103b7 data\minecraft\conversion\erode\gilded_blackstone.json +// 1.21 2025-01-22T00:15:24.952713758 Trickster/Block Conversion (erode) +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/erode/damaged_anvil.json +7578fdc4008dfc4d6955b76c82d245aa576d5b00 data/minecraft/conversion/erode/exposed_chiseled_copper.json +cda7be0d51340af159d7b228fdb2fd8dcb8e2cf0 data/minecraft/conversion/erode/cut_copper_slab.json +2ebf3d84c0d46c53930f559055fae4f38b7e705a data/minecraft/conversion/erode/deepslate_bricks.json +7958aaf4bbeba913c2b39eec2e7fb6bf9f157f60 data/minecraft/conversion/erode/cut_copper.json +05bad2ce73861bc165d8122c95d112655ad45e7f data/minecraft/conversion/erode/weathered_copper_door.json +9da988e964fbba1136a4712e30e17959d30d137c data/minecraft/conversion/erode/chiseled_copper.json +25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/sandstone.json +3b5e4fc1c62e7c88e28e0ebb2c000ed04cfadc6f data/minecraft/conversion/erode/exposed_copper_bulb.json +12ca207c1ea64fa348d229bbbbe0e83ae0f0129b data/minecraft/conversion/erode/stone_brick_slab.json +fe0ec7093fc88c1b3331fd948c04f00ffd0b487b data/minecraft/conversion/erode/exposed_copper_grate.json +85145a002c0089fb0b977d90eddee7b60e0325d3 data/minecraft/conversion/erode/cobblestone.json +0c749cf0cd6f17c7d40167296d0d4084c30103b7 data/minecraft/conversion/erode/gilded_blackstone.json +d31e4a0e0537f48fb3cc480f03368962f3b035e5 data/minecraft/conversion/erode/stone_brick_wall.json +7a2c1187087c879781471bc56af4ba4b50bbe45b data/minecraft/conversion/erode/deepslate_tiles.json +868d6c7f7e817b9bcc9e34c0a554ef6949518995 data/minecraft/conversion/erode/weathered_copper.json +f0a7b7a9833a193e9839e0b8e311083b32f3e07e data/minecraft/conversion/erode/exposed_cut_copper_slab.json +266dfaf60482253e0b9945677cfc93c03e38a7d9 data/minecraft/conversion/erode/infested_stone_bricks.json +576201c522570d4a4145933fe82c02ade00cce5c data/minecraft/conversion/erode/exposed_copper_trapdoor.json +0927ab9e0c5c00547c06fd408e700964072b0526 data/minecraft/conversion/erode/nether_bricks.json +6a7bce852cafe9accfae680cda64f6fe184f59a7 data/minecraft/conversion/erode/weathered_chiseled_copper.json +f461cf13695d4e03948de9bf7fc5bfbef855c674 data/minecraft/conversion/erode/exposed_cut_copper_stairs.json +ae98698c6fc310d107ceb5ef04569a3df18ba1ec data/minecraft/conversion/erode/cut_copper_stairs.json +67d95afc1043b09d8128e261d63a80b9ff376c76 data/minecraft/conversion/erode/copper_trapdoor.json +ea78402d9e42359329749041288772e4c6f93721 data/minecraft/conversion/erode/stone.json +e72c1d143db45cebcac581d8299e35d9e051bbdb data/minecraft/conversion/erode/copper_grate.json +b667dbbfdd506d54d9da0bfb784e16528dd81d27 data/minecraft/conversion/erode/copper_bulb.json +4ac09d15b60d0ac8481ed4f88cafb81de5dc895e data/minecraft/conversion/erode/stone_brick_stairs.json +9aa7ff555a8cb0e8b39b0851c5d35dabbf2f92d7 data/minecraft/conversion/erode/cobblestone_stairs.json +5f9f8626f4f280144c9e1c7fc78ec42a03abb95a data/minecraft/conversion/erode/weathered_cut_copper_stairs.json +5a83b7fd24d759d203a939e3068d38867e351899 data/minecraft/conversion/erode/cobblestone_wall.json +18b0c140ba78642298fa881d24d901ceef776955 data/minecraft/conversion/erode/weathered_cut_copper.json +b60789158a22651518e94711025fbeffad022439 data/minecraft/conversion/erode/exposed_copper_door.json +32294757d63d4f38d6067deff28173104c48f98a data/minecraft/conversion/erode/weathered_copper_bulb.json +96e9cbef4f6e2d6311284e0f99e5c62a84df9d83 data/minecraft/conversion/erode/weathered_copper_grate.json +936db3751acb3f57d48ad8d373badbbc3fc8d91b data/minecraft/conversion/erode/netherite_block.json +420674605490fcf1d9a3f90ed2c1745a69be51dc data/minecraft/conversion/erode/polished_blackstone_bricks.json +f726defc4bee15523d21e741ea3a99f7b3efd609 data/minecraft/conversion/erode/exposed_copper.json +ecd2f8103d6558aac9dc1a62883acb34f1eb3099 data/minecraft/conversion/erode/chipped_anvil.json +c678819bbd14474cb4d83a68411729296225a96e data/minecraft/conversion/erode/weathered_cut_copper_slab.json +f933b5c0a3845bde2f0b8afbd1c0ec1316a759f4 data/minecraft/conversion/erode/cobblestone_slab.json +25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/gravel.json +8e1c0a9db71d2e5c15af5cac051b832c18d4aa18 data/minecraft/conversion/erode/copper_block.json +0a6c19256b667006fed9840f5e9ca354840328ea data/minecraft/conversion/erode/anvil.json +86f740822d69f69f1c9fb4ccdd9ef2e208ec9c1e data/minecraft/conversion/erode/stone_bricks.json +7fa81078b622a2fa8fd6403f7751eef45b8bf65c data/minecraft/conversion/erode/exposed_cut_copper.json +528be85dda872c4bc812c76f20e07c368326cc5f data/minecraft/conversion/erode/copper_door.json +fda251ab47b43f57d19d5da488940e25adffb12d data/minecraft/conversion/erode/weathered_copper_trapdoor.json diff --git a/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 b/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 index 0dccbaed..0b07bcf4 100644 --- a/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 +++ b/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 @@ -1,3 +1,3 @@ -// 1.21 2025-01-18T01:54:59.6007179 Trickster/Tags for minecraft:item -af8a8cadecd9999efde2ab4a363a6ac6a933d02b data\trickster\tags\item\dyed_written_scroll.json -23bfb5af198cc6efbf9fdb01f4169f9c6df07968 data\trickster\tags\item\dyed_scroll_and_quill.json +// 1.21 2025-01-22T00:15:24.952512639 Trickster/Tags for minecraft:item +23bfb5af198cc6efbf9fdb01f4169f9c6df07968 data/trickster/tags/item/dyed_scroll_and_quill.json +af8a8cadecd9999efde2ab4a363a6ac6a933d02b data/trickster/tags/item/dyed_written_scroll.json diff --git a/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa b/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa index d5c5e6ba..c4540a42 100644 --- a/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa +++ b/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa @@ -1,16 +1,16 @@ -// 1.21 2025-01-18T01:54:59.5967181 Trickster/Block Conversion (cool) -5d2f23dbd4aa8e87025495da0e5e86b459743d64 data\minecraft\conversion\cool\packed_ice.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\birch_sapling.json -411fd4561458e8b55ab8e8db17c59325a7f50f26 data\minecraft\conversion\cool\ice.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\spruce_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\azalea.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\acacia_sapling.json -506da27823475ef29a4140b71c0e020aedf6d5ea data\minecraft\conversion\cool\lava.json -7ebf3cd89ecfbca041b18aba5e76675ba30de3ff data\minecraft\conversion\cool\magma_block.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\dark_oak_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\cherry_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\flowering_azalea.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\jungle_sapling.json -73175674bb164d74e6e7c648bc5545d242ce3e53 data\minecraft\conversion\cool\cauldron.json -d37d3055bdc00865240ee179aced3b8a64ffc9c6 data\minecraft\conversion\cool\water.json -074a1ac0403c184c4f922fd82e5215983abab056 data\minecraft\conversion\cool\oak_sapling.json +// 1.21 2025-01-22T00:15:24.950310843 Trickster/Block Conversion (cool) +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/oak_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/dark_oak_sapling.json +7ebf3cd89ecfbca041b18aba5e76675ba30de3ff data/minecraft/conversion/cool/magma_block.json +73175674bb164d74e6e7c648bc5545d242ce3e53 data/minecraft/conversion/cool/cauldron.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/jungle_sapling.json +d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/cool/water.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/cherry_sapling.json +506da27823475ef29a4140b71c0e020aedf6d5ea data/minecraft/conversion/cool/lava.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/birch_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/azalea.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/acacia_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/flowering_azalea.json +411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/cool/ice.json +5d2f23dbd4aa8e87025495da0e5e86b459743d64 data/minecraft/conversion/cool/packed_ice.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/spruce_sapling.json diff --git a/src/main/generated/data/minecraft/conversion/erode/anvil.json b/src/main/generated/data/minecraft/conversion/erode/anvil.json index 3e80326a..88021737 100644 --- a/src/main/generated/data/minecraft/conversion/erode/anvil.json +++ b/src/main/generated/data/minecraft/conversion/erode/anvil.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:chipped_anvil", + "keepProperties": true, "properties": { "facing": "north" }, diff --git a/src/main/generated/data/minecraft/conversion/erode/chipped_anvil.json b/src/main/generated/data/minecraft/conversion/erode/chipped_anvil.json index 3057be11..ff08fee0 100644 --- a/src/main/generated/data/minecraft/conversion/erode/chipped_anvil.json +++ b/src/main/generated/data/minecraft/conversion/erode/chipped_anvil.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:damaged_anvil", + "keepProperties": true, "properties": { "facing": "north" }, diff --git a/src/main/generated/data/minecraft/conversion/erode/cobblestone_slab.json b/src/main/generated/data/minecraft/conversion/erode/cobblestone_slab.json index 64f863c1..1985b943 100644 --- a/src/main/generated/data/minecraft/conversion/erode/cobblestone_slab.json +++ b/src/main/generated/data/minecraft/conversion/erode/cobblestone_slab.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_cobblestone_slab", + "keepProperties": true, "properties": { "type": "bottom", "waterlogged": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/cobblestone_stairs.json b/src/main/generated/data/minecraft/conversion/erode/cobblestone_stairs.json index 89085979..863566f6 100644 --- a/src/main/generated/data/minecraft/conversion/erode/cobblestone_stairs.json +++ b/src/main/generated/data/minecraft/conversion/erode/cobblestone_stairs.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_cobblestone_stairs", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/cobblestone_wall.json b/src/main/generated/data/minecraft/conversion/erode/cobblestone_wall.json index a33647d2..cf1c0e16 100644 --- a/src/main/generated/data/minecraft/conversion/erode/cobblestone_wall.json +++ b/src/main/generated/data/minecraft/conversion/erode/cobblestone_wall.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_cobblestone_wall", + "keepProperties": true, "properties": { "east": "none", "north": "none", diff --git a/src/main/generated/data/minecraft/conversion/erode/copper_bulb.json b/src/main/generated/data/minecraft/conversion/erode/copper_bulb.json index 2e523cbf..ea54fa24 100644 --- a/src/main/generated/data/minecraft/conversion/erode/copper_bulb.json +++ b/src/main/generated/data/minecraft/conversion/erode/copper_bulb.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_copper_bulb", + "keepProperties": true, "properties": { "lit": "false", "powered": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/copper_door.json b/src/main/generated/data/minecraft/conversion/erode/copper_door.json index 0325b6e2..6d4f3b4e 100644 --- a/src/main/generated/data/minecraft/conversion/erode/copper_door.json +++ b/src/main/generated/data/minecraft/conversion/erode/copper_door.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_copper_door", + "keepProperties": true, "properties": { "facing": "north", "half": "lower", diff --git a/src/main/generated/data/minecraft/conversion/erode/copper_grate.json b/src/main/generated/data/minecraft/conversion/erode/copper_grate.json index 83356a3a..1f8326d2 100644 --- a/src/main/generated/data/minecraft/conversion/erode/copper_grate.json +++ b/src/main/generated/data/minecraft/conversion/erode/copper_grate.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_copper_grate", + "keepProperties": true, "properties": { "waterlogged": "false" }, diff --git a/src/main/generated/data/minecraft/conversion/erode/copper_trapdoor.json b/src/main/generated/data/minecraft/conversion/erode/copper_trapdoor.json index 56416849..ff19da19 100644 --- a/src/main/generated/data/minecraft/conversion/erode/copper_trapdoor.json +++ b/src/main/generated/data/minecraft/conversion/erode/copper_trapdoor.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_copper_trapdoor", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/cut_copper_slab.json b/src/main/generated/data/minecraft/conversion/erode/cut_copper_slab.json index 0da9c498..c58f036a 100644 --- a/src/main/generated/data/minecraft/conversion/erode/cut_copper_slab.json +++ b/src/main/generated/data/minecraft/conversion/erode/cut_copper_slab.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_cut_copper_slab", + "keepProperties": true, "properties": { "type": "bottom", "waterlogged": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/cut_copper_stairs.json b/src/main/generated/data/minecraft/conversion/erode/cut_copper_stairs.json index 0225a74d..af2d1b13 100644 --- a/src/main/generated/data/minecraft/conversion/erode/cut_copper_stairs.json +++ b/src/main/generated/data/minecraft/conversion/erode/cut_copper_stairs.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:exposed_cut_copper_stairs", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_bulb.json b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_bulb.json index 56877211..307485a3 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_bulb.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_bulb.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_copper_bulb", + "keepProperties": true, "properties": { "lit": "false", "powered": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_door.json b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_door.json index f7eb9dd1..2a5159a1 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_door.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_door.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_copper_door", + "keepProperties": true, "properties": { "facing": "north", "half": "lower", diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_grate.json b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_grate.json index ed2b0941..67f43dd4 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_grate.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_grate.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_copper_grate", + "keepProperties": true, "properties": { "waterlogged": "false" }, diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_trapdoor.json b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_trapdoor.json index f81940b4..029e4d13 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_copper_trapdoor.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_copper_trapdoor.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_copper_trapdoor", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_slab.json b/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_slab.json index f31534c3..9b3c76e0 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_slab.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_slab.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_cut_copper_slab", + "keepProperties": true, "properties": { "type": "bottom", "waterlogged": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_stairs.json b/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_stairs.json index 8a363acf..b9d2ba40 100644 --- a/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_stairs.json +++ b/src/main/generated/data/minecraft/conversion/erode/exposed_cut_copper_stairs.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:weathered_cut_copper_stairs", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/stone_brick_slab.json b/src/main/generated/data/minecraft/conversion/erode/stone_brick_slab.json index 8d661a69..f2ee57f0 100644 --- a/src/main/generated/data/minecraft/conversion/erode/stone_brick_slab.json +++ b/src/main/generated/data/minecraft/conversion/erode/stone_brick_slab.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_stone_brick_slab", + "keepProperties": true, "properties": { "type": "bottom", "waterlogged": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/stone_brick_stairs.json b/src/main/generated/data/minecraft/conversion/erode/stone_brick_stairs.json index 33579ea0..c3332424 100644 --- a/src/main/generated/data/minecraft/conversion/erode/stone_brick_stairs.json +++ b/src/main/generated/data/minecraft/conversion/erode/stone_brick_stairs.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_stone_brick_stairs", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/stone_brick_wall.json b/src/main/generated/data/minecraft/conversion/erode/stone_brick_wall.json index dbbe1370..cdaa1d41 100644 --- a/src/main/generated/data/minecraft/conversion/erode/stone_brick_wall.json +++ b/src/main/generated/data/minecraft/conversion/erode/stone_brick_wall.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:mossy_stone_brick_wall", + "keepProperties": true, "properties": { "east": "none", "north": "none", diff --git a/src/main/generated/data/minecraft/conversion/erode/stone_bricks.json b/src/main/generated/data/minecraft/conversion/erode/stone_bricks.json index 2e7978c2..5d963d32 100644 --- a/src/main/generated/data/minecraft/conversion/erode/stone_bricks.json +++ b/src/main/generated/data/minecraft/conversion/erode/stone_bricks.json @@ -2,10 +2,12 @@ "conversions": [ { "id": "minecraft:mossy_stone_bricks", + "keepProperties": true, "weight": 1 }, { "id": "minecraft:cracked_stone_bricks", + "keepProperties": true, "weight": 1 } ] diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_bulb.json b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_bulb.json index cd23a3c1..9aa66525 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_bulb.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_bulb.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_copper_bulb", + "keepProperties": true, "properties": { "lit": "false", "powered": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_door.json b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_door.json index 905037f2..4bd48ca5 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_door.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_door.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_copper_door", + "keepProperties": true, "properties": { "facing": "north", "half": "lower", diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_grate.json b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_grate.json index 85bb46a6..40cd38c7 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_grate.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_grate.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_copper_grate", + "keepProperties": true, "properties": { "waterlogged": "false" }, diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_trapdoor.json b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_trapdoor.json index 0c9f0f07..bdaeebb7 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_copper_trapdoor.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_copper_trapdoor.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_copper_trapdoor", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_slab.json b/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_slab.json index ca2bbc96..a74a6974 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_slab.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_slab.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_cut_copper_slab", + "keepProperties": true, "properties": { "type": "bottom", "waterlogged": "false" diff --git a/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_stairs.json b/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_stairs.json index e6c8b392..6622ead2 100644 --- a/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_stairs.json +++ b/src/main/generated/data/minecraft/conversion/erode/weathered_cut_copper_stairs.json @@ -2,6 +2,7 @@ "conversions": [ { "id": "minecraft:oxidized_cut_copper_stairs", + "keepProperties": true, "properties": { "facing": "north", "half": "bottom", diff --git a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java index 2f7f5685..a66906d5 100644 --- a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java +++ b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java @@ -4,6 +4,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; +import com.mojang.datafixers.util.Either; import com.mojang.serialization.Codec; import com.mojang.serialization.JsonOps; import com.mojang.serialization.MapCodec; @@ -24,6 +25,7 @@ import net.minecraft.registry.RegistryWrapper; import net.minecraft.resource.ResourceManager; import net.minecraft.state.property.Properties; +import net.minecraft.state.property.Property; import net.minecraft.util.Identifier; import net.minecraft.util.math.BlockPos; import net.minecraft.util.profiler.Profiler; @@ -34,6 +36,7 @@ import nl.enjarai.cicada.api.util.random.Weighted; import java.util.*; +import java.util.function.Function; public abstract class BlockConversionLoader extends CompleteJsonDataLoader implements IdentifiableResourceReloadListener { protected static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create(); @@ -102,10 +105,27 @@ public boolean convert(Block block, World world, BlockPos pos) { world.syncWorldEvent(WorldEvents.BLOCK_BROKEN, pos, Block.getRawIdFromState(blockState)); } - if (world.getDimension().ultrawarm()) { + if (weightedValue.keepProperties.isPresent()) { + Either, Boolean> either = weightedValue.keepProperties.get(); + Function checker; + if (either.right().isPresent()) { + checker = (name) -> either.right().get(); + } else { + checker = (name) -> either.left().get().contains(name); + } + + BlockState oldState = world.getBlockState(pos); + for (Property property : blockState.getEntries().keySet()) { + if (checker.apply(property.getName()) && oldState.contains(property)) { + blockState = propertyFromOldBlock(blockState, oldState, property); + } + } + } + + if (blockState.getFluidState().isOf(Fluids.WATER) && world.getDimension().ultrawarm()) { if (blockState.isOf(Blocks.WATER)) { blockState = Blocks.AIR.getDefaultState(); - } else if (blockState.getFluidState().isOf(Fluids.WATER)) { + } else { Optional perhapsWaterlogged = blockState.getOrEmpty(Properties.WATERLOGGED); if (perhapsWaterlogged.isPresent() && perhapsWaterlogged.get()) { blockState = blockState.with(Properties.WATERLOGGED, false); @@ -125,6 +145,10 @@ public boolean convert(Block block, World world, BlockPos pos) { return true; } + private > BlockState propertyFromOldBlock(BlockState newState, BlockState oldState, Property property) { + return newState.with(property, oldState.get(property)); + } + public record Replaceable(boolean replace, List conversions) { public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( @@ -134,7 +158,7 @@ public record Replaceable(boolean replace, List conversions) { ); } - public record WeightedValue(BlockState state, Optional nbt, int weight) implements Weighted { + public record WeightedValue(BlockState state, Optional, Boolean>> keepProperties, Optional nbt, int weight) implements Weighted { public static final MapCodec BLOCK_STATE_CODEC = Registries.BLOCK.getCodec().dispatchMap("id", state -> ((StateAccessor) state).getOwner(), owner -> { BlockState state = owner.getDefaultState(); if (state.getEntries().isEmpty()) { @@ -146,6 +170,7 @@ public record WeightedValue(BlockState state, Optional nbt, int wei public static final Codec CODEC = RecordCodecBuilder.create(instance -> instance.group( RecordCodecBuilder.of(WeightedValue::state, BLOCK_STATE_CODEC), + Codec.either(Codec.STRING.listOf(), Codec.BOOL).optionalFieldOf("keepProperties").forGetter(WeightedValue::keepProperties), NbtCompound.CODEC.optionalFieldOf("nbt").forGetter(WeightedValue::nbt), Codec.INT.fieldOf("weight").forGetter(WeightedValue::weight) ).apply(instance, WeightedValue::new) diff --git a/src/main/java/dev/enjarai/trickster/datagen/ErodeBlockConversionGenerator.java b/src/main/java/dev/enjarai/trickster/datagen/ErodeBlockConversionGenerator.java index 2b93049b..ad29ddb2 100644 --- a/src/main/java/dev/enjarai/trickster/datagen/ErodeBlockConversionGenerator.java +++ b/src/main/java/dev/enjarai/trickster/datagen/ErodeBlockConversionGenerator.java @@ -17,13 +17,13 @@ public ErodeBlockConversionGenerator(FabricDataOutput output, CompletableFuture< protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { registerErosionConversion(Blocks.STONE, Blocks.COBBLESTONE); registerErosionConversion(Blocks.COBBLESTONE, Blocks.GRAVEL, Blocks.MOSSY_COBBLESTONE); - registerErosionConversion(Blocks.COBBLESTONE_STAIRS, Blocks.MOSSY_COBBLESTONE_STAIRS); - registerErosionConversion(Blocks.COBBLESTONE_SLAB, Blocks.MOSSY_COBBLESTONE_SLAB); - registerErosionConversion(Blocks.COBBLESTONE_WALL, Blocks.MOSSY_COBBLESTONE_WALL); - registerErosionConversion(Blocks.STONE_BRICKS, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS); - registerErosionConversion(Blocks.STONE_BRICK_STAIRS, Blocks.MOSSY_STONE_BRICK_STAIRS); - registerErosionConversion(Blocks.STONE_BRICK_SLAB, Blocks.MOSSY_STONE_BRICK_SLAB); - registerErosionConversion(Blocks.STONE_BRICK_WALL, Blocks.MOSSY_STONE_BRICK_WALL); + registerErosionConversion(Blocks.COBBLESTONE_STAIRS, true, Blocks.MOSSY_COBBLESTONE_STAIRS); + registerErosionConversion(Blocks.COBBLESTONE_SLAB, true, Blocks.MOSSY_COBBLESTONE_SLAB); + registerErosionConversion(Blocks.COBBLESTONE_WALL, true, Blocks.MOSSY_COBBLESTONE_WALL); + registerErosionConversion(Blocks.STONE_BRICKS, true, Blocks.MOSSY_STONE_BRICKS, Blocks.CRACKED_STONE_BRICKS); + registerErosionConversion(Blocks.STONE_BRICK_STAIRS, true, Blocks.MOSSY_STONE_BRICK_STAIRS); + registerErosionConversion(Blocks.STONE_BRICK_SLAB, true, Blocks.MOSSY_STONE_BRICK_SLAB); + registerErosionConversion(Blocks.STONE_BRICK_WALL, true, Blocks.MOSSY_STONE_BRICK_WALL); registerErosionConversion(Blocks.INFESTED_STONE_BRICKS, Blocks.INFESTED_MOSSY_STONE_BRICKS, Blocks.INFESTED_CRACKED_STONE_BRICKS); registerErosionConversion(Blocks.DEEPSLATE_BRICKS, Blocks.CRACKED_DEEPSLATE_BRICKS); registerErosionConversion(Blocks.DEEPSLATE_TILES, Blocks.CRACKED_DEEPSLATE_TILES); @@ -32,8 +32,8 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { registerErosionConversion(Blocks.SANDSTONE, Blocks.SAND); registerErosionConversion(Blocks.GILDED_BLACKSTONE, Blocks.BLACKSTONE); registerErosionConversion(Blocks.NETHERITE_BLOCK, Blocks.ANCIENT_DEBRIS); - registerErosionConversion(Blocks.ANVIL, Blocks.CHIPPED_ANVIL); - registerErosionConversion(Blocks.CHIPPED_ANVIL, Blocks.DAMAGED_ANVIL); + registerErosionConversion(Blocks.ANVIL, true, Blocks.CHIPPED_ANVIL); + registerErosionConversion(Blocks.CHIPPED_ANVIL, true, Blocks.DAMAGED_ANVIL); registerErosionConversion(Blocks.DAMAGED_ANVIL, Blocks.AIR); registerErosionConversion(Blocks.GRAVEL, Blocks.SAND); //region Copper @@ -43,27 +43,27 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { registerErosionConversion(Blocks.CHISELED_COPPER, Blocks.EXPOSED_CHISELED_COPPER); registerErosionConversion(Blocks.EXPOSED_CHISELED_COPPER, Blocks.WEATHERED_CHISELED_COPPER); registerErosionConversion(Blocks.WEATHERED_CHISELED_COPPER, Blocks.OXIDIZED_CHISELED_COPPER); - registerErosionConversion(Blocks.COPPER_GRATE, Blocks.EXPOSED_COPPER_GRATE); - registerErosionConversion(Blocks.EXPOSED_COPPER_GRATE, Blocks.WEATHERED_COPPER_GRATE); - registerErosionConversion(Blocks.WEATHERED_COPPER_GRATE, Blocks.OXIDIZED_COPPER_GRATE); + registerErosionConversion(Blocks.COPPER_GRATE, true, Blocks.EXPOSED_COPPER_GRATE); + registerErosionConversion(Blocks.EXPOSED_COPPER_GRATE, true, Blocks.WEATHERED_COPPER_GRATE); + registerErosionConversion(Blocks.WEATHERED_COPPER_GRATE, true, Blocks.OXIDIZED_COPPER_GRATE); registerErosionConversion(Blocks.CUT_COPPER, Blocks.EXPOSED_CUT_COPPER); registerErosionConversion(Blocks.EXPOSED_CUT_COPPER, Blocks.WEATHERED_CUT_COPPER); registerErosionConversion(Blocks.WEATHERED_CUT_COPPER, Blocks.OXIDIZED_CUT_COPPER); - registerErosionConversion(Blocks.CUT_COPPER_STAIRS, Blocks.EXPOSED_CUT_COPPER_STAIRS); - registerErosionConversion(Blocks.EXPOSED_CUT_COPPER_STAIRS, Blocks.WEATHERED_CUT_COPPER_STAIRS); - registerErosionConversion(Blocks.WEATHERED_CUT_COPPER_STAIRS, Blocks.OXIDIZED_CUT_COPPER_STAIRS); - registerErosionConversion(Blocks.CUT_COPPER_SLAB, Blocks.EXPOSED_CUT_COPPER_SLAB); - registerErosionConversion(Blocks.EXPOSED_CUT_COPPER_SLAB, Blocks.WEATHERED_CUT_COPPER_SLAB); - registerErosionConversion(Blocks.WEATHERED_CUT_COPPER_SLAB, Blocks.OXIDIZED_CUT_COPPER_SLAB); - registerErosionConversion(Blocks.COPPER_DOOR, Blocks.EXPOSED_COPPER_DOOR); - registerErosionConversion(Blocks.EXPOSED_COPPER_DOOR, Blocks.WEATHERED_COPPER_DOOR); - registerErosionConversion(Blocks.WEATHERED_COPPER_DOOR, Blocks.OXIDIZED_COPPER_DOOR); - registerErosionConversion(Blocks.COPPER_TRAPDOOR, Blocks.EXPOSED_COPPER_TRAPDOOR); - registerErosionConversion(Blocks.EXPOSED_COPPER_TRAPDOOR, Blocks.WEATHERED_COPPER_TRAPDOOR); - registerErosionConversion(Blocks.WEATHERED_COPPER_TRAPDOOR, Blocks.OXIDIZED_COPPER_TRAPDOOR); - registerErosionConversion(Blocks.COPPER_BULB, Blocks.EXPOSED_COPPER_BULB); - registerErosionConversion(Blocks.EXPOSED_COPPER_BULB, Blocks.WEATHERED_COPPER_BULB); - registerErosionConversion(Blocks.WEATHERED_COPPER_BULB, Blocks.OXIDIZED_COPPER_BULB); + registerErosionConversion(Blocks.CUT_COPPER_STAIRS, true, Blocks.EXPOSED_CUT_COPPER_STAIRS); + registerErosionConversion(Blocks.EXPOSED_CUT_COPPER_STAIRS, true, Blocks.WEATHERED_CUT_COPPER_STAIRS); + registerErosionConversion(Blocks.WEATHERED_CUT_COPPER_STAIRS, true, Blocks.OXIDIZED_CUT_COPPER_STAIRS); + registerErosionConversion(Blocks.CUT_COPPER_SLAB, true, Blocks.EXPOSED_CUT_COPPER_SLAB); + registerErosionConversion(Blocks.EXPOSED_CUT_COPPER_SLAB, true, Blocks.WEATHERED_CUT_COPPER_SLAB); + registerErosionConversion(Blocks.WEATHERED_CUT_COPPER_SLAB, true, Blocks.OXIDIZED_CUT_COPPER_SLAB); + registerErosionConversion(Blocks.COPPER_DOOR, true, Blocks.EXPOSED_COPPER_DOOR); + registerErosionConversion(Blocks.EXPOSED_COPPER_DOOR, true, Blocks.WEATHERED_COPPER_DOOR); + registerErosionConversion(Blocks.WEATHERED_COPPER_DOOR, true, Blocks.OXIDIZED_COPPER_DOOR); + registerErosionConversion(Blocks.COPPER_TRAPDOOR, true, Blocks.EXPOSED_COPPER_TRAPDOOR); + registerErosionConversion(Blocks.EXPOSED_COPPER_TRAPDOOR, true, Blocks.WEATHERED_COPPER_TRAPDOOR); + registerErosionConversion(Blocks.WEATHERED_COPPER_TRAPDOOR, true, Blocks.OXIDIZED_COPPER_TRAPDOOR); + registerErosionConversion(Blocks.COPPER_BULB, true, Blocks.EXPOSED_COPPER_BULB); + registerErosionConversion(Blocks.EXPOSED_COPPER_BULB, true, Blocks.WEATHERED_COPPER_BULB); + registerErosionConversion(Blocks.WEATHERED_COPPER_BULB, true, Blocks.OXIDIZED_COPPER_BULB); //endregion } @@ -73,4 +73,11 @@ public void registerErosionConversion(Block block, Block... conversions) { builder.add(conversion, 1); } } + + public void registerErosionConversion(Block block, boolean keepProperties, Block... conversions) { + Builder builder = getOrCreateConversion(block); + for (Block conversion : conversions) { + builder.add(conversion, keepProperties, 1); + } + } } diff --git a/src/main/java/dev/enjarai/trickster/datagen/provider/BlockConversionProvider.java b/src/main/java/dev/enjarai/trickster/datagen/provider/BlockConversionProvider.java index f15a4f09..753bf67a 100644 --- a/src/main/java/dev/enjarai/trickster/datagen/provider/BlockConversionProvider.java +++ b/src/main/java/dev/enjarai/trickster/datagen/provider/BlockConversionProvider.java @@ -9,6 +9,7 @@ import com.google.common.collect.Maps; +import com.mojang.datafixers.util.Either; import dev.enjarai.trickster.data.conversion.BlockConversionLoader; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.minecraft.block.Block; @@ -38,23 +39,22 @@ public BlockConversionProvider(FabricDataOutput output, String type, Completable @Override public CompletableFuture run(DataWriter writer) { return this.getRegistryLookupFuture() - .thenCompose(wrapperLookup -> { - return CompletableFuture.allOf( - this.builders - .entrySet() - .stream() - .map( - entry -> { - Identifier identifier = entry.getKey(); - List values = entry.getValue().build(); - Path path = this.pathResolver.resolveJson(identifier); - return DataProvider - .writeCodecToPath(writer, wrapperLookup, BlockConversionLoader.Replaceable.CODEC, new BlockConversionLoader.Replaceable(false, values), path); - } - ) - .toArray(CompletableFuture[]::new) - ); - }); + .thenCompose(wrapperLookup -> + CompletableFuture.allOf( + this.builders + .entrySet() + .stream() + .map( + entry -> { + Identifier identifier = entry.getKey(); + List values = entry.getValue().build(); + Path path = this.pathResolver.resolveJson(identifier); + return DataProvider + .writeCodecToPath(writer, wrapperLookup, BlockConversionLoader.Replaceable.CODEC, new BlockConversionLoader.Replaceable(false, values), path); + } + ) + .toArray(CompletableFuture[]::new) + )); } protected CompletableFuture getRegistryLookupFuture() { @@ -75,7 +75,7 @@ public String getName() { return "Block Conversion (" + type + ")"; } - //TODO: Change this so you can provide blocks from other mods from their Identifier + // Maybe make this generated? public static class Builder { private final List entries = new ArrayList<>(); @@ -88,22 +88,59 @@ public List build() { } public Builder add(Block block, int weight) { - this.entries.add(new BlockConversionLoader.WeightedValue(block.getDefaultState(), Optional.empty(), weight)); + add(block.getDefaultState(), weight); return this; } public Builder add(BlockState state, int weight) { - this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.empty(), weight)); + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.empty(), Optional.empty(), weight)); return this; } - public Builder add(Block block, NbtCompound nbt, int weight) { - this.entries.add(new BlockConversionLoader.WeightedValue(block.getDefaultState(), Optional.ofNullable(nbt), weight)); + public Builder add(Block block, List keepProperties, int weight) { + add(block.getDefaultState(), keepProperties, weight); + return this; + } + + public Builder add(BlockState state, List keepProperties, int weight) { + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.of(Either.left(keepProperties)), Optional.empty(), weight)); + return this; + } + + public Builder add(Block block, boolean keepProperties, int weight) { + add(block.getDefaultState(), keepProperties, weight); + return this; + } + + public Builder add(BlockState state, boolean keepProperties, int weight) { + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.of(Either.right(keepProperties)), Optional.empty(), weight)); return this; } + public Builder add(Block block, NbtCompound nbt, int weight) { + return add(block.getDefaultState(), nbt, weight); + } + public Builder add(BlockState state, NbtCompound nbt, int weight) { - this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.ofNullable(nbt), weight)); + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.empty(), Optional.ofNullable(nbt), weight)); + return this; + } + + public Builder add(Block block, List keepProperties, NbtCompound nbt, int weight) { + return add(block.getDefaultState(), keepProperties, nbt, weight); + } + + public Builder add(BlockState state, List keepProperties, NbtCompound nbt, int weight) { + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.of(Either.left(keepProperties)), Optional.ofNullable(nbt), weight)); + return this; + } + + public Builder add(Block block, boolean keepProperties, NbtCompound nbt, int weight) { + return add(block.getDefaultState(), keepProperties, nbt, weight); + } + + public Builder add(BlockState state, boolean keepProperties, NbtCompound nbt, int weight) { + this.entries.add(new BlockConversionLoader.WeightedValue(state, Optional.of(Either.right(keepProperties)), Optional.ofNullable(nbt), weight)); return this; } } From 8af2695e1c697fbf11771cd2390e612e757d535f Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:14:02 -0300 Subject: [PATCH 05/14] chore: behave more like vanilla --- .../trickster/spell/trick/block/ConjureLightTrick.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java index d668dc0d..835b2965 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java @@ -26,10 +26,8 @@ public Fragment conjure(SpellContext ctx, VectorFragment pos) throws BlunderExce BlockState state = world.getBlockState(blockPos); var waterlogged = state.getFluidState().getFluid() == Fluids.WATER; - var dry = state.getFluidState().getFluid() == Fluids.EMPTY; - // Blunder if block can't be replaced or if it has a fluid that isn't still water - if (!state.isReplaceable() || (!state.isAir() && !waterlogged && !dry)) { + if (!state.isReplaceable()) { throw new BlockOccupiedBlunder(this, pos); } From ce6956eebd7f2e7f586166824c55d7d839250a93 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:35:40 -0300 Subject: [PATCH 06/14] enter --- .../enjarai/trickster/data/conversion/BlockConversionLoader.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java index a66906d5..fbc7369b 100644 --- a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java +++ b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java @@ -142,6 +142,7 @@ public boolean convert(Block block, World world, BlockPos pos) { if (weightedValue.nbt().isPresent() && (blockEntity = world.getBlockEntity(pos)) != null) { blockEntity.read(weightedValue.nbt().get(), world.getRegistryManager()); } + return true; } From c590790495d9c82d25b243626c3d03fe68dcf917 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:36:09 -0300 Subject: [PATCH 07/14] =?UTF-8?q?=CE=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trickster/data/conversion/BlockConversionLoader.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java index fbc7369b..050b509c 100644 --- a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java +++ b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java @@ -82,9 +82,7 @@ protected void apply(Map> prepared, }); ImmutableMap.Builder> builder = ImmutableMap.builder(); - map.forEach((block, weightedValues) -> { - builder.put(block, List.copyOf(weightedValues)); - }); + map.forEach((block, weightedValues) -> builder.put(block, List.copyOf(weightedValues))); conversions = builder.build(); } From 0a3b9fa9781daf7bbac86a4bb589d1833cae460c Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:38:09 -0300 Subject: [PATCH 08/14] =?UTF-8?q?more=20=CE=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trickster/data/conversion/BlockConversionLoader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java index 050b509c..cab9cb0d 100644 --- a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java +++ b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java @@ -107,9 +107,11 @@ public boolean convert(Block block, World world, BlockPos pos) { Either, Boolean> either = weightedValue.keepProperties.get(); Function checker; if (either.right().isPresent()) { - checker = (name) -> either.right().get(); + Boolean shouldKeepAll = either.right().get(); + checker = (name) -> shouldKeepAll; } else { - checker = (name) -> either.left().get().contains(name); + List toKeep = either.left().get(); + checker = toKeep::contains; } BlockState oldState = world.getBlockState(pos); From be6c26c4e033ee9431a895f94914946f0df0805d Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Wed, 22 Jan 2025 19:39:17 -0300 Subject: [PATCH 09/14] use primitive --- .../trickster/data/conversion/BlockConversionLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java index cab9cb0d..4c22bf8e 100644 --- a/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java +++ b/src/main/java/dev/enjarai/trickster/data/conversion/BlockConversionLoader.java @@ -107,7 +107,7 @@ public boolean convert(Block block, World world, BlockPos pos) { Either, Boolean> either = weightedValue.keepProperties.get(); Function checker; if (either.right().isPresent()) { - Boolean shouldKeepAll = either.right().get(); + boolean shouldKeepAll = either.right().get(); checker = (name) -> shouldKeepAll; } else { List toKeep = either.left().get(); From f49a79d4b60a010e4d38b838383b3632bed25db6 Mon Sep 17 00:00:00 2001 From: Awakened-Redstone <40528665+Awakened-Redstone@users.noreply.github.com> Date: Thu, 23 Jan 2025 18:38:09 -0300 Subject: [PATCH 10/14] revert last commit, but replacing flowing water --- .../trickster/spell/trick/block/ConjureLightTrick.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java index 835b2965..3b35d580 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/block/ConjureLightTrick.java @@ -13,6 +13,7 @@ import dev.enjarai.trickster.spell.type.Signature; import net.minecraft.block.BlockState; import net.minecraft.fluid.Fluids; +import net.minecraft.registry.tag.FluidTags; public class ConjureLightTrick extends Trick { public ConjureLightTrick() { @@ -26,8 +27,11 @@ public Fragment conjure(SpellContext ctx, VectorFragment pos) throws BlunderExce BlockState state = world.getBlockState(blockPos); var waterlogged = state.getFluidState().getFluid() == Fluids.WATER; + var isWater = state.getFluidState().isIn(FluidTags.WATER); + var dry = state.getFluidState().getFluid() == Fluids.EMPTY; - if (!state.isReplaceable()) { + // Blunder if block can't be replaced or if it has a fluid that isn't water + if (!state.isReplaceable() || (!state.isAir() && !isWater && !dry)) { throw new BlockOccupiedBlunder(this, pos); } From b4f308ce7bb77cafdec41426ac9da47c4ec4ad73 Mon Sep 17 00:00:00 2001 From: Aurora Dawn Date: Sat, 25 Jan 2025 21:34:18 -0500 Subject: [PATCH 11/14] The Interlude --- .../enjarai/trickster/spell/trick/Tricks.java | 2 ++ .../trick/list/CreateNumberRangeTrick.java | 22 +++++++++++++++++++ .../resources/assets/trickster/lang/en_us.yml | 1 + .../tome_of_tomfoolery/distortions/list.md | 13 ++++++++++- 4 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 src/main/java/dev/enjarai/trickster/spell/trick/list/CreateNumberRangeTrick.java diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/Tricks.java b/src/main/java/dev/enjarai/trickster/spell/trick/Tricks.java index 2f452ca7..cf224ab7 100644 --- a/src/main/java/dev/enjarai/trickster/spell/trick/Tricks.java +++ b/src/main/java/dev/enjarai/trickster/spell/trick/Tricks.java @@ -79,6 +79,7 @@ import dev.enjarai.trickster.spell.trick.func.LoadArgumentTrick; import dev.enjarai.trickster.spell.trick.func.SupplierTrick; import dev.enjarai.trickster.spell.trick.func.TryCatchTrick; +import dev.enjarai.trickster.spell.trick.list.CreateNumberRangeTrick; import dev.enjarai.trickster.spell.trick.list.ListAddRangeTrick; import dev.enjarai.trickster.spell.trick.list.ListAddTrick; import dev.enjarai.trickster.spell.trick.list.ListCreateTrick; @@ -310,6 +311,7 @@ public RegistryEntry.Reference> add(RegistryKey> key, Trick public static final ListRemoveElementTrick LIST_REMOVE_ELEMENT = register("list_remove_element", new ListRemoveElementTrick()); public static final ListRemoveTrick LIST_REMOVE = register("list_remove", new ListRemoveTrick()); public static final ListSizeTrick LIST_SIZE = register("list_size", new ListSizeTrick()); + public static final CreateNumberRangeTrick CREATE_NUMBER_RANGE = register("create_number_range", new CreateNumberRangeTrick()); // Map public static final MapGetTrick MAP_GET = register("map_get", new MapGetTrick()); diff --git a/src/main/java/dev/enjarai/trickster/spell/trick/list/CreateNumberRangeTrick.java b/src/main/java/dev/enjarai/trickster/spell/trick/list/CreateNumberRangeTrick.java new file mode 100644 index 00000000..b417e6a1 --- /dev/null +++ b/src/main/java/dev/enjarai/trickster/spell/trick/list/CreateNumberRangeTrick.java @@ -0,0 +1,22 @@ +package dev.enjarai.trickster.spell.trick.list; + +import java.util.stream.IntStream; + +import dev.enjarai.trickster.spell.Fragment; +import dev.enjarai.trickster.spell.Pattern; +import dev.enjarai.trickster.spell.SpellContext; +import dev.enjarai.trickster.spell.fragment.FragmentType; +import dev.enjarai.trickster.spell.fragment.ListFragment; +import dev.enjarai.trickster.spell.fragment.NumberFragment; +import dev.enjarai.trickster.spell.trick.Trick; +import dev.enjarai.trickster.spell.type.Signature; + +public class CreateNumberRangeTrick extends Trick { + public CreateNumberRangeTrick() { + super(Pattern.of(1, 2, 0, 1, 4, 7, 8, 6, 7), Signature.of(FragmentType.NUMBER, FragmentType.NUMBER, CreateNumberRangeTrick::run)); + } + + public Fragment run(SpellContext ctx, NumberFragment start, NumberFragment end) { + return new ListFragment(IntStream.range(start.asInt(), end.asInt()).boxed().map(n -> new NumberFragment(n)).toList()); + } +} diff --git a/src/main/resources/assets/trickster/lang/en_us.yml b/src/main/resources/assets/trickster/lang/en_us.yml index 9a2e444a..0b504046 100644 --- a/src/main/resources/assets/trickster/lang/en_us.yml +++ b/src/main/resources/assets/trickster/lang/en_us.yml @@ -161,6 +161,7 @@ trickster: list_remove: Expulsion Stratagem list_remove_element: Eviction Stratagem list_size: Tally Distortion + create_number_range: Interlude Distortion locate_glyph: Pinpoint Distortion locate_glyphs: Discovering Distortion diff --git a/src/main/resources/assets/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md b/src/main/resources/assets/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md index 0be1b701..281e4aaf 100644 --- a/src/main/resources/assets/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md +++ b/src/main/resources/assets/trickster/lavender/entries/tome_of_tomfoolery/distortions/list.md @@ -13,7 +13,8 @@ "Extraction Distortion", "Locating Distortion", "Expulsion Stratagem", - "Eviction Stratagem" + "Eviction Stratagem", + "Interlude Distortion" ] } ``` @@ -122,3 +123,13 @@ any[], any... -> any[] --- Removes one or many elements from the given list by checking their equality with the set of given fragments. + +;;;;; + +<|glyph@trickster:templates|trick-id=trickster:create_number_range,title=Interlude Distortion|> + +number, number -> number[] + +--- + +Returns a list containing the range of integer numbers starting at the first given number and ending before the second. From f551df6235620f77f4620c46b5857351b5d5dbe5 Mon Sep 17 00:00:00 2001 From: Aurora Dawn Date: Sun, 26 Jan 2025 14:45:08 -0500 Subject: [PATCH 12/14] Weeeee --- .../trickster/cca/SharedManaComponent.java | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/main/java/dev/enjarai/trickster/cca/SharedManaComponent.java b/src/main/java/dev/enjarai/trickster/cca/SharedManaComponent.java index 3951889d..a5cc1833 100644 --- a/src/main/java/dev/enjarai/trickster/cca/SharedManaComponent.java +++ b/src/main/java/dev/enjarai/trickster/cca/SharedManaComponent.java @@ -57,10 +57,12 @@ public boolean shouldSyncWith(ServerPlayerEntity player) { @Override public void writeSyncPacket(RegistryByteBuf buf, ServerPlayerEntity player) { var uuids = subscribers.get(player.getUuid()); - buf.write(POOLS_ENDEC.endec(), pools.entrySet() - .stream() - .filter(entry -> uuids.contains(entry.getKey())) - .collect(Collectors.toMap(HashMap.Entry::getKey, HashMap.Entry::getValue))); + buf.write( + POOLS_ENDEC.endec(), pools.entrySet() + .stream() + .filter(entry -> uuids.contains(entry.getKey())) + .collect(Collectors.toMap(HashMap.Entry::getKey, HashMap.Entry::getValue)) + ); } @Override @@ -75,9 +77,9 @@ public UUID allocate(SimpleManaPool pool) { final var finalPool = pool; pool = server.get().getOverworld().getPersistentStateManager().getOrCreate( new PersistentState.Type( - () -> new PoolState(finalPool), - PoolState::readNbt, - DataFixTypes.LEVEL + () -> new PoolState(finalPool), + PoolState::readNbt, + DataFixTypes.LEVEL ), "trickster/shared_mana_pool/" + uuid ).getPool(); @@ -105,15 +107,17 @@ public Optional get(UUID uuid) { public void subscribe(ServerPlayerEntity player, UUID uuid) { server.ifPresent(server -> { - var playerUuid = player.getUuid(); - var subscriptions = subscribers.get(playerUuid); + if (get(uuid).isPresent()) { + var playerUuid = player.getUuid(); + var subscriptions = subscribers.get(playerUuid); - if (subscriptions == null) - subscriptions = new ArrayList<>(); + if (subscriptions == null) + subscriptions = new ArrayList<>(); - subscriptions.add(uuid); - subscribers.put(playerUuid, subscriptions); - ModGlobalComponents.SHARED_MANA.sync(provider); + subscriptions.add(uuid); + subscribers.put(playerUuid, subscriptions); + ModGlobalComponents.SHARED_MANA.sync(provider); + } }); } From a6e1162dd57af68be2d6a2f956555146da53e1c0 Mon Sep 17 00:00:00 2001 From: Aurora Dawn Date: Sun, 26 Jan 2025 20:35:14 -0500 Subject: [PATCH 13/14] Oh no you don't --- .../resources/data/trickster/advancement/expensive_trick.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/data/trickster/advancement/expensive_trick.json b/src/main/resources/data/trickster/advancement/expensive_trick.json index e924e35f..0531c9b6 100644 --- a/src/main/resources/data/trickster/advancement/expensive_trick.json +++ b/src/main/resources/data/trickster/advancement/expensive_trick.json @@ -7,7 +7,7 @@ "text": "Great Magician" }, "description": { - "text": "Expend 128mG in a single trick" + "text": "Expend 128MG in a single trick" }, "frame": "challenge", "announce_to_chat": true, From 5851173c68347f696ad8845011cdec3754a76e59 Mon Sep 17 00:00:00 2001 From: Aurora Dawn Date: Sat, 1 Feb 2025 18:24:06 -0500 Subject: [PATCH 14/14] I love cats --- .../27614340de28b382d5f7ae74366bcf39e2ac3aeb | 99 ++++++++++--------- .../3ac65fa3d3c37fa00307c1168fcecdd37a25c66a | 2 +- .../61708f0ed37294451167e111af3b2b862215b6f8 | 78 +++++++-------- .../79ef07c0320f2b1bff073a33f581b6ea484cf452 | 76 +++++++------- .../de828e1c0b483619cb31befb2371ade13f1a18a1 | 2 +- .../f158030e12b0d9d4165e4586179e424d8925bffa | 22 ++--- 6 files changed, 140 insertions(+), 139 deletions(-) diff --git a/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb b/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb index c0ff42c0..82a15b33 100644 --- a/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb +++ b/src/main/generated/.cache/27614340de28b382d5f7ae74366bcf39e2ac3aeb @@ -1,63 +1,64 @@ -// 1.21 2025-01-22T00:15:24.951293767 Trickster/Model Definitions -585aef1a541ae893ae74d54742d2382121c9621b assets/trickster/models/item/amethyst_whorl.json -e7e256d1cc75121b08bfb8a9cf6c6bf4818b559f assets/trickster/models/item/modular_spell_construct.json -76a7c57257f8f9538cf8c631e412d6c22ce1c1eb assets/trickster/models/item/scroll_and_quill_light_gray.json -f00b04573fa8a37423acbd2cfa58995b577acc9f assets/trickster/models/item/written_scroll_light_gray.json -21f8195436d581c8272b28d7a306ce8e14f53a5e assets/trickster/models/item/spell_ink.json -03ec5d0e130b285409440674fa4adf632312325a assets/trickster/models/item/scroll_and_quill_blue.json +// 1.21 2025-02-01T18:23:52.037533785 Trickster/Model Definitions +731c4a8f7b5d2845410c03b22e2521bcf41f969c assets/trickster/models/item/scroll_and_quill_red.json +7cd9a2d7e13659094779ee999474bc85392fe900 assets/trickster/models/item/scroll_and_quill_white.json +c995dc518d2d7134ffe57b13897fda67a0b0f815 assets/trickster/models/item/scroll_and_quill_pink.json +1d20d3356c7098ceded88807637ed3ced7cb8d26 assets/trickster/models/item/cracked_echo_knot.json e622027802fd7ffb1c2e6f6d1733f17ed239e61d assets/trickster/models/item/tome_of_tomfoolery.json -52ba2ed5a5d7f67675af14a56e11cad44857f53b assets/trickster/models/item/diamond_knot.json +2f7ac0d58a5c1dd9391452bdde2b219a584786f8 assets/trickster/models/item/written_scroll_cyan.json +07cddf70df0f5e7a92f0c44af3f523be57bd80d6 assets/trickster/models/item/written_scroll_yellow.json d44eea2605a3263a62d123f63edc0cfbe3f30870 assets/trickster/models/item/charging_array.json +96809df525387fe221827afd762b90062300440f assets/trickster/models/item/scroll_and_quill_black.json 40c79ffc0e3c554e4c5f7b5e9f5144e6ce524f0e assets/trickster/blockstates/light.json +ce371fd6383c178fd713cbe03828b8015df480d8 assets/trickster/models/item/scroll_and_quill_gray.json c29f71428dcd472e97e6574b8cb1f156ea3b9fcd assets/trickster/models/item/written_scroll_pink.json -0365b58ff0a90639528778ad8ec3bdf3fd337ace assets/trickster/models/item/scroll_and_quill_lime.json -4b75bcb18c8f3e6ed30eaf767410a836b1be57d6 assets/trickster/models/item/written_scroll_magenta.json -ad5d09f6b76c65ada5383c567922cd74524f968c assets/trickster/models/item/written_scroll_red.json -be89ca0492892b810135472265a1fa873151a8f0 assets/trickster/models/item/command_knot.json -22ef3ac293ebe5b86928380e232bfaccc6202a28 assets/trickster/models/item/warding_charm.json -274e1f4724884bcb7cc8337d4ffac31a3af801fe assets/trickster/models/item/written_scroll_black.json -07cddf70df0f5e7a92f0c44af3f523be57bd80d6 assets/trickster/models/item/written_scroll_yellow.json -1d20d3356c7098ceded88807637ed3ced7cb8d26 assets/trickster/models/item/cracked_echo_knot.json -7cd9a2d7e13659094779ee999474bc85392fe900 assets/trickster/models/item/scroll_and_quill_white.json -f1968641f7837fe2083a928582b12d565cf59ce0 assets/trickster/models/item/spell_construct.json -1e5f52dedfd765cf5c0ab6579f32614beb368576 assets/trickster/models/item/nan.json -0af8ae55bca54e5baea1b840c12340690af85f5c assets/trickster/models/item/written_scroll_green.json -ac75d1dcaf4df0990b246b571b214c88c2043fc5 assets/trickster/models/item/written_scroll_blue.json -d29d7f82679d35538363d72edafd2229e0f26958 assets/trickster/models/item/scroll_and_quill_brown.json +11f88e31ee80e48a4b56df7363c1dfd36659bd76 assets/trickster/models/item/scroll_and_quill_yellow.json +0c24009d9f713f084ff55efcb5aedef3924fc3bf assets/trickster/models/item/written_scroll_white.json +52ba2ed5a5d7f67675af14a56e11cad44857f53b assets/trickster/models/item/diamond_knot.json +1b60d5962f38ecaf3e79d678b2f069057b1c69ab assets/trickster/models/item/scroll_and_quill_purple.json +b0c13ffb9082049c0ed38c75744d557504409e86 assets/trickster/models/item/written_scroll_gray.json 1f778e1f2c30077615a7ea8b89c6da45b5c0631f assets/trickster/models/item/written_scroll_light_blue.json +b2b1aaf26ce09fb4f7de2fbde84e56f568bc247d assets/trickster/models/item/scroll_and_quill_cyan.json +1b9cef12c72abf3e20c0cb70743fb574e8d0cf04 assets/trickster/models/item/rusted_spell_core.json +e5a42570471a60ff1e13197f121d3786ba39071c assets/trickster/models/item/spell_core.json +f00b04573fa8a37423acbd2cfa58995b577acc9f assets/trickster/models/item/written_scroll_light_gray.json +274e1f4724884bcb7cc8337d4ffac31a3af801fe assets/trickster/models/item/written_scroll_black.json +9485ad9be41799d6c5bd48cd6dead8464f65beb5 assets/trickster/models/item/scroll_and_quill_magenta.json +68b6bc87e4d5e9b2709e30d6a6ca9b139c4f5fee assets/trickster/models/item/macro_ring.json fe72cc051cf77ba7ea5b6ca82cabf06c56cb4503 assets/trickster/blockstates/spell_construct.json +62cc6f617bc26a9ac45c2b21ff9e312062963258 assets/trickster/models/item/scroll_and_quill.json +68799707c7a1bba63c5cff3c8dbeec6b44bd06b8 assets/trickster/blockstates/charging_array.json +4320a21f02ba7db476a7dbf19eaa031ef40ca85c assets/trickster/models/item/scroll_and_quill_green.json +2a8749d4361b2691332bd1d021866d7f9106ca0e assets/trickster/blockstates/modular_spell_construct.json +22ef3ac293ebe5b86928380e232bfaccc6202a28 assets/trickster/models/item/warding_charm.json +9faf558d1aa0f4946cf100c91b4f2819b7a07538 assets/trickster/models/item/written_scroll_orange.json +0af8ae55bca54e5baea1b840c12340690af85f5c assets/trickster/models/item/written_scroll_green.json +1e5f52dedfd765cf5c0ab6579f32614beb368576 assets/trickster/models/item/nan.json +85f44373cd91352eb424318c4f289ae4829b3f80 assets/trickster/models/item/scroll_shelf.json +575f98c294e9b0778c0bccf43bf742ffb333b925 assets/trickster/models/item/scroll_and_quill_light_blue.json +b1b58c33f70e10632bb128929a2cc5548313f19a assets/trickster/models/item/ominous_spell_core.json 8457e5235482b7f547386747d1f8fb2123926fdf assets/trickster/blockstates/scroll_shelf.json +ce15632fcb3beb33453bccd6c7cc398b86834d85 assets/trickster/models/item/written_scroll_lime.json c651f1dafc6486d4b76b11cafb5adaf86b97f2eb assets/trickster/models/item/emerald_knot.json -b1b58c33f70e10632bb128929a2cc5548313f19a assets/trickster/models/item/ominous_spell_core.json +0365b58ff0a90639528778ad8ec3bdf3fd337ace assets/trickster/models/item/scroll_and_quill_lime.json +edec8170be553ecb287cd4f9e718988b201f58a9 assets/trickster/models/item/wand.json +f1968641f7837fe2083a928582b12d565cf59ce0 assets/trickster/models/item/spell_construct.json 25fc9665ae52d7788aa19923c04ba3874290a007 assets/trickster/models/item/scroll_and_quill_orange.json 032bd4c0ea04699e58ffbf43c29d1bf96fa19eb5 assets/trickster/models/block/scroll_shelf.json -9faf558d1aa0f4946cf100c91b4f2819b7a07538 assets/trickster/models/item/written_scroll_orange.json -575f98c294e9b0778c0bccf43bf742ffb333b925 assets/trickster/models/item/scroll_and_quill_light_blue.json -2f7ac0d58a5c1dd9391452bdde2b219a584786f8 assets/trickster/models/item/written_scroll_cyan.json -cf211674ac067136f295b34038fad600c1165b99 assets/trickster/models/item/written_scroll.json +06fb6fc1c900f99d2dd7537b8c7d13481323604e assets/trickster/models/item/echo_knot.json 4dadb13156ab71c0e20c3acad5c8e9506610137b assets/trickster/models/item/amethyst_knot.json +76a7c57257f8f9538cf8c631e412d6c22ce1c1eb assets/trickster/models/item/scroll_and_quill_light_gray.json +585aef1a541ae893ae74d54742d2382121c9621b assets/trickster/models/item/amethyst_whorl.json +4b75bcb18c8f3e6ed30eaf767410a836b1be57d6 assets/trickster/models/item/written_scroll_magenta.json +e7e256d1cc75121b08bfb8a9cf6c6bf4818b559f assets/trickster/models/item/modular_spell_construct.json +21f8195436d581c8272b28d7a306ce8e14f53a5e assets/trickster/models/item/spell_ink.json 1eed470d17d966cf34d3dada10b19053562c0c2f assets/trickster/models/item/written_scroll_purple.json -731c4a8f7b5d2845410c03b22e2521bcf41f969c assets/trickster/models/item/scroll_and_quill_red.json -edec8170be553ecb287cd4f9e718988b201f58a9 assets/trickster/models/item/wand.json -06fb6fc1c900f99d2dd7537b8c7d13481323604e assets/trickster/models/item/echo_knot.json -68799707c7a1bba63c5cff3c8dbeec6b44bd06b8 assets/trickster/blockstates/charging_array.json -0c24009d9f713f084ff55efcb5aedef3924fc3bf assets/trickster/models/item/written_scroll_white.json -b0c13ffb9082049c0ed38c75744d557504409e86 assets/trickster/models/item/written_scroll_gray.json -2a8749d4361b2691332bd1d021866d7f9106ca0e assets/trickster/blockstates/modular_spell_construct.json -11f88e31ee80e48a4b56df7363c1dfd36659bd76 assets/trickster/models/item/scroll_and_quill_yellow.json -96809df525387fe221827afd762b90062300440f assets/trickster/models/item/scroll_and_quill_black.json -9d5d343103d621d1a2f492cec156c06274efdc15 assets/trickster/blockstates/spell_resonator.json -ce371fd6383c178fd713cbe03828b8015df480d8 assets/trickster/models/item/scroll_and_quill_gray.json -c995dc518d2d7134ffe57b13897fda67a0b0f815 assets/trickster/models/item/scroll_and_quill_pink.json -ce15632fcb3beb33453bccd6c7cc398b86834d85 assets/trickster/models/item/written_scroll_lime.json -4320a21f02ba7db476a7dbf19eaa031ef40ca85c assets/trickster/models/item/scroll_and_quill_green.json -9485ad9be41799d6c5bd48cd6dead8464f65beb5 assets/trickster/models/item/scroll_and_quill_magenta.json -85f44373cd91352eb424318c4f289ae4829b3f80 assets/trickster/models/item/scroll_shelf.json -1b60d5962f38ecaf3e79d678b2f069057b1c69ab assets/trickster/models/item/scroll_and_quill_purple.json -e5a42570471a60ff1e13197f121d3786ba39071c assets/trickster/models/item/spell_core.json -1b9cef12c72abf3e20c0cb70743fb574e8d0cf04 assets/trickster/models/item/rusted_spell_core.json 49e029faed97e108d69b1a5339f092fa7c3ac913 assets/trickster/models/item/spell_resonator.json -b2b1aaf26ce09fb4f7de2fbde84e56f568bc247d assets/trickster/models/item/scroll_and_quill_cyan.json -68b6bc87e4d5e9b2709e30d6a6ca9b139c4f5fee assets/trickster/models/item/macro_ring.json -62cc6f617bc26a9ac45c2b21ff9e312062963258 assets/trickster/models/item/scroll_and_quill.json +03ec5d0e130b285409440674fa4adf632312325a assets/trickster/models/item/scroll_and_quill_blue.json +cf211674ac067136f295b34038fad600c1165b99 assets/trickster/models/item/written_scroll.json +d29d7f82679d35538363d72edafd2229e0f26958 assets/trickster/models/item/scroll_and_quill_brown.json 06af58b66840c735a18e12df1442fa2cd83c4df4 assets/trickster/models/item/written_scroll_brown.json +be89ca0492892b810135472265a1fa873151a8f0 assets/trickster/models/item/command_knot.json +ad5d09f6b76c65ada5383c567922cd74524f968c assets/trickster/models/item/written_scroll_red.json +8281443de0ca3a61ddab9d788c20add65efa99ac assets/trickster/models/item/astral_knot.json +ac75d1dcaf4df0990b246b571b214c88c2043fc5 assets/trickster/models/item/written_scroll_blue.json +9d5d343103d621d1a2f492cec156c06274efdc15 assets/trickster/blockstates/spell_resonator.json diff --git a/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a b/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a index ef7aa413..aa9ebcd6 100644 --- a/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a +++ b/src/main/generated/.cache/3ac65fa3d3c37fa00307c1168fcecdd37a25c66a @@ -1 +1 @@ -// 1.21 2025-01-22T00:15:24.952323651 Trickster/Recipes +// 1.21 2025-02-01T18:23:52.037965049 Trickster/Recipes diff --git a/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 b/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 index b47e9351..5b22dfe1 100644 --- a/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 +++ b/src/main/generated/.cache/61708f0ed37294451167e111af3b2b862215b6f8 @@ -1,49 +1,49 @@ -// 1.21 2025-01-22T00:15:24.953375594 Trickster/Block Conversion (heat) -29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/granite.json -5f06bda2a820ad3a9b4cde7a650d0ec6535f0492 data/minecraft/conversion/heat/sand.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/birch_sapling.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/dirt.json +// 1.21 2025-02-01T18:23:52.038410044 Trickster/Block Conversion (heat) +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/spruce_sapling.json f355c50648c7ae4f280e154eeb0f7a169897e7e4 data/minecraft/conversion/heat/iron_ore.json ef14533ad40b2b6b0862656671e25e20e4ac2ddc data/minecraft/conversion/heat/gold_ore.json -a86def6145874a0758b43a6646388d163cca0a9f data/minecraft/conversion/heat/mud.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/water.json -a9d7bbeea1c5680b22339d08bd65a688ba0e7dbd data/minecraft/conversion/heat/diamond_ore.json -5d6f6b956878f4f6edeb098d3276c4ee70a4fefd data/minecraft/conversion/heat/lapis_ore.json -46164668ef746b88e8ceca5d755e45e59d223531 data/minecraft/conversion/heat/ice.json -931269de5d9c7b11f4d777dac43012038ac72249 data/minecraft/conversion/heat/raw_iron_block.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/jungle_sapling.json -537af9afd657108c88a2cbe31ce04795ce549d8e data/minecraft/conversion/heat/red_sand.json -0bcc06c59a2641ae24c51bbe5953ab9d1bf890d0 data/minecraft/conversion/heat/emerald_ore.json -411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/heat/blue_ice.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/podzol.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/dark_oak_sapling.json -735120120360a11ce9a5f72af5a605acda4302de data/minecraft/conversion/heat/stone.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/cobweb.json -10f8d8817c349527906647f42a8c3bc4ea5a0425 data/minecraft/conversion/heat/redstone_ore.json -21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data/minecraft/conversion/heat/deepslate.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/farmland.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/grass_block.json -e2d3a73d4253da94993ad8c2105e84b1fdd4df46 data/minecraft/conversion/heat/raw_copper_block.json -56d1df800477d0d2edc3b2923168424b571d0ab6 data/minecraft/conversion/heat/water_cauldron.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/acacia_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/cherry_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/birch_sapling.json 38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/dirt_path.json -d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/heat/packed_ice.json -29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/andesite.json -6c2366426425633986c08c79289872a15caa6af2 data/minecraft/conversion/heat/magma_block.json e5eb6f862fd6b0778d8e7ef9bc6513b69dca93a4 data/minecraft/conversion/heat/cobblestone.json -033c7069e9fe5a46a1d002c36503ff5baeb1bc42 data/minecraft/conversion/heat/coal_ore.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/dirt.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/cherry_sapling.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/snow_block.json +10f8d8817c349527906647f42a8c3bc4ea5a0425 data/minecraft/conversion/heat/redstone_ore.json +5f06bda2a820ad3a9b4cde7a650d0ec6535f0492 data/minecraft/conversion/heat/sand.json +0bcc06c59a2641ae24c51bbe5953ab9d1bf890d0 data/minecraft/conversion/heat/emerald_ore.json +a9d7bbeea1c5680b22339d08bd65a688ba0e7dbd data/minecraft/conversion/heat/diamond_ore.json 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/azalea.json +6f18f1c5496a8044718408987e139c43cb08671a data/minecraft/conversion/heat/raw_gold_block.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/flowering_azalea.json +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/diorite.json 21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data/minecraft/conversion/heat/cobbled_deepslate.json +14ca5dc03d95bbecf4fec0b3d340b4266686b6e0 data/minecraft/conversion/heat/wet_sponge.json +21e23c478e0fcf4fc8604e7c0a5bee7036809a14 data/minecraft/conversion/heat/deepslate.json d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/snow.json -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/snow_block.json -6f18f1c5496a8044718408987e139c43cb08671a data/minecraft/conversion/heat/raw_gold_block.json +56d1df800477d0d2edc3b2923168424b571d0ab6 data/minecraft/conversion/heat/water_cauldron.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/mycelium.json 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/oak_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/flowering_azalea.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/spruce_sapling.json -672cd36a3ae23d4058adb7dffee9f98de873e270 data/minecraft/conversion/heat/copper_ore.json +931269de5d9c7b11f4d777dac43012038ac72249 data/minecraft/conversion/heat/raw_iron_block.json 2da2da32caed56613d1090c51ddeba215205b668 data/minecraft/conversion/heat/mossy_cobblestone.json -38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/mycelium.json +e2d3a73d4253da94993ad8c2105e84b1fdd4df46 data/minecraft/conversion/heat/raw_copper_block.json +d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/heat/packed_ice.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/water.json +033c7069e9fe5a46a1d002c36503ff5baeb1bc42 data/minecraft/conversion/heat/coal_ore.json +672cd36a3ae23d4058adb7dffee9f98de873e270 data/minecraft/conversion/heat/copper_ore.json +537af9afd657108c88a2cbe31ce04795ce549d8e data/minecraft/conversion/heat/red_sand.json +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/andesite.json +a86def6145874a0758b43a6646388d163cca0a9f data/minecraft/conversion/heat/mud.json 38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/rooted_dirt.json -14ca5dc03d95bbecf4fec0b3d340b4266686b6e0 data/minecraft/conversion/heat/wet_sponge.json -29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/diorite.json +411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/heat/blue_ice.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/farmland.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/acacia_sapling.json +6c2366426425633986c08c79289872a15caa6af2 data/minecraft/conversion/heat/magma_block.json +46164668ef746b88e8ceca5d755e45e59d223531 data/minecraft/conversion/heat/ice.json +735120120360a11ce9a5f72af5a605acda4302de data/minecraft/conversion/heat/stone.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/heat/cobweb.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/dark_oak_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/heat/jungle_sapling.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/podzol.json +29af50841b9aee7823a5b115ad00b225516a656d data/minecraft/conversion/heat/granite.json +38847479b14af3f7a5c35af9a0cfda37cbaccdfd data/minecraft/conversion/heat/grass_block.json +5d6f6b956878f4f6edeb098d3276c4ee70a4fefd data/minecraft/conversion/heat/lapis_ore.json diff --git a/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 b/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 index c6d3e519..f529dcb1 100644 --- a/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 +++ b/src/main/generated/.cache/79ef07c0320f2b1bff073a33f581b6ea484cf452 @@ -1,49 +1,49 @@ -// 1.21 2025-01-22T00:15:24.952713758 Trickster/Block Conversion (erode) -d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/erode/damaged_anvil.json -7578fdc4008dfc4d6955b76c82d245aa576d5b00 data/minecraft/conversion/erode/exposed_chiseled_copper.json -cda7be0d51340af159d7b228fdb2fd8dcb8e2cf0 data/minecraft/conversion/erode/cut_copper_slab.json -2ebf3d84c0d46c53930f559055fae4f38b7e705a data/minecraft/conversion/erode/deepslate_bricks.json -7958aaf4bbeba913c2b39eec2e7fb6bf9f157f60 data/minecraft/conversion/erode/cut_copper.json -05bad2ce73861bc165d8122c95d112655ad45e7f data/minecraft/conversion/erode/weathered_copper_door.json -9da988e964fbba1136a4712e30e17959d30d137c data/minecraft/conversion/erode/chiseled_copper.json -25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/sandstone.json -3b5e4fc1c62e7c88e28e0ebb2c000ed04cfadc6f data/minecraft/conversion/erode/exposed_copper_bulb.json -12ca207c1ea64fa348d229bbbbe0e83ae0f0129b data/minecraft/conversion/erode/stone_brick_slab.json -fe0ec7093fc88c1b3331fd948c04f00ffd0b487b data/minecraft/conversion/erode/exposed_copper_grate.json -85145a002c0089fb0b977d90eddee7b60e0325d3 data/minecraft/conversion/erode/cobblestone.json -0c749cf0cd6f17c7d40167296d0d4084c30103b7 data/minecraft/conversion/erode/gilded_blackstone.json -d31e4a0e0537f48fb3cc480f03368962f3b035e5 data/minecraft/conversion/erode/stone_brick_wall.json -7a2c1187087c879781471bc56af4ba4b50bbe45b data/minecraft/conversion/erode/deepslate_tiles.json -868d6c7f7e817b9bcc9e34c0a554ef6949518995 data/minecraft/conversion/erode/weathered_copper.json -f0a7b7a9833a193e9839e0b8e311083b32f3e07e data/minecraft/conversion/erode/exposed_cut_copper_slab.json -266dfaf60482253e0b9945677cfc93c03e38a7d9 data/minecraft/conversion/erode/infested_stone_bricks.json +// 1.21 2025-02-01T18:23:52.038118676 Trickster/Block Conversion (erode) +4ac09d15b60d0ac8481ed4f88cafb81de5dc895e data/minecraft/conversion/erode/stone_brick_stairs.json 576201c522570d4a4145933fe82c02ade00cce5c data/minecraft/conversion/erode/exposed_copper_trapdoor.json -0927ab9e0c5c00547c06fd408e700964072b0526 data/minecraft/conversion/erode/nether_bricks.json -6a7bce852cafe9accfae680cda64f6fe184f59a7 data/minecraft/conversion/erode/weathered_chiseled_copper.json -f461cf13695d4e03948de9bf7fc5bfbef855c674 data/minecraft/conversion/erode/exposed_cut_copper_stairs.json +0a6c19256b667006fed9840f5e9ca354840328ea data/minecraft/conversion/erode/anvil.json ae98698c6fc310d107ceb5ef04569a3df18ba1ec data/minecraft/conversion/erode/cut_copper_stairs.json -67d95afc1043b09d8128e261d63a80b9ff376c76 data/minecraft/conversion/erode/copper_trapdoor.json -ea78402d9e42359329749041288772e4c6f93721 data/minecraft/conversion/erode/stone.json -e72c1d143db45cebcac581d8299e35d9e051bbdb data/minecraft/conversion/erode/copper_grate.json b667dbbfdd506d54d9da0bfb784e16528dd81d27 data/minecraft/conversion/erode/copper_bulb.json -4ac09d15b60d0ac8481ed4f88cafb81de5dc895e data/minecraft/conversion/erode/stone_brick_stairs.json 9aa7ff555a8cb0e8b39b0851c5d35dabbf2f92d7 data/minecraft/conversion/erode/cobblestone_stairs.json -5f9f8626f4f280144c9e1c7fc78ec42a03abb95a data/minecraft/conversion/erode/weathered_cut_copper_stairs.json +f726defc4bee15523d21e741ea3a99f7b3efd609 data/minecraft/conversion/erode/exposed_copper.json +266dfaf60482253e0b9945677cfc93c03e38a7d9 data/minecraft/conversion/erode/infested_stone_bricks.json +d7d660ccbcc6b2a73918dfdecd8ecec622a573fb data/minecraft/conversion/erode/damaged_anvil.json +05bad2ce73861bc165d8122c95d112655ad45e7f data/minecraft/conversion/erode/weathered_copper_door.json 5a83b7fd24d759d203a939e3068d38867e351899 data/minecraft/conversion/erode/cobblestone_wall.json +ecd2f8103d6558aac9dc1a62883acb34f1eb3099 data/minecraft/conversion/erode/chipped_anvil.json +12ca207c1ea64fa348d229bbbbe0e83ae0f0129b data/minecraft/conversion/erode/stone_brick_slab.json +7fa81078b622a2fa8fd6403f7751eef45b8bf65c data/minecraft/conversion/erode/exposed_cut_copper.json +7578fdc4008dfc4d6955b76c82d245aa576d5b00 data/minecraft/conversion/erode/exposed_chiseled_copper.json +25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/gravel.json +e72c1d143db45cebcac581d8299e35d9e051bbdb data/minecraft/conversion/erode/copper_grate.json +fda251ab47b43f57d19d5da488940e25adffb12d data/minecraft/conversion/erode/weathered_copper_trapdoor.json 18b0c140ba78642298fa881d24d901ceef776955 data/minecraft/conversion/erode/weathered_cut_copper.json +5f9f8626f4f280144c9e1c7fc78ec42a03abb95a data/minecraft/conversion/erode/weathered_cut_copper_stairs.json +7a2c1187087c879781471bc56af4ba4b50bbe45b data/minecraft/conversion/erode/deepslate_tiles.json +c678819bbd14474cb4d83a68411729296225a96e data/minecraft/conversion/erode/weathered_cut_copper_slab.json +25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/sandstone.json +cda7be0d51340af159d7b228fdb2fd8dcb8e2cf0 data/minecraft/conversion/erode/cut_copper_slab.json +f461cf13695d4e03948de9bf7fc5bfbef855c674 data/minecraft/conversion/erode/exposed_cut_copper_stairs.json +6a7bce852cafe9accfae680cda64f6fe184f59a7 data/minecraft/conversion/erode/weathered_chiseled_copper.json +0927ab9e0c5c00547c06fd408e700964072b0526 data/minecraft/conversion/erode/nether_bricks.json b60789158a22651518e94711025fbeffad022439 data/minecraft/conversion/erode/exposed_copper_door.json +868d6c7f7e817b9bcc9e34c0a554ef6949518995 data/minecraft/conversion/erode/weathered_copper.json +0c749cf0cd6f17c7d40167296d0d4084c30103b7 data/minecraft/conversion/erode/gilded_blackstone.json +2ebf3d84c0d46c53930f559055fae4f38b7e705a data/minecraft/conversion/erode/deepslate_bricks.json +d31e4a0e0537f48fb3cc480f03368962f3b035e5 data/minecraft/conversion/erode/stone_brick_wall.json +528be85dda872c4bc812c76f20e07c368326cc5f data/minecraft/conversion/erode/copper_door.json +67d95afc1043b09d8128e261d63a80b9ff376c76 data/minecraft/conversion/erode/copper_trapdoor.json +f933b5c0a3845bde2f0b8afbd1c0ec1316a759f4 data/minecraft/conversion/erode/cobblestone_slab.json +420674605490fcf1d9a3f90ed2c1745a69be51dc data/minecraft/conversion/erode/polished_blackstone_bricks.json 32294757d63d4f38d6067deff28173104c48f98a data/minecraft/conversion/erode/weathered_copper_bulb.json -96e9cbef4f6e2d6311284e0f99e5c62a84df9d83 data/minecraft/conversion/erode/weathered_copper_grate.json +ea78402d9e42359329749041288772e4c6f93721 data/minecraft/conversion/erode/stone.json 936db3751acb3f57d48ad8d373badbbc3fc8d91b data/minecraft/conversion/erode/netherite_block.json -420674605490fcf1d9a3f90ed2c1745a69be51dc data/minecraft/conversion/erode/polished_blackstone_bricks.json -f726defc4bee15523d21e741ea3a99f7b3efd609 data/minecraft/conversion/erode/exposed_copper.json -ecd2f8103d6558aac9dc1a62883acb34f1eb3099 data/minecraft/conversion/erode/chipped_anvil.json -c678819bbd14474cb4d83a68411729296225a96e data/minecraft/conversion/erode/weathered_cut_copper_slab.json -f933b5c0a3845bde2f0b8afbd1c0ec1316a759f4 data/minecraft/conversion/erode/cobblestone_slab.json -25ddaae2f381f157be8ef043d316876edd16cc47 data/minecraft/conversion/erode/gravel.json +f0a7b7a9833a193e9839e0b8e311083b32f3e07e data/minecraft/conversion/erode/exposed_cut_copper_slab.json 8e1c0a9db71d2e5c15af5cac051b832c18d4aa18 data/minecraft/conversion/erode/copper_block.json -0a6c19256b667006fed9840f5e9ca354840328ea data/minecraft/conversion/erode/anvil.json +7958aaf4bbeba913c2b39eec2e7fb6bf9f157f60 data/minecraft/conversion/erode/cut_copper.json +fe0ec7093fc88c1b3331fd948c04f00ffd0b487b data/minecraft/conversion/erode/exposed_copper_grate.json 86f740822d69f69f1c9fb4ccdd9ef2e208ec9c1e data/minecraft/conversion/erode/stone_bricks.json -7fa81078b622a2fa8fd6403f7751eef45b8bf65c data/minecraft/conversion/erode/exposed_cut_copper.json -528be85dda872c4bc812c76f20e07c368326cc5f data/minecraft/conversion/erode/copper_door.json -fda251ab47b43f57d19d5da488940e25adffb12d data/minecraft/conversion/erode/weathered_copper_trapdoor.json +9da988e964fbba1136a4712e30e17959d30d137c data/minecraft/conversion/erode/chiseled_copper.json +3b5e4fc1c62e7c88e28e0ebb2c000ed04cfadc6f data/minecraft/conversion/erode/exposed_copper_bulb.json +96e9cbef4f6e2d6311284e0f99e5c62a84df9d83 data/minecraft/conversion/erode/weathered_copper_grate.json +85145a002c0089fb0b977d90eddee7b60e0325d3 data/minecraft/conversion/erode/cobblestone.json diff --git a/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 b/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 index 0b07bcf4..4b480a61 100644 --- a/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 +++ b/src/main/generated/.cache/de828e1c0b483619cb31befb2371ade13f1a18a1 @@ -1,3 +1,3 @@ -// 1.21 2025-01-22T00:15:24.952512639 Trickster/Tags for minecraft:item +// 1.21 2025-02-01T18:23:52.038027029 Trickster/Tags for minecraft:item 23bfb5af198cc6efbf9fdb01f4169f9c6df07968 data/trickster/tags/item/dyed_scroll_and_quill.json af8a8cadecd9999efde2ab4a363a6ac6a933d02b data/trickster/tags/item/dyed_written_scroll.json diff --git a/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa b/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa index c4540a42..fe136a4b 100644 --- a/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa +++ b/src/main/generated/.cache/f158030e12b0d9d4165e4586179e424d8925bffa @@ -1,16 +1,16 @@ -// 1.21 2025-01-22T00:15:24.950310843 Trickster/Block Conversion (cool) -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/oak_sapling.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/dark_oak_sapling.json -7ebf3cd89ecfbca041b18aba5e76675ba30de3ff data/minecraft/conversion/cool/magma_block.json -73175674bb164d74e6e7c648bc5545d242ce3e53 data/minecraft/conversion/cool/cauldron.json +// 1.21 2025-02-01T18:23:52.037176187 Trickster/Block Conversion (cool) 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/jungle_sapling.json -d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/cool/water.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/cherry_sapling.json +5d2f23dbd4aa8e87025495da0e5e86b459743d64 data/minecraft/conversion/cool/packed_ice.json +73175674bb164d74e6e7c648bc5545d242ce3e53 data/minecraft/conversion/cool/cauldron.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/oak_sapling.json 506da27823475ef29a4140b71c0e020aedf6d5ea data/minecraft/conversion/cool/lava.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/birch_sapling.json +7ebf3cd89ecfbca041b18aba5e76675ba30de3ff data/minecraft/conversion/cool/magma_block.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/dark_oak_sapling.json +411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/cool/ice.json 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/azalea.json -074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/acacia_sapling.json 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/flowering_azalea.json -411fd4561458e8b55ab8e8db17c59325a7f50f26 data/minecraft/conversion/cool/ice.json -5d2f23dbd4aa8e87025495da0e5e86b459743d64 data/minecraft/conversion/cool/packed_ice.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/cherry_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/acacia_sapling.json 074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/spruce_sapling.json +074a1ac0403c184c4f922fd82e5215983abab056 data/minecraft/conversion/cool/birch_sapling.json +d37d3055bdc00865240ee179aced3b8a64ffc9c6 data/minecraft/conversion/cool/water.json