From 8e77961aaeb6e20b0b8cc1767e4c1d8105ecec9e Mon Sep 17 00:00:00 2001 From: SammySemicolon <69329424+SammySemicolon@users.noreply.github.com> Date: Sun, 17 Mar 2024 17:08:26 +0100 Subject: [PATCH] Wawa --- .../blockstates/rustic_soulwood_planks.json | 7 + .../rustic_soulwood_planks_slab.json | 13 ++ .../rustic_soulwood_planks_stairs.json | 209 ++++++++++++++++++ .../blockstates/rustic_soulwood_tiles.json | 7 + .../rustic_soulwood_tiles_slab.json | 13 ++ .../rustic_soulwood_tiles_stairs.json | 209 ++++++++++++++++++ .../malum/blockstates/soulwood_boards.json | 7 + .../blockstates/soulwood_boards_slab.json | 13 ++ ...tairs.json => soulwood_boards_stairs.json} | 80 +++---- .../blockstates/soulwood_panel_slab.json | 13 -- .../vertical_rustic_soulwood_planks.json | 7 + .../vertical_rustic_soulwood_planks_slab.json | 13 ++ ...ertical_rustic_soulwood_planks_stairs.json | 209 ++++++++++++++++++ .../blockstates/vertical_soulwood_boards.json | 7 + .../vertical_soulwood_boards_slab.json | 13 ++ .../vertical_soulwood_boards_stairs.json | 209 ++++++++++++++++++ .../resources/assets/malum/lang/en_us.json | 95 +++++++- .../models/block/rustic_soulwood_planks.json | 6 + .../block/rustic_soulwood_planks_slab.json | 8 + .../rustic_soulwood_planks_slab_top.json | 8 + .../block/rustic_soulwood_planks_stairs.json | 8 + .../rustic_soulwood_planks_stairs_inner.json | 8 + .../rustic_soulwood_planks_stairs_outer.json | 8 + .../models/block/rustic_soulwood_tiles.json | 6 + .../block/rustic_soulwood_tiles_slab.json | 8 + .../block/rustic_soulwood_tiles_slab_top.json | 8 + .../block/rustic_soulwood_tiles_stairs.json | 8 + .../rustic_soulwood_tiles_stairs_inner.json | 8 + .../rustic_soulwood_tiles_stairs_outer.json | 8 + .../malum/models/block/soulwood_boards.json | 6 + .../models/block/soulwood_boards_slab.json | 8 + .../block/soulwood_boards_slab_top.json | 8 + .../models/block/soulwood_boards_stairs.json | 8 + .../block/soulwood_boards_stairs_inner.json | 8 + .../block/soulwood_boards_stairs_outer.json | 8 + .../models/block/soulwood_panel_slab.json | 8 - .../models/block/soulwood_panel_slab_top.json | 8 - .../models/block/soulwood_panel_stairs.json | 8 - .../block/soulwood_panel_stairs_inner.json | 8 - .../block/soulwood_panel_stairs_outer.json | 8 - .../vertical_rustic_soulwood_planks.json | 6 + .../vertical_rustic_soulwood_planks_slab.json | 8 + ...tical_rustic_soulwood_planks_slab_top.json | 8 + ...ertical_rustic_soulwood_planks_stairs.json | 8 + ...l_rustic_soulwood_planks_stairs_inner.json | 8 + ...l_rustic_soulwood_planks_stairs_outer.json | 8 + .../block/vertical_soulwood_boards.json | 6 + .../block/vertical_soulwood_boards_slab.json | 8 + .../vertical_soulwood_boards_slab_top.json | 8 + .../vertical_soulwood_boards_stairs.json | 8 + ...vertical_soulwood_boards_stairs_inner.json | 8 + ...vertical_soulwood_boards_stairs_outer.json | 8 + .../models/item/rustic_soulwood_planks.json | 3 + .../item/rustic_soulwood_planks_slab.json | 3 + .../item/rustic_soulwood_planks_stairs.json | 3 + .../models/item/rustic_soulwood_tiles.json | 3 + .../item/rustic_soulwood_tiles_slab.json | 3 + .../item/rustic_soulwood_tiles_stairs.json | 3 + .../malum/models/item/soulwood_boards.json | 3 + .../models/item/soulwood_boards_slab.json | 3 + .../models/item/soulwood_boards_stairs.json | 3 + .../models/item/soulwood_panel_slab.json | 3 - .../models/item/soulwood_panel_stairs.json | 3 - .../item/vertical_rustic_soulwood_planks.json | 3 + .../vertical_rustic_soulwood_planks_slab.json | 3 + ...ertical_rustic_soulwood_planks_stairs.json | 3 + .../models/item/vertical_soulwood_boards.json | 3 + .../item/vertical_soulwood_boards_slab.json | 3 + .../item/vertical_soulwood_boards_stairs.json | 3 + .../recipes/misc/cut_soulwood_planks.json | 8 +- .../recipes/misc/runewood_boards.json | 2 +- .../misc/rustic_soulwood_planks_slab.json | 35 +++ .../misc/rustic_soulwood_planks_stairs.json | 35 +++ .../misc/rustic_soulwood_tiles_slab.json | 35 +++ .../misc/rustic_soulwood_tiles_stairs.json | 35 +++ .../recipes/misc/solid_soulwood_trapdoor.json | 4 +- .../recipes/misc/soulwood_beam.json | 8 +- .../recipes/misc/soulwood_boards.json | 33 +++ .../misc/soulwood_boards_exchange.json | 35 +++ ...el_slab.json => soulwood_boards_slab.json} | 6 +- ...tairs.json => soulwood_boards_stairs.json} | 6 +- .../recipes/misc/soulwood_boat.json | 8 +- .../recipes/misc/soulwood_door.json | 4 +- .../recipes/misc/soulwood_item_pedestal.json | 8 +- .../recipes/misc/soulwood_item_stand.json | 8 +- ...n => soulwood_open_trapdoor_exchange.json} | 4 +- .../recipes/misc/soulwood_panel.json | 8 +- .../recipes/misc/soulwood_planks_button.json | 4 +- .../misc/soulwood_planks_exchange.json | 35 +++ .../recipes/misc/soulwood_planks_fence.json | 4 +- .../misc/soulwood_planks_fence_gate.json | 4 +- .../misc/soulwood_planks_pressure_plate.json | 4 +- .../misc/soulwood_rustic_planks_exchange.json | 35 +++ .../misc/soulwood_rustic_tiles_exchange.json | 35 +++ .../recipes/misc/soulwood_sign.json | 8 +- .../soulwood_solid_trapdoor_exchange.json | 35 +++ .../recipes/misc/soulwood_tiles_exchange.json | 35 +++ .../soulwood_vertical_boards_exchange.json | 35 +++ ...=> soulwood_vertical_planks_exchange.json} | 4 +- ...lwood_vertical_rustic_planks_exchange.json | 35 +++ ...soulwood_tiles.json => totemic_staff.json} | 10 +- .../vertical_rustic_soulwood_planks_slab.json | 35 +++ ...ertical_rustic_soulwood_planks_stairs.json | 35 +++ .../misc/vertical_soulwood_boards_slab.json | 35 +++ .../misc/vertical_soulwood_boards_stairs.json | 35 +++ .../misc/vertical_soulwood_planks.json | 35 --- .../malum/curios/entities/malum_entities.json | 1 + .../data/malum/curios/slots/brooch.json | 1 + .../data/malum/curios/slots/charm.json | 4 + .../data/malum/curios/slots/rune.json | 1 + .../blocks/rustic_soulwood_planks.json | 21 ++ .../blocks/rustic_soulwood_planks_slab.json | 35 +++ .../blocks/rustic_soulwood_planks_stairs.json | 21 ++ ...stairs.json => rustic_soulwood_tiles.json} | 4 +- .../blocks/rustic_soulwood_tiles_slab.json | 35 +++ .../blocks/rustic_soulwood_tiles_stairs.json | 21 ++ .../loot_tables/blocks/soulwood_boards.json | 21 ++ ...el_slab.json => soulwood_boards_slab.json} | 6 +- .../blocks/soulwood_boards_stairs.json | 21 ++ .../vertical_rustic_soulwood_planks.json | 21 ++ .../vertical_rustic_soulwood_planks_slab.json | 35 +++ ...ertical_rustic_soulwood_planks_stairs.json | 21 ++ .../blocks/vertical_soulwood_boards.json | 21 ++ .../blocks/vertical_soulwood_boards_slab.json | 35 +++ .../vertical_soulwood_boards_stairs.json | 21 ++ .../malum/recipes/cut_soulwood_planks.json | 10 +- .../data/malum/recipes/runewood_boards.json | 6 +- .../recipes/rustic_soulwood_planks_slab.json | 17 ++ .../rustic_soulwood_planks_stairs.json | 19 ++ ...r.json => rustic_soulwood_tiles_slab.json} | 7 +- .../recipes/rustic_soulwood_tiles_stairs.json | 19 ++ .../recipes/solid_soulwood_trapdoor.json | 16 +- .../data/malum/recipes/soulwood_beam.json | 2 +- .../data/malum/recipes/soulwood_boards.json | 19 ++ .../recipes/soulwood_boards_exchange.json | 19 ++ ...el_slab.json => soulwood_boards_slab.json} | 4 +- ...tairs.json => soulwood_boards_stairs.json} | 4 +- .../data/malum/recipes/soulwood_boat.json | 2 +- .../data/malum/recipes/soulwood_door.json | 2 +- .../malum/recipes/soulwood_item_pedestal.json | 4 +- .../malum/recipes/soulwood_item_stand.json | 4 +- ...n => soulwood_open_trapdoor_exchange.json} | 0 .../data/malum/recipes/soulwood_panel.json | 6 +- .../malum/recipes/soulwood_planks_button.json | 2 +- .../recipes/soulwood_planks_exchange.json | 19 ++ .../malum/recipes/soulwood_planks_fence.json | 2 +- .../recipes/soulwood_planks_fence_gate.json | 2 +- .../soulwood_planks_pressure_plate.json | 2 +- .../soulwood_rustic_planks_exchange.json | 19 ++ .../soulwood_rustic_tiles_exchange.json | 19 ++ .../data/malum/recipes/soulwood_sign.json | 2 +- .../soulwood_solid_trapdoor_exchange.json | 12 + ...iles.json => soulwood_tiles_exchange.json} | 2 +- .../soulwood_vertical_boards_exchange.json | 19 ++ ...=> soulwood_vertical_planks_exchange.json} | 8 +- ...lwood_vertical_rustic_planks_exchange.json | 19 ++ .../spirit_infusion/soul_hunter_boots.json | 4 - .../spirit_infusion/stellar_mechanism.json | 8 +- .../spirit_infusion/tainted_rock_tablet.json | 1 + .../recipes/spirit_infusion/void_tablet.json | 2 +- .../spirit_transmutation/soulwood/boards.json | 10 + .../soulwood/boards_slab.json | 10 + .../soulwood/boards_stairs.json | 10 + .../soulwood/rustic_planks.json | 10 + .../soulwood/rustic_planks_slab.json | 10 + .../soulwood/rustic_planks_stairs.json | 10 + .../soulwood/vertical_boards.json | 10 + .../soulwood/vertical_boards_slab.json | 10 + .../soulwood/vertical_boards_stairs.json | 10 + .../soulwood/vertical_rustic_planks.json | 10 + .../soulwood/vertical_rustic_planks_slab.json | 10 + .../vertical_rustic_planks_stairs.json | 10 + .../data/malum/recipes/totemic_staff.json | 21 ++ .../vertical_rustic_soulwood_planks_slab.json | 17 ++ ...ertical_rustic_soulwood_planks_stairs.json | 19 ++ .../vertical_soulwood_boards_slab.json | 17 ++ .../vertical_soulwood_boards_stairs.json | 19 ++ ...rk.json => runewood_board_ingredient.json} | 0 ...rk.json => soulwood_board_ingredient.json} | 0 .../malum/tags/items/soulwood_planks.json | 9 +- .../data/malum/tags/items/soulwood_slabs.json | 9 +- .../malum/tags/items/soulwood_stairs.json | 9 +- .../minecraft/tags/blocks/mineable/axe.json | 19 +- .../data/minecraft/tags/blocks/planks.json | 6 +- .../data/minecraft/tags/blocks/slabs.json | 6 +- .../data/minecraft/tags/blocks/stairs.json | 6 +- .../minecraft/tags/blocks/wooden_slabs.json | 8 +- .../minecraft/tags/blocks/wooden_stairs.json | 6 +- .../data/minecraft/tags/items/planks.json | 6 +- .../data/minecraft/tags/items/slabs.json | 6 +- .../data/minecraft/tags/items/stairs.json | 6 +- .../minecraft/tags/items/wooden_slabs.json | 8 +- .../minecraft/tags/items/wooden_stairs.json | 6 +- .../renderer/block/MoteOfManaRenderer.java | 6 +- .../block/SpiritCatalyzerRenderer.java | 3 +- .../renderer/block/TotemPoleRenderer.java | 83 +++++-- .../entity/FloatingItemEntityRenderer.java | 63 +++--- .../screen/codex/ArcanaProgressionScreen.java | 7 +- .../client/screen/codex/EntryScreen.java | 13 ++ .../screen/codex/VoidProgressionScreen.java | 2 +- .../screen/codex/entries/ArtificeEntries.java | 10 +- .../codex/entries/TotemMagicEntries.java | 13 ++ .../spirit_altar/SpiritAltarBlockEntity.java | 2 +- .../SpiritCrucibleCoreBlockEntity.java | 16 +- .../totem/TotemBaseBlockEntity.java | 2 +- .../totem/TotemPoleBlockEntity.java | 106 +++------ .../runes/RuneAlimentCleansingItem.java | 8 +- .../curios/runes/RuneHasteItem.java | 11 + .../runes/RuneReactiveShieldingItem.java | 8 +- .../runes/RuneVolatileDistortionItem.java | 2 +- .../malum/common/sound/BlightedSoundType.java | 2 +- .../malum/core/events/ClientSetupEvents.java | 29 +-- .../malum/core/events/RuntimeEvents.java | 2 +- .../sammy/malum/data/MalumCuriosThings.java | 11 +- .../java/com/sammy/malum/data/MalumLang.java | 70 +++++- .../data/block/MalumBlockStateSmithTypes.java | 2 +- .../malum/data/block/MalumBlockStates.java | 18 +- .../sammy/malum/data/item/MalumItemTags.java | 27 ++- .../MalumSpiritTransmutationRecipes.java | 14 +- .../data/recipe/MalumVanillaRecipes.java | 36 +-- .../recipe/crafting/MalumWoodenRecipes.java | 45 +++- .../ArtificeSpiritInfusionRecipes.java | 8 +- .../infusion/GearSpiritInfusionRecipes.java | 1 - .../common/ParticleEffectTypeRegistry.java | 3 + .../malum/registry/common/SoundRegistry.java | 21 ++ .../registry/common/block/BlockRegistry.java | 24 +- .../common/block/MalumBlockSetTypes.java | 8 +- .../common/block/WoodTypeRegistry.java | 4 +- .../registry/common/item/ItemRegistry.java | 39 ++-- .../registry/common/item/ItemTagRegistry.java | 4 +- .../SpiritCrucibleParticleEffects.java | 94 ++++++++ .../visual_effects/TotemParticleEffects.java | 43 ++++ .../SpiritCrucibleCraftParticleEffect.java | 26 +++ src/main/resources/assets/malum/sounds.json | 20 ++ .../totem_poles/aerial_runewood_cutout.png | Bin 438 -> 471 bytes .../totem_poles/aqueous_runewood_cutout.png | Bin 432 -> 492 bytes .../totem_poles/arcane_runewood_cutout.png | Bin 432 -> 474 bytes .../totem_poles/earthen_runewood_cutout.png | Bin 426 -> 456 bytes .../totem_poles/eldritch_runewood_cutout.png | Bin 453 -> 495 bytes .../totem_poles/infernal_runewood_cutout.png | Bin 441 -> 477 bytes .../totem_poles/sacred_runewood_cutout.png | Bin 435 -> 471 bytes .../totem_poles/wicked_runewood_cutout.png | Bin 423 -> 480 bytes .../block/soulwood/cut_soulwood_planks.png | Bin 363 -> 381 bytes .../block/soulwood/exposed_soulwood_log.png | Bin 624 -> 699 bytes .../soulwood/exposed_soulwood_log_top.png | Bin 459 -> 435 bytes .../block/soulwood/revealed_soulwood_log.png | Bin 549 -> 498 bytes .../soulwood/revealed_soulwood_log_top.png | Bin 420 -> 315 bytes .../block/soulwood/rustic_soulwood_planks.png | Bin 0 -> 375 bytes .../block/soulwood/rustic_soulwood_tiles.png | Bin 0 -> 387 bytes .../soulwood/solid_soulwood_trapdoor.png | Bin 333 -> 384 bytes .../textures/block/soulwood/soulwood_beam.png | Bin 390 -> 339 bytes .../block/soulwood/soulwood_beam_top.png | Bin 435 -> 348 bytes .../block/soulwood/soulwood_boards.png | Bin 0 -> 414 bytes .../block/soulwood/soulwood_door_bottom.png | Bin 336 -> 501 bytes .../block/soulwood/soulwood_door_top.png | Bin 324 -> 432 bytes .../textures/block/soulwood/soulwood_hive.png | Bin 387 -> 0 bytes .../block/soulwood/soulwood_hive_side.png | Bin 342 -> 0 bytes .../block/soulwood/soulwood_hive_top.png | Bin 342 -> 0 bytes .../block/soulwood/soulwood_item_pedestal.png | Bin 315 -> 339 bytes .../block/soulwood/soulwood_item_stand.png | Bin 204 -> 210 bytes .../textures/block/soulwood/soulwood_log.png | Bin 393 -> 489 bytes .../block/soulwood/soulwood_log_top.png | Bin 423 -> 435 bytes .../block/soulwood/soulwood_panel.png | Bin 300 -> 354 bytes .../block/soulwood/soulwood_planks.png | Bin 327 -> 381 bytes .../block/soulwood/soulwood_tiles.png | Bin 393 -> 393 bytes .../block/soulwood/soulwood_trapdoor.png | Bin 336 -> 333 bytes .../block/soulwood/stripped_soulwood_log.png | Bin 375 -> 333 bytes .../soulwood/stripped_soulwood_log_top.png | Bin 372 -> 315 bytes .../totem_poles/aerial_soulwood_cutout.png | Bin 414 -> 492 bytes .../totem_poles/aqueous_soulwood_cutout.png | Bin 408 -> 507 bytes .../totem_poles/arcane_soulwood_cutout.png | Bin 423 -> 477 bytes .../totem_poles/earthen_soulwood_cutout.png | Bin 402 -> 480 bytes .../totem_poles/eldritch_soulwood_cutout.png | Bin 426 -> 525 bytes .../totem_poles/infernal_soulwood_cutout.png | Bin 420 -> 510 bytes .../totem_poles/sacred_soulwood_cutout.png | Bin 402 -> 492 bytes .../totem_poles/wicked_soulwood_cutout.png | Bin 402 -> 489 bytes .../vertical_rustic_soulwood_planks.png | Bin 0 -> 441 bytes .../soulwood/vertical_soulwood_boards.png | Bin 0 -> 426 bytes .../soulwood/vertical_soulwood_planks.png | Bin 375 -> 438 bytes .../textures/item/runes/rune_of_culling.png | Bin 507 -> 507 bytes .../item/runes/rune_of_idle_restoration.png | Bin 504 -> 513 bytes .../malum/textures/slot/empty_brooch_slot.png | Bin 0 -> 159 bytes .../malum/textures/slot/empty_rune_slot.png | Bin 0 -> 177 bytes .../textures/vfx/totem_poles/aerial_glow.png | Bin 249 -> 246 bytes .../textures/vfx/totem_poles/aqueous_glow.png | Bin 222 -> 234 bytes .../textures/vfx/totem_poles/arcane_glow.png | Bin 213 -> 237 bytes .../textures/vfx/totem_poles/earthen_glow.png | Bin 261 -> 261 bytes .../vfx/totem_poles/eldritch_glow.png | Bin 243 -> 279 bytes .../vfx/totem_poles/infernal_glow.png | Bin 219 -> 231 bytes .../textures/vfx/totem_poles/sacred_glow.png | Bin 210 -> 204 bytes .../textures/vfx/totem_poles/wicked_glow.png | Bin 216 -> 222 bytes 291 files changed, 3511 insertions(+), 551 deletions(-) create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles.json create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_slab.json create mode 100644 src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/assets/malum/blockstates/soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/blockstates/soulwood_boards_slab.json rename src/generated/resources/assets/malum/blockstates/{soulwood_panel_stairs.json => soulwood_boards_stairs.json} (62%) delete mode 100644 src/generated/resources/assets/malum/blockstates/soulwood_panel_slab.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab_top.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_inner.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_outer.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab_top.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_inner.json create mode 100644 src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_outer.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards_slab.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards_slab_top.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_inner.json create mode 100644 src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_outer.json delete mode 100644 src/generated/resources/assets/malum/models/block/soulwood_panel_slab.json delete mode 100644 src/generated/resources/assets/malum/models/block/soulwood_panel_slab_top.json delete mode 100644 src/generated/resources/assets/malum/models/block/soulwood_panel_stairs.json delete mode 100644 src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_inner.json delete mode 100644 src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_outer.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab_top.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_inner.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_outer.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab_top.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_inner.json create mode 100644 src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_outer.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_slab.json create mode 100644 src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/assets/malum/models/item/soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/models/item/soulwood_boards_slab.json create mode 100644 src/generated/resources/assets/malum/models/item/soulwood_boards_stairs.json delete mode 100644 src/generated/resources/assets/malum/models/item/soulwood_panel_slab.json delete mode 100644 src/generated/resources/assets/malum/models/item/soulwood_panel_stairs.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_soulwood_boards.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_stairs.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_slab.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_exchange.json rename src/generated/resources/data/malum/advancements/recipes/misc/{soulwood_panel_slab.json => soulwood_boards_slab.json} (81%) rename src/generated/resources/data/malum/advancements/recipes/misc/{soulwood_panel_stairs.json => soulwood_boards_stairs.json} (80%) rename src/generated/resources/data/malum/advancements/recipes/misc/{soulwood_trapdoor_from_solid.json => soulwood_open_trapdoor_exchange.json} (84%) create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_exchange.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_planks_exchange.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_tiles_exchange.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_solid_trapdoor_exchange.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles_exchange.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_boards_exchange.json rename src/generated/resources/data/malum/advancements/recipes/misc/{soulwood_trapdoor.json => soulwood_vertical_planks_exchange.json} (83%) create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_rustic_planks_exchange.json rename src/generated/resources/data/malum/advancements/recipes/misc/{soulwood_tiles.json => totemic_staff.json} (74%) create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_stairs.json delete mode 100644 src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_planks.json create mode 100644 src/generated/resources/data/malum/curios/slots/charm.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_stairs.json rename src/generated/resources/data/malum/loot_tables/blocks/{soulwood_panel_stairs.json => rustic_soulwood_tiles.json} (73%) create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_slab.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards.json rename src/generated/resources/data/malum/loot_tables/blocks/{soulwood_panel_slab.json => soulwood_boards_slab.json} (80%) create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_stairs.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/recipes/rustic_soulwood_planks_stairs.json rename src/generated/resources/data/malum/recipes/{soulwood_trapdoor.json => rustic_soulwood_tiles_slab.json} (61%) create mode 100644 src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/soulwood_boards.json create mode 100644 src/generated/resources/data/malum/recipes/soulwood_boards_exchange.json rename src/generated/resources/data/malum/recipes/{soulwood_panel_slab.json => soulwood_boards_slab.json} (70%) rename src/generated/resources/data/malum/recipes/{soulwood_panel_stairs.json => soulwood_boards_stairs.json} (72%) rename src/generated/resources/data/malum/recipes/{soulwood_trapdoor_from_solid.json => soulwood_open_trapdoor_exchange.json} (100%) create mode 100644 src/generated/resources/data/malum/recipes/soulwood_planks_exchange.json create mode 100644 src/generated/resources/data/malum/recipes/soulwood_rustic_planks_exchange.json create mode 100644 src/generated/resources/data/malum/recipes/soulwood_rustic_tiles_exchange.json create mode 100644 src/generated/resources/data/malum/recipes/soulwood_solid_trapdoor_exchange.json rename src/generated/resources/data/malum/recipes/{soulwood_tiles.json => soulwood_tiles_exchange.json} (84%) create mode 100644 src/generated/resources/data/malum/recipes/soulwood_vertical_boards_exchange.json rename src/generated/resources/data/malum/recipes/{vertical_soulwood_planks.json => soulwood_vertical_planks_exchange.json} (83%) create mode 100644 src/generated/resources/data/malum/recipes/soulwood_vertical_rustic_planks_exchange.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_slab.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_slab.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_slab.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_slab.json create mode 100644 src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/totemic_staff.json create mode 100644 src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_slab.json create mode 100644 src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_stairs.json create mode 100644 src/generated/resources/data/malum/recipes/vertical_soulwood_boards_slab.json create mode 100644 src/generated/resources/data/malum/recipes/vertical_soulwood_boards_stairs.json rename src/generated/resources/data/malum/tags/items/{runewood_with_bark.json => runewood_board_ingredient.json} (100%) rename src/generated/resources/data/malum/tags/items/{soulwood_with_bark.json => soulwood_board_ingredient.json} (100%) create mode 100644 src/main/java/com/sammy/malum/visual_effects/TotemParticleEffects.java create mode 100644 src/main/java/com/sammy/malum/visual_effects/networked/crucible/SpiritCrucibleCraftParticleEffect.java create mode 100644 src/main/resources/assets/malum/textures/block/soulwood/rustic_soulwood_planks.png create mode 100644 src/main/resources/assets/malum/textures/block/soulwood/rustic_soulwood_tiles.png create mode 100644 src/main/resources/assets/malum/textures/block/soulwood/soulwood_boards.png delete mode 100644 src/main/resources/assets/malum/textures/block/soulwood/soulwood_hive.png delete mode 100644 src/main/resources/assets/malum/textures/block/soulwood/soulwood_hive_side.png delete mode 100644 src/main/resources/assets/malum/textures/block/soulwood/soulwood_hive_top.png create mode 100644 src/main/resources/assets/malum/textures/block/soulwood/vertical_rustic_soulwood_planks.png create mode 100644 src/main/resources/assets/malum/textures/block/soulwood/vertical_soulwood_boards.png create mode 100644 src/main/resources/assets/malum/textures/slot/empty_brooch_slot.png create mode 100644 src/main/resources/assets/malum/textures/slot/empty_rune_slot.png diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks.json new file mode 100644 index 000000000..ed5ea2809 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "malum:block/rustic_soulwood_planks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..db1269d0f --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "malum:block/rustic_soulwood_planks_slab" + }, + "type=double": { + "model": "malum:block/rustic_soulwood_planks" + }, + "type=top": { + "model": "malum:block/rustic_soulwood_planks_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..1e0ab4d4d --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_planks_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles.json new file mode 100644 index 000000000..1250b2be5 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "malum:block/rustic_soulwood_tiles" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_slab.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_slab.json new file mode 100644 index 000000000..1ce62f24d --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "malum:block/rustic_soulwood_tiles_slab" + }, + "type=double": { + "model": "malum:block/rustic_soulwood_tiles" + }, + "type=top": { + "model": "malum:block/rustic_soulwood_tiles_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_stairs.json b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..f7b3b8f9a --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "malum:block/rustic_soulwood_tiles_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "malum:block/rustic_soulwood_tiles_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/soulwood_boards.json b/src/generated/resources/assets/malum/blockstates/soulwood_boards.json new file mode 100644 index 000000000..1f05260c3 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/soulwood_boards.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "malum:block/soulwood_boards" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/soulwood_boards_slab.json b/src/generated/resources/assets/malum/blockstates/soulwood_boards_slab.json new file mode 100644 index 000000000..233e44c3b --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/soulwood_boards_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "malum:block/soulwood_boards_slab" + }, + "type=double": { + "model": "malum:block/soulwood_boards" + }, + "type=top": { + "model": "malum:block/soulwood_boards_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/soulwood_panel_stairs.json b/src/generated/resources/assets/malum/blockstates/soulwood_boards_stairs.json similarity index 62% rename from src/generated/resources/assets/malum/blockstates/soulwood_panel_stairs.json rename to src/generated/resources/assets/malum/blockstates/soulwood_boards_stairs.json index 3d44765d5..4040e978e 100644 --- a/src/generated/resources/assets/malum/blockstates/soulwood_panel_stairs.json +++ b/src/generated/resources/assets/malum/blockstates/soulwood_boards_stairs.json @@ -1,206 +1,206 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner" + "model": "malum:block/soulwood_boards_stairs_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 270 }, "facing=east,half=bottom,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer" + "model": "malum:block/soulwood_boards_stairs_outer" }, "facing=east,half=bottom,shape=straight": { - "model": "malum:block/soulwood_panel_stairs" + "model": "malum:block/soulwood_boards_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180 }, "facing=east,half=top,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=east,half=top,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "x": 180 }, "facing=north,half=bottom,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 180 }, "facing=north,half=bottom,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 270 }, "facing=north,half=bottom,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "y": 270 }, "facing=north,half=top,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=north,half=top,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180 }, "facing=north,half=top,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "x": 180, "y": 270 }, "facing=south,half=bottom,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner" + "model": "malum:block/soulwood_boards_stairs_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer" + "model": "malum:block/soulwood_boards_stairs_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 90 }, "facing=south,half=bottom,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "y": 90 }, "facing=south,half=top,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 90 }, "facing=south,half=top,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=south,half=top,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "x": 180, "y": 90 }, "facing=west,half=bottom,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 90 }, "facing=west,half=bottom,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "y": 180 }, "facing=west,half=bottom,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "y": 180 }, "facing=west,half=top,shape=inner_left": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=inner_right": { - "model": "malum:block/soulwood_panel_stairs_inner", + "model": "malum:block/soulwood_boards_stairs_inner", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=outer_left": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 180 }, "facing=west,half=top,shape=outer_right": { - "model": "malum:block/soulwood_panel_stairs_outer", + "model": "malum:block/soulwood_boards_stairs_outer", "uvlock": true, "x": 180, "y": 270 }, "facing=west,half=top,shape=straight": { - "model": "malum:block/soulwood_panel_stairs", + "model": "malum:block/soulwood_boards_stairs", "uvlock": true, "x": 180, "y": 180 diff --git a/src/generated/resources/assets/malum/blockstates/soulwood_panel_slab.json b/src/generated/resources/assets/malum/blockstates/soulwood_panel_slab.json deleted file mode 100644 index 6e49bee3b..000000000 --- a/src/generated/resources/assets/malum/blockstates/soulwood_panel_slab.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "type=bottom": { - "model": "malum:block/soulwood_panel_slab" - }, - "type=double": { - "model": "malum:block/soulwood_panel" - }, - "type=top": { - "model": "malum:block/soulwood_panel_slab_top" - } - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks.json b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks.json new file mode 100644 index 000000000..bd643e531 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "malum:block/vertical_rustic_soulwood_planks" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..9ca6bc898 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "malum:block/vertical_rustic_soulwood_planks_slab" + }, + "type=double": { + "model": "malum:block/vertical_rustic_soulwood_planks" + }, + "type=top": { + "model": "malum:block/vertical_rustic_soulwood_planks_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..6e00dca09 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "malum:block/vertical_rustic_soulwood_planks_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards.json b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards.json new file mode 100644 index 000000000..8f1670f6c --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "malum:block/vertical_soulwood_boards" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_slab.json b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..0512d1cef --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "malum:block/vertical_soulwood_boards_slab" + }, + "type=double": { + "model": "malum:block/vertical_soulwood_boards" + }, + "type=top": { + "model": "malum:block/vertical_soulwood_boards_slab_top" + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_stairs.json b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..7cf18f240 --- /dev/null +++ b/src/generated/resources/assets/malum/blockstates/vertical_soulwood_boards_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=east,half=top,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=east,half=top,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "x": 180 + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 270 + }, + "facing=north,half=bottom,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "y": 270 + }, + "facing=north,half=top,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=north,half=top,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180 + }, + "facing=north,half=top,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=south,half=bottom,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "y": 90 + }, + "facing=south,half=top,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=south,half=top,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=south,half=top,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "x": 180, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 90 + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "y": 180 + }, + "facing=west,half=bottom,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "y": 180 + }, + "facing=west,half=top,shape=inner_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=inner_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_inner", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=outer_left": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 180 + }, + "facing=west,half=top,shape=outer_right": { + "model": "malum:block/vertical_soulwood_boards_stairs_outer", + "uvlock": true, + "x": 180, + "y": 270 + }, + "facing=west,half=top,shape=straight": { + "model": "malum:block/vertical_soulwood_boards_stairs", + "uvlock": true, + "x": 180, + "y": 180 + } + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/lang/en_us.json b/src/generated/resources/assets/malum/lang/en_us.json index 84fd7e207..edd36cc05 100644 --- a/src/generated/resources/assets/malum/lang/en_us.json +++ b/src/generated/resources/assets/malum/lang/en_us.json @@ -138,6 +138,12 @@ "block.malum.rustic_runewood_tiles": "Rustic Runewood Tiles", "block.malum.rustic_runewood_tiles_slab": "Rustic Runewood Tiles Slab", "block.malum.rustic_runewood_tiles_stairs": "Rustic Runewood Tiles Stairs", + "block.malum.rustic_soulwood_planks": "Rustic Soulwood Planks", + "block.malum.rustic_soulwood_planks_slab": "Rustic Soulwood Planks Slab", + "block.malum.rustic_soulwood_planks_stairs": "Rustic Soulwood Planks Stairs", + "block.malum.rustic_soulwood_tiles": "Rustic Soulwood Tiles", + "block.malum.rustic_soulwood_tiles_slab": "Rustic Soulwood Tiles Slab", + "block.malum.rustic_soulwood_tiles_stairs": "Rustic Soulwood Tiles Stairs", "block.malum.small_tainted_rock_bricks": "Small Tainted Rock Bricks", "block.malum.small_tainted_rock_bricks_slab": "Small Tainted Rock Brick Slab", "block.malum.small_tainted_rock_bricks_stairs": "Small Tainted Rock Brick Stairs", @@ -157,6 +163,9 @@ "block.malum.soulstone_ore": "Soulstone Ore", "block.malum.soulwood": "Soulwood", "block.malum.soulwood_beam": "Soulwood Beam", + "block.malum.soulwood_boards": "Soulwood Boards", + "block.malum.soulwood_boards_slab": "Soulwood Boards Slab", + "block.malum.soulwood_boards_stairs": "Soulwood Boards Stairs", "block.malum.soulwood_door": "Soulwood Door", "block.malum.soulwood_growth": "Soulwood Growth", "block.malum.soulwood_item_pedestal": "Soulwood Item Pedestal", @@ -164,8 +173,6 @@ "block.malum.soulwood_leaves": "Soulwood Leaves", "block.malum.soulwood_log": "Soulwood Log", "block.malum.soulwood_panel": "Soulwood Panel", - "block.malum.soulwood_panel_slab": "Soulwood Panel Slab", - "block.malum.soulwood_panel_stairs": "Soulwood Panel Stairs", "block.malum.soulwood_planks": "Soulwood Planks", "block.malum.soulwood_planks_button": "Soulwood Button", "block.malum.soulwood_planks_fence": "Soulwood Fence", @@ -242,6 +249,12 @@ "block.malum.vertical_rustic_runewood_planks": "Vertical Rustic Runewood Planks", "block.malum.vertical_rustic_runewood_planks_slab": "Vertical Rustic Runewood Planks Slab", "block.malum.vertical_rustic_runewood_planks_stairs": "Vertical Rustic Runewood Planks Stairs", + "block.malum.vertical_rustic_soulwood_planks": "Vertical Rustic Soulwood Planks", + "block.malum.vertical_rustic_soulwood_planks_slab": "Vertical Rustic Soulwood Planks Slab", + "block.malum.vertical_rustic_soulwood_planks_stairs": "Vertical Rustic Soulwood Planks Stairs", + "block.malum.vertical_soulwood_boards": "Vertical Soulwood Boards", + "block.malum.vertical_soulwood_boards_slab": "Vertical Soulwood Boards Slab", + "block.malum.vertical_soulwood_boards_stairs": "Vertical Soulwood Boards Stairs", "block.malum.vertical_soulwood_planks": "Vertical Soulwood Planks", "block.malum.vertical_soulwood_planks_slab": "Vertical Soulwood Planks Slab", "block.malum.vertical_soulwood_planks_stairs": "Vertical Soulwood Planks Stairs", @@ -586,6 +599,8 @@ "malum.gui.book.entry.focus_crystals.description": "Forming irregular crystals", "malum.gui.book.entry.focus_metals": "Magecraft of Metals", "malum.gui.book.entry.focus_metals.description": "Forming banded crystals", + "malum.gui.book.entry.glass_brooch": "Glass Brooch", + "malum.gui.book.entry.glass_brooch.description": "Fragile Power", "malum.gui.book.entry.impurity_stabilizer": "Impurity Stabilizer", "malum.gui.book.entry.impurity_stabilizer.description": "Potency from weakness", "malum.gui.book.entry.infernal_rite": "Infernal Rites", @@ -645,6 +660,7 @@ "malum.gui.book.entry.page.headline.focus_ashes": "Arising of Ashes", "malum.gui.book.entry.page.headline.focus_crystals": "Creation of Crystals", "malum.gui.book.entry.page.headline.focus_metals": "Magecraft of Metals", + "malum.gui.book.entry.page.headline.glass_brooch": "Glass Brooch", "malum.gui.book.entry.page.headline.impurity_stabilizer": "Impurity Stabilizer", "malum.gui.book.entry.page.headline.intricate_assembly": "Intricate Assembly", "malum.gui.book.entry.page.headline.introduction": "Introduction", @@ -658,14 +674,26 @@ "malum.gui.book.entry.page.headline.primary_arcana.sacred": "Sacred Spirit", "malum.gui.book.entry.page.headline.primary_arcana.wicked": "Wicked Spirit", "malum.gui.book.entry.page.headline.prismatic_focus_lens": "Prismatic Focus Lens", + "malum.gui.book.entry.page.headline.ravenous_brooch": "Ravenous Brooch", "malum.gui.book.entry.page.headline.reactive_trinkets.ring_of_alchemical_mastery": "Ring of Alchemical Mastery", "malum.gui.book.entry.page.headline.reactive_trinkets.ring_of_curative_talent": "Ring of Curative Talent", "malum.gui.book.entry.page.headline.reactive_trinkets.ring_of_prowess": "Ring of Prowess", "malum.gui.book.entry.page.headline.research_of_the_rejected": "Research of the Rejected", "malum.gui.book.entry.page.headline.ring_of_esoteric_spoils": "Ring of Esoteric Spoils", + "malum.gui.book.entry.page.headline.rune_of_aliment_cleansing": "Rune of Aliment Cleansing", + "malum.gui.book.entry.page.headline.rune_of_dexterity": "Rune of Dexterity", + "malum.gui.book.entry.page.headline.rune_of_haste": "Rune of Haste", + "malum.gui.book.entry.page.headline.rune_of_idle_culling": "Rune of Culling", + "malum.gui.book.entry.page.headline.rune_of_idle_restoration": "Rune of Idle Restoration", + "malum.gui.book.entry.page.headline.rune_of_reactive_shielding": "Rune of Reactive Shielding", + "malum.gui.book.entry.page.headline.rune_of_reinforcement": "Rune of Reinforcement", + "malum.gui.book.entry.page.headline.rune_of_volatile_distortion": "Rune of Volatile Distortion", "malum.gui.book.entry.page.headline.runewood": "Runewood", "malum.gui.book.entry.page.headline.runewood.arcane_charcoal": "Arcane Charcoal", "malum.gui.book.entry.page.headline.runewood.runic_sap": "Runic Sap", + "malum.gui.book.entry.page.headline.runeworking": "Runeworking", + "malum.gui.book.entry.page.headline.runic_brooch": "Runic Brooch", + "malum.gui.book.entry.page.headline.sacrificial_brooch": "Sacrificial Brooch", "malum.gui.book.entry.page.headline.scythes": "Scythes", "malum.gui.book.entry.page.headline.scythes.enchanting": "Enchanting a Scythe", "malum.gui.book.entry.page.headline.scythes.enchanting.haunted": "Haunted", @@ -695,7 +723,6 @@ "malum.gui.book.entry.page.headline.spirit_stones.tainted_rock": "Tainted Rock", "malum.gui.book.entry.page.headline.spirit_stones.twisted_rock": "Twisted Rock", "malum.gui.book.entry.page.headline.spirit_trinkets": "Spirit Trinkets", - "malum.gui.book.entry.page.headline.spirit_trinkets.guardian_ring": "Ring of the Guardian", "malum.gui.book.entry.page.headline.the_device": "The Device.", "malum.gui.book.entry.page.headline.totem_magic": "Totem Magic", "malum.gui.book.entry.page.headline.transmutation": "Transmutation", @@ -722,7 +749,7 @@ "malum.gui.book.entry.page.text.accelerating_inlay.1": "A simple but effective implement, the Accelerating Inlay provides a substantial bonus to the focusing speed of the crucible without any drawbacks.", "malum.gui.book.entry.page.text.aerial_rite": "A simple aura rite, while active nearby friendly beings will find their movements sped up.", "malum.gui.book.entry.page.text.aerial_rite.hover": "Applies the Zephyr's Courage effect, increasing movement speed by two fifths.", - "malum.gui.book.entry.page.text.altar_acceleration.brilliant_obelisk.1": "While not useful for Infusion, per-se, the design of the obelisk can be used in another way as well. By socketing Brilliance instead of a Resonator, the obelisk will harmonize with the Brilliance of enchanting, causing it to provide as much force of enchanting as five bookshelves do.", + "malum.gui.book.entry.page.text.altar_acceleration.brilliant_obelisk.1": "While not useful for Infusion, per-se, the design of the obelisk can be used in another way as well. By socketing Brilliance instead of Hallowed Gold, the obelisk will harmonize with the Brilliance of enchanting, causing it to provide as much force of enchanting as five bookshelves do.", "malum.gui.book.entry.page.text.altar_acceleration.runewood_obelisk.1": "Spirit Infusion, as essential as it is, has grown to be tedious. Even producing a stack of simple Hex Ash takes several minutes. Using Hallowed Gold, I have found a way to accelerate it. By placing up to four hallowed obelisks nearby the altar I may increase the processing speed by one fourth with each obelisk.", "malum.gui.book.entry.page.text.aqueous_rite": "A simple aura rite, while active nearby friendly beings will find that their reach is extended, letting them more easily interact with the world.", "malum.gui.book.entry.page.text.aqueous_rite.hover": "Applies the Poseidon's Grasp effect, increasing block reach by two units of space and increasing item pickup range significantly.", @@ -814,6 +841,7 @@ "malum.gui.book.entry.page.text.focus_crystals.1": "By applying differing qualities of arcana to an Alchemical Impetus, I can cause more mundane crystals to be formed.", "malum.gui.book.entry.page.text.focus_metals.1": "By altering the composition of the Alchemical Impetus with niter, sulfur, and cthonic gold, it is possible to alter the artifact in such a way that allows for forming nodes of most pure metals.", "malum.gui.book.entry.page.text.focus_metals.2": "It isn't particularly efficient or fast, but it is certainly better than having to mine for every ingot I need. Each metallic node can be processed at a furnace of any kind into two thirds of an ingot worth of metal nuggets.", + "malum.gui.book.entry.page.text.glass_brooch.1": "The Runic Brooch works well... but in some cases having to give up the ability to wear two rings at once is just too much. To circumvent this problem, I've created the Glass Brooch. This alteration in design will instead take away a portion of my max health, as opposed to the original drawback.", "malum.gui.book.entry.page.text.greater_aerial_rite": "An advanced rite, by twisting the power of the air, blocks before the totem will be made to fall as though they were sand. Nothing Silk Touch cannot grab will be affected, though.", "malum.gui.book.entry.page.text.greater_aerial_rite.hover": "Causes targeted blocks to fall downwards if there is nothing underneath them.", "malum.gui.book.entry.page.text.greater_aqueous_rite": "An advanced rite, while active, it will vastly increasing the drip speed of dripstone, causing more fluid to be produced.", @@ -850,18 +878,32 @@ "malum.gui.book.entry.page.text.primary_arcana.wicked.1": "Wicked arcana is inimical to life. It seeks death and despair, and warps the living into something else. Even touching the crystal makes my soul shudder in pain.", "malum.gui.book.entry.page.text.primary_arcana.wicked.2": "It is the impulse of corruption, the desire to cause suffering. It is found in those whose souls lack life, or those twisted by malice.", "malum.gui.book.entry.page.text.prismatic_focus_lens.1": "A rather useful solution to instability problems; The Prismatic Focus Lens significantly reduces instability of the spirit focusing process. It is important to note, stability prevents any $iadditional/$ damage the impetus would be taking, rather than negating it all together.", + "malum.gui.book.entry.page.text.ravenous_brooch.1": "Much like in the case of the Runic Brooch, I've designed an alternative which replaces the negative effect of it's predecessor with a much less daunting downside. While worn, the Ravenous Brooch will actively take away hunger as a means of allowing the user to equip an additional belt.", "malum.gui.book.entry.page.text.reactive_trinkets.ring_of_alchemical_mastery.1": "This ring, through alchemical trickery, is able to manipulate the potions running through my blood. Negative effects are filtered out, shortening their duration, while positive effects are maintained for longer than normal. Whenever I collect arcana, the ring momentarily works better.", "malum.gui.book.entry.page.text.reactive_trinkets.ring_of_curative_talent.1": "The trinkets documented within cause effects whenever a spirit crystal is collected, feeding off the excess energy. As an example, this restorative trinket will replenish a small division of my health any time I collect arcana.", "malum.gui.book.entry.page.text.reactive_trinkets.ring_of_prowess.1": "Brilliance is attached to the soul, but isn't an impulse like the arcana. It is accumulated knowledge, and so is not inherently tied to the soul that learned it. Even strikes which pass through the soul harmlessly are capable of dislodging it.", "malum.gui.book.entry.page.text.reactive_trinkets.ring_of_prowess.2": "By using condensed Brilliance, I have created a ring that filters out that Brilliance out of arcana I collect, giving me a burst of Brilliant knowledge whenever I collect arcana.", "malum.gui.book.entry.page.text.ring_of_esoteric_spoils.1": "It can be tiring, harvesting the sheer quantities of arcana I need for my research. This ring can increase the efficiency of the harvest, allowing me to reap an additional spirit from every slain soul. At a certain point, though, \"efficiency\" ceases to explain it. How am I obtaining more power than the soul itself has?", + "malum.gui.book.entry.page.text.rune_of_aliment_cleansing.1": "While active, the Rune of Aliment Cleansing will cut the duration of any negative effect applied to the wearer by one third.", + "malum.gui.book.entry.page.text.rune_of_dexterity.1": "While active, the Rune of Haste will provide a substantial bonus to movement speed. This bonus approaches double it's usual potency as the user's health pool diminishes.", + "malum.gui.book.entry.page.text.rune_of_haste.1": "While active, the Rune of Haste will increase the user's mining speed by around one fourth.", + "malum.gui.book.entry.page.text.rune_of_idle_culling.1": "While active, the Rune of Culling will grant the user a bonus to Magic Proficiency, increasing their magic damage output by an additional two fifths.", + "malum.gui.book.entry.page.text.rune_of_idle_restoration.1": "While active, the Rune of Idle Restoration will passively restore the user's health at a rate of one half heart every two seconds.", + "malum.gui.book.entry.page.text.rune_of_reactive_shielding.1": "While active, the Rune of Reactive Shielding will occasionally increase the user's Armor and Armor Toughness by one tenth upon taking damage. The strength of this effect scales as the user receives more damage, reaching an increase of three tenths at full power.", + "malum.gui.book.entry.page.text.rune_of_reinforcement.1": "While active, the Rune of Reinforcement will grant the user access to a small supply of Soul Ward Capacity, while also improving Soul Ward Strength.", + "malum.gui.book.entry.page.text.rune_of_volatile_distortion.1": "While active, the Rune of Volatile Distortion will cause any strike dealt by the user to erratically scale in potency, ranging from a decrease of one tenth in potency, to an increase of one fifth. Furthermore, the rune enables another slim chance of to outright double the potency of any attack delivered by the user.", "malum.gui.book.entry.page.text.runewood.1": "Runewood is a strange mix of magic and nature, and a fairly common one at that. While pretty, I am more interested in practicality. Runewood is soaked in magic, and as such, can serve as the basis for the arcane.", "malum.gui.book.entry.page.text.runewood.2": "The tree is predominantly found within large open plains, however it can also be found in forests. The tree can be best identified by it's leaves, proudly displaying an orange-yellow palette.", "malum.gui.book.entry.page.text.runewood.arcane_charcoal.1": "Runewood's charcoal, as magic-infused as it is, burns with an arcane fervor for longer than regular charcoal. This makes it rather useful for fueling any smelting I need to do.", "malum.gui.book.entry.page.text.runewood.runic_sap.1": "Runewood trees tend to have a buildup of sticky sap on the sides of their logs. When this happens, if you strip off the bark, you'll be able to bottle the sap, which makes for a rejuvenating drink.", "malum.gui.book.entry.page.text.runewood.runic_sap.2": "The sap can also be used to create sapballs, able to be used interchangeably with slimeballs for most recipes. Runic sap can also be turned into a block form, which is rather sticky.", + "malum.gui.book.entry.page.text.runeworking.1": "Every trinket I've made thus far has no doubt proven to be a welcome entry to my vast arsenal, however there is only so much space on my body for all of these accessories. As a means of further growing my strength, I've begun research on a system I shall name Runeworking.", + "malum.gui.book.entry.page.text.runeworking.2": "Runeworking is all about Brooches and Runes. The brooch is an accessory that enables the wearer to take advantage of effects imbued into the aforementioned Runes; primitive baubles with just one effect. Due to the simple and optimized design of runes, I can easily equip several runes at once assuming an appropriate brooch is present.", + "malum.gui.book.entry.page.text.runeworking.3": "To begin, I will need to create a workstation that enables the creation of Runes; The Runic Workbench. Furthermore, I will need to craft a Runic Brooch an accessory that will allow me to take advantage of the effects Runes provide.", + "malum.gui.book.entry.page.text.runic_brooch.1": "As written before, in order to access the benefits Runes provide, creating the Runic Brooch is a necessary step. When worn, the brooch will grant me two Rune Slots at the cost of a singular Ring Slot.", "malum.gui.book.entry.page.text.sacred_rite": "A simple rite, while active it will slowly mend the wounds of nearby entities.\n Avoids hostiles.", "malum.gui.book.entry.page.text.sacred_rite.hover": "Recovers one heart of damage every two seconds.", + "malum.gui.book.entry.page.text.sacrificial_brooch.1": "After some thinking, I decided I would attempt to create a brooch out of Soul Stained Steel. The resulting accessory known as the Sacrificial Brooch instead exchanges a Necklace Slot for an additional Belt Slot. It doesn't offer any Rune related benefits, but it might prove useful nonetheless.", "malum.gui.book.entry.page.text.scythes.1": "After several inert attempts, I have socketed Soulstone into a weapon that can reliably harvest these spirit crystals. The long blade allows time for the body to die before I strike the soul, while also providing a wide sweep attack. It isn't as sharp as a sword, but for my purposes, it will do nicely.", "malum.gui.book.entry.page.text.scythes.2": "What I had managed to do before with careful, painstaking experiments, the scythe did in a matter of seconds. The souls of the monsters I slew shattered, streaming bits of deeply hued matter towards me: the spirit crystals. Finally, my research can begin in earnest.", "malum.gui.book.entry.page.text.scythes.enchanting.1": "At its core, the scythe enchants like other weapons or tools I've used. It has its own set of enchantments, of course, due to its differing nature, but can take Unbreaking and the like as well as a sword can.", @@ -903,7 +945,6 @@ "malum.gui.book.entry.page.text.spirit_stones.twisted_rock.1": "With Wicked arcana's nature as the opposite of Sacred, it follows that the stone produced with it would act opposite. Twisted Rock has most of the same properties as Tainted Rock, but pushes magic away from it instead of dissipating it. Both can be fashioned into item holders, as Runewood can.", "malum.gui.book.entry.page.text.spirit_trinkets.1": "Many disciplines of magic, and even more mundane practices, allow the creation of useful trinkets. These are also referred to as baubles or curios by some. The metals I have alloyed have properties useful in their own rights, and can be used as the basis for even grander designs.", "malum.gui.book.entry.page.text.spirit_trinkets.2": "In their most basic form, Hallowed Gold trinkets protect the user as if they were wearing weak armor, and Soulstained Steel trinkets increase the toughness of the armor being worn.", - "malum.gui.book.entry.page.text.spirit_trinkets.guardian_ring.1": "As a first attempt to create a trinket using these as a base, I have designed one that mimics Soulstained Armor's Soul Ward.", "malum.gui.book.entry.page.text.the_device": "even works while bended", "malum.gui.book.entry.page.text.totem_magic.1": "Up until now, when performing spirit arcana, I have limited my research to personal enhancement and material production. Now, I affect the world.", "malum.gui.book.entry.page.text.totem_magic.2": "To begin with Totem Magic, I may engrave spirit arcana into Runewood Logs, forming a rune representing the magic. If unwanted, engraved spirits can be stripped off with an axe, but I have uses in mind. With a Runewood Totem Base, and then a specific set of runes in a totem pole placed above my totem base, I can perform a Spirit Rite.", @@ -940,16 +981,40 @@ "malum.gui.book.entry.primary_arcana.description": "The components of magic", "malum.gui.book.entry.prismatic_focus_lens": "Prismatic Focus Lens", "malum.gui.book.entry.prismatic_focus_lens.description": "Stabilising", + "malum.gui.book.entry.ravenous_brooch": "Ravenous Brooch", + "malum.gui.book.entry.ravenous_brooch.description": "An undying hunger", "malum.gui.book.entry.reactive_trinkets": "Reactive Trinkets", "malum.gui.book.entry.reactive_trinkets.description": "Harnessing the harvest", "malum.gui.book.entry.research_of_the_rejected": "Research of the Rejected", "malum.gui.book.entry.research_of_the_rejected.description": "A thaumaturge's escalation", "malum.gui.book.entry.ring_of_esoteric_spoils": "Ring of Esoteric Spoils", "malum.gui.book.entry.ring_of_esoteric_spoils.description": "Be fruitful and multiply", + "malum.gui.book.entry.rune_of_aliment_cleansing": "Rune of Aliment Cleansing", + "malum.gui.book.entry.rune_of_aliment_cleansing.description": "", + "malum.gui.book.entry.rune_of_dexterity": "Rune of Dexterity", + "malum.gui.book.entry.rune_of_dexterity.description": "", + "malum.gui.book.entry.rune_of_haste": "Rune of Haste", + "malum.gui.book.entry.rune_of_haste.description": "", + "malum.gui.book.entry.rune_of_idle_culling": "Rune of Culling", + "malum.gui.book.entry.rune_of_idle_culling.description": "", + "malum.gui.book.entry.rune_of_idle_restoration": "Rune of Idle Restoration", + "malum.gui.book.entry.rune_of_idle_restoration.description": "", + "malum.gui.book.entry.rune_of_reactive_shielding": "Rune of Reactive Shielding", + "malum.gui.book.entry.rune_of_reactive_shielding.description": "Reactive Shielding, Son", + "malum.gui.book.entry.rune_of_reinforcement": "Rune of Reinforcement", + "malum.gui.book.entry.rune_of_reinforcement.description": "", + "malum.gui.book.entry.rune_of_volatile_distortion": "Rune of Volatile Distortion", + "malum.gui.book.entry.rune_of_volatile_distortion.description": "", "malum.gui.book.entry.runewood": "Runewood", "malum.gui.book.entry.runewood.description": "Arcane oak", + "malum.gui.book.entry.runeworking": "Runeworking", + "malum.gui.book.entry.runeworking.description": "Greater Accessorizing", + "malum.gui.book.entry.runic_brooch": "Runic Brooch", + "malum.gui.book.entry.runic_brooch.description": "Slot Exchange", "malum.gui.book.entry.sacred_rite": "Sacred Rites", "malum.gui.book.entry.sacred_rite.description": "Invigorating the soul", + "malum.gui.book.entry.sacrificial_brooch": "Sacrificial Brooch", + "malum.gui.book.entry.sacrificial_brooch.description": "A Change in Purpose", "malum.gui.book.entry.scythes": "Scythes", "malum.gui.book.entry.scythes.description": "Harvest", "malum.gui.book.entry.shielding_apparatus": "Shielding Apparatus", @@ -1093,7 +1158,7 @@ "malum.gui.ritual.tier.vivid": "Vivid", "malum.gui.ritual.type": "Ritual Type: ", "malum.gui.ritual.warped_time": "Warped Time", - "malum.gui.rune.effect.aliment_cleansing": "+Cleanses Negative Effects; Heals when Cleansed", + "malum.gui.rune.effect.aliment_cleansing": "+Shortens Negative Effects", "malum.gui.rune.effect.dexterity": "+Provides Higher Speed at Low Health", "malum.gui.rune.effect.haste": "+Increases mining speed", "malum.gui.rune.effect.heretic": "+Silences Attackers", @@ -1252,10 +1317,28 @@ "malum.subtitle.soulstone_hit": "Block breaking", "malum.subtitle.soulstone_place": "Block placed", "malum.subtitle.soulstone_step": "Footsteps", + "malum.subtitle.soulwood_break": "Block broken", + "malum.subtitle.soulwood_button_click_off": "Soulwood button click off", + "malum.subtitle.soulwood_button_click_on": "Soulwood button click on", + "malum.subtitle.soulwood_door_close": "Soulwood door close", + "malum.subtitle.soulwood_door_open": "Soulwood door open", + "malum.subtitle.soulwood_fence_gate_close": "Soulwood fence gate close", + "malum.subtitle.soulwood_fence_gate_open": "Soulwood fence gate open", + "malum.subtitle.soulwood_hanging_sign_break": "Block broken", + "malum.subtitle.soulwood_hanging_sign_hit": "Block breaking", + "malum.subtitle.soulwood_hanging_sign_place": "Block placed", + "malum.subtitle.soulwood_hanging_sign_step": "Footsteps", + "malum.subtitle.soulwood_hit": "Block breaking", "malum.subtitle.soulwood_leaves_break": "Block broken", "malum.subtitle.soulwood_leaves_hit": "Block breaking", "malum.subtitle.soulwood_leaves_place": "Block placed", "malum.subtitle.soulwood_leaves_step": "Footsteps", + "malum.subtitle.soulwood_place": "Block placed", + "malum.subtitle.soulwood_pressure_plate_click_off": "Soulwood pressure plate click off", + "malum.subtitle.soulwood_pressure_plate_click_on": "Soulwood pressure plate click on", + "malum.subtitle.soulwood_step": "Footsteps", + "malum.subtitle.soulwood_trapdoor_close": "Soulwood trapdoor close", + "malum.subtitle.soulwood_trapdoor_open": "Soulwood trapdoor open", "malum.subtitle.spirit_altar_absorbs_item": "Spirit altar absorbs item", "malum.subtitle.spirit_altar_completes_infusion": "Spirit altar completes infusion", "malum.subtitle.spirit_altar_infuses": "Spirit altar infuses", diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks.json new file mode 100644 index 000000000..887471f6f --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..a23aa35ce --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_planks", + "side": "malum:block/soulwood/rustic_soulwood_planks", + "top": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab_top.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab_top.json new file mode 100644 index 000000000..9f0832d13 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_planks", + "side": "malum:block/soulwood/rustic_soulwood_planks", + "top": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..5abf4559d --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_planks", + "side": "malum:block/soulwood/rustic_soulwood_planks", + "top": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_inner.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_inner.json new file mode 100644 index 000000000..e30a1274c --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_planks", + "side": "malum:block/soulwood/rustic_soulwood_planks", + "top": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_outer.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_outer.json new file mode 100644 index 000000000..ec5eec371 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_planks_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_planks", + "side": "malum:block/soulwood/rustic_soulwood_planks", + "top": "malum:block/soulwood/rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles.json new file mode 100644 index 000000000..06e3fcc98 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab.json new file mode 100644 index 000000000..f5545a33b --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_tiles", + "side": "malum:block/soulwood/rustic_soulwood_tiles", + "top": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab_top.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab_top.json new file mode 100644 index 000000000..187d60133 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_tiles", + "side": "malum:block/soulwood/rustic_soulwood_tiles", + "top": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..258676e4d --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_tiles", + "side": "malum:block/soulwood/rustic_soulwood_tiles", + "top": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_inner.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_inner.json new file mode 100644 index 000000000..efec9eeac --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_tiles", + "side": "malum:block/soulwood/rustic_soulwood_tiles", + "top": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_outer.json b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_outer.json new file mode 100644 index 000000000..ef590d075 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/rustic_soulwood_tiles_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "malum:block/soulwood/rustic_soulwood_tiles", + "side": "malum:block/soulwood/rustic_soulwood_tiles", + "top": "malum:block/soulwood/rustic_soulwood_tiles" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards.json b/src/generated/resources/assets/malum/models/block/soulwood_boards.json new file mode 100644 index 000000000..6b211c9a6 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards_slab.json b/src/generated/resources/assets/malum/models/block/soulwood_boards_slab.json new file mode 100644 index 000000000..8c4b0a29b --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "malum:block/soulwood/soulwood_boards", + "side": "malum:block/soulwood/soulwood_boards", + "top": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards_slab_top.json b/src/generated/resources/assets/malum/models/block/soulwood_boards_slab_top.json new file mode 100644 index 000000000..5bda2cd30 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "malum:block/soulwood/soulwood_boards", + "side": "malum:block/soulwood/soulwood_boards", + "top": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs.json b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs.json new file mode 100644 index 000000000..6ba0ef1f1 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "malum:block/soulwood/soulwood_boards", + "side": "malum:block/soulwood/soulwood_boards", + "top": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_inner.json b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_inner.json new file mode 100644 index 000000000..6359f43fb --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "malum:block/soulwood/soulwood_boards", + "side": "malum:block/soulwood/soulwood_boards", + "top": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_outer.json b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_outer.json new file mode 100644 index 000000000..3b9065b80 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/soulwood_boards_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "malum:block/soulwood/soulwood_boards", + "side": "malum:block/soulwood/soulwood_boards", + "top": "malum:block/soulwood/soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_panel_slab.json b/src/generated/resources/assets/malum/models/block/soulwood_panel_slab.json deleted file mode 100644 index 4067d8109..000000000 --- a/src/generated/resources/assets/malum/models/block/soulwood_panel_slab.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab", - "textures": { - "bottom": "malum:block/soulwood/soulwood_panel", - "side": "malum:block/soulwood/soulwood_panel", - "top": "malum:block/soulwood/soulwood_panel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_panel_slab_top.json b/src/generated/resources/assets/malum/models/block/soulwood_panel_slab_top.json deleted file mode 100644 index 3c7eda03a..000000000 --- a/src/generated/resources/assets/malum/models/block/soulwood_panel_slab_top.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/slab_top", - "textures": { - "bottom": "malum:block/soulwood/soulwood_panel", - "side": "malum:block/soulwood/soulwood_panel", - "top": "malum:block/soulwood/soulwood_panel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs.json b/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs.json deleted file mode 100644 index 3d6c548ac..000000000 --- a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/stairs", - "textures": { - "bottom": "malum:block/soulwood/soulwood_panel", - "side": "malum:block/soulwood/soulwood_panel", - "top": "malum:block/soulwood/soulwood_panel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_inner.json b/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_inner.json deleted file mode 100644 index 80f85329e..000000000 --- a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_inner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/inner_stairs", - "textures": { - "bottom": "malum:block/soulwood/soulwood_panel", - "side": "malum:block/soulwood/soulwood_panel", - "top": "malum:block/soulwood/soulwood_panel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_outer.json b/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_outer.json deleted file mode 100644 index 4904b9fd0..000000000 --- a/src/generated/resources/assets/malum/models/block/soulwood_panel_stairs_outer.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "parent": "minecraft:block/outer_stairs", - "textures": { - "bottom": "malum:block/soulwood/soulwood_panel", - "side": "malum:block/soulwood/soulwood_panel", - "top": "malum:block/soulwood/soulwood_panel" - } -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks.json new file mode 100644 index 000000000..a7d4fe1c1 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..2786e10bf --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "side": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "top": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab_top.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab_top.json new file mode 100644 index 000000000..0d7ca2d88 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "side": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "top": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..58624b4b2 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "side": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "top": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_inner.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_inner.json new file mode 100644 index 000000000..94f05a8f8 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "side": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "top": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_outer.json b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_outer.json new file mode 100644 index 000000000..0ffd04412 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_rustic_soulwood_planks_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "side": "malum:block/soulwood/vertical_rustic_soulwood_planks", + "top": "malum:block/soulwood/vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards.json new file mode 100644 index 000000000..be51187fd --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..750ff3916 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "malum:block/soulwood/vertical_soulwood_boards", + "side": "malum:block/soulwood/vertical_soulwood_boards", + "top": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab_top.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab_top.json new file mode 100644 index 000000000..c5db00546 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "malum:block/soulwood/vertical_soulwood_boards", + "side": "malum:block/soulwood/vertical_soulwood_boards", + "top": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..cb1a56414 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_soulwood_boards", + "side": "malum:block/soulwood/vertical_soulwood_boards", + "top": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_inner.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_inner.json new file mode 100644 index 000000000..04acae93d --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_soulwood_boards", + "side": "malum:block/soulwood/vertical_soulwood_boards", + "top": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_outer.json b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_outer.json new file mode 100644 index 000000000..65c44ecf0 --- /dev/null +++ b/src/generated/resources/assets/malum/models/block/vertical_soulwood_boards_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "malum:block/soulwood/vertical_soulwood_boards", + "side": "malum:block/soulwood/vertical_soulwood_boards", + "top": "malum:block/soulwood/vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks.json new file mode 100644 index 000000000..cc53a5b4a --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_planks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..64f89fff6 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_planks_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..c8a6bf2b4 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_planks_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_planks_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles.json new file mode 100644 index 000000000..0afd4ebb2 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_tiles" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_slab.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_slab.json new file mode 100644 index 000000000..ce72a6cc1 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_tiles_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_stairs.json b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..c958caf52 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/rustic_soulwood_tiles_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/soulwood_boards.json b/src/generated/resources/assets/malum/models/item/soulwood_boards.json new file mode 100644 index 000000000..d28917b17 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/soulwood_boards.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/soulwood_boards" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/soulwood_boards_slab.json b/src/generated/resources/assets/malum/models/item/soulwood_boards_slab.json new file mode 100644 index 000000000..a289509ae --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/soulwood_boards_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/soulwood_boards_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/soulwood_boards_stairs.json b/src/generated/resources/assets/malum/models/item/soulwood_boards_stairs.json new file mode 100644 index 000000000..ab81aeba7 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/soulwood_boards_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/soulwood_boards_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/soulwood_panel_slab.json b/src/generated/resources/assets/malum/models/item/soulwood_panel_slab.json deleted file mode 100644 index beb7c36db..000000000 --- a/src/generated/resources/assets/malum/models/item/soulwood_panel_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "malum:block/soulwood_panel_slab" -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/soulwood_panel_stairs.json b/src/generated/resources/assets/malum/models/item/soulwood_panel_stairs.json deleted file mode 100644 index 548db4c95..000000000 --- a/src/generated/resources/assets/malum/models/item/soulwood_panel_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "malum:block/soulwood_panel_stairs" -} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks.json b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks.json new file mode 100644 index 000000000..d37b50037 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_rustic_soulwood_planks" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..e1e338308 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_rustic_soulwood_planks_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..08464a319 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_rustic_soulwood_planks_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards.json b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards.json new file mode 100644 index 000000000..f0be8334d --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_soulwood_boards" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_slab.json b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..ba00ce702 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_soulwood_boards_slab" +} \ No newline at end of file diff --git a/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_stairs.json b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..95c56bac3 --- /dev/null +++ b/src/generated/resources/assets/malum/models/item/vertical_soulwood_boards_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "malum:block/vertical_soulwood_boards_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/cut_soulwood_planks.json b/src/generated/resources/data/malum/advancements/recipes/misc/cut_soulwood_planks.json index 57ca14396..bffb5568c 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/cut_soulwood_planks.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/cut_soulwood_planks.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/runewood_boards.json b/src/generated/resources/data/malum/advancements/recipes/misc/runewood_boards.json index 930d7dc4e..c022e00ad 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/runewood_boards.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/runewood_boards.json @@ -5,7 +5,7 @@ "conditions": { "items": [ { - "tag": "malum:runewood_with_bark" + "tag": "malum:runewood_board_ingredient" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..1e8471f2b --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:rustic_soulwood_planks_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:rustic_soulwood_planks_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..27a746bf9 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_planks_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:rustic_soulwood_planks_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:rustic_soulwood_planks_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_slab.json b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_slab.json new file mode 100644 index 000000000..ef42adb21 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:rustic_soulwood_tiles_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:rustic_soulwood_tiles_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_stairs.json b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..dc1f18a19 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:rustic_soulwood_tiles_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:rustic_soulwood_tiles_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/solid_soulwood_trapdoor.json b/src/generated/resources/data/malum/advancements/recipes/misc/solid_soulwood_trapdoor.json index c07394cd0..292ff1908 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/solid_soulwood_trapdoor.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/solid_soulwood_trapdoor.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_trapdoor" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_beam.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_beam.json index 8ad9afdd5..bb8775d57 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_beam.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_beam.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards.json new file mode 100644 index 000000000..50b4deb8e --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards.json @@ -0,0 +1,33 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "tag": "malum:soulwood_board_ingredient" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_boards" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_boards" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_exchange.json new file mode 100644 index 000000000..511c21ea3 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_soulwood_boards" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_boards_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_boards_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_slab.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_slab.json similarity index 81% rename from src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_slab.json rename to src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_slab.json index 3bcb658bc..e2e56d482 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_slab.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_slab.json @@ -6,7 +6,7 @@ "items": [ { "items": [ - "malum:soulwood_panel" + "malum:soulwood_boards" ] } ] @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "malum:soulwood_panel_slab" + "recipe": "malum:soulwood_boards_slab" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "malum:soulwood_panel_slab" + "malum:soulwood_boards_slab" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_stairs.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_stairs.json similarity index 80% rename from src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_stairs.json rename to src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_stairs.json index 21bcfed07..81af4bd55 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel_stairs.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boards_stairs.json @@ -6,7 +6,7 @@ "items": [ { "items": [ - "malum:soulwood_panel" + "malum:soulwood_boards" ] } ] @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "malum:soulwood_panel_stairs" + "recipe": "malum:soulwood_boards_stairs" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "malum:soulwood_panel_stairs" + "malum:soulwood_boards_stairs" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boat.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boat.json index 9024581e5..e12884d8a 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boat.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_boat.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_door.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_door.json index 5a9ad5d83..f7011c2b8 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_door.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_door.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_pedestal.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_pedestal.json index 441f82358..bc1cb38a1 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_pedestal.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_pedestal.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_stand.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_stand.json index 67f96c5e6..2d233b5b0 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_stand.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_item_stand.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor_from_solid.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_open_trapdoor_exchange.json similarity index 84% rename from src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor_from_solid.json rename to src/generated/resources/data/malum/advancements/recipes/misc/soulwood_open_trapdoor_exchange.json index a21652c6d..526fa0850 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor_from_solid.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_open_trapdoor_exchange.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "malum:soulwood_trapdoor_from_solid" + "recipe": "malum:soulwood_open_trapdoor_exchange" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "malum:soulwood_trapdoor_from_solid" + "malum:soulwood_open_trapdoor_exchange" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel.json index 2ab33eac4..73c02b2aa 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_panel.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_button.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_button.json index 6a711b0ac..88b2300d3 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_button.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_button.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_exchange.json new file mode 100644 index 000000000..04f446fb4 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:soulwood_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_planks_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_planks_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence.json index f4fa2f4da..87c91f32a 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence_gate.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence_gate.json index 044d7aa7e..ad10094b6 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence_gate.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_fence_gate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_pressure_plate.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_pressure_plate.json index 2917d9a83..8f0d86537 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_pressure_plate.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_planks_pressure_plate.json @@ -5,9 +5,7 @@ "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_planks_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_planks_exchange.json new file mode 100644 index 000000000..090f5b335 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_planks_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_tiles" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_rustic_planks_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_rustic_planks_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_tiles_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_tiles_exchange.json new file mode 100644 index 000000000..2b1e447d1 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_rustic_tiles_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_rustic_tiles_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_rustic_tiles_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_sign.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_sign.json index fa4ecf94f..88a8d9261 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_sign.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_sign.json @@ -1,13 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_input": { "conditions": { "items": [ { - "items": [ - "malum:soulwood_planks" - ] + "tag": "malum:soulwood_planks" } ] }, @@ -22,7 +20,7 @@ }, "requirements": [ [ - "has_soulwood_planks", + "has_input", "has_the_recipe" ] ], diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_solid_trapdoor_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_solid_trapdoor_exchange.json new file mode 100644 index 000000000..14850906f --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_solid_trapdoor_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:soulwood_trapdoor" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_solid_trapdoor_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_solid_trapdoor_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles_exchange.json new file mode 100644 index 000000000..1934868e7 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_tiles_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_tiles_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_boards_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_boards_exchange.json new file mode 100644 index 000000000..c7b110f26 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_boards_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:soulwood_boards" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_vertical_boards_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_vertical_boards_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_planks_exchange.json similarity index 83% rename from src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor.json rename to src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_planks_exchange.json index 8894b99df..313462703 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_trapdoor.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_planks_exchange.json @@ -15,7 +15,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "malum:soulwood_trapdoor" + "recipe": "malum:soulwood_vertical_planks_exchange" }, "trigger": "minecraft:recipe_unlocked" } @@ -28,7 +28,7 @@ ], "rewards": { "recipes": [ - "malum:soulwood_trapdoor" + "malum:soulwood_vertical_planks_exchange" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_rustic_planks_exchange.json b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_rustic_planks_exchange.json new file mode 100644 index 000000000..2f0d52088 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_vertical_rustic_planks_exchange.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:soulwood_vertical_rustic_planks_exchange" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:soulwood_vertical_rustic_planks_exchange" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles.json b/src/generated/resources/data/malum/advancements/recipes/misc/totemic_staff.json similarity index 74% rename from src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles.json rename to src/generated/resources/data/malum/advancements/recipes/misc/totemic_staff.json index abfb0898d..6ca5b5822 100644 --- a/src/generated/resources/data/malum/advancements/recipes/misc/soulwood_tiles.json +++ b/src/generated/resources/data/malum/advancements/recipes/misc/totemic_staff.json @@ -1,12 +1,12 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_soulwood_planks": { + "has_runewood": { "conditions": { "items": [ { "items": [ - "malum:soulwood_planks" + "malum:runewood_planks" ] } ] @@ -15,20 +15,20 @@ }, "has_the_recipe": { "conditions": { - "recipe": "malum:soulwood_tiles" + "recipe": "malum:totemic_staff" }, "trigger": "minecraft:recipe_unlocked" } }, "requirements": [ [ - "has_soulwood_planks", + "has_runewood", "has_the_recipe" ] ], "rewards": { "recipes": [ - "malum:soulwood_tiles" + "malum:totemic_staff" ] }, "sends_telemetry_event": false diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..500322b91 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:vertical_rustic_soulwood_planks_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:vertical_rustic_soulwood_planks_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..90c038f49 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_rustic_soulwood_planks" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:vertical_rustic_soulwood_planks_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:vertical_rustic_soulwood_planks_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_slab.json b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..722b0e8c8 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_slab.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_soulwood_boards" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:vertical_soulwood_boards_slab" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:vertical_soulwood_boards_slab" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_stairs.json b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..0cefe5405 --- /dev/null +++ b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_boards_stairs.json @@ -0,0 +1,35 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_input": { + "conditions": { + "items": [ + { + "items": [ + "malum:vertical_soulwood_boards" + ] + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "malum:vertical_soulwood_boards_stairs" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_input", + "has_the_recipe" + ] + ], + "rewards": { + "recipes": [ + "malum:vertical_soulwood_boards_stairs" + ] + }, + "sends_telemetry_event": false +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_planks.json b/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_planks.json deleted file mode 100644 index 38f435ba5..000000000 --- a/src/generated/resources/data/malum/advancements/recipes/misc/vertical_soulwood_planks.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "parent": "minecraft:recipes/root", - "criteria": { - "has_soulwood_planks": { - "conditions": { - "items": [ - { - "items": [ - "malum:soulwood_planks" - ] - } - ] - }, - "trigger": "minecraft:inventory_changed" - }, - "has_the_recipe": { - "conditions": { - "recipe": "malum:vertical_soulwood_planks" - }, - "trigger": "minecraft:recipe_unlocked" - } - }, - "requirements": [ - [ - "has_soulwood_planks", - "has_the_recipe" - ] - ], - "rewards": { - "recipes": [ - "malum:vertical_soulwood_planks" - ] - }, - "sends_telemetry_event": false -} \ No newline at end of file diff --git a/src/generated/resources/data/malum/curios/entities/malum_entities.json b/src/generated/resources/data/malum/curios/entities/malum_entities.json index 351a044e7..c5962ae80 100644 --- a/src/generated/resources/data/malum/curios/entities/malum_entities.json +++ b/src/generated/resources/data/malum/curios/entities/malum_entities.json @@ -4,6 +4,7 @@ ], "slots": [ "brooch", + "charm", "ring", "belt", "necklace", diff --git a/src/generated/resources/data/malum/curios/slots/brooch.json b/src/generated/resources/data/malum/curios/slots/brooch.json index eadd4854d..bcde54fb2 100644 --- a/src/generated/resources/data/malum/curios/slots/brooch.json +++ b/src/generated/resources/data/malum/curios/slots/brooch.json @@ -1,4 +1,5 @@ { "add_cosmetic": true, + "icon": "malum:slot/empty_brooch_slot", "size": 1 } \ No newline at end of file diff --git a/src/generated/resources/data/malum/curios/slots/charm.json b/src/generated/resources/data/malum/curios/slots/charm.json new file mode 100644 index 000000000..eadd4854d --- /dev/null +++ b/src/generated/resources/data/malum/curios/slots/charm.json @@ -0,0 +1,4 @@ +{ + "add_cosmetic": true, + "size": 1 +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/curios/slots/rune.json b/src/generated/resources/data/malum/curios/slots/rune.json index 27281027d..9ccbb107e 100644 --- a/src/generated/resources/data/malum/curios/slots/rune.json +++ b/src/generated/resources/data/malum/curios/slots/rune.json @@ -1,4 +1,5 @@ { + "icon": "malum:slot/empty_rune_slot", "render_toggle": true, "size": 0 } \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks.json new file mode 100644 index 000000000..b7e06ebdf --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:rustic_soulwood_planks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/rustic_soulwood_planks" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..f8feae7f9 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "malum:rustic_soulwood_planks_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "malum:rustic_soulwood_planks_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/rustic_soulwood_planks_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..ae213a97d --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_planks_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:rustic_soulwood_planks_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/rustic_soulwood_planks_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles.json similarity index 73% rename from src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_stairs.json rename to src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles.json index a31660f43..effebd104 100644 --- a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_stairs.json +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles.json @@ -11,11 +11,11 @@ "entries": [ { "type": "minecraft:item", - "name": "malum:soulwood_panel_stairs" + "name": "malum:rustic_soulwood_tiles" } ], "rolls": 1.0 } ], - "random_sequence": "malum:blocks/soulwood_panel_stairs" + "random_sequence": "malum:blocks/rustic_soulwood_tiles" } \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_slab.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_slab.json new file mode 100644 index 000000000..a028409fa --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "malum:rustic_soulwood_tiles_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "malum:rustic_soulwood_tiles_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/rustic_soulwood_tiles_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..ff8357fa6 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:rustic_soulwood_tiles_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/rustic_soulwood_tiles_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards.json b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards.json new file mode 100644 index 000000000..80dfe7755 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:soulwood_boards" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/soulwood_boards" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_slab.json b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_slab.json similarity index 80% rename from src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_slab.json rename to src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_slab.json index df01ac528..052e55e68 100644 --- a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_panel_slab.json +++ b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_slab.json @@ -11,7 +11,7 @@ "add": false, "conditions": [ { - "block": "malum:soulwood_panel_slab", + "block": "malum:soulwood_boards_slab", "condition": "minecraft:block_state_property", "properties": { "type": "double" @@ -25,11 +25,11 @@ "function": "minecraft:explosion_decay" } ], - "name": "malum:soulwood_panel_slab" + "name": "malum:soulwood_boards_slab" } ], "rolls": 1.0 } ], - "random_sequence": "malum:blocks/soulwood_panel_slab" + "random_sequence": "malum:blocks/soulwood_boards_slab" } \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_stairs.json new file mode 100644 index 000000000..b81c04546 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/soulwood_boards_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:soulwood_boards_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/soulwood_boards_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks.json new file mode 100644 index 000000000..eff6f4c74 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:vertical_rustic_soulwood_planks" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_rustic_soulwood_planks" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..3b1b7d409 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "malum:vertical_rustic_soulwood_planks_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "malum:vertical_rustic_soulwood_planks_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_rustic_soulwood_planks_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..bcc0210fc --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:vertical_rustic_soulwood_planks_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_rustic_soulwood_planks_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards.json new file mode 100644 index 000000000..91f8888e7 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:vertical_soulwood_boards" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_soulwood_boards" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_slab.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..05e332806 --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_slab.json @@ -0,0 +1,35 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "conditions": [ + { + "block": "malum:vertical_soulwood_boards_slab", + "condition": "minecraft:block_state_property", + "properties": { + "type": "double" + } + } + ], + "count": 2.0, + "function": "minecraft:set_count" + }, + { + "function": "minecraft:explosion_decay" + } + ], + "name": "malum:vertical_soulwood_boards_slab" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_soulwood_boards_slab" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_stairs.json b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..ea26dc49f --- /dev/null +++ b/src/generated/resources/data/malum/loot_tables/blocks/vertical_soulwood_boards_stairs.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "malum:vertical_soulwood_boards_stairs" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "malum:blocks/vertical_soulwood_boards_stairs" +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/cut_soulwood_planks.json b/src/generated/resources/data/malum/recipes/cut_soulwood_planks.json index fdbf76846..9eb9951c8 100644 --- a/src/generated/resources/data/malum/recipes/cut_soulwood_planks.json +++ b/src/generated/resources/data/malum/recipes/cut_soulwood_planks.json @@ -2,16 +2,16 @@ "type": "minecraft:crafting_shaped", "category": "misc", "key": { - "#": { + "X": { "item": "malum:soulwood_panel" }, - "X": { - "item": "malum:soulwood_planks" + "Y": { + "tag": "malum:soulwood_planks" } }, "pattern": [ - "#", - "X" + "X", + "Y" ], "result": { "count": 2, diff --git a/src/generated/resources/data/malum/recipes/runewood_boards.json b/src/generated/resources/data/malum/recipes/runewood_boards.json index 82e80e61b..0e4c04ae4 100644 --- a/src/generated/resources/data/malum/recipes/runewood_boards.json +++ b/src/generated/resources/data/malum/recipes/runewood_boards.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "#": { - "tag": "malum:runewood_with_bark" + "tag": "malum:runewood_board_ingredient" } }, "pattern": [ " # ", - "###", + "# #", " # " ], "result": { - "count": 5, + "count": 16, "item": "malum:runewood_boards" }, "show_notification": true diff --git a/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..d4edf76d0 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:rustic_soulwood_planks" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "item": "malum:rustic_soulwood_planks_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..89414a9d6 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/rustic_soulwood_planks_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:rustic_soulwood_planks" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "item": "malum:rustic_soulwood_planks_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_trapdoor.json b/src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_slab.json similarity index 61% rename from src/generated/resources/data/malum/recipes/soulwood_trapdoor.json rename to src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_slab.json index a79ea98fd..ad1658598 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_trapdoor.json +++ b/src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_slab.json @@ -3,16 +3,15 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_planks" + "item": "malum:rustic_soulwood_tiles" } }, "pattern": [ - "###", "###" ], "result": { - "count": 2, - "item": "malum:soulwood_trapdoor" + "count": 6, + "item": "malum:rustic_soulwood_tiles_slab" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_stairs.json b/src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_stairs.json new file mode 100644 index 000000000..5d2183839 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/rustic_soulwood_tiles_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:rustic_soulwood_tiles" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "item": "malum:rustic_soulwood_tiles_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/solid_soulwood_trapdoor.json b/src/generated/resources/data/malum/recipes/solid_soulwood_trapdoor.json index 0b835cdc7..07ccfd36c 100644 --- a/src/generated/resources/data/malum/recipes/solid_soulwood_trapdoor.json +++ b/src/generated/resources/data/malum/recipes/solid_soulwood_trapdoor.json @@ -1,12 +1,18 @@ { - "type": "minecraft:crafting_shapeless", + "type": "minecraft:crafting_shaped", "category": "misc", - "ingredients": [ - { - "item": "malum:soulwood_trapdoor" + "key": { + "#": { + "tag": "malum:soulwood_planks" } + }, + "pattern": [ + "###", + "###" ], "result": { + "count": 2, "item": "malum:solid_soulwood_trapdoor" - } + }, + "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_beam.json b/src/generated/resources/data/malum/recipes/soulwood_beam.json index b6da24ede..bb20a5ca7 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_beam.json +++ b/src/generated/resources/data/malum/recipes/soulwood_beam.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:vertical_soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_boards.json b/src/generated/resources/data/malum/recipes/soulwood_boards.json new file mode 100644 index 000000000..5d41e4d6c --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_boards.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "tag": "malum:soulwood_board_ingredient" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 16, + "item": "malum:soulwood_boards" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_boards_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_boards_exchange.json new file mode 100644 index 000000000..8bd52badc --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_boards_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_soulwood_boards" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:soulwood_boards" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_panel_slab.json b/src/generated/resources/data/malum/recipes/soulwood_boards_slab.json similarity index 70% rename from src/generated/resources/data/malum/recipes/soulwood_panel_slab.json rename to src/generated/resources/data/malum/recipes/soulwood_boards_slab.json index 1bf96b33a..e835a2a88 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_panel_slab.json +++ b/src/generated/resources/data/malum/recipes/soulwood_boards_slab.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_panel" + "item": "malum:soulwood_boards" } }, "pattern": [ @@ -11,7 +11,7 @@ ], "result": { "count": 6, - "item": "malum:soulwood_panel_slab" + "item": "malum:soulwood_boards_slab" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_panel_stairs.json b/src/generated/resources/data/malum/recipes/soulwood_boards_stairs.json similarity index 72% rename from src/generated/resources/data/malum/recipes/soulwood_panel_stairs.json rename to src/generated/resources/data/malum/recipes/soulwood_boards_stairs.json index f22d8e978..a4510fef3 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_panel_stairs.json +++ b/src/generated/resources/data/malum/recipes/soulwood_boards_stairs.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_panel" + "item": "malum:soulwood_boards" } }, "pattern": [ @@ -13,7 +13,7 @@ ], "result": { "count": 4, - "item": "malum:soulwood_panel_stairs" + "item": "malum:soulwood_boards_stairs" }, "show_notification": true } \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_boat.json b/src/generated/resources/data/malum/recipes/soulwood_boat.json index 96c20ae25..b5bdd4df5 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_boat.json +++ b/src/generated/resources/data/malum/recipes/soulwood_boat.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_door.json b/src/generated/resources/data/malum/recipes/soulwood_door.json index 6310bf19e..849ee29aa 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_door.json +++ b/src/generated/resources/data/malum/recipes/soulwood_door.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_item_pedestal.json b/src/generated/resources/data/malum/recipes/soulwood_item_pedestal.json index d3887cafc..66a1f0f30 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_item_pedestal.json +++ b/src/generated/resources/data/malum/recipes/soulwood_item_pedestal.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "X": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" }, "Y": { - "item": "malum:soulwood_planks_slab" + "tag": "malum:soulwood_slabs" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_item_stand.json b/src/generated/resources/data/malum/recipes/soulwood_item_stand.json index 319649143..33e0f0880 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_item_stand.json +++ b/src/generated/resources/data/malum/recipes/soulwood_item_stand.json @@ -3,10 +3,10 @@ "category": "misc", "key": { "X": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" }, "Y": { - "item": "malum:soulwood_planks_slab" + "tag": "malum:soulwood_slabs" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_trapdoor_from_solid.json b/src/generated/resources/data/malum/recipes/soulwood_open_trapdoor_exchange.json similarity index 100% rename from src/generated/resources/data/malum/recipes/soulwood_trapdoor_from_solid.json rename to src/generated/resources/data/malum/recipes/soulwood_open_trapdoor_exchange.json diff --git a/src/generated/resources/data/malum/recipes/soulwood_panel.json b/src/generated/resources/data/malum/recipes/soulwood_panel.json index a247c71b8..88edc5b20 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_panel.json +++ b/src/generated/resources/data/malum/recipes/soulwood_panel.json @@ -3,16 +3,16 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ " # ", - "# #", + "###", " # " ], "result": { - "count": 4, + "count": 5, "item": "malum:soulwood_panel" }, "show_notification": true diff --git a/src/generated/resources/data/malum/recipes/soulwood_planks_button.json b/src/generated/resources/data/malum/recipes/soulwood_planks_button.json index ca38720e3..17f7fbd4c 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_planks_button.json +++ b/src/generated/resources/data/malum/recipes/soulwood_planks_button.json @@ -3,7 +3,7 @@ "category": "misc", "ingredients": [ { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } ], "result": { diff --git a/src/generated/resources/data/malum/recipes/soulwood_planks_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_planks_exchange.json new file mode 100644 index 000000000..1748b232f --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_planks_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:soulwood_tiles" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:soulwood_planks" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_planks_fence.json b/src/generated/resources/data/malum/recipes/soulwood_planks_fence.json index 3ef83bb40..3e376430d 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_planks_fence.json +++ b/src/generated/resources/data/malum/recipes/soulwood_planks_fence.json @@ -6,7 +6,7 @@ "tag": "forge:rods/wooden" }, "W": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_planks_fence_gate.json b/src/generated/resources/data/malum/recipes/soulwood_planks_fence_gate.json index 0f4e74c86..e33566e34 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_planks_fence_gate.json +++ b/src/generated/resources/data/malum/recipes/soulwood_planks_fence_gate.json @@ -6,7 +6,7 @@ "tag": "forge:rods/wooden" }, "W": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_planks_pressure_plate.json b/src/generated/resources/data/malum/recipes/soulwood_planks_pressure_plate.json index 34483db00..9ac8adab6 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_planks_pressure_plate.json +++ b/src/generated/resources/data/malum/recipes/soulwood_planks_pressure_plate.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_rustic_planks_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_rustic_planks_exchange.json new file mode 100644 index 000000000..1f56499ac --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_rustic_planks_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:rustic_soulwood_tiles" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:rustic_soulwood_planks" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_rustic_tiles_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_rustic_tiles_exchange.json new file mode 100644 index 000000000..e42fa0a2e --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_rustic_tiles_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_rustic_soulwood_planks" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:rustic_soulwood_tiles" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_sign.json b/src/generated/resources/data/malum/recipes/soulwood_sign.json index a959351b3..187c69b9f 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_sign.json +++ b/src/generated/resources/data/malum/recipes/soulwood_sign.json @@ -4,7 +4,7 @@ "group": "sign", "key": { "#": { - "item": "malum:soulwood_planks" + "tag": "malum:soulwood_planks" }, "X": { "tag": "forge:rods/wooden" diff --git a/src/generated/resources/data/malum/recipes/soulwood_solid_trapdoor_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_solid_trapdoor_exchange.json new file mode 100644 index 000000000..0b835cdc7 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_solid_trapdoor_exchange.json @@ -0,0 +1,12 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "misc", + "ingredients": [ + { + "item": "malum:soulwood_trapdoor" + } + ], + "result": { + "item": "malum:solid_soulwood_trapdoor" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/soulwood_tiles.json b/src/generated/resources/data/malum/recipes/soulwood_tiles_exchange.json similarity index 84% rename from src/generated/resources/data/malum/recipes/soulwood_tiles.json rename to src/generated/resources/data/malum/recipes/soulwood_tiles_exchange.json index 508d23f09..7423990ef 100644 --- a/src/generated/resources/data/malum/recipes/soulwood_tiles.json +++ b/src/generated/resources/data/malum/recipes/soulwood_tiles_exchange.json @@ -3,7 +3,7 @@ "category": "misc", "key": { "#": { - "item": "malum:soulwood_panel" + "item": "malum:vertical_soulwood_planks" } }, "pattern": [ diff --git a/src/generated/resources/data/malum/recipes/soulwood_vertical_boards_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_vertical_boards_exchange.json new file mode 100644 index 000000000..e47246927 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_vertical_boards_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:soulwood_boards" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:vertical_soulwood_boards" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/vertical_soulwood_planks.json b/src/generated/resources/data/malum/recipes/soulwood_vertical_planks_exchange.json similarity index 83% rename from src/generated/resources/data/malum/recipes/vertical_soulwood_planks.json rename to src/generated/resources/data/malum/recipes/soulwood_vertical_planks_exchange.json index d2d864c60..304ab516a 100644 --- a/src/generated/resources/data/malum/recipes/vertical_soulwood_planks.json +++ b/src/generated/resources/data/malum/recipes/soulwood_vertical_planks_exchange.json @@ -7,12 +7,12 @@ } }, "pattern": [ - "#", - "#", - "#" + " # ", + "# #", + " # " ], "result": { - "count": 3, + "count": 4, "item": "malum:vertical_soulwood_planks" }, "show_notification": true diff --git a/src/generated/resources/data/malum/recipes/soulwood_vertical_rustic_planks_exchange.json b/src/generated/resources/data/malum/recipes/soulwood_vertical_rustic_planks_exchange.json new file mode 100644 index 000000000..d92999d59 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/soulwood_vertical_rustic_planks_exchange.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:rustic_soulwood_planks" + } + }, + "pattern": [ + " # ", + "# #", + " # " + ], + "result": { + "count": 4, + "item": "malum:vertical_rustic_soulwood_planks" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/soul_hunter_boots.json b/src/generated/resources/data/malum/recipes/spirit_infusion/soul_hunter_boots.json index 2a3137b3c..82b139f96 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/soul_hunter_boots.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/soul_hunter_boots.json @@ -12,10 +12,6 @@ { "count": 2, "tag": "forge:leather" - }, - { - "count": 2, - "tag": "forge:feathers" } ], "input": { diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/stellar_mechanism.json b/src/generated/resources/data/malum/recipes/spirit_infusion/stellar_mechanism.json index 9a8f5012c..3a271652b 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/stellar_mechanism.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/stellar_mechanism.json @@ -20,19 +20,19 @@ "spirits": [ { "type": "aerial", - "count": 4 + "count": 16 }, { "type": "aqueous", - "count": 4 + "count": 16 }, { "type": "earthen", - "count": 4 + "count": 16 }, { "type": "infernal", - "count": 4 + "count": 16 }, { "type": "eldritch", diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/tainted_rock_tablet.json b/src/generated/resources/data/malum/recipes/spirit_infusion/tainted_rock_tablet.json index 598c4490e..d0aac62b0 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/tainted_rock_tablet.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/tainted_rock_tablet.json @@ -11,6 +11,7 @@ "item": "malum:tainted_rock" }, "output": { + "count": 2, "item": "malum:tainted_rock_tablet" }, "spirits": [ diff --git a/src/generated/resources/data/malum/recipes/spirit_infusion/void_tablet.json b/src/generated/resources/data/malum/recipes/spirit_infusion/void_tablet.json index 61f838c17..869e4fa1c 100644 --- a/src/generated/resources/data/malum/recipes/spirit_infusion/void_tablet.json +++ b/src/generated/resources/data/malum/recipes/spirit_infusion/void_tablet.json @@ -11,7 +11,7 @@ } ], "input": { - "count": 4, + "count": 1, "item": "malum:tainted_rock_tablet" }, "output": { diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards.json new file mode 100644 index 000000000..e8def5d2a --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:runewood_boards" + }, + "output": { + "item": "malum:soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_slab.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_slab.json new file mode 100644 index 000000000..a528726ad --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_slab.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:runewood_boards_slab" + }, + "output": { + "item": "malum:soulwood_boards_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_stairs.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_stairs.json new file mode 100644 index 000000000..41a97eb21 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/boards_stairs.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:runewood_boards_stairs" + }, + "output": { + "item": "malum:soulwood_boards_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks.json new file mode 100644 index 000000000..1167c67f4 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:rustic_runewood_planks" + }, + "output": { + "item": "malum:rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_slab.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_slab.json new file mode 100644 index 000000000..96681e6f6 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_slab.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:rustic_runewood_planks_slab" + }, + "output": { + "item": "malum:rustic_soulwood_planks_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_stairs.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_stairs.json new file mode 100644 index 000000000..6b1120831 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/rustic_planks_stairs.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:rustic_runewood_planks_stairs" + }, + "output": { + "item": "malum:rustic_soulwood_planks_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards.json new file mode 100644 index 000000000..ae550ea7e --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_runewood_boards" + }, + "output": { + "item": "malum:vertical_soulwood_boards" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_slab.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_slab.json new file mode 100644 index 000000000..709c5450b --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_slab.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_runewood_boards_slab" + }, + "output": { + "item": "malum:vertical_soulwood_boards_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_stairs.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_stairs.json new file mode 100644 index 000000000..e9edc82b5 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_boards_stairs.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_runewood_boards_stairs" + }, + "output": { + "item": "malum:vertical_soulwood_boards_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks.json new file mode 100644 index 000000000..cffec0c5d --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_rustic_runewood_planks" + }, + "output": { + "item": "malum:vertical_rustic_soulwood_planks" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_slab.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_slab.json new file mode 100644 index 000000000..d3386554a --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_slab.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_rustic_runewood_planks_slab" + }, + "output": { + "item": "malum:vertical_rustic_soulwood_planks_slab" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_stairs.json b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_stairs.json new file mode 100644 index 000000000..5798f93ec --- /dev/null +++ b/src/generated/resources/data/malum/recipes/spirit_transmutation/soulwood/vertical_rustic_planks_stairs.json @@ -0,0 +1,10 @@ +{ + "type": "malum:spirit_transmutation", + "group": "soulwood", + "input": { + "item": "malum:vertical_rustic_runewood_planks_stairs" + }, + "output": { + "item": "malum:vertical_rustic_soulwood_planks_stairs" + } +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/totemic_staff.json b/src/generated/resources/data/malum/recipes/totemic_staff.json new file mode 100644 index 000000000..a756bb408 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/totemic_staff.json @@ -0,0 +1,21 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "X": { + "tag": "forge:rods/wooden" + }, + "Y": { + "tag": "malum:runewood_planks" + } + }, + "pattern": [ + " Y", + " X ", + "X " + ], + "result": { + "item": "malum:totemic_staff" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_slab.json b/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_slab.json new file mode 100644 index 000000000..44a17db1c --- /dev/null +++ b/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_rustic_soulwood_planks" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "item": "malum:vertical_rustic_soulwood_planks_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_stairs.json b/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_stairs.json new file mode 100644 index 000000000..b629dc7c4 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/vertical_rustic_soulwood_planks_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_rustic_soulwood_planks" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "item": "malum:vertical_rustic_soulwood_planks_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_slab.json b/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_slab.json new file mode 100644 index 000000000..ca046d3f0 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_slab.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_soulwood_boards" + } + }, + "pattern": [ + "###" + ], + "result": { + "count": 6, + "item": "malum:vertical_soulwood_boards_slab" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_stairs.json b/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_stairs.json new file mode 100644 index 000000000..0293b94d2 --- /dev/null +++ b/src/generated/resources/data/malum/recipes/vertical_soulwood_boards_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "malum:vertical_soulwood_boards" + } + }, + "pattern": [ + "# ", + "## ", + "###" + ], + "result": { + "count": 4, + "item": "malum:vertical_soulwood_boards_stairs" + }, + "show_notification": true +} \ No newline at end of file diff --git a/src/generated/resources/data/malum/tags/items/runewood_with_bark.json b/src/generated/resources/data/malum/tags/items/runewood_board_ingredient.json similarity index 100% rename from src/generated/resources/data/malum/tags/items/runewood_with_bark.json rename to src/generated/resources/data/malum/tags/items/runewood_board_ingredient.json diff --git a/src/generated/resources/data/malum/tags/items/soulwood_with_bark.json b/src/generated/resources/data/malum/tags/items/soulwood_board_ingredient.json similarity index 100% rename from src/generated/resources/data/malum/tags/items/soulwood_with_bark.json rename to src/generated/resources/data/malum/tags/items/soulwood_board_ingredient.json diff --git a/src/generated/resources/data/malum/tags/items/soulwood_planks.json b/src/generated/resources/data/malum/tags/items/soulwood_planks.json index f72d209df..401cf1f5e 100644 --- a/src/generated/resources/data/malum/tags/items/soulwood_planks.json +++ b/src/generated/resources/data/malum/tags/items/soulwood_planks.json @@ -1,3 +1,10 @@ { - "values": [] + "values": [ + "malum:soulwood_planks", + "malum:rustic_soulwood_planks", + "malum:vertical_soulwood_planks", + "malum:vertical_rustic_soulwood_planks", + "malum:soulwood_tiles", + "malum:rustic_soulwood_tiles" + ] } \ No newline at end of file diff --git a/src/generated/resources/data/malum/tags/items/soulwood_slabs.json b/src/generated/resources/data/malum/tags/items/soulwood_slabs.json index f72d209df..00e07e1af 100644 --- a/src/generated/resources/data/malum/tags/items/soulwood_slabs.json +++ b/src/generated/resources/data/malum/tags/items/soulwood_slabs.json @@ -1,3 +1,10 @@ { - "values": [] + "values": [ + "malum:soulwood_planks_slab", + "malum:rustic_soulwood_planks_slab", + "malum:vertical_soulwood_planks_slab", + "malum:vertical_rustic_soulwood_planks_slab", + "malum:soulwood_tiles_slab", + "malum:rustic_soulwood_tiles_slab" + ] } \ No newline at end of file diff --git a/src/generated/resources/data/malum/tags/items/soulwood_stairs.json b/src/generated/resources/data/malum/tags/items/soulwood_stairs.json index f72d209df..ec16ac43e 100644 --- a/src/generated/resources/data/malum/tags/items/soulwood_stairs.json +++ b/src/generated/resources/data/malum/tags/items/soulwood_stairs.json @@ -1,3 +1,10 @@ { - "values": [] + "values": [ + "malum:soulwood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", + "malum:vertical_soulwood_planks_stairs", + "malum:vertical_rustic_soulwood_planks_stairs", + "malum:soulwood_tiles_stairs", + "malum:rustic_soulwood_tiles_stairs" + ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json index cf2cc4b61..8d2cf6cb0 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json +++ b/src/generated/resources/data/minecraft/tags/blocks/mineable/axe.json @@ -4,12 +4,14 @@ "malum:rustic_runewood_planks", "malum:runewood_tiles_stairs", "malum:soulwood_tiles_stairs", + "malum:vertical_soulwood_boards_stairs", "malum:runewood_planks_slab", "malum:brilliant_obelisk_component", + "malum:vertical_rustic_soulwood_planks_slab", "malum:revealed_runewood_log", - "malum:soulwood_panel_slab", "malum:runewood_boards_slab", "malum:runewood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", "malum:soulwood_panel", "malum:runewood_obelisk", "malum:soulwood_item_stand", @@ -22,6 +24,7 @@ "malum:vertical_rustic_runewood_planks_stairs", "malum:solid_soulwood_trapdoor", "malum:runewood_item_pedestal", + "malum:rustic_soulwood_planks", "malum:vertical_soulwood_planks_slab", "malum:runewood_item_stand", "malum:rustic_runewood_tiles", @@ -30,6 +33,7 @@ "malum:vertical_soulwood_planks", "malum:runewood_tiles_slab", "malum:stripped_soulwood_log", + "malum:vertical_soulwood_boards", "malum:vertical_rustic_runewood_planks_slab", "malum:weavers_workbench", "malum:stripped_runewood", @@ -40,9 +44,11 @@ "malum:vertical_runewood_boards", "malum:rustic_runewood_planks_stairs", "malum:runewood_totem_base", + "malum:rustic_soulwood_tiles", "malum:soulwood_totem_base", "malum:rustic_runewood_tiles_stairs", "malum:iridescent_wall_ether_torch", + "malum:vertical_rustic_soulwood_planks_stairs", "malum:runewood_trapdoor", "malum:wall_ether_torch", "malum:vertical_runewood_planks", @@ -55,7 +61,7 @@ "malum:soulwood_trapdoor", "malum:runewood_panel", "malum:runewood_wall_sign", - "malum:soulwood_panel_stairs", + "malum:rustic_soulwood_tiles_slab", "malum:soulwood_log", "malum:solid_runewood_trapdoor", "malum:soulwood_item_pedestal", @@ -67,12 +73,18 @@ "malum:exposed_runewood_log", "malum:blighted_soulwood", "malum:ether_torch", + "malum:soulwood_boards_stairs", + "malum:soulwood_boards_slab", + "malum:rustic_soulwood_planks_slab", "malum:runewood_sign", + "malum:soulwood_boards", "malum:spirit_altar", "malum:ritual_plinth", "malum:runewood_planks_button", "malum:rustic_runewood_tiles_slab", "malum:cut_runewood_planks", + "malum:vertical_soulwood_boards_slab", + "malum:rustic_soulwood_tiles_stairs", "malum:revealed_soulwood_log", "malum:runewood_log", "malum:runewood_door", @@ -91,6 +103,7 @@ "malum:soulwood_planks", "malum:soulwood_planks_pressure_plate", "malum:soulwood_totem_pole", - "malum:runewood_planks_fence_gate" + "malum:runewood_planks_fence_gate", + "malum:vertical_rustic_soulwood_planks" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/planks.json b/src/generated/resources/data/minecraft/tags/blocks/planks.json index c71825752..bead932e4 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/planks.json +++ b/src/generated/resources/data/minecraft/tags/blocks/planks.json @@ -1,14 +1,18 @@ { "values": [ "malum:rustic_runewood_planks", + "malum:rustic_soulwood_planks", "malum:vertical_soulwood_planks", + "malum:vertical_soulwood_boards", "malum:vertical_runewood_boards", "malum:vertical_runewood_planks", "malum:runewood_boards", "malum:cut_soulwood_planks", + "malum:soulwood_boards", "malum:cut_runewood_planks", "malum:vertical_rustic_runewood_planks", "malum:runewood_planks", - "malum:soulwood_planks" + "malum:soulwood_planks", + "malum:vertical_rustic_soulwood_planks" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/slabs.json b/src/generated/resources/data/minecraft/tags/blocks/slabs.json index 09528f1c1..786df0178 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/slabs.json @@ -2,8 +2,8 @@ "values": [ "malum:runewood_planks_slab", "malum:runic_tainted_rock_bricks_slab", + "malum:vertical_rustic_soulwood_planks_slab", "malum:polished_twisted_rock_slab", - "malum:soulwood_panel_slab", "malum:runewood_boards_slab", "malum:small_twisted_rock_bricks_slab", "malum:rustic_runewood_planks_slab", @@ -22,12 +22,16 @@ "malum:vertical_runewood_planks_slab", "malum:vertical_runewood_boards_slab", "malum:twisted_rock_bricks_slab", + "malum:rustic_soulwood_tiles_slab", "malum:tainted_rock_bricks_slab", "malum:smooth_tainted_rock_slab", "malum:runic_small_twisted_rock_bricks_slab", "malum:smooth_twisted_rock_slab", + "malum:soulwood_boards_slab", + "malum:rustic_soulwood_planks_slab", "malum:rustic_runewood_tiles_slab", "malum:tainted_rock_tiles_slab", + "malum:vertical_soulwood_boards_slab", "malum:twisted_rock_slab", "malum:runic_tainted_rock_tiles_slab" ] diff --git a/src/generated/resources/data/minecraft/tags/blocks/stairs.json b/src/generated/resources/data/minecraft/tags/blocks/stairs.json index 72b456770..b628af24d 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/stairs.json @@ -3,9 +3,11 @@ "malum:runewood_tiles_stairs", "malum:runic_twisted_rock_bricks_stairs", "malum:soulwood_tiles_stairs", + "malum:vertical_soulwood_boards_stairs", "malum:small_tainted_rock_bricks_stairs", "malum:twisted_rock_bricks_stairs", "malum:runewood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", "malum:tainted_rock_stairs", "malum:vertical_rustic_runewood_planks_stairs", "malum:vertical_runewood_boards_stairs", @@ -17,14 +19,16 @@ "malum:smooth_twisted_rock_stairs", "malum:runic_small_twisted_rock_bricks_stairs", "malum:rustic_runewood_tiles_stairs", + "malum:vertical_rustic_soulwood_planks_stairs", "malum:polished_tainted_rock_stairs", "malum:runewood_boards_stairs", "malum:tainted_rock_bricks_stairs", - "malum:soulwood_panel_stairs", "malum:vertical_soulwood_planks_stairs", "malum:runic_tainted_rock_bricks_stairs", "malum:runic_small_tainted_rock_bricks_stairs", + "malum:soulwood_boards_stairs", "malum:polished_twisted_rock_stairs", + "malum:rustic_soulwood_tiles_stairs", "malum:soulwood_planks_stairs", "malum:tainted_rock_tiles_stairs", "malum:runic_tainted_rock_tiles_stairs", diff --git a/src/generated/resources/data/minecraft/tags/blocks/wooden_slabs.json b/src/generated/resources/data/minecraft/tags/blocks/wooden_slabs.json index a0e932ab3..b660cbc99 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/wooden_slabs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/wooden_slabs.json @@ -1,7 +1,7 @@ { "values": [ "malum:runewood_planks_slab", - "malum:soulwood_panel_slab", + "malum:vertical_rustic_soulwood_planks_slab", "malum:runewood_boards_slab", "malum:rustic_runewood_planks_slab", "malum:vertical_soulwood_planks_slab", @@ -11,6 +11,10 @@ "malum:soulwood_tiles_slab", "malum:vertical_runewood_planks_slab", "malum:vertical_runewood_boards_slab", - "malum:rustic_runewood_tiles_slab" + "malum:rustic_soulwood_tiles_slab", + "malum:soulwood_boards_slab", + "malum:rustic_soulwood_planks_slab", + "malum:rustic_runewood_tiles_slab", + "malum:vertical_soulwood_boards_slab" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/blocks/wooden_stairs.json b/src/generated/resources/data/minecraft/tags/blocks/wooden_stairs.json index 5b84f3bec..5bb8fd825 100644 --- a/src/generated/resources/data/minecraft/tags/blocks/wooden_stairs.json +++ b/src/generated/resources/data/minecraft/tags/blocks/wooden_stairs.json @@ -2,15 +2,19 @@ "values": [ "malum:runewood_tiles_stairs", "malum:soulwood_tiles_stairs", + "malum:vertical_soulwood_boards_stairs", "malum:runewood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", "malum:vertical_rustic_runewood_planks_stairs", "malum:vertical_runewood_boards_stairs", "malum:vertical_runewood_planks_stairs", "malum:rustic_runewood_planks_stairs", "malum:rustic_runewood_tiles_stairs", + "malum:vertical_rustic_soulwood_planks_stairs", "malum:runewood_boards_stairs", - "malum:soulwood_panel_stairs", "malum:vertical_soulwood_planks_stairs", + "malum:soulwood_boards_stairs", + "malum:rustic_soulwood_tiles_stairs", "malum:soulwood_planks_stairs" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/planks.json b/src/generated/resources/data/minecraft/tags/items/planks.json index c71825752..bead932e4 100644 --- a/src/generated/resources/data/minecraft/tags/items/planks.json +++ b/src/generated/resources/data/minecraft/tags/items/planks.json @@ -1,14 +1,18 @@ { "values": [ "malum:rustic_runewood_planks", + "malum:rustic_soulwood_planks", "malum:vertical_soulwood_planks", + "malum:vertical_soulwood_boards", "malum:vertical_runewood_boards", "malum:vertical_runewood_planks", "malum:runewood_boards", "malum:cut_soulwood_planks", + "malum:soulwood_boards", "malum:cut_runewood_planks", "malum:vertical_rustic_runewood_planks", "malum:runewood_planks", - "malum:soulwood_planks" + "malum:soulwood_planks", + "malum:vertical_rustic_soulwood_planks" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/slabs.json b/src/generated/resources/data/minecraft/tags/items/slabs.json index 09528f1c1..786df0178 100644 --- a/src/generated/resources/data/minecraft/tags/items/slabs.json +++ b/src/generated/resources/data/minecraft/tags/items/slabs.json @@ -2,8 +2,8 @@ "values": [ "malum:runewood_planks_slab", "malum:runic_tainted_rock_bricks_slab", + "malum:vertical_rustic_soulwood_planks_slab", "malum:polished_twisted_rock_slab", - "malum:soulwood_panel_slab", "malum:runewood_boards_slab", "malum:small_twisted_rock_bricks_slab", "malum:rustic_runewood_planks_slab", @@ -22,12 +22,16 @@ "malum:vertical_runewood_planks_slab", "malum:vertical_runewood_boards_slab", "malum:twisted_rock_bricks_slab", + "malum:rustic_soulwood_tiles_slab", "malum:tainted_rock_bricks_slab", "malum:smooth_tainted_rock_slab", "malum:runic_small_twisted_rock_bricks_slab", "malum:smooth_twisted_rock_slab", + "malum:soulwood_boards_slab", + "malum:rustic_soulwood_planks_slab", "malum:rustic_runewood_tiles_slab", "malum:tainted_rock_tiles_slab", + "malum:vertical_soulwood_boards_slab", "malum:twisted_rock_slab", "malum:runic_tainted_rock_tiles_slab" ] diff --git a/src/generated/resources/data/minecraft/tags/items/stairs.json b/src/generated/resources/data/minecraft/tags/items/stairs.json index 72b456770..b628af24d 100644 --- a/src/generated/resources/data/minecraft/tags/items/stairs.json +++ b/src/generated/resources/data/minecraft/tags/items/stairs.json @@ -3,9 +3,11 @@ "malum:runewood_tiles_stairs", "malum:runic_twisted_rock_bricks_stairs", "malum:soulwood_tiles_stairs", + "malum:vertical_soulwood_boards_stairs", "malum:small_tainted_rock_bricks_stairs", "malum:twisted_rock_bricks_stairs", "malum:runewood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", "malum:tainted_rock_stairs", "malum:vertical_rustic_runewood_planks_stairs", "malum:vertical_runewood_boards_stairs", @@ -17,14 +19,16 @@ "malum:smooth_twisted_rock_stairs", "malum:runic_small_twisted_rock_bricks_stairs", "malum:rustic_runewood_tiles_stairs", + "malum:vertical_rustic_soulwood_planks_stairs", "malum:polished_tainted_rock_stairs", "malum:runewood_boards_stairs", "malum:tainted_rock_bricks_stairs", - "malum:soulwood_panel_stairs", "malum:vertical_soulwood_planks_stairs", "malum:runic_tainted_rock_bricks_stairs", "malum:runic_small_tainted_rock_bricks_stairs", + "malum:soulwood_boards_stairs", "malum:polished_twisted_rock_stairs", + "malum:rustic_soulwood_tiles_stairs", "malum:soulwood_planks_stairs", "malum:tainted_rock_tiles_stairs", "malum:runic_tainted_rock_tiles_stairs", diff --git a/src/generated/resources/data/minecraft/tags/items/wooden_slabs.json b/src/generated/resources/data/minecraft/tags/items/wooden_slabs.json index a0e932ab3..b660cbc99 100644 --- a/src/generated/resources/data/minecraft/tags/items/wooden_slabs.json +++ b/src/generated/resources/data/minecraft/tags/items/wooden_slabs.json @@ -1,7 +1,7 @@ { "values": [ "malum:runewood_planks_slab", - "malum:soulwood_panel_slab", + "malum:vertical_rustic_soulwood_planks_slab", "malum:runewood_boards_slab", "malum:rustic_runewood_planks_slab", "malum:vertical_soulwood_planks_slab", @@ -11,6 +11,10 @@ "malum:soulwood_tiles_slab", "malum:vertical_runewood_planks_slab", "malum:vertical_runewood_boards_slab", - "malum:rustic_runewood_tiles_slab" + "malum:rustic_soulwood_tiles_slab", + "malum:soulwood_boards_slab", + "malum:rustic_soulwood_planks_slab", + "malum:rustic_runewood_tiles_slab", + "malum:vertical_soulwood_boards_slab" ] } \ No newline at end of file diff --git a/src/generated/resources/data/minecraft/tags/items/wooden_stairs.json b/src/generated/resources/data/minecraft/tags/items/wooden_stairs.json index 5b84f3bec..5bb8fd825 100644 --- a/src/generated/resources/data/minecraft/tags/items/wooden_stairs.json +++ b/src/generated/resources/data/minecraft/tags/items/wooden_stairs.json @@ -2,15 +2,19 @@ "values": [ "malum:runewood_tiles_stairs", "malum:soulwood_tiles_stairs", + "malum:vertical_soulwood_boards_stairs", "malum:runewood_planks_stairs", + "malum:rustic_soulwood_planks_stairs", "malum:vertical_rustic_runewood_planks_stairs", "malum:vertical_runewood_boards_stairs", "malum:vertical_runewood_planks_stairs", "malum:rustic_runewood_planks_stairs", "malum:rustic_runewood_tiles_stairs", + "malum:vertical_rustic_soulwood_planks_stairs", "malum:runewood_boards_stairs", - "malum:soulwood_panel_stairs", "malum:vertical_soulwood_planks_stairs", + "malum:soulwood_boards_stairs", + "malum:rustic_soulwood_tiles_stairs", "malum:soulwood_planks_stairs" ] } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/client/renderer/block/MoteOfManaRenderer.java b/src/main/java/com/sammy/malum/client/renderer/block/MoteOfManaRenderer.java index e234dac7b..be25cf07b 100644 --- a/src/main/java/com/sammy/malum/client/renderer/block/MoteOfManaRenderer.java +++ b/src/main/java/com/sammy/malum/client/renderer/block/MoteOfManaRenderer.java @@ -79,12 +79,12 @@ public static void applyWobble(Vector3f[] offsets, float initialOffset) { } public static void applyWobble(Vector3f[] offsets, float initialOffset, float strength) { - float value = initialOffset; + float offset = initialOffset; for (Vector3f vector3f : offsets) { double time = ((Minecraft.getInstance().level.getGameTime() / 40.0F) % Math.PI * 2); - float sine = Mth.sin((float) (time + (value * Math.PI * 2))) * strength; + float sine = Mth.sin((float) (time + (offset * Math.PI * 2))) * strength; vector3f.add(sine, -sine, sine); - value += 0.25f; + offset += 0.25f; } } } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/client/renderer/block/SpiritCatalyzerRenderer.java b/src/main/java/com/sammy/malum/client/renderer/block/SpiritCatalyzerRenderer.java index f897e2c2d..5568c3fc1 100644 --- a/src/main/java/com/sammy/malum/client/renderer/block/SpiritCatalyzerRenderer.java +++ b/src/main/java/com/sammy/malum/client/renderer/block/SpiritCatalyzerRenderer.java @@ -2,7 +2,6 @@ import com.mojang.blaze3d.vertex.*; import com.mojang.math.*; -import com.sammy.malum.*; import com.sammy.malum.client.renderer.entity.*; import com.sammy.malum.common.block.curiosities.spirit_crucible.catalyzer.*; import com.sammy.malum.core.systems.spirit.*; @@ -68,7 +67,7 @@ public void render(SpiritCatalyzerCoreBlockEntity blockEntityIn, float partialTi poseStack.translate(-blockPos.getX(), -blockPos.getY(), -blockPos.getZ()); renderBeam(blockEntityIn, poseStack, spirit, entry.getValue()); poseStack.translate(blockPos.getX()+offset.x, blockPos.getY()+offset.y, blockPos.getZ()+offset.z); - FloatingItemEntityRenderer.renderSpiritGlimmer(poseStack, spirit, partialTicks); + FloatingItemEntityRenderer.renderSpiritGlimmer(poseStack, spirit, entry.getValue() / 60f, partialTicks); poseStack.translate(-offset.x, -offset.y, -offset.z); } } diff --git a/src/main/java/com/sammy/malum/client/renderer/block/TotemPoleRenderer.java b/src/main/java/com/sammy/malum/client/renderer/block/TotemPoleRenderer.java index c9f97159f..8aab68a31 100644 --- a/src/main/java/com/sammy/malum/client/renderer/block/TotemPoleRenderer.java +++ b/src/main/java/com/sammy/malum/client/renderer/block/TotemPoleRenderer.java @@ -1,21 +1,23 @@ package com.sammy.malum.client.renderer.block; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Axis; -import com.sammy.malum.common.block.curiosities.totem.TotemPoleBlockEntity; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.blockentity.BlockEntityRenderer; -import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; -import net.minecraft.core.Direction; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import org.joml.Vector3f; -import team.lodestar.lodestone.handlers.RenderHandler; -import team.lodestar.lodestone.registry.client.LodestoneRenderTypeRegistry; -import team.lodestar.lodestone.systems.rendering.VFXBuilders; +import com.mojang.blaze3d.vertex.*; +import com.mojang.math.*; +import com.sammy.malum.common.block.curiosities.totem.*; +import net.minecraft.client.*; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.blockentity.*; +import net.minecraft.core.*; +import net.minecraft.util.*; +import net.minecraft.world.level.*; +import net.minecraft.world.level.block.state.properties.*; +import org.joml.*; +import team.lodestar.lodestone.handlers.*; +import team.lodestar.lodestone.registry.client.*; +import team.lodestar.lodestone.systems.easing.*; +import team.lodestar.lodestone.systems.rendering.*; import java.awt.*; +import java.lang.Math; public class TotemPoleRenderer implements BlockEntityRenderer { @@ -29,22 +31,55 @@ public void render(TotemPoleBlockEntity blockEntityIn, float partialTicks, PoseS if (blockEntityIn.type == null) { return; } - renderQuad(blockEntityIn.type.getTotemGlowTexture(), blockEntityIn.type.getPrimaryColor(), blockEntityIn.chargeProgress / 20f, direction, poseStack); - } - - public void renderQuad(ResourceLocation resourceLocation, Color color, float alpha, Direction direction, PoseStack poseStack) { - VertexConsumer consumer = RenderHandler.DELAYED_RENDER.getBuffer(LodestoneRenderTypeRegistry.ADDITIVE_TEXTURE.applyAndCache(resourceLocation)); - Vector3f[] positions = new Vector3f[]{new Vector3f(0, 0, 2.01f), new Vector3f(2, 0, 2.01f), new Vector3f(2, 2, 2.01f), new Vector3f(0, 2, 2.01f)}; + Level level = Minecraft.getInstance().level; + VertexConsumer consumer = RenderHandler.DELAYED_RENDER.getBuffer(LodestoneRenderTypeRegistry.ADDITIVE_TEXTURE.applyAndCache(blockEntityIn.type.getTotemGlowTexture())); poseStack.pushPose(); poseStack.translate(0.5f, 0.5f, 0.5f); poseStack.mulPose(Axis.YN.rotationDegrees(direction.toYRot())); poseStack.translate(-0.5f, -0.5f, -0.5f); - VFXBuilders.createWorld() - .setPosColorTexLightmapDefaultFormat() - .setColor(color, alpha) - .renderQuad(consumer, poseStack, positions, 0.5f); + + float pct = blockEntityIn.chargeProgress / 20f; + Color color = blockEntityIn.type.getPrimaryColor(); + float alphaBonus = pct * 0.5f; + float alpha = pct * 0.2f + alphaBonus; + float ease = Easing.SINE_OUT.ease(pct, 0, 1, 1); + float distance = 0.2f - ease * 0.2f; + float wobbleStrength = 0.1f - ease * 0.075f; + + Vector3f[] positions = new Vector3f[]{new Vector3f(-0.025f, -0.025f, 1.01f), new Vector3f(1.025f, -0.025f, 1.01f), new Vector3f(1.025f, 1.025f, 1.01f), new Vector3f(-0.025f, 1.025f, 1.01f)}; + + float gameTime = level.getGameTime() + partialTicks; + int time = 160; + for (int i = 0; i < 4; i++) { + applyWobble(positions, wobbleStrength); + double translation = 0; + if (distance > 0) { + boolean odd = i % 2 == 0; + double angle = i / 4f * (Math.PI * 2); + angle += ((gameTime % time) / time) * (Math.PI * 2); + double offset = (distance * Math.cos(angle)); + translation = odd ? -offset : offset; + } + poseStack.translate(translation, 0, 0); + VFXBuilders.createWorld() + .setPosColorTexLightmapDefaultFormat() + .setColor(color, alpha) + .renderQuad(consumer, poseStack, positions, 1f); + poseStack.translate(-translation, 0, 0); + alpha *= 1 - alphaBonus; + } poseStack.popPose(); } + + public static void applyWobble(Vector3f[] offsets, float strength) { + float offset = 0; + for (Vector3f vector3f : offsets) { + double time = ((Minecraft.getInstance().level.getGameTime() / 40.0F) % Math.PI * 2); + float sine = Mth.sin((float) (time + (offset * Math.PI * 2))) * strength; + vector3f.add(sine, -sine, 0); + offset += 0.25f; + } + } } diff --git a/src/main/java/com/sammy/malum/client/renderer/entity/FloatingItemEntityRenderer.java b/src/main/java/com/sammy/malum/client/renderer/entity/FloatingItemEntityRenderer.java index b4d7f7728..1150c6897 100644 --- a/src/main/java/com/sammy/malum/client/renderer/entity/FloatingItemEntityRenderer.java +++ b/src/main/java/com/sammy/malum/client/renderer/entity/FloatingItemEntityRenderer.java @@ -1,38 +1,31 @@ package com.sammy.malum.client.renderer.entity; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Axis; -import com.sammy.malum.common.entity.FloatingItemEntity; -import com.sammy.malum.core.systems.spirit.MalumSpiritType; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.client.renderer.entity.EntityRendererProvider; -import net.minecraft.client.renderer.entity.ItemRenderer; -import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.client.renderer.texture.TextureAtlas; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.util.Mth; -import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Level; -import net.minecraft.world.phys.Vec3; -import team.lodestar.lodestone.helpers.ColorHelper; -import team.lodestar.lodestone.helpers.EasingHelper; -import team.lodestar.lodestone.registry.client.LodestoneRenderTypeRegistry; -import team.lodestar.lodestone.systems.easing.Easing; -import team.lodestar.lodestone.systems.rendering.VFXBuilders; -import team.lodestar.lodestone.systems.rendering.trail.TrailPoint; +import com.mojang.blaze3d.vertex.*; +import com.mojang.math.*; +import com.sammy.malum.common.entity.*; +import com.sammy.malum.core.systems.spirit.*; +import net.minecraft.client.*; +import net.minecraft.client.renderer.*; +import net.minecraft.client.renderer.entity.*; +import net.minecraft.client.renderer.texture.*; +import net.minecraft.client.resources.model.*; +import net.minecraft.resources.*; +import net.minecraft.util.*; +import net.minecraft.world.item.*; +import net.minecraft.world.level.*; +import net.minecraft.world.phys.*; +import team.lodestar.lodestone.helpers.*; +import team.lodestar.lodestone.registry.client.*; +import team.lodestar.lodestone.systems.easing.*; +import team.lodestar.lodestone.systems.rendering.*; +import team.lodestar.lodestone.systems.rendering.trail.*; import java.awt.*; import java.util.List; -import static com.sammy.malum.MalumMod.malumPath; -import static team.lodestar.lodestone.LodestoneLib.lodestonePath; -import static team.lodestar.lodestone.handlers.RenderHandler.DELAYED_RENDER; +import static com.sammy.malum.MalumMod.*; +import static team.lodestar.lodestone.LodestoneLib.*; +import static team.lodestar.lodestone.handlers.RenderHandler.*; public class FloatingItemEntityRenderer extends EntityRenderer { public final ItemRenderer itemRenderer; @@ -97,7 +90,13 @@ public static void renderSpirit(FloatingItemEntity entity, ItemRenderer itemRend public static void renderSpiritGlimmer(PoseStack poseStack, MalumSpiritType spiritType, float partialTicks) { renderSpiritGlimmer(poseStack, spiritType.getPrimaryColor(), spiritType.getSecondaryColor(), partialTicks); } + public static void renderSpiritGlimmer(PoseStack poseStack, MalumSpiritType spiritType, float alphaMultiplier, float partialTicks) { + renderSpiritGlimmer(poseStack, spiritType.getPrimaryColor(), spiritType.getSecondaryColor(), alphaMultiplier, partialTicks); + } public static void renderSpiritGlimmer(PoseStack poseStack, Color primaryColor, Color secondaryColor, float partialTicks) { + renderSpiritGlimmer(poseStack, primaryColor, secondaryColor, 1f, partialTicks); + } + public static void renderSpiritGlimmer(PoseStack poseStack, Color primaryColor, Color secondaryColor, float alphaMultiplier, float partialTicks) { Level level = Minecraft.getInstance().level; VertexConsumer bloom = DELAYED_RENDER.getBuffer(LodestoneRenderTypeRegistry.ADDITIVE_TEXTURE.applyAndCache(lodestonePath("textures/particle/twinkle.png"))); VertexConsumer star = DELAYED_RENDER.getBuffer(LodestoneRenderTypeRegistry.ADDITIVE_TEXTURE.applyAndCache(malumPath("textures/particle/star.png"))); @@ -110,9 +109,9 @@ public static void renderSpiritGlimmer(PoseStack poseStack, Color primaryColor, poseStack.pushPose(); poseStack.mulPose(Minecraft.getInstance().getEntityRenderDispatcher().cameraOrientation()); poseStack.mulPose(Axis.YP.rotationDegrees(180f)); - builder.setAlpha(0.6f).renderQuad(star, poseStack, scale * 1.2f); - builder.setAlpha(0.8f).renderQuad(bloom, poseStack, scale * 0.8f); - builder.setAlpha(0.2f).setColor(secondaryColor).renderQuad(bloom, poseStack, scale * 1.2f); + builder.setAlpha(0.6f * alphaMultiplier).renderQuad(star, poseStack, scale * 1.2f); + builder.setAlpha(0.8f * alphaMultiplier).renderQuad(bloom, poseStack, scale * 0.8f); + builder.setAlpha(0.2f * alphaMultiplier).setColor(secondaryColor).renderQuad(bloom, poseStack, scale * 1.2f); poseStack.popPose(); } diff --git a/src/main/java/com/sammy/malum/client/screen/codex/ArcanaProgressionScreen.java b/src/main/java/com/sammy/malum/client/screen/codex/ArcanaProgressionScreen.java index 6ec38aa9d..145a9fb90 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/ArcanaProgressionScreen.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/ArcanaProgressionScreen.java @@ -89,7 +89,12 @@ public static void setupEntries() { TinkeringEntries.setupEntries(ENTRIES); RuneWorkingEntries.setupEntries(ENTRIES); TotemMagicEntries.setupEntries(ENTRIES); - RitualEntries.setupEntries(ENTRIES); + + ENTRIES.add(new BookEntry<>( + "rituals", 0, 17) + .setWidgetConfig(w -> w.setIcon(RITUAL_PLINTH).setStyle(BookWidgetStyle.GILDED_SOULWOOD)) + ); +// RitualEntries.setupEntries(ENTRIES); ENTRIES.add(new BookEntry<>( "necklace_of_the_mystic_mirror", 6, 12) diff --git a/src/main/java/com/sammy/malum/client/screen/codex/EntryScreen.java b/src/main/java/com/sammy/malum/client/screen/codex/EntryScreen.java index acbe4f2e7..17fa1b3bd 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/EntryScreen.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/EntryScreen.java @@ -123,6 +123,19 @@ public boolean mouseScrolled(double mouseX, double mouseY, double scroll) { return super.mouseScrolled(mouseX, mouseY, scroll); } + @Override + public boolean keyPressed(int keyCode, int scanCode, int modifiers) { + if (minecraft.options.keyRight.matches(keyCode, scanCode)) { + nextPage(); + return true; + } + else if (minecraft.options.keyLeft.matches(keyCode, scanCode)) { + previousPage(false); + return true; + } + return super.keyPressed(keyCode, scanCode, modifiers); + } + @Override public void onClose() { close(false); diff --git a/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java b/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java index ae02950d6..0bb812fc0 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/VoidProgressionScreen.java @@ -115,7 +115,7 @@ public static void setupEntries() { .addPage(new TextPage("void.mnemonic_fragment.2")) ); VOID_ENTRIES.add(new BookEntry<>( - "void.malignant_lead", 6, 4) + "void.malignant_lead", 6, 5) .setWidgetConfig(w -> w.setIcon(MALIGNANT_LEAD).setStyle(BookWidgetStyle.SOULWOOD)) .addPage(new VoidTransmutationPage("void.malignant_lead", "void.malignant_lead.1", MALIGNANT_LEAD.get())) .addPage(new TextPage("void.malignant_lead.2")) diff --git a/src/main/java/com/sammy/malum/client/screen/codex/entries/ArtificeEntries.java b/src/main/java/com/sammy/malum/client/screen/codex/entries/ArtificeEntries.java index 47f382f97..54649b23e 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/entries/ArtificeEntries.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/entries/ArtificeEntries.java @@ -57,10 +57,12 @@ public static void setupEntries(List entries) { "soulhunter_gear", 4, 7) .setWidgetConfig(w -> w.setIcon(SOUL_HUNTER_CLOAK)) .addPage(new HeadlineTextPage("soulhunter_gear", "soulhunter_gear.1")) - .addPage(SpiritInfusionPage.fromOutput(SOUL_HUNTER_CLOAK.get())) - .addPage(SpiritInfusionPage.fromOutput(SOUL_HUNTER_ROBE.get())) - .addPage(SpiritInfusionPage.fromOutput(SOUL_HUNTER_LEGGINGS.get())) - .addPage(SpiritInfusionPage.fromOutput(SOUL_HUNTER_BOOTS.get())) + .addPage(new CyclingPage( + SpiritInfusionPage.fromOutput(SOUL_HUNTER_CLOAK.get()), + SpiritInfusionPage.fromOutput(SOUL_HUNTER_ROBE.get()), + SpiritInfusionPage.fromOutput(SOUL_HUNTER_LEGGINGS.get()), + SpiritInfusionPage.fromOutput(SOUL_HUNTER_BOOTS.get()) + )) ); entries.add(new BookEntry<>( diff --git a/src/main/java/com/sammy/malum/client/screen/codex/entries/TotemMagicEntries.java b/src/main/java/com/sammy/malum/client/screen/codex/entries/TotemMagicEntries.java index 254d84179..098e6097f 100644 --- a/src/main/java/com/sammy/malum/client/screen/codex/entries/TotemMagicEntries.java +++ b/src/main/java/com/sammy/malum/client/screen/codex/entries/TotemMagicEntries.java @@ -28,6 +28,19 @@ public static void setupEntries(List entries) { .addPage(SpiritInfusionPage.fromOutput(RUNEWOOD_TOTEM_BASE.get())) ); + entries.add(new BookEntry<>( + "managing_totems", 0, 10) + .setWidgetConfig(w -> w.setIcon(TOTEMIC_STAFF).setStyle(BookWidgetStyle.SMALL_RUNEWOOD)) + .addPage(new HeadlineTextItemPage("totemic_staff", "totemic_staff.1", TOTEMIC_STAFF.get())) + .addPage(new TextPage("totemic_staff.2")) + .addPage(new TextPage("totemic_staff.3")) + .addPage(new CraftingBookPage(TOTEMIC_STAFF.get(), + EMPTY, EMPTY, RUNEWOOD_PLANKS.get(), + EMPTY, STICK, EMPTY, + STICK, EMPTY, EMPTY + )) + ); + entries.add(new BookEntry( "sacred_rite", -2, 10) .setWidgetSupplier(RiteEntryObject::new) diff --git a/src/main/java/com/sammy/malum/common/block/curiosities/spirit_altar/SpiritAltarBlockEntity.java b/src/main/java/com/sammy/malum/common/block/curiosities/spirit_altar/SpiritAltarBlockEntity.java index 12cebf275..146552f77 100644 --- a/src/main/java/com/sammy/malum/common/block/curiosities/spirit_altar/SpiritAltarBlockEntity.java +++ b/src/main/java/com/sammy/malum/common/block/curiosities/spirit_altar/SpiritAltarBlockEntity.java @@ -294,9 +294,9 @@ public void craft() { } } spiritInventory.updateData(); - ParticleEffectTypeRegistry.SPIRIT_ALTAR_CRAFTS.createPositionedEffect(level, new PositionEffectData(worldPosition), ColorEffectData.fromRecipe(recipe.spirits)); progress *= 0.75f; extrasInventory.clear(); + ParticleEffectTypeRegistry.SPIRIT_ALTAR_CRAFTS.createPositionedEffect(level, new PositionEffectData(worldPosition), ColorEffectData.fromRecipe(recipe.spirits)); level.playSound(null, worldPosition, SoundRegistry.ALTAR_CRAFT.get(), SoundSource.BLOCKS, 1, 0.9f + level.random.nextFloat() * 0.2f); level.addFreshEntity(new ItemEntity(level, itemPos.x, itemPos.y, itemPos.z, outputStack)); init(); diff --git a/src/main/java/com/sammy/malum/common/block/curiosities/spirit_crucible/SpiritCrucibleCoreBlockEntity.java b/src/main/java/com/sammy/malum/common/block/curiosities/spirit_crucible/SpiritCrucibleCoreBlockEntity.java index ede2e9a71..5904db8d2 100644 --- a/src/main/java/com/sammy/malum/common/block/curiosities/spirit_crucible/SpiritCrucibleCoreBlockEntity.java +++ b/src/main/java/com/sammy/malum/common/block/curiosities/spirit_crucible/SpiritCrucibleCoreBlockEntity.java @@ -12,6 +12,7 @@ import com.sammy.malum.registry.common.block.*; import com.sammy.malum.registry.common.item.*; import com.sammy.malum.visual_effects.*; +import com.sammy.malum.visual_effects.networked.data.*; import net.minecraft.core.*; import net.minecraft.nbt.*; import net.minecraft.server.level.*; @@ -308,6 +309,14 @@ public void craft() { } spiritInventory.updateData(); + final boolean instantCompletion = instantCompletionChance > 0 && random.nextFloat() < instantCompletionChance; + progress = instantCompletion ? recipe.time - 10 * processingSpeed : 0; + if (instantCompletion) { + level.playSound(null, worldPosition, SoundRegistry.WARPING_ENGINE_REVERBERATES.get(), SoundSource.BLOCKS, 1.5f, 1f + random.nextFloat() * 0.25f); + } + acceleratorData.globalAttributeModifier = instantCompletion ? acceleratorData.globalAttributeModifier + 0.2f : 0; + ParticleEffectTypeRegistry.SPIRIT_CRUCIBLE_CRAFTS.createPositionedEffect(level, new PositionEffectData(worldPosition), ColorEffectData.fromRecipe(recipe.spirits)); + level.playSound(null, worldPosition, SoundRegistry.CRUCIBLE_CRAFT.get(), SoundSource.BLOCKS, 1, 0.75f + random.nextFloat() * 0.5f); level.addFreshEntity(new ItemEntity(level, itemPos.x, itemPos.y, itemPos.z, outputStack)); while (bonusYieldChance > 0) { if (bonusYieldChance >= 1 || random.nextFloat() < bonusYieldChance) { @@ -315,14 +324,7 @@ public void craft() { } bonusYieldChance-=1; } - final boolean instantCompletion = instantCompletionChance > 0 && random.nextFloat() < instantCompletionChance; - progress = instantCompletion ? recipe.time - 10 * processingSpeed : 0; - if (instantCompletion) { - level.playSound(null, worldPosition, SoundRegistry.WARPING_ENGINE_REVERBERATES.get(), SoundSource.BLOCKS, 1.5f, 1f + random.nextFloat() * 0.25f); - } - acceleratorData.globalAttributeModifier = instantCompletion ? acceleratorData.globalAttributeModifier + 0.2f : 0; recipe = SpiritFocusingRecipe.getRecipe(level, stack, spiritInventory.nonEmptyItemStacks); - level.playSound(null, worldPosition, SoundRegistry.CRUCIBLE_CRAFT.get(), SoundSource.BLOCKS, 1, 0.75f + random.nextFloat() * 0.5f); BlockHelper.updateAndNotifyState(level, worldPosition); } diff --git a/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemBaseBlockEntity.java b/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemBaseBlockEntity.java index 4d54cf6a1..f2e646c70 100644 --- a/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemBaseBlockEntity.java +++ b/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemBaseBlockEntity.java @@ -110,7 +110,7 @@ public InteractionResult onUse(Player player, InteractionHand hand) { if (active && rite == null) { return InteractionResult.FAIL; } - if (!level.getBlockState(getBlockPos().above()).isAir()) { + if (level.getBlockEntity(worldPosition.above()) instanceof TotemPoleBlockEntity) { if (!level.isClientSide) { if (active) { endRite(); diff --git a/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemPoleBlockEntity.java b/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemPoleBlockEntity.java index c219999ab..425734458 100644 --- a/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemPoleBlockEntity.java +++ b/src/main/java/com/sammy/malum/common/block/curiosities/totem/TotemPoleBlockEntity.java @@ -1,46 +1,42 @@ package com.sammy.malum.common.block.curiosities.totem; -import com.google.common.collect.Sets; -import com.sammy.malum.common.block.storage.stand.ItemStandBlockEntity; +import com.google.common.collect.*; +import com.sammy.malum.common.block.storage.stand.*; import com.sammy.malum.common.item.curiosities.tools.*; -import com.sammy.malum.common.packets.particle.curiosities.rite.generic.TotemPoleActivationEffectPacket; -import com.sammy.malum.core.helper.SpiritHelper; -import com.sammy.malum.core.systems.spirit.MalumSpiritType; -import com.sammy.malum.registry.common.SoundRegistry; -import com.sammy.malum.registry.common.block.BlockEntityRegistry; -import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction; -import net.minecraft.nbt.CompoundTag; -import net.minecraft.sounds.SoundEvents; -import net.minecraft.sounds.SoundSource; -import net.minecraft.util.Mth; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.block.Block; -import net.minecraft.world.level.block.entity.BlockEntity; -import net.minecraft.world.level.block.entity.BlockEntityType; -import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.phys.Vec3; -import net.minecraftforge.common.ToolActions; -import net.minecraftforge.network.PacketDistributor; -import team.lodestar.lodestone.helpers.BlockHelper; +import com.sammy.malum.common.packets.particle.curiosities.rite.generic.*; +import com.sammy.malum.core.helper.*; +import com.sammy.malum.core.systems.spirit.*; +import com.sammy.malum.registry.common.*; +import com.sammy.malum.registry.common.block.*; +import com.sammy.malum.visual_effects.*; +import net.minecraft.core.*; +import net.minecraft.nbt.*; +import net.minecraft.sounds.*; +import net.minecraft.util.*; +import net.minecraft.world.*; +import net.minecraft.world.entity.player.*; +import net.minecraft.world.item.*; +import net.minecraft.world.level.block.*; +import net.minecraft.world.level.block.entity.*; +import net.minecraft.world.level.block.state.*; +import net.minecraft.world.level.block.state.properties.*; +import net.minecraft.world.phys.*; +import net.minecraftforge.common.*; +import net.minecraftforge.network.*; +import team.lodestar.lodestone.helpers.*; import team.lodestar.lodestone.registry.common.particle.*; -import team.lodestar.lodestone.systems.blockentity.LodestoneBlockEntity; -import team.lodestar.lodestone.systems.easing.Easing; -import team.lodestar.lodestone.systems.particle.SimpleParticleOptions; -import team.lodestar.lodestone.systems.particle.builder.WorldParticleBuilder; -import team.lodestar.lodestone.systems.particle.data.GenericParticleData; -import team.lodestar.lodestone.systems.particle.data.color.ColorParticleData; -import team.lodestar.lodestone.systems.particle.data.spin.SpinParticleData; +import team.lodestar.lodestone.systems.blockentity.*; +import team.lodestar.lodestone.systems.easing.*; +import team.lodestar.lodestone.systems.particle.*; +import team.lodestar.lodestone.systems.particle.builder.*; +import team.lodestar.lodestone.systems.particle.data.*; +import team.lodestar.lodestone.systems.particle.data.color.*; +import team.lodestar.lodestone.systems.particle.data.spin.*; -import javax.annotation.Nullable; -import java.awt.*; -import java.util.Set; +import javax.annotation.*; +import java.util.*; -import static com.sammy.malum.registry.common.PacketRegistry.MALUM_CHANNEL; +import static com.sammy.malum.registry.common.PacketRegistry.*; public class TotemPoleBlockEntity extends LodestoneBlockEntity { @@ -153,8 +149,8 @@ public void tick() { chargeProgress = chargeProgress < cap ? chargeProgress + 1 : cap; } if (level.isClientSide) { - if (type != null && !totemPoleState.equals(TotemPoleState.INACTIVE)) { - passiveParticles(); + if (type != null && totemPoleState.equals(TotemPoleState.ACTIVE)) { + TotemParticleEffects.activeTotemPoleParticles(this); if (totemBase != null && totemBase.rite != null) { getFilters().forEach(this::filterParticles); } @@ -233,36 +229,4 @@ public void filterParticles(ItemStandBlockEntity itemStandBlockEntity) { } } } - - public void passiveParticles() { - if (level.getGameTime() % 6L == 0) { - Color color = type.getPrimaryColor(); - Color endColor = type.getSecondaryColor(); - WorldParticleBuilder.create(LodestoneParticleRegistry.WISP_PARTICLE) - .setTransparencyData(GenericParticleData.create(0, 0.06f, 0.12f).build()) - .setSpinData(SpinParticleData.create(0.2f).build()) - .setScaleData(GenericParticleData.create(0, 0.4f, 0).setEasing(Easing.LINEAR, Easing.CIRC_IN_OUT).build()) - .setColorData(ColorParticleData.create(color, endColor).setEasing(Easing.SINE_IN).setCoefficient(0.5f).build()) - .setLifetime(35) - .addMotion(0, Mth.nextFloat(level.random, -0.03f, 0.03f), 0) - .enableNoClip() - .setRandomOffset(0.1f, 0.2f) - .setRandomMotion(0.01f, 0.02f) - .setDiscardFunction(SimpleParticleOptions.ParticleDiscardFunctionType.ENDING_CURVE_INVISIBLE) - .surroundBlock(level, worldPosition, Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH); - - WorldParticleBuilder.create(LodestoneParticleRegistry.SMOKE_PARTICLE) - .setTransparencyData(GenericParticleData.create(0, 0.06f, 0.03f).build()) - .setSpinData(SpinParticleData.create(0.1f).build()) - .setScaleData(GenericParticleData.create(0f, 0.55f, 0.3f).build()) - .setColorData(ColorParticleData.create(color, endColor).setCoefficient(0.5f).build()) - .setLifetime(60) - .addMotion(0, Mth.nextFloat(level.random, -0.03f, 0.03f), 0) - .setRandomOffset(0.1f, 0.2f) - .enableNoClip() - .setRandomMotion(0.01f, 0.02f) - .setDiscardFunction(SimpleParticleOptions.ParticleDiscardFunctionType.ENDING_CURVE_INVISIBLE) - .surroundBlock(level, worldPosition, Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH); - } - } } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneAlimentCleansingItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneAlimentCleansingItem.java index bcca9b37a..e83a6853f 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneAlimentCleansingItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneAlimentCleansingItem.java @@ -28,14 +28,8 @@ public static void onPotionApplied(MobEffectEvent.Added event) { MobEffect type = effect.getEffect(); float multiplier = MobEffectRegistry.ALCHEMICAL_PROFICIENCY_MAP.getOrDefault(ForgeRegistries.MOB_EFFECTS.getKey(type), 1f); if (type.getCategory().equals(MobEffectCategory.HARMFUL)) { - EntityHelper.shortenEffect(effect, entity, (int) (effect.getDuration() * 0.5f * multiplier)); + EntityHelper.shortenEffect(effect, entity, (int) (effect.getDuration() * 0.33f * multiplier)); } } } - public static void onPotionExpired(MobEffectEvent.Expired event) { - LivingEntity entity = event.getEntity(); - if (event.getEffectInstance().getEffect().getCategory().equals(MobEffectCategory.HARMFUL) && CurioHelper.hasCurioEquipped(entity, ItemRegistry.RUNE_OF_ALIMENT_CLEANSING.get())) { - entity.heal(Math.max(entity.getMaxHealth()/10f, 4)); - } - } } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneHasteItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneHasteItem.java index 02e5ae073..6a02b194f 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneHasteItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneHasteItem.java @@ -1,6 +1,10 @@ package com.sammy.malum.common.item.curiosities.curios.runes; import com.sammy.malum.registry.common.*; +import com.sammy.malum.registry.common.item.*; +import net.minecraft.world.entity.player.*; +import net.minecraftforge.event.entity.player.*; +import team.lodestar.lodestone.helpers.*; import java.util.function.*; @@ -14,4 +18,11 @@ public RuneHasteItem(Properties builder) { public void addExtraTooltipLines(Consumer consumer) { consumer.accept(positiveEffect("malum.gui.rune.effect.haste")); } + + public static void increaseDigSpeed(PlayerEvent.BreakSpeed event) { + Player player = event.getEntity(); + if (CurioHelper.hasCurioEquipped(player, ItemRegistry.RUNE_OF_HASTE.get())) { + event.setNewSpeed(event.getOriginalSpeed() * 1.25f); + } + } } \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneReactiveShieldingItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneReactiveShieldingItem.java index 3497fc3f7..b0dfdc690 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneReactiveShieldingItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneReactiveShieldingItem.java @@ -26,9 +26,13 @@ public void takeDamageEvent(LivingHurtEvent event, LivingEntity attacker, Living MobEffect shielding = MobEffectRegistry.REACTIVE_SHIELDING.get(); MobEffectInstance effect = attacked.getEffect(shielding); if (effect == null) { - attacked.addEffect(new MobEffectInstance(shielding, 100, 0, true, true, true)); + if (attacked.level().random.nextFloat() < 0.5f) { + attacked.addEffect(new MobEffectInstance(shielding, 80, 0, true, true, true)); + } } else { - EntityHelper.amplifyEffect(effect, attacked, 1, 3); + if (attacked.level().random.nextFloat() < 0.5f) { + EntityHelper.amplifyEffect(effect, attacked, 1, 3); + } EntityHelper.extendEffect(effect, attacked, 40, 100); } } diff --git a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneVolatileDistortionItem.java b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneVolatileDistortionItem.java index 7be9f0cab..c959e6b16 100644 --- a/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneVolatileDistortionItem.java +++ b/src/main/java/com/sammy/malum/common/item/curiosities/curios/runes/RuneVolatileDistortionItem.java @@ -23,7 +23,7 @@ public void addExtraTooltipLines(Consumer consumer) { @Override public void hurtEvent(LivingHurtEvent event, LivingEntity attacker, LivingEntity target, ItemStack stack) { final RandomSource random = attacker.getRandom(); - float multiplier = Mth.nextFloat(random, 0.8f, 1.4f); + float multiplier = Mth.nextFloat(random, 0.9f, 1.2f); if (random.nextFloat() < 0.1f) { multiplier *= 2; } diff --git a/src/main/java/com/sammy/malum/common/sound/BlightedSoundType.java b/src/main/java/com/sammy/malum/common/sound/BlightedSoundType.java index 974576089..f6b9f40e2 100644 --- a/src/main/java/com/sammy/malum/common/sound/BlightedSoundType.java +++ b/src/main/java/com/sammy/malum/common/sound/BlightedSoundType.java @@ -39,7 +39,7 @@ public void onPlayPlaceSound(Level level, BlockPos pos, Player player) { @Override @OnlyIn(value = Dist.CLIENT) public void onPlayHitSound(BlockPos pos) { - Minecraft.getInstance().getSoundManager().play(new SimpleSoundInstance(SoundRegistry.MINOR_BLIGHT_MOTIF.get(), SoundSource.BLOCKS, (getVolume() + 1.0F) * 0.1f, getPitch() * 2F, MalumMod.RANDOM, pos)); + Minecraft.getInstance().getSoundManager().play(new SimpleSoundInstance(SoundRegistry.MINOR_BLIGHT_MOTIF.get(), SoundSource.BLOCKS, (getVolume() + 1.0F) * 0.05f, getPitch() * 2F, MalumMod.RANDOM, pos)); } @Override diff --git a/src/main/java/com/sammy/malum/core/events/ClientSetupEvents.java b/src/main/java/com/sammy/malum/core/events/ClientSetupEvents.java index c22c2fd04..2b586e3ef 100644 --- a/src/main/java/com/sammy/malum/core/events/ClientSetupEvents.java +++ b/src/main/java/com/sammy/malum/core/events/ClientSetupEvents.java @@ -1,29 +1,16 @@ package com.sammy.malum.core.events; -import com.sammy.malum.core.handlers.SoulWardHandler; -import com.sammy.malum.core.handlers.TouchOfDarknessHandler; -import com.sammy.malum.registry.client.ParticleRegistry; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.entity.EntityRenderer; -import net.minecraft.world.entity.EntityType; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.client.event.EntityRenderersEvent; -import net.minecraftforge.client.event.RegisterGuiOverlaysEvent; -import net.minecraftforge.client.event.RegisterParticleProvidersEvent; -import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay; -import net.minecraftforge.eventbus.api.SubscribeEvent; -import net.minecraftforge.fml.common.Mod; - -import java.util.Map; +import com.sammy.malum.core.handlers.*; +import com.sammy.malum.registry.client.*; +import net.minecraftforge.api.distmarker.*; +import net.minecraftforge.client.event.*; +import net.minecraftforge.client.gui.overlay.*; +import net.minecraftforge.eventbus.api.*; +import net.minecraftforge.fml.common.*; @Mod.EventBusSubscriber(value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD) public class ClientSetupEvents { -// @SubscribeEvent -// public static void addRenderLayers(EntityRenderersEvent.AddLayers event) { -// for (Map.Entry, EntityRenderer> entry : Minecraft.getInstance().getEntityRenderDispatcher().renderers.entrySet()) { -// EntityRenderer render = entry.getValue(); -// } -// } + @SubscribeEvent public static void registerOverlays(RegisterGuiOverlaysEvent event) { diff --git a/src/main/java/com/sammy/malum/core/events/RuntimeEvents.java b/src/main/java/com/sammy/malum/core/events/RuntimeEvents.java index 1dead600f..590c83d6a 100644 --- a/src/main/java/com/sammy/malum/core/events/RuntimeEvents.java +++ b/src/main/java/com/sammy/malum/core/events/RuntimeEvents.java @@ -119,6 +119,7 @@ public static void onPlayerClone(PlayerEvent.Clone event) { @SubscribeEvent public static void onPlayerBreakSpeed(PlayerEvent.BreakSpeed event) { InfernalAura.increaseDigSpeed(event); + RuneHasteItem.increaseDigSpeed(event); } @SubscribeEvent @@ -160,7 +161,6 @@ public static void onPotionApplied(MobEffectEvent.Added event) { } @SubscribeEvent public static void onPotionExpired(MobEffectEvent.Expired event) { - RuneAlimentCleansingItem.onPotionExpired(event); } @SubscribeEvent diff --git a/src/main/java/com/sammy/malum/data/MalumCuriosThings.java b/src/main/java/com/sammy/malum/data/MalumCuriosThings.java index bdc5f234f..388afa44d 100644 --- a/src/main/java/com/sammy/malum/data/MalumCuriosThings.java +++ b/src/main/java/com/sammy/malum/data/MalumCuriosThings.java @@ -17,7 +17,8 @@ public MalumCuriosThings(PackOutput output, ExistingFileHelper fileHelper, Compl public void generate(HolderLookup.Provider registries, ExistingFileHelper fileHelper) { createSlot("brooch") .size(1) - .addCosmetic(true); + .addCosmetic(true) + .icon(MalumMod.malumPath("slot/empty_brooch_slot")); createSlot("ring") .size(2) .addCosmetic(true); @@ -29,10 +30,14 @@ public void generate(HolderLookup.Provider registries, ExistingFileHelper fileHe .addCosmetic(true); createSlot("rune") .size(0) - .renderToggle(true); + .renderToggle(true) + .icon(MalumMod.malumPath("slot/empty_rune_slot")); + createSlot("charm") + .size(1) + .addCosmetic(true); createEntities("malum_entities") .addPlayer() - .addSlots("brooch", "ring", "necklace", "belt", "rune"); + .addSlots("brooch", "ring", "necklace", "belt", "rune", "charm"); } } diff --git a/src/main/java/com/sammy/malum/data/MalumLang.java b/src/main/java/com/sammy/malum/data/MalumLang.java index 28e27cee5..f6493a8b1 100644 --- a/src/main/java/com/sammy/malum/data/MalumLang.java +++ b/src/main/java/com/sammy/malum/data/MalumLang.java @@ -183,7 +183,7 @@ protected void addTranslations() { add("malum.gui.rune.effect.volatile_distortion", "+Enables Vorpal Damage Output"); add("malum.gui.rune.effect.heretic", "+Silences Attackers"); add("malum.gui.rune.effect.twinned_duration", "+Doubles Positive Effect Durations"); - add("malum.gui.rune.effect.aliment_cleansing", "+Cleanses Negative Effects; Heals when Cleansed"); + add("malum.gui.rune.effect.aliment_cleansing", "+Shortens Negative Effects"); add("malum.gui.rune.effect.reactive_shielding", "+Grants Damage Resistance when Struck"); add("malum.gui.rune.effect.dexterity", "+Provides Higher Speed at Low Health"); add("malum.gui.rune.effect.unnatural_stamina", "+Sprinting Always Available"); @@ -534,9 +534,6 @@ protected void addTranslations() { addPages("spirit_trinkets", "Many disciplines of magic, and even more mundane practices, allow the creation of useful trinkets. These are also referred to as baubles or curios by some. The metals I have alloyed have properties useful in their own rights, and can be used as the basis for even grander designs.", "In their most basic form, Hallowed Gold trinkets protect the user as if they were wearing weak armor, and Soulstained Steel trinkets increase the toughness of the armor being worn."); - addHeadline("spirit_trinkets.guardian_ring", "Ring of the Guardian"); - addPages("spirit_trinkets.guardian_ring", - "As a first attempt to create a trinket using these as a base, I have designed one that mimics Soulstained Armor's Soul Ward."); addEntryHeader("reactive_trinkets", "Reactive Trinkets", "Harnessing the harvest"); addHeadline("reactive_trinkets.ring_of_curative_talent", "Ring of Curative Talent"); @@ -585,19 +582,82 @@ protected void addTranslations() { addPages("necklace_of_the_narrow_edge", "The sweep of the scythe is its main draw. The ability to cut my targets like so much wheat is invaluable. But that comes at the cost of damage to a single target. This necklace mystically focuses the edge of my attack, directing all of the power into one target for a strong damage boost."); + addEntryHeader("runeworking", "Runeworking", "Greater Accessorizing"); + addHeadline("runeworking", "Runeworking"); + addPages("runeworking", + "Every trinket I've made thus far has no doubt proven to be a welcome entry to my vast arsenal, however there is only so much space on my body for all of these accessories. As a means of further growing my strength, I've begun research on a system I shall name Runeworking.", + "Runeworking is all about Brooches and Runes. The brooch is an accessory that enables the wearer to take advantage of effects imbued into the aforementioned Runes; primitive baubles with just one effect. Due to the simple and optimized design of runes, I can easily equip several runes at once assuming an appropriate brooch is present.", + "To begin, I will need to create a workstation that enables the creation of Runes; The Runic Workbench. Furthermore, I will need to craft a Runic Brooch an accessory that will allow me to take advantage of the effects Runes provide."); + + addEntryHeader("runic_brooch", "Runic Brooch", "Slot Exchange"); + addHeadline("runic_brooch", "Runic Brooch"); + addPages("runic_brooch", + "As written before, in order to access the benefits Runes provide, creating the Runic Brooch is a necessary step. When worn, the brooch will grant me two Rune Slots at the cost of a singular Ring Slot."); + + addEntryHeader("glass_brooch", "Glass Brooch", "Fragile Power"); + addHeadline("glass_brooch", "Glass Brooch"); + addPages("glass_brooch", + "The Runic Brooch works well... but in some cases having to give up the ability to wear two rings at once is just too much. To circumvent this problem, I've created the Glass Brooch. This alteration in design will instead take away a portion of my max health, as opposed to the original drawback."); + + addEntryHeader("sacrificial_brooch", "Sacrificial Brooch", "A Change in Purpose"); + addHeadline("sacrificial_brooch", "Sacrificial Brooch"); + addPages("sacrificial_brooch", + "After some thinking, I decided I would attempt to create a brooch out of Soul Stained Steel. The resulting accessory known as the Sacrificial Brooch instead exchanges a Necklace Slot for an additional Belt Slot. It doesn't offer any Rune related benefits, but it might prove useful nonetheless."); + + addEntryHeader("ravenous_brooch", "Ravenous Brooch", "An undying hunger"); + addHeadline("ravenous_brooch", "Ravenous Brooch"); + addPages("ravenous_brooch", + "Much like in the case of the Runic Brooch, I've designed an alternative which replaces the negative effect of it's predecessor with a much less daunting downside. While worn, the Ravenous Brooch will actively take away hunger as a means of allowing the user to equip an additional belt."); + + addEntryHeader("rune_of_idle_restoration", "Rune of Idle Restoration", ""); + addHeadline("rune_of_idle_restoration", "Rune of Idle Restoration"); + addPages("rune_of_idle_restoration", + "While active, the Rune of Idle Restoration will passively restore the user's health at a rate of one half heart every two seconds."); + addEntryHeader("rune_of_culling", "Rune of Culling", ""); + addHeadline("rune_of_culling", "Rune of Culling"); + addPages("rune_of_culling", + "While active, the Rune of Culling will grant the user a bonus to Magic Proficiency, increasing their magic damage output by an additional two fifths."); + addEntryHeader("rune_of_haste", "Rune of Haste", ""); + addHeadline("rune_of_haste", "Rune of Haste"); + addPages("rune_of_haste", + "While active, the Rune of Haste will increase the user's mining speed by around one fourth."); + addEntryHeader("rune_of_dexterity", "Rune of Dexterity", ""); + addHeadline("rune_of_dexterity", "Rune of Dexterity"); + addPages("rune_of_dexterity", + "While active, the Rune of Haste will provide a substantial bonus to movement speed. This bonus approaches double it's usual potency as the user's health pool diminishes."); + addEntryHeader("rune_of_aliment_cleansing", "Rune of Aliment Cleansing", ""); + addHeadline("rune_of_aliment_cleansing", "Rune of Aliment Cleansing"); + addPages("rune_of_aliment_cleansing", + "While active, the Rune of Aliment Cleansing will cut the duration of any negative effect applied to the wearer by one third."); + addEntryHeader("rune_of_reactive_shielding", "Rune of Reactive Shielding", "Hardens in response to physical trauma"); + addHeadline("rune_of_reactive_shielding", "Rune of Reactive Shielding"); + addPages("rune_of_reactive_shielding", + "While active, the Rune of Reactive Shielding will occasionally increase the user's Armor and Armor Toughness by one tenth upon taking damage. The strength of this effect scales as the user receives more damage, reaching an increase of three tenths at full power."); + addEntryHeader("rune_of_reinforcement", "Rune of Reinforcement", ""); + addHeadline("rune_of_reinforcement", "Rune of Reinforcement"); + addPages("rune_of_reinforcement", + "While active, the Rune of Reinforcement will grant the user access to a small supply of Soul Ward Capacity, while also improving Soul Ward Strength."); + addEntryHeader("rune_of_volatile_distortion", "Rune of Volatile Distortion", ""); + addHeadline("rune_of_volatile_distortion", "Rune of Volatile Distortion"); + addPages("rune_of_volatile_distortion", + "While active, the Rune of Volatile Distortion will cause any strike dealt by the user to erratically scale in potency, ranging from a decrease of one tenth, to an increase of one fifth. Furthermore, the rune enables another slim chance of outright twinning the potency of any attack delivered by the user."); + addSimpleEntryHeader("mirror_magic", "Mirror magic", "Magic Funnels"); addPages("mirror_magic", "The future holds many secrets.."); addSimpleEntryHeader("voodoo_magic", "Voodoo magic", "Forbidden arts"); addPages("voodoo_magic", "The future holds many secrets.."); + addSimpleEntryHeader("ritual_magic", "Ritual magic", "Grand Magics"); + addPages("ritual_magic", "The future holds many secrets.."); + addEntryHeader("altar_acceleration", "Altar Acceleration", "Obelisks"); addHeadline("altar_acceleration.runewood_obelisk", "Runewood Obelisk"); addPages("altar_acceleration.runewood_obelisk", "Spirit Infusion, as essential as it is, has grown to be tedious. Even producing a stack of simple Hex Ash takes several minutes. Using Hallowed Gold, I have found a way to accelerate it. By placing up to four hallowed obelisks nearby the altar I may increase the processing speed by one fourth with each obelisk."); addHeadline("altar_acceleration.brilliant_obelisk", "Brilliant Obelisk"); addPages("altar_acceleration.brilliant_obelisk", - "While not useful for Infusion, per-se, the design of the obelisk can be used in another way as well. By socketing Brilliance instead of a Resonator, the obelisk will harmonize with the Brilliance of enchanting, causing it to provide as much force of enchanting as five bookshelves do."); + "While not useful for Infusion, per-se, the design of the obelisk can be used in another way as well. By socketing Brilliance instead of Hallowed Gold, the obelisk will harmonize with the Brilliance of enchanting, causing it to provide as much force of enchanting as five bookshelves do."); addSimpleEntryHeader("totem_magic", "Totem Magic", "Arcana unleashed"); addPages("totem_magic", diff --git a/src/main/java/com/sammy/malum/data/block/MalumBlockStateSmithTypes.java b/src/main/java/com/sammy/malum/data/block/MalumBlockStateSmithTypes.java index 8c3c91802..f8d607a26 100644 --- a/src/main/java/com/sammy/malum/data/block/MalumBlockStateSmithTypes.java +++ b/src/main/java/com/sammy/malum/data/block/MalumBlockStateSmithTypes.java @@ -52,7 +52,7 @@ public class MalumBlockStateSmithTypes { provider.getVariantBuilder(block).forAllStates(s -> ConfiguredModel.builder().modelFile(s.getValue(PrimordialSoupBlock.TOP) ? topModel : model).build()); }); - public static BlockStateSmith HANGING_RUNEWOOD_LEAVES = new BlockStateSmith<>(Block.class, ItemModelSmithTypes.AFFIXED_MODEL.apply("_0"), (block, provider) -> { + public static BlockStateSmith HANGING_LEAVES = new BlockStateSmith<>(Block.class, ItemModelSmithTypes.AFFIXED_MODEL.apply("_0"), (block, provider) -> { String name = provider.getBlockName(block); Function modelProvider = (i) -> provider.models().withExistingParent(name+"_"+i, malumPath("block/templates/template_hanging_leaves")).texture("hanging_leaves", provider.getBlockTexture(name + "_" + i)).texture("particle", provider.getBlockTexture(name + "_" + i)); diff --git a/src/main/java/com/sammy/malum/data/block/MalumBlockStates.java b/src/main/java/com/sammy/malum/data/block/MalumBlockStates.java index dd94ed110..f6fbfdb68 100644 --- a/src/main/java/com/sammy/malum/data/block/MalumBlockStates.java +++ b/src/main/java/com/sammy/malum/data/block/MalumBlockStates.java @@ -121,7 +121,7 @@ protected void registerStatesAndModels() { BlockStateSmithTypes.LOG_BLOCK.act(data, RUNEWOOD_BEAM, RUNEWOOD_LOG, STRIPPED_RUNEWOOD_LOG, EXPOSED_RUNEWOOD_LOG, REVEALED_RUNEWOOD_LOG); BlockStateSmithTypes.WOOD_BLOCK.act(data, RUNEWOOD, STRIPPED_RUNEWOOD); BlockStateSmithTypes.LEAVES_BLOCK.act(data, RUNEWOOD_LEAVES); - MalumBlockStateSmithTypes.HANGING_RUNEWOOD_LEAVES.act(data, HANGING_RUNEWOOD_LEAVES); + MalumBlockStateSmithTypes.HANGING_LEAVES.act(data, HANGING_RUNEWOOD_LEAVES); BlockStateSmithTypes.CROSS_MODEL_BLOCK.act(data, RUNEWOOD_SAPLING); BlockStateSmithTypes.BUTTON_BLOCK.act(data, RUNEWOOD_BUTTON); @@ -139,9 +139,19 @@ protected void registerStatesAndModels() { BlockStateSmithTypes.CUSTOM_MODEL.act(data, this::directionalBlock, this::woodenItemStandModel, RUNEWOOD_ITEM_STAND); setTexturePath("soulwood/"); - BlockStateSmithTypes.FULL_BLOCK.act(data, SOULWOOD_PLANKS, VERTICAL_SOULWOOD_PLANKS, SOULWOOD_PANEL, SOULWOOD_TILES); - BlockStateSmithTypes.SLAB_BLOCK.act(data, SOULWOOD_PLANKS_SLAB, VERTICAL_SOULWOOD_PLANKS_SLAB, SOULWOOD_PANEL_SLAB, SOULWOOD_TILES_SLAB); - BlockStateSmithTypes.STAIRS_BLOCK.act(data, SOULWOOD_PLANKS_STAIRS, VERTICAL_SOULWOOD_PLANKS_STAIRS, SOULWOOD_PANEL_STAIRS, SOULWOOD_TILES_STAIRS); + BlockStateSmithTypes.FULL_BLOCK.act(data, + SOULWOOD_BOARDS, VERTICAL_SOULWOOD_BOARDS, + SOULWOOD_PLANKS, VERTICAL_SOULWOOD_PLANKS, SOULWOOD_TILES, + RUSTIC_SOULWOOD_PLANKS, VERTICAL_RUSTIC_SOULWOOD_PLANKS, RUSTIC_SOULWOOD_TILES, + SOULWOOD_PANEL); + BlockStateSmithTypes.SLAB_BLOCK.act(data, + SOULWOOD_BOARDS_SLAB, VERTICAL_SOULWOOD_BOARDS_SLAB, + SOULWOOD_PLANKS_SLAB, VERTICAL_SOULWOOD_PLANKS_SLAB, SOULWOOD_TILES_SLAB, + RUSTIC_SOULWOOD_PLANKS_SLAB, VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB, RUSTIC_SOULWOOD_TILES_SLAB); + BlockStateSmithTypes.STAIRS_BLOCK.act(data, + SOULWOOD_BOARDS_STAIRS, VERTICAL_SOULWOOD_BOARDS_STAIRS, + SOULWOOD_PLANKS_STAIRS, VERTICAL_SOULWOOD_PLANKS_STAIRS, SOULWOOD_TILES_STAIRS, + RUSTIC_SOULWOOD_PLANKS_STAIRS, VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS, RUSTIC_SOULWOOD_TILES_STAIRS); BlockStateSmithTypes.LOG_BLOCK.act(data, SOULWOOD_BEAM, SOULWOOD_LOG, STRIPPED_SOULWOOD_LOG, EXPOSED_SOULWOOD_LOG, REVEALED_SOULWOOD_LOG); BlockStateSmithTypes.WOOD_BLOCK.act(data, SOULWOOD, STRIPPED_SOULWOOD); diff --git a/src/main/java/com/sammy/malum/data/item/MalumItemTags.java b/src/main/java/com/sammy/malum/data/item/MalumItemTags.java index 9ff5aa71e..26fa1d267 100644 --- a/src/main/java/com/sammy/malum/data/item/MalumItemTags.java +++ b/src/main/java/com/sammy/malum/data/item/MalumItemTags.java @@ -21,6 +21,7 @@ import static com.sammy.malum.registry.common.item.ItemRegistry.RUNEWOOD_PLANKS; import static com.sammy.malum.registry.common.item.ItemRegistry.*; +import static com.sammy.malum.registry.common.item.ItemRegistry.SOULWOOD_PLANKS; import static com.sammy.malum.registry.common.item.ItemTagRegistry.*; import static team.lodestar.lodestone.registry.common.tag.LodestoneItemTags.*; @@ -76,26 +77,36 @@ protected void addTags(HolderLookup.Provider pProvider) { tag(PROSPECTORS_TREASURE).addOptional(new ResourceLocation("tetra", "geode")); tag(RUNEWOOD_LOGS).add(RUNEWOOD_LOG.get(), STRIPPED_RUNEWOOD_LOG.get(), RUNEWOOD.get(), STRIPPED_RUNEWOOD.get(), EXPOSED_RUNEWOOD_LOG.get(), REVEALED_RUNEWOOD_LOG.get()); - tag(RUNEWOOD_WITH_BARK).add(RUNEWOOD_LOG.get(), RUNEWOOD.get()); - + tag(RUNEWOOD_BOARD_INGREDIENT).add(RUNEWOOD_LOG.get(), RUNEWOOD.get()); tag(ItemTagRegistry.RUNEWOOD_PLANKS).add( + RUNEWOOD_BOARDS.get(), VERTICAL_RUNEWOOD_BOARDS.get(), RUNEWOOD_PLANKS.get(), RUSTIC_RUNEWOOD_PLANKS.get(), VERTICAL_RUNEWOOD_PLANKS.get(), VERTICAL_RUSTIC_RUNEWOOD_PLANKS.get(), RUNEWOOD_TILES.get(), RUSTIC_RUNEWOOD_TILES.get()); tag(RUNEWOOD_SLABS).add( + RUNEWOOD_BOARDS_SLAB.get(), VERTICAL_RUNEWOOD_BOARDS_SLAB.get(), RUNEWOOD_PLANKS_SLAB.get(), RUSTIC_RUNEWOOD_PLANKS_SLAB.get(), VERTICAL_RUNEWOOD_PLANKS_SLAB.get(), VERTICAL_RUSTIC_RUNEWOOD_PLANKS_SLAB.get(), RUNEWOOD_TILES_SLAB.get(), RUSTIC_RUNEWOOD_TILES_SLAB.get()); tag(RUNEWOOD_STAIRS).add( + RUNEWOOD_BOARDS_STAIRS.get(), VERTICAL_RUNEWOOD_BOARDS_STAIRS.get(), RUNEWOOD_PLANKS_STAIRS.get(), RUSTIC_RUNEWOOD_PLANKS_STAIRS.get(), VERTICAL_RUNEWOOD_PLANKS_STAIRS.get(), VERTICAL_RUSTIC_RUNEWOOD_PLANKS_STAIRS.get(), RUNEWOOD_TILES_STAIRS.get(), RUSTIC_RUNEWOOD_TILES_STAIRS.get()); tag(SOULWOOD_LOGS).add(SOULWOOD_LOG.get(), STRIPPED_SOULWOOD_LOG.get(), SOULWOOD.get(), STRIPPED_SOULWOOD.get(), EXPOSED_SOULWOOD_LOG.get(), REVEALED_SOULWOOD_LOG.get(), BLIGHTED_SOULWOOD.get()); - tag(SOULWOOD_WITH_BARK).add(SOULWOOD_LOG.get(), SOULWOOD.get()); - tag(ItemTagRegistry.SOULWOOD_PLANKS); - tag(SOULWOOD_SLABS); - tag(SOULWOOD_STAIRS); -// tag(ItemTagRegistry.SOULWOOD_PLANKS).add(SOULWOOD_PLANKS.get(), RUSTIC_SOULWOOD_PLANKS.get(), VERTICAL_SOULWOOD_PLANKS.get(), VERTICAL_RUSTIC_SOULWOOD_PLANKS.get(), SOULWOOD_TILES.get(), RUSTIC_SOULWOOD_TILES.get()); - + tag(SOULWOOD_BOARD_INGREDIENT).add(SOULWOOD_LOG.get(), SOULWOOD.get()); + tag(ItemTagRegistry.SOULWOOD_PLANKS).add( + SOULWOOD_BOARDS.get(), VERTICAL_SOULWOOD_BOARDS.get(), + SOULWOOD_PLANKS.get(), RUSTIC_SOULWOOD_PLANKS.get(), VERTICAL_SOULWOOD_PLANKS.get(), + VERTICAL_RUSTIC_SOULWOOD_PLANKS.get(), SOULWOOD_TILES.get(), RUSTIC_SOULWOOD_TILES.get()); + tag(SOULWOOD_SLABS).add( + SOULWOOD_BOARDS_SLAB.get(), VERTICAL_SOULWOOD_BOARDS_SLAB.get(), + SOULWOOD_PLANKS_SLAB.get(), RUSTIC_SOULWOOD_PLANKS_SLAB.get(), VERTICAL_SOULWOOD_PLANKS_SLAB.get(), + VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB.get(), SOULWOOD_TILES_SLAB.get(), RUSTIC_SOULWOOD_TILES_SLAB.get()); + tag(SOULWOOD_STAIRS).add( + SOULWOOD_BOARDS_STAIRS.get(), VERTICAL_SOULWOOD_BOARDS_STAIRS.get(), + SOULWOOD_PLANKS_STAIRS.get(), RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), VERTICAL_SOULWOOD_PLANKS_STAIRS.get(), + VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), SOULWOOD_TILES_STAIRS.get(), RUSTIC_SOULWOOD_TILES_STAIRS.get()); + tag(SCYTHE).add(CRUDE_SCYTHE.get(), SOUL_STAINED_STEEL_SCYTHE.get(), CREATIVE_SCYTHE.get()); tag(STAFF).add(MNEMONIC_HEX_STAFF.get(), STAFF_OF_THE_AURIC_FLAME.get(), MALIGNANT_SCEPTER.get()); diff --git a/src/main/java/com/sammy/malum/data/recipe/MalumSpiritTransmutationRecipes.java b/src/main/java/com/sammy/malum/data/recipe/MalumSpiritTransmutationRecipes.java index 44e6530bc..36cc2cfb1 100644 --- a/src/main/java/com/sammy/malum/data/recipe/MalumSpiritTransmutationRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/MalumSpiritTransmutationRecipes.java @@ -23,16 +23,28 @@ public class MalumSpiritTransmutationRecipes { new Pair<>(RUNEWOOD, SOULWOOD), new Pair<>(REVEALED_RUNEWOOD_LOG, REVEALED_SOULWOOD_LOG), new Pair<>(EXPOSED_RUNEWOOD_LOG, EXPOSED_SOULWOOD_LOG), + new Pair<>(RUNEWOOD_BOARDS, SOULWOOD_BOARDS), + new Pair<>(RUNEWOOD_BOARDS_SLAB, SOULWOOD_BOARDS_SLAB), + new Pair<>(RUNEWOOD_BOARDS_STAIRS, SOULWOOD_BOARDS_STAIRS), + new Pair<>(VERTICAL_RUNEWOOD_BOARDS, VERTICAL_SOULWOOD_BOARDS), + new Pair<>(VERTICAL_RUNEWOOD_BOARDS_SLAB, VERTICAL_SOULWOOD_BOARDS_SLAB), + new Pair<>(VERTICAL_RUNEWOOD_BOARDS_STAIRS, VERTICAL_SOULWOOD_BOARDS_STAIRS), new Pair<>(RUNEWOOD_PLANKS, SOULWOOD_PLANKS), new Pair<>(RUNEWOOD_PLANKS_SLAB, SOULWOOD_PLANKS_SLAB), new Pair<>(RUNEWOOD_PLANKS_STAIRS, SOULWOOD_PLANKS_STAIRS), + new Pair<>(RUSTIC_RUNEWOOD_PLANKS, RUSTIC_SOULWOOD_PLANKS), + new Pair<>(RUSTIC_RUNEWOOD_PLANKS_SLAB, RUSTIC_SOULWOOD_PLANKS_SLAB), + new Pair<>(RUSTIC_RUNEWOOD_PLANKS_STAIRS, RUSTIC_SOULWOOD_PLANKS_STAIRS), new Pair<>(VERTICAL_RUNEWOOD_PLANKS, VERTICAL_SOULWOOD_PLANKS), new Pair<>(VERTICAL_RUNEWOOD_PLANKS_SLAB, VERTICAL_SOULWOOD_PLANKS_SLAB), new Pair<>(VERTICAL_RUNEWOOD_PLANKS_STAIRS, VERTICAL_SOULWOOD_PLANKS_STAIRS), - new Pair<>(RUNEWOOD_PANEL, SOULWOOD_PANEL), + new Pair<>(VERTICAL_RUSTIC_RUNEWOOD_PLANKS, VERTICAL_RUSTIC_SOULWOOD_PLANKS), + new Pair<>(VERTICAL_RUSTIC_RUNEWOOD_PLANKS_SLAB, VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB), + new Pair<>(VERTICAL_RUSTIC_RUNEWOOD_PLANKS_STAIRS, VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS), new Pair<>(RUNEWOOD_TILES, SOULWOOD_TILES), new Pair<>(RUNEWOOD_TILES_SLAB, SOULWOOD_TILES_SLAB), new Pair<>(RUNEWOOD_TILES_STAIRS, SOULWOOD_TILES_STAIRS), + new Pair<>(RUNEWOOD_PANEL, SOULWOOD_PANEL), new Pair<>(CUT_RUNEWOOD_PLANKS, CUT_SOULWOOD_PLANKS), new Pair<>(RUNEWOOD_BEAM, SOULWOOD_BEAM), new Pair<>(RUNEWOOD_DOOR, SOULWOOD_DOOR), diff --git a/src/main/java/com/sammy/malum/data/recipe/MalumVanillaRecipes.java b/src/main/java/com/sammy/malum/data/recipe/MalumVanillaRecipes.java index 468c77f8f..a247270ab 100644 --- a/src/main/java/com/sammy/malum/data/recipe/MalumVanillaRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/MalumVanillaRecipes.java @@ -39,6 +39,7 @@ protected static void buildRecipes(Consumer consumer) { shaped(RecipeCategory.MISC, ItemRegistry.SPIRIT_JAR.get()).define('Z', ItemRegistry.HALLOWED_GOLD_INGOT.get()).define('Y', Tags.Items.GLASS_PANES).pattern("YZY").pattern("Y Y").pattern("YYY").unlockedBy("has_hallowed_gold", has(ItemRegistry.HALLOWED_GOLD_INGOT.get())).save(consumer); shaped(RecipeCategory.MISC, ItemRegistry.SPIRIT_POUCH.get()).define('X', Tags.Items.STRING).define('Y', ItemRegistry.SPIRIT_FABRIC.get()).define('Z', ItemTags.SOUL_FIRE_BASE_BLOCKS).pattern(" X ").pattern("YZY").pattern(" Y ").unlockedBy("has_spirit_fabric", has(ItemRegistry.SPIRIT_FABRIC.get())).save(consumer); shaped(RecipeCategory.MISC, ItemRegistry.WEAVERS_WORKBENCH.get()).define('Z', ItemRegistry.HALLOWED_GOLD_INGOT.get()).define('Y', ItemRegistry.HEX_ASH.get()).define('X', ItemRegistry.RUNEWOOD_PLANKS.get()).pattern("XYX").pattern("XZX").unlockedBy("has_hex_ash", has(ItemRegistry.HEX_ASH.get())).save(consumer); + shaped(RecipeCategory.MISC, ItemRegistry.TOTEMIC_STAFF.get()).define('X', Tags.Items.RODS_WOODEN).define('Y', ItemTagRegistry.RUNEWOOD_PLANKS).pattern(" Y").pattern(" X ").pattern("X ").unlockedBy("has_runewood", has(ItemRegistry.RUNEWOOD_PLANKS.get())).save(consumer); //CRAFTING COMPONENTS shaped(RecipeCategory.MISC, ItemRegistry.SPECTRAL_LENS.get()).define('X', ItemRegistry.HEX_ASH.get()).define('Y', Tags.Items.GLASS_PANES).pattern(" X ").pattern("XYX").pattern(" X ").unlockedBy("has_hex_ash", has(ItemRegistry.HEX_ASH.get())).save(consumer); @@ -198,41 +199,6 @@ protected static void buildRecipes(Consumer consumer) { shapeless(RecipeCategory.MISC, ItemRegistry.CURSED_SAPBALL.get()).requires(ItemRegistry.CURSED_SAP.get(), 2).unlockedBy("has_cursed_sap", has(ItemRegistry.CURSED_SAP.get())).save(consumer); shapeless(RecipeCategory.MISC, ItemRegistry.CURSED_SAP_BLOCK.get(), 8).requires(ItemRegistry.CURSED_SAP.get(), 4).unlockedBy("has_cursed_sap", has(ItemRegistry.CURSED_SAP.get())).save(consumer); - //SOULWOOD BLOCKS - shapelessPlanks(consumer, ItemRegistry.SOULWOOD_PLANKS.get(), ItemTagRegistry.SOULWOOD_LOGS); - shapelessWood(consumer, ItemRegistry.SOULWOOD.get(), ItemRegistry.SOULWOOD_LOG.get()); - shapelessWood(consumer, ItemRegistry.STRIPPED_SOULWOOD.get(), ItemRegistry.STRIPPED_SOULWOOD_LOG.get()); - shapelessButton(consumer, ItemRegistry.SOULWOOD_PLANKS_BUTTON.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedDoor(consumer, ItemRegistry.SOULWOOD_DOOR.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedFence(consumer, ItemRegistry.SOULWOOD_PLANKS_FENCE.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedFenceGate(consumer, ItemRegistry.SOULWOOD_PLANKS_FENCE_GATE.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedPressurePlate(consumer, ItemRegistry.SOULWOOD_PLANKS_PRESSURE_PLATE.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedSlab(consumer, ItemRegistry.SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedStairs(consumer, ItemRegistry.SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapedTrapdoor(consumer, ItemRegistry.SOULWOOD_TRAPDOOR.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shapelessSolidTrapdoor(consumer, ItemRegistry.SOLID_SOULWOOD_TRAPDOOR.get(), ItemRegistry.SOULWOOD_TRAPDOOR.get()); - shapelessSolidTrapdoor(consumer, ItemRegistry.SOULWOOD_TRAPDOOR.get(), ItemRegistry.SOLID_SOULWOOD_TRAPDOOR.get(), "soulwood_trapdoor_from_solid"); - shapedSign(consumer, ItemRegistry.SOULWOOD_SIGN.get(), ItemRegistry.SOULWOOD_PLANKS.get()); - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_BOAT.get()).define('#', ItemRegistry.SOULWOOD_PLANKS.get()).pattern("# #").pattern("###").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - - shaped(RecipeCategory.MISC, ItemRegistry.VERTICAL_SOULWOOD_PLANKS.get(), 3).define('#', ItemRegistry.SOULWOOD_PLANKS.get()).pattern("#").pattern("#").pattern("#").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - shapedSlab(consumer, ItemRegistry.VERTICAL_SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.VERTICAL_SOULWOOD_PLANKS.get()); - shapedStairs(consumer, ItemRegistry.VERTICAL_SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.VERTICAL_SOULWOOD_PLANKS.get()); - - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_PANEL.get(), 4).define('#', ItemRegistry.SOULWOOD_PLANKS.get()).pattern(" # ").pattern("# #").pattern(" # ").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - shapedSlab(consumer, ItemRegistry.SOULWOOD_PANEL_SLAB.get(), ItemRegistry.SOULWOOD_PANEL.get()); - shapedStairs(consumer, ItemRegistry.SOULWOOD_PANEL_STAIRS.get(), ItemRegistry.SOULWOOD_PANEL.get()); - - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_TILES.get(), 4).define('#', ItemRegistry.SOULWOOD_PANEL.get()).pattern(" # ").pattern("# #").pattern(" # ").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - shapedSlab(consumer, ItemRegistry.SOULWOOD_TILES_SLAB.get(), ItemRegistry.SOULWOOD_TILES.get()); - shapedStairs(consumer, ItemRegistry.SOULWOOD_TILES_STAIRS.get(), ItemRegistry.SOULWOOD_TILES.get()); - - shaped(RecipeCategory.MISC, ItemRegistry.CUT_SOULWOOD_PLANKS.get(), 2).define('#', ItemRegistry.SOULWOOD_PANEL.get()).define('X', ItemRegistry.SOULWOOD_PLANKS.get()).pattern("#").pattern("X").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_BEAM.get(), 3).define('#', ItemRegistry.VERTICAL_SOULWOOD_PLANKS.get()).pattern("#").pattern("#").pattern("#").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_ITEM_STAND.get(), 2).define('X', ItemRegistry.SOULWOOD_PLANKS.get()).define('Y', ItemRegistry.SOULWOOD_PLANKS_SLAB.get()).pattern("YYY").pattern("XXX").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - shaped(RecipeCategory.MISC, ItemRegistry.SOULWOOD_ITEM_PEDESTAL.get()).define('X', ItemRegistry.SOULWOOD_PLANKS.get()).define('Y', ItemRegistry.SOULWOOD_PLANKS_SLAB.get()).pattern("YYY").pattern(" X ").pattern("YYY").unlockedBy("has_soulwood_planks", has(ItemRegistry.SOULWOOD_PLANKS.get())).save(consumer); - //TAINTED ROCK shapedPressurePlate(consumer, ItemRegistry.TAINTED_ROCK_PRESSURE_PLATE.get(), ItemRegistry.TAINTED_ROCK.get()); shapelessButton(consumer, ItemRegistry.TAINTED_ROCK_BUTTON.get(), ItemRegistry.TAINTED_ROCK.get()); diff --git a/src/main/java/com/sammy/malum/data/recipe/crafting/MalumWoodenRecipes.java b/src/main/java/com/sammy/malum/data/recipe/crafting/MalumWoodenRecipes.java index 9ced41603..cc1a30aa9 100644 --- a/src/main/java/com/sammy/malum/data/recipe/crafting/MalumWoodenRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/crafting/MalumWoodenRecipes.java @@ -39,14 +39,39 @@ public static void buildRecipes(Consumer consumer) { ItemRegistry.RUNEWOOD_DOOR.get(), ItemRegistry.RUNEWOOD_SIGN.get(), ItemRegistry.RUNEWOOD_SIGN.get(), ItemRegistry.RUNEWOOD_ITEM_STAND.get(), ItemRegistry.RUNEWOOD_ITEM_PEDESTAL.get(), - ItemTagRegistry.RUNEWOOD_LOGS, ItemTagRegistry.RUNEWOOD_WITH_BARK, ItemTagRegistry.RUNEWOOD_PLANKS, ItemTagRegistry.RUNEWOOD_SLABS, + ItemTagRegistry.RUNEWOOD_LOGS, ItemTagRegistry.RUNEWOOD_BOARD_INGREDIENT, ItemTagRegistry.RUNEWOOD_PLANKS, ItemTagRegistry.RUNEWOOD_SLABS, ItemRegistry.RUNEWOOD_BOAT.get() )); + + buildRecipes(consumer, new MalumDatagenWoodSet( + "soulwood", + ItemRegistry.SOULWOOD_LOG.get(), ItemRegistry.SOULWOOD.get(), + ItemRegistry.STRIPPED_SOULWOOD_LOG.get(), ItemRegistry.STRIPPED_SOULWOOD.get(), + ItemRegistry.REVEALED_SOULWOOD_LOG.get(), ItemRegistry.EXPOSED_SOULWOOD_LOG.get(), + ItemRegistry.SOULWOOD_BOARDS.get(), ItemRegistry.VERTICAL_SOULWOOD_BOARDS.get(), + ItemRegistry.SOULWOOD_BOARDS_SLAB.get(), ItemRegistry.VERTICAL_SOULWOOD_BOARDS_SLAB.get(), + ItemRegistry.SOULWOOD_BOARDS_STAIRS.get(), ItemRegistry.VERTICAL_SOULWOOD_BOARDS_STAIRS.get(), + ItemRegistry.SOULWOOD_PLANKS.get(), ItemRegistry.VERTICAL_SOULWOOD_PLANKS.get(), ItemRegistry.SOULWOOD_TILES.get(), + ItemRegistry.RUSTIC_SOULWOOD_PLANKS.get(), ItemRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS.get(), ItemRegistry.RUSTIC_SOULWOOD_TILES.get(), + ItemRegistry.SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.VERTICAL_SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.SOULWOOD_TILES_SLAB.get(), + ItemRegistry.RUSTIC_SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB.get(), ItemRegistry.RUSTIC_SOULWOOD_TILES_SLAB.get(), + ItemRegistry.SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.VERTICAL_SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.SOULWOOD_TILES_STAIRS.get(), + ItemRegistry.RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), ItemRegistry.RUSTIC_SOULWOOD_TILES_STAIRS.get(), + ItemRegistry.SOULWOOD_PANEL.get(), ItemRegistry.CUT_SOULWOOD_PLANKS.get(), ItemRegistry.SOULWOOD_BEAM.get(), + ItemRegistry.SOULWOOD_BUTTON.get(), ItemRegistry.SOULWOOD_PRESSURE_PLATE.get(), + ItemRegistry.SOLID_SOULWOOD_TRAPDOOR.get(), ItemRegistry.SOULWOOD_TRAPDOOR.get(), + ItemRegistry.SOULWOOD_FENCE.get(), ItemRegistry.SOULWOOD_FENCE_GATE.get(), + ItemRegistry.SOULWOOD_DOOR.get(), + ItemRegistry.SOULWOOD_SIGN.get(), ItemRegistry.SOULWOOD_SIGN.get(), + ItemRegistry.SOULWOOD_ITEM_STAND.get(), ItemRegistry.SOULWOOD_ITEM_PEDESTAL.get(), + ItemTagRegistry.SOULWOOD_LOGS, ItemTagRegistry.SOULWOOD_BOARD_INGREDIENT, ItemTagRegistry.SOULWOOD_PLANKS, ItemTagRegistry.SOULWOOD_SLABS, + ItemRegistry.SOULWOOD_BOAT.get() + )); } protected static void buildRecipes(Consumer consumer, MalumDatagenWoodSet woodSet) { shapelessPlanks(consumer, woodSet.planks, woodSet.logTag); - shapelessPanel(consumer, woodSet.boards, woodSet.logWithBarkTag); + shapedBoards(consumer, woodSet.boards, woodSet.logWithBarkTag); shapedSlab(consumer, woodSet.boardsSlab, woodSet.boards); shapedStairs(consumer, woodSet.boardsStairs, woodSet.boards); @@ -95,7 +120,7 @@ protected static void buildRecipes(Consumer consumer, MalumDatag shapedBoat(consumer, woodSet.boat, woodSet.planksTag); - shapelessPanel(consumer, woodSet.panel, woodSet.planksTag); + shapedPanel(consumer, woodSet.panel, woodSet.planksTag); shaped(RecipeCategory.MISC, woodSet.cutPlanks, 2) .define('X', woodSet.panel) @@ -118,7 +143,7 @@ protected static void buildRecipes(Consumer consumer, MalumDatag .pattern("XXX") .unlockedBy("has_input", has(woodSet.planksTag)) .save(consumer); - shaped(RecipeCategory.MISC, ItemRegistry.RUNEWOOD_ITEM_PEDESTAL.get()) + shaped(RecipeCategory.MISC, woodSet.itemPedestal) .define('X', woodSet.planksTag) .define('Y', woodSet.slabTag) .pattern("YYY") @@ -129,7 +154,6 @@ protected static void buildRecipes(Consumer consumer, MalumDatag } - private static void trapdoorExchange(Consumer recipeConsumer, ItemLike input, ItemLike output, String path) { shapeless(RecipeCategory.MISC, output) .requires(input) @@ -155,7 +179,16 @@ private static void shapelessPlanks(Consumer recipeConsumer, Ite .save(recipeConsumer); } - private static void shapelessPanel(Consumer recipeConsumer, ItemLike output, TagKey input) { + private static void shapedBoards(Consumer recipeConsumer, ItemLike output, TagKey input) { + shaped(RecipeCategory.MISC, output, 16) + .define('#', input) + .pattern(" # ") + .pattern("# #") + .pattern(" # ") + .unlockedBy("has_input", has(input)).save(recipeConsumer); + } + + private static void shapedPanel(Consumer recipeConsumer, ItemLike output, TagKey input) { shaped(RecipeCategory.MISC, output, 5) .define('#', input) .pattern(" # ") diff --git a/src/main/java/com/sammy/malum/data/recipe/infusion/ArtificeSpiritInfusionRecipes.java b/src/main/java/com/sammy/malum/data/recipe/infusion/ArtificeSpiritInfusionRecipes.java index 76a13253d..823c5f8e3 100644 --- a/src/main/java/com/sammy/malum/data/recipe/infusion/ArtificeSpiritInfusionRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/infusion/ArtificeSpiritInfusionRecipes.java @@ -118,10 +118,10 @@ public static void buildRecipes(Consumer consumer) { new SpiritInfusionRecipeBuilder(ItemRegistry.ALCHEMICAL_CALX.get(), 4, ItemRegistry.STELLAR_MECHANISM.get(), 1) .addExtraItem(ItemRegistry.FUSED_CONSCIOUSNESS.get(), 1) .addExtraItem(ItemRegistry.NULL_SLATE.get(), 2) - .addSpirit(AERIAL_SPIRIT, 4) - .addSpirit(AQUEOUS_SPIRIT, 4) - .addSpirit(EARTHEN_SPIRIT, 4) - .addSpirit(INFERNAL_SPIRIT, 4) + .addSpirit(AERIAL_SPIRIT, 16) + .addSpirit(AQUEOUS_SPIRIT, 16) + .addSpirit(EARTHEN_SPIRIT, 16) + .addSpirit(INFERNAL_SPIRIT, 16) .addSpirit(ELDRITCH_SPIRIT, 4) .build(consumer); diff --git a/src/main/java/com/sammy/malum/data/recipe/infusion/GearSpiritInfusionRecipes.java b/src/main/java/com/sammy/malum/data/recipe/infusion/GearSpiritInfusionRecipes.java index b0c398bcc..eecde4bf9 100644 --- a/src/main/java/com/sammy/malum/data/recipe/infusion/GearSpiritInfusionRecipes.java +++ b/src/main/java/com/sammy/malum/data/recipe/infusion/GearSpiritInfusionRecipes.java @@ -152,7 +152,6 @@ public static void buildRecipes(Consumer consumer) { .addExtraItem(ItemRegistry.SPIRIT_FABRIC.get(), 4) .addExtraItem(ItemRegistry.PROCESSED_SOULSTONE.get(), 4) .addExtraItem(Ingredient.of(Tags.Items.LEATHER), 2) - .addExtraItem(Ingredient.of(Tags.Items.FEATHERS), 2) .addSpirit(AERIAL_SPIRIT, 8) .addSpirit(EARTHEN_SPIRIT, 8) .build(consumer); diff --git a/src/main/java/com/sammy/malum/registry/common/ParticleEffectTypeRegistry.java b/src/main/java/com/sammy/malum/registry/common/ParticleEffectTypeRegistry.java index 323cbed40..95223752d 100644 --- a/src/main/java/com/sammy/malum/registry/common/ParticleEffectTypeRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/ParticleEffectTypeRegistry.java @@ -4,6 +4,7 @@ import com.sammy.malum.visual_effects.networked.altar.SpiritAltarCraftParticleEffect; import com.sammy.malum.visual_effects.networked.altar.SpiritAltarEatItemParticleEffect; import com.sammy.malum.visual_effects.networked.blight.BlightingMistParticleEffect; +import com.sammy.malum.visual_effects.networked.crucible.*; import com.sammy.malum.visual_effects.networked.generic.DrippingSmokeParticleEffect; import com.sammy.malum.visual_effects.networked.generic.HexingSmokeParticleEffect; import com.sammy.malum.visual_effects.networked.generic.RisingSparklesParticleEffect; @@ -34,6 +35,8 @@ public class ParticleEffectTypeRegistry { public static final ParticleEffectType SPIRIT_ALTAR_CRAFTS = new SpiritAltarCraftParticleEffect("spirit_altar_crafts"); public static final ParticleEffectType SPIRIT_ALTAR_EATS_ITEM = new SpiritAltarEatItemParticleEffect("spirit_altar_eats_item"); + public static final ParticleEffectType SPIRIT_CRUCIBLE_CRAFTS = new SpiritCrucibleCraftParticleEffect("spirit_crucible_crafts"); + public static final ParticleEffectType RITUAL_PLINTH_EATS_ITEM = new RitualPlinthAbsorbItemParticleEffect("ritual_plinth_eats_item"); public static final ParticleEffectType RITUAL_PLINTH_EATS_SPIRIT = new RitualPlinthAbsorbSpiritParticleEffect("ritual_plinth_eats_spirit"); public static final ParticleEffectType RITUAL_PLINTH_BEGINS_CHARGING = new RitualPlinthBeginChargingParticleEffect("ritual_plinth_begins_charging"); diff --git a/src/main/java/com/sammy/malum/registry/common/SoundRegistry.java b/src/main/java/com/sammy/malum/registry/common/SoundRegistry.java index f426a0cac..62aa8775a 100644 --- a/src/main/java/com/sammy/malum/registry/common/SoundRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/SoundRegistry.java @@ -169,6 +169,27 @@ public class SoundRegistry { public static final RegistryObject RUNEWOOD_DOOR_OPEN = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("runewood_door_open"))); public static final RegistryObject RUNEWOOD_TRAPDOOR_CLOSE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("runewood_trapdoor_close"))); public static final RegistryObject RUNEWOOD_TRAPDOOR_OPEN = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("runewood_trapdoor_open"))); + + public static final RegistryObject SOULWOOD_BREAK = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_break"))); + public static final RegistryObject SOULWOOD_PLACE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_place"))); + public static final RegistryObject SOULWOOD_STEP = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_step"))); + public static final RegistryObject SOULWOOD_HIT = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_hit"))); + + public static final RegistryObject SOULWOOD_HANGING_SIGN_BREAK = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_hanging_sign_break"))); + public static final RegistryObject SOULWOOD_HANGING_SIGN_PLACE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_hanging_sign_place"))); + public static final RegistryObject SOULWOOD_HANGING_SIGN_STEP = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_hanging_sign_step"))); + public static final RegistryObject SOULWOOD_HANGING_SIGN_HIT = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_hanging_sign_hit"))); + + public static final RegistryObject SOULWOOD_BUTTON_CLICK_OFF = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_button_click_off"))); + public static final RegistryObject SOULWOOD_BUTTON_CLICK_ON = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_button_click_on"))); + public static final RegistryObject SOULWOOD_PRESSURE_PLATE_CLICK_OFF = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_pressure_plate_click_off"))); + public static final RegistryObject SOULWOOD_PRESSURE_PLATE_CLICK_ON = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_pressure_plate_click_on"))); + public static final RegistryObject SOULWOOD_FENCE_GATE_CLOSE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_fence_gate_close"))); + public static final RegistryObject SOULWOOD_FENCE_GATE_OPEN = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_fence_gate_open"))); + public static final RegistryObject SOULWOOD_DOOR_CLOSE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_door_close"))); + public static final RegistryObject SOULWOOD_DOOR_OPEN = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_door_open"))); + public static final RegistryObject SOULWOOD_TRAPDOOR_CLOSE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_trapdoor_close"))); + public static final RegistryObject SOULWOOD_TRAPDOOR_OPEN = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("soulwood_trapdoor_open"))); public static final RegistryObject ARCANE_ROCK_BREAK = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("arcane_rock_break"))); public static final RegistryObject ARCANE_ROCK_PLACE = register(SoundEvent.createVariableRangeEvent(MalumMod.malumPath("arcane_rock_place"))); diff --git a/src/main/java/com/sammy/malum/registry/common/block/BlockRegistry.java b/src/main/java/com/sammy/malum/registry/common/block/BlockRegistry.java index 715be2ebd..ff22bca49 100644 --- a/src/main/java/com/sammy/malum/registry/common/block/BlockRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/block/BlockRegistry.java @@ -216,7 +216,6 @@ public class BlockRegistry { public static final RegistryObject VERTICAL_RUNEWOOD_BOARDS_SLAB = BLOCKS.register("vertical_runewood_boards_slab", () -> new SlabBlock(MalumBlockProperties.RUNEWOOD().addTags(SLABS, WOODEN_SLABS))); public static final RegistryObject VERTICAL_RUNEWOOD_BOARDS_STAIRS = BLOCKS.register("vertical_runewood_boards_stairs", () -> new StairBlock(() -> VERTICAL_RUNEWOOD_BOARDS.get().defaultBlockState(), MalumBlockProperties.RUNEWOOD().addTags(STAIRS, WOODEN_STAIRS))); - public static final RegistryObject RUNEWOOD_PLANKS = BLOCKS.register("runewood_planks", () -> new Block(MalumBlockProperties.RUNEWOOD().addTags(PLANKS))); public static final RegistryObject RUNEWOOD_PLANKS_SLAB = BLOCKS.register("runewood_planks_slab", () -> new SlabBlock(MalumBlockProperties.RUNEWOOD().addTags(SLABS, WOODEN_SLABS))); public static final RegistryObject RUNEWOOD_PLANKS_STAIRS = BLOCKS.register("runewood_planks_stairs", () -> new StairBlock(() -> RUNEWOOD_PLANKS.get().defaultBlockState(), MalumBlockProperties.RUNEWOOD().addTags(STAIRS, WOODEN_STAIRS))); @@ -276,22 +275,39 @@ public class BlockRegistry { public static final RegistryObject REVEALED_SOULWOOD_LOG = BLOCKS.register("revealed_soulwood_log", () -> new SapFilledSoulwoodLogBlock(MalumBlockProperties.SOULWOOD().addTags(LOGS, STRIPPED_LOGS, SOULWOOD_LOGS), STRIPPED_SOULWOOD_LOG, ItemRegistry.CURSED_SAP, new Color(214, 46, 83))); public static final RegistryObject EXPOSED_SOULWOOD_LOG = BLOCKS.register("exposed_soulwood_log", () -> new SoulwoodBlock(MalumBlockProperties.SOULWOOD().addTags(LOGS, SOULWOOD_LOGS), REVEALED_SOULWOOD_LOG)); + public static final RegistryObject SOULWOOD_BOARDS = BLOCKS.register("soulwood_boards", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); + public static final RegistryObject SOULWOOD_BOARDS_SLAB = BLOCKS.register("soulwood_boards_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); + public static final RegistryObject SOULWOOD_BOARDS_STAIRS = BLOCKS.register("soulwood_boards_stairs", () -> new StairBlock(() -> SOULWOOD_BOARDS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS = BLOCKS.register("vertical_soulwood_boards", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS_SLAB = BLOCKS.register("vertical_soulwood_boards_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS_STAIRS = BLOCKS.register("vertical_soulwood_boards_stairs", () -> new StairBlock(() -> VERTICAL_SOULWOOD_BOARDS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + public static final RegistryObject SOULWOOD_PLANKS = BLOCKS.register("soulwood_planks", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); public static final RegistryObject SOULWOOD_PLANKS_SLAB = BLOCKS.register("soulwood_planks_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); public static final RegistryObject SOULWOOD_PLANKS_STAIRS = BLOCKS.register("soulwood_planks_stairs", () -> new StairBlock(() -> SOULWOOD_PLANKS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS = BLOCKS.register("rustic_soulwood_planks", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS_SLAB = BLOCKS.register("rustic_soulwood_planks_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS_STAIRS = BLOCKS.register("rustic_soulwood_planks_stairs", () -> new StairBlock(() -> RUSTIC_SOULWOOD_PLANKS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + public static final RegistryObject VERTICAL_SOULWOOD_PLANKS = BLOCKS.register("vertical_soulwood_planks", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); public static final RegistryObject VERTICAL_SOULWOOD_PLANKS_SLAB = BLOCKS.register("vertical_soulwood_planks_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); public static final RegistryObject VERTICAL_SOULWOOD_PLANKS_STAIRS = BLOCKS.register("vertical_soulwood_planks_stairs", () -> new StairBlock(() -> VERTICAL_SOULWOOD_PLANKS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); - public static final RegistryObject SOULWOOD_PANEL = BLOCKS.register("soulwood_panel", () -> new Block(MalumBlockProperties.SOULWOOD())); - public static final RegistryObject SOULWOOD_PANEL_SLAB = BLOCKS.register("soulwood_panel_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); - public static final RegistryObject SOULWOOD_PANEL_STAIRS = BLOCKS.register("soulwood_panel_stairs", () -> new StairBlock(() -> SOULWOOD_PANEL.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS = BLOCKS.register("vertical_rustic_soulwood_planks", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB = BLOCKS.register("vertical_rustic_soulwood_planks_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS = BLOCKS.register("vertical_rustic_soulwood_planks_stairs", () -> new StairBlock(() -> VERTICAL_RUSTIC_SOULWOOD_PLANKS.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); public static final RegistryObject SOULWOOD_TILES = BLOCKS.register("soulwood_tiles", () -> new Block(MalumBlockProperties.SOULWOOD())); public static final RegistryObject SOULWOOD_TILES_SLAB = BLOCKS.register("soulwood_tiles_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); public static final RegistryObject SOULWOOD_TILES_STAIRS = BLOCKS.register("soulwood_tiles_stairs", () -> new StairBlock(() -> SOULWOOD_TILES.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + public static final RegistryObject RUSTIC_SOULWOOD_TILES = BLOCKS.register("rustic_soulwood_tiles", () -> new Block(MalumBlockProperties.SOULWOOD())); + public static final RegistryObject RUSTIC_SOULWOOD_TILES_SLAB = BLOCKS.register("rustic_soulwood_tiles_slab", () -> new SlabBlock(MalumBlockProperties.SOULWOOD().addTags(SLABS, WOODEN_SLABS))); + public static final RegistryObject RUSTIC_SOULWOOD_TILES_STAIRS = BLOCKS.register("rustic_soulwood_tiles_stairs", () -> new StairBlock(() -> RUSTIC_SOULWOOD_TILES.get().defaultBlockState(), MalumBlockProperties.SOULWOOD().addTags(STAIRS, WOODEN_STAIRS))); + + public static final RegistryObject SOULWOOD_PANEL = BLOCKS.register("soulwood_panel", () -> new Block(MalumBlockProperties.SOULWOOD())); public static final RegistryObject CUT_SOULWOOD_PLANKS = BLOCKS.register("cut_soulwood_planks", () -> new Block(MalumBlockProperties.SOULWOOD().addTags(PLANKS))); public static final RegistryObject SOULWOOD_BEAM = BLOCKS.register("soulwood_beam", () -> new RotatedPillarBlock(MalumBlockProperties.SOULWOOD())); diff --git a/src/main/java/com/sammy/malum/registry/common/block/MalumBlockSetTypes.java b/src/main/java/com/sammy/malum/registry/common/block/MalumBlockSetTypes.java index 6b531c046..414ec98b2 100644 --- a/src/main/java/com/sammy/malum/registry/common/block/MalumBlockSetTypes.java +++ b/src/main/java/com/sammy/malum/registry/common/block/MalumBlockSetTypes.java @@ -14,7 +14,13 @@ public class MalumBlockSetTypes { SoundRegistry.RUNEWOOD_PRESSURE_PLATE_CLICK_OFF.get(), SoundRegistry.RUNEWOOD_PRESSURE_PLATE_CLICK_ON.get(), SoundRegistry.RUNEWOOD_BUTTON_CLICK_OFF.get(), SoundRegistry.RUNEWOOD_BUTTON_CLICK_ON.get())); public static final BlockSetType SOULWOOD = BlockSetType.register( - new BlockSetType("soulwood")); + new BlockSetType("soulwood", true, + SoundRegistry.SOULWOOD, + SoundRegistry.SOULWOOD_DOOR_CLOSE.get(), SoundRegistry.SOULWOOD_DOOR_OPEN.get(), + SoundRegistry.SOULWOOD_TRAPDOOR_CLOSE.get(), SoundRegistry.SOULWOOD_TRAPDOOR_OPEN.get(), + SoundRegistry.SOULWOOD_PRESSURE_PLATE_CLICK_OFF.get(), SoundRegistry.SOULWOOD_PRESSURE_PLATE_CLICK_ON.get(), + SoundRegistry.SOULWOOD_BUTTON_CLICK_OFF.get(), SoundRegistry.SOULWOOD_BUTTON_CLICK_ON.get())); + public static final BlockSetType TAINTED_ROCK = BlockSetType.register( new BlockSetType("tainted_rock", true, SoundType.STONE, SoundEvents.IRON_DOOR_CLOSE, SoundEvents.IRON_DOOR_OPEN, SoundEvents.IRON_TRAPDOOR_CLOSE, SoundEvents.IRON_TRAPDOOR_OPEN, SoundEvents.STONE_PRESSURE_PLATE_CLICK_OFF, SoundEvents.STONE_PRESSURE_PLATE_CLICK_ON, SoundEvents.STONE_BUTTON_CLICK_OFF, SoundEvents.STONE_BUTTON_CLICK_ON)); public static final BlockSetType TWISTED_ROCK = BlockSetType.register( diff --git a/src/main/java/com/sammy/malum/registry/common/block/WoodTypeRegistry.java b/src/main/java/com/sammy/malum/registry/common/block/WoodTypeRegistry.java index ffbcb9843..b2aa31db0 100644 --- a/src/main/java/com/sammy/malum/registry/common/block/WoodTypeRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/block/WoodTypeRegistry.java @@ -14,7 +14,9 @@ public class WoodTypeRegistry { public static final WoodType RUNEWOOD = WoodType.register(new WoodType("malum:runewood", MalumBlockSetTypes.RUNEWOOD, SoundRegistry.RUNEWOOD, SoundRegistry.RUNEWOOD_HANGING_SIGN, SoundRegistry.RUNEWOOD_FENCE_GATE_CLOSE.get(), SoundRegistry.RUNEWOOD_FENCE_GATE_OPEN.get())); - public static final WoodType SOULWOOD = WoodType.register(new WoodType("malum:soulwood", MalumBlockSetTypes.SOULWOOD)); + public static final WoodType SOULWOOD = WoodType.register(new WoodType("malum:soulwood", MalumBlockSetTypes.SOULWOOD, + SoundRegistry.SOULWOOD, SoundRegistry.SOULWOOD_HANGING_SIGN, + SoundRegistry.SOULWOOD_FENCE_GATE_CLOSE.get(), SoundRegistry.SOULWOOD_FENCE_GATE_OPEN.get())); @Mod.EventBusSubscriber(modid= MalumMod.MALUM, bus= Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public static class ClientOnly { diff --git a/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java b/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java index e2e6712ac..d5243c2ba 100644 --- a/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/item/ItemRegistry.java @@ -285,6 +285,8 @@ public static RegistryObject register(String name, Item.Prop public static final RegistryObject RUSTIC_RUNEWOOD_TILES = register("rustic_runewood_tiles", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_RUNEWOOD_TILES.get(), p)); public static final RegistryObject RUNEWOOD_PANEL = register("runewood_panel", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_PANEL.get(), p)); + public static final RegistryObject CUT_RUNEWOOD_PLANKS = register("cut_runewood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.CUT_RUNEWOOD_PLANKS.get(), p)); + public static final RegistryObject RUNEWOOD_BEAM = register("runewood_beam", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_BEAM.get(), p)); public static final RegistryObject RUNEWOOD_BOARDS_SLAB = register("runewood_boards_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_BOARDS_SLAB.get(), p)); public static final RegistryObject VERTICAL_RUNEWOOD_BOARDS_SLAB = register("vertical_runewood_boards_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_RUNEWOOD_BOARDS_SLAB.get(), p)); @@ -304,9 +306,6 @@ public static RegistryObject register(String name, Item.Prop public static final RegistryObject VERTICAL_RUSTIC_RUNEWOOD_PLANKS_STAIRS = register("vertical_rustic_runewood_planks_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_RUSTIC_RUNEWOOD_PLANKS_STAIRS.get(), p)); public static final RegistryObject RUSTIC_RUNEWOOD_TILES_STAIRS = register("rustic_runewood_tiles_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_RUNEWOOD_TILES_STAIRS.get(), p)); - public static final RegistryObject CUT_RUNEWOOD_PLANKS = register("cut_runewood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.CUT_RUNEWOOD_PLANKS.get(), p)); - public static final RegistryObject RUNEWOOD_BEAM = register("runewood_beam", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_BEAM.get(), p)); - public static final RegistryObject RUNEWOOD_DOOR = register("runewood_door", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_DOOR.get(), p)); public static final RegistryObject RUNEWOOD_TRAPDOOR = register("runewood_trapdoor", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUNEWOOD_TRAPDOOR.get(), p)); public static final RegistryObject SOLID_RUNEWOOD_TRAPDOOR = register("solid_runewood_trapdoor", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOLID_RUNEWOOD_TRAPDOOR.get(), p)); @@ -349,33 +348,47 @@ public static RegistryObject register(String name, Item.Prop public static final RegistryObject EXPOSED_SOULWOOD_LOG = register("exposed_soulwood_log", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.EXPOSED_SOULWOOD_LOG.get(), p)); public static final RegistryObject REVEALED_SOULWOOD_LOG = register("revealed_soulwood_log", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.REVEALED_SOULWOOD_LOG.get(), p)); + public static final RegistryObject SOULWOOD_BOARDS = register("soulwood_boards", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BOARDS.get(), p)); + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS = register("vertical_soulwood_boards", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_BOARDS.get(), p)); + public static final RegistryObject SOULWOOD_PLANKS = register("soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PLANKS.get(), p)); public static final RegistryObject VERTICAL_SOULWOOD_PLANKS = register("vertical_soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_PLANKS.get(), p)); - public static final RegistryObject SOULWOOD_PANEL = register("soulwood_panel", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PANEL.get(), p)); public static final RegistryObject SOULWOOD_TILES = register("soulwood_tiles", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_TILES.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS = register("rustic_soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_PLANKS.get(), p)); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS = register("vertical_rustic_soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_TILES = register("rustic_soulwood_tiles", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_TILES.get(), p)); + public static final RegistryObject SOULWOOD_PANEL = register("soulwood_panel", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PANEL.get(), p)); + public static final RegistryObject CUT_SOULWOOD_PLANKS = register("cut_soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.CUT_SOULWOOD_PLANKS.get(), p)); + public static final RegistryObject SOULWOOD_BEAM = register("soulwood_beam", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BEAM.get(), p)); + + public static final RegistryObject SOULWOOD_BOARDS_SLAB = register("soulwood_boards_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BOARDS_SLAB.get(), p)); + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS_SLAB = register("vertical_soulwood_boards_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_BOARDS_SLAB.get(), p)); public static final RegistryObject SOULWOOD_PLANKS_SLAB = register("soulwood_planks_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PLANKS_SLAB.get(), p)); public static final RegistryObject VERTICAL_SOULWOOD_PLANKS_SLAB = register("vertical_soulwood_planks_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_PLANKS_SLAB.get(), p)); - public static final RegistryObject SOULWOOD_PANEL_SLAB = register("soulwood_panel_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PANEL_SLAB.get(), p)); public static final RegistryObject SOULWOOD_TILES_SLAB = register("soulwood_tiles_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_TILES_SLAB.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS_SLAB = register("rustic_soulwood_planks_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_PLANKS_SLAB.get(), p)); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB = register("vertical_rustic_soulwood_planks_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS_SLAB.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_TILES_SLAB = register("rustic_soulwood_tiles_slab", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_TILES_SLAB.get(), p)); + public static final RegistryObject SOULWOOD_BOARDS_STAIRS = register("soulwood_boards_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BOARDS_STAIRS.get(), p)); + public static final RegistryObject VERTICAL_SOULWOOD_BOARDS_STAIRS = register("vertical_soulwood_boards_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_BOARDS_STAIRS.get(), p)); public static final RegistryObject SOULWOOD_PLANKS_STAIRS = register("soulwood_planks_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PLANKS_STAIRS.get(), p)); public static final RegistryObject VERTICAL_SOULWOOD_PLANKS_STAIRS = register("vertical_soulwood_planks_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_SOULWOOD_PLANKS_STAIRS.get(), p)); - public static final RegistryObject SOULWOOD_PANEL_STAIRS = register("soulwood_panel_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PANEL_STAIRS.get(), p)); public static final RegistryObject SOULWOOD_TILES_STAIRS = register("soulwood_tiles_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_TILES_STAIRS.get(), p)); - - public static final RegistryObject CUT_SOULWOOD_PLANKS = register("cut_soulwood_planks", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.CUT_SOULWOOD_PLANKS.get(), p)); - public static final RegistryObject SOULWOOD_BEAM = register("soulwood_beam", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BEAM.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_PLANKS_STAIRS = register("rustic_soulwood_planks_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), p)); + public static final RegistryObject VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS = register("vertical_rustic_soulwood_planks_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.VERTICAL_RUSTIC_SOULWOOD_PLANKS_STAIRS.get(), p)); + public static final RegistryObject RUSTIC_SOULWOOD_TILES_STAIRS = register("rustic_soulwood_tiles_stairs", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.RUSTIC_SOULWOOD_TILES_STAIRS.get(), p)); public static final RegistryObject SOULWOOD_DOOR = register("soulwood_door", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_DOOR.get(), p)); public static final RegistryObject SOULWOOD_TRAPDOOR = register("soulwood_trapdoor", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_TRAPDOOR.get(), p)); public static final RegistryObject SOLID_SOULWOOD_TRAPDOOR = register("solid_soulwood_trapdoor", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOLID_SOULWOOD_TRAPDOOR.get(), p)); - public static final RegistryObject SOULWOOD_PLANKS_BUTTON = register("soulwood_planks_button", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BUTTON.get(), p)); - public static final RegistryObject SOULWOOD_PLANKS_PRESSURE_PLATE = register("soulwood_planks_pressure_plate", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PRESSURE_PLATE.get(), p)); + public static final RegistryObject SOULWOOD_BUTTON = register("soulwood_planks_button", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_BUTTON.get(), p)); + public static final RegistryObject SOULWOOD_PRESSURE_PLATE = register("soulwood_planks_pressure_plate", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_PRESSURE_PLATE.get(), p)); - public static final RegistryObject SOULWOOD_PLANKS_FENCE = register("soulwood_planks_fence", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_FENCE.get(), p)); - public static final RegistryObject SOULWOOD_PLANKS_FENCE_GATE = register("soulwood_planks_fence_gate", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_FENCE_GATE.get(), p)); + public static final RegistryObject SOULWOOD_FENCE = register("soulwood_planks_fence", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_FENCE.get(), p)); + public static final RegistryObject SOULWOOD_FENCE_GATE = register("soulwood_planks_fence_gate", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_FENCE_GATE.get(), p)); public static final RegistryObject SOULWOOD_ITEM_STAND = register("soulwood_item_stand", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_ITEM_STAND.get(), p)); public static final RegistryObject SOULWOOD_ITEM_PEDESTAL = register("soulwood_item_pedestal", NATURE_PROPERTIES(), (p) -> new BlockItem(BlockRegistry.SOULWOOD_ITEM_PEDESTAL.get(), p)); diff --git a/src/main/java/com/sammy/malum/registry/common/item/ItemTagRegistry.java b/src/main/java/com/sammy/malum/registry/common/item/ItemTagRegistry.java index f4630da52..1d38de624 100644 --- a/src/main/java/com/sammy/malum/registry/common/item/ItemTagRegistry.java +++ b/src/main/java/com/sammy/malum/registry/common/item/ItemTagRegistry.java @@ -12,13 +12,13 @@ public class ItemTagRegistry { public static final TagKey SCYTHE = malumTag("scythe"); public static final TagKey STAFF = malumTag("staff"); - public static final TagKey RUNEWOOD_WITH_BARK = malumTag("runewood_with_bark"); + public static final TagKey RUNEWOOD_BOARD_INGREDIENT = malumTag("runewood_board_ingredient"); public static final TagKey RUNEWOOD_LOGS = malumTag("runewood_logs"); public static final TagKey RUNEWOOD_PLANKS = malumTag("runewood_planks"); public static final TagKey RUNEWOOD_SLABS = malumTag("runewood_slabs"); public static final TagKey RUNEWOOD_STAIRS = malumTag("runewood_stairs"); - public static final TagKey SOULWOOD_WITH_BARK = malumTag("soulwood_with_bark"); + public static final TagKey SOULWOOD_BOARD_INGREDIENT = malumTag("soulwood_board_ingredient"); public static final TagKey SOULWOOD_LOGS = malumTag("soulwood_logs"); public static final TagKey SOULWOOD_PLANKS = malumTag("soulwood_planks"); public static final TagKey SOULWOOD_SLABS = malumTag("soulwood_slabs"); diff --git a/src/main/java/com/sammy/malum/visual_effects/SpiritCrucibleParticleEffects.java b/src/main/java/com/sammy/malum/visual_effects/SpiritCrucibleParticleEffects.java index fccb89e70..8dbcde82b 100644 --- a/src/main/java/com/sammy/malum/visual_effects/SpiritCrucibleParticleEffects.java +++ b/src/main/java/com/sammy/malum/visual_effects/SpiritCrucibleParticleEffects.java @@ -7,6 +7,7 @@ import com.sammy.malum.common.recipe.*; import com.sammy.malum.core.systems.spirit.*; import com.sammy.malum.registry.client.*; +import com.sammy.malum.visual_effects.networked.data.*; import net.minecraft.core.*; import net.minecraft.util.*; import net.minecraft.world.item.*; @@ -173,6 +174,99 @@ public static void activeSpiritCatalyzerParticles(SpiritCatalyzerCoreBlockEntity } } } + + public static void craftItemParticles(SpiritCrucibleCoreBlockEntity crucible, ColorEffectData colorData) { + MalumSpiritType activeSpiritType = crucible.getActiveSpiritType(); + if (activeSpiritType == null) { + return; + } + Level level = crucible.getLevel(); + var random = level.random; + BlockPos altarPos = crucible.getBlockPos(); + Vec3 targetPos = crucible.getCentralItemOffset().add(altarPos.getX(), altarPos.getY(), altarPos.getZ()); + + for (int i = 0; i < 2; i++) { + SpiritLightSpecs.coolLookingShinyThing(level, targetPos, activeSpiritType); + } + for (int i = 0; i < 24; i++) { + int lifeDelay = i / 8; + MalumSpiritType cyclingSpiritType = colorData.getCyclingColorRecord().spiritType(); + float xVelocity = RandomHelper.randomBetween(random, Easing.CUBIC_OUT, -0.075f, 0.075f); + float yVelocity = RandomHelper.randomBetween(random, 0.2f, 0.5f); + float zVelocity = RandomHelper.randomBetween(random, Easing.CUBIC_OUT, -0.075f, 0.075f); + float gravityStrength = RandomHelper.randomBetween(random, 0.75f, 1f); + if (random.nextFloat() < 0.85f) { + var sparkParticles = SparkParticleEffects.spiritMotionSparks(level, targetPos, cyclingSpiritType); + sparkParticles.getBuilder() + .disableNoClip() + .setLifeDelay(lifeDelay) + .multiplyLifetime(2) + .setGravityStrength(gravityStrength) + .setMotion(xVelocity, yVelocity, zVelocity) + .modifyData(SparkParticleBuilder::getScaleData, d -> d.multiplyValue(2f)); + sparkParticles.getBloomBuilder() + .disableNoClip() + .setLifeDelay(lifeDelay) + .multiplyLifetime(2) + .setGravityStrength(gravityStrength) + .setMotion(xVelocity, yVelocity, zVelocity) + .modifyData(WorldParticleBuilder::getTransparencyData, d -> d.multiplyValue(1.25f)); + sparkParticles.spawnParticles(); + } + if (random.nextFloat() < 0.85f) { + xVelocity *= 1.25f; + yVelocity *= 0.75f; + zVelocity *= 1.25f; + var lightSpecs = SpiritLightSpecs.spiritLightSpecs(level, targetPos, cyclingSpiritType); + lightSpecs.getBuilder() + .disableNoClip() + .setLifeDelay(lifeDelay) + .multiplyLifetime(4) + .setGravityStrength(gravityStrength) + .setMotion(xVelocity, yVelocity, zVelocity) + .modifyData(WorldParticleBuilder::getScaleData, d -> d.multiplyValue(2.5f)); + lightSpecs.getBloomBuilder() + .disableNoClip() + .setLifeDelay(lifeDelay) + .multiplyLifetime(4) + .setGravityStrength(gravityStrength) + .setMotion(xVelocity, yVelocity, zVelocity) + .modifyData(WorldParticleBuilder::getTransparencyData, d -> d.multiplyValue(1.25f)); + lightSpecs.spawnParticles(); + } + } + + for (int i = 0; i < 8; i++) { + MalumSpiritType cyclingSpiritType = colorData.getCyclingColorRecord().spiritType(); + float xVelocity = RandomHelper.randomBetween(random, Easing.CUBIC_OUT, -0.025f, 0.025f); + float yVelocity = RandomHelper.randomBetween(random, 0.015f, 0.035f); + float zVelocity = RandomHelper.randomBetween(random, Easing.CUBIC_OUT, -0.025f, 0.025f); + if (random.nextFloat() < 0.85f) { + var lightSpecs = SpiritLightSpecs.spiritLightSpecs(level, targetPos.subtract(0, 0.5f, 0), cyclingSpiritType, ParticleRegistry.STRANGE_SMOKE); + lightSpecs.getBuilder() + .disableNoClip() + .setLifeDelay(i) + .multiplyLifetime(5) + .setMotion(xVelocity, yVelocity, zVelocity) + .setSpritePicker(SimpleParticleOptions.ParticleSpritePicker.WITH_AGE) + .modifyColorData(c -> c.multiplyCoefficient(0.5f)) + .modifyData(WorldParticleBuilder::getScaleData, d -> d.multiplyValue(1.5f)) + .modifyData(WorldParticleBuilder::getTransparencyData, d -> d.multiplyValue(0.1f)); + lightSpecs.getBloomBuilder() + .disableNoClip() + .setLifeDelay(i) + .multiplyLifetime(5) + .setMotion(xVelocity, yVelocity, zVelocity) + .setSpritePicker(SimpleParticleOptions.ParticleSpritePicker.WITH_AGE) + .modifyColorData(c -> c.multiplyCoefficient(0.5f)) + .modifyData(WorldParticleBuilder::getScaleData, d -> d.multiplyValue(2.5f)) + .modifyData(WorldParticleBuilder::getTransparencyData, d -> d.multiplyValue(0.25f)); + lightSpecs.spawnParticles(); + } + } + } + + public static void passiveSpiritCatalyzerParticles(SpiritCatalyzerCoreBlockEntity catalyzer) { Level level = catalyzer.getLevel(); RandomSource random = level.random; diff --git a/src/main/java/com/sammy/malum/visual_effects/TotemParticleEffects.java b/src/main/java/com/sammy/malum/visual_effects/TotemParticleEffects.java new file mode 100644 index 000000000..196f679a0 --- /dev/null +++ b/src/main/java/com/sammy/malum/visual_effects/TotemParticleEffects.java @@ -0,0 +1,43 @@ +package com.sammy.malum.visual_effects; + +import com.sammy.malum.common.block.curiosities.totem.*; +import com.sammy.malum.core.systems.spirit.*; +import net.minecraft.world.level.*; +import net.minecraft.world.phys.*; +import team.lodestar.lodestone.helpers.*; +import team.lodestar.lodestone.systems.particle.builder.*; +import team.lodestar.lodestone.systems.particle.data.*; + +import static com.sammy.malum.visual_effects.SpiritLightSpecs.spiritLightSpecs; + +public class TotemParticleEffects { + + public static void activeTotemPoleParticles(TotemPoleBlockEntity totemPoleBlockEntity) { + MalumSpiritType spiritType = totemPoleBlockEntity.type; + Level level = totemPoleBlockEntity.getLevel(); + long gameTime = level.getGameTime(); + var random = level.random; + if (gameTime % 12L == 0) { + int offset = (totemPoleBlockEntity.getBlockPos().getY() - totemPoleBlockEntity.totemBaseYLevel) * 40; + gameTime += offset; + final float time = 480; + for (int i = 0; i < 2; i++) { + float velocity = RandomHelper.randomBetween(random, 0.005f, 0.015f); + Vec3 offsetPosition = DataHelper.rotatingRadialOffset(totemPoleBlockEntity.getBlockPos().getCenter(), 0.9f, i, 2, gameTime, time); + offsetPosition = offsetPosition.add(0, (Math.cos(((gameTime+i*240) % time) / time) * 0.25f) - 0.25f, 0); + var lightSpecs = spiritLightSpecs(level, offsetPosition, spiritType); + lightSpecs.getBuilder() + .multiplyLifetime(4.5f) + .setMotion(0, velocity, 0) + .setTransparencyData(GenericParticleData.create(0.2f, 0.8f, 0f).build()) + .modifyData(WorldParticleBuilder::getScaleData, d -> d.multiplyValue(RandomHelper.randomBetween(random, 1f, 2f))); + lightSpecs.getBloomBuilder() + .multiplyLifetime(3f) + .setMotion(0, velocity, 0) + .setTransparencyData(GenericParticleData.create(0.05f, 0.35f, 0f).build()) + .modifyData(WorldParticleBuilder::getScaleData, d -> d.multiplyValue(RandomHelper.randomBetween(random, 0.5f, 1f))); + lightSpecs.spawnParticles(); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/com/sammy/malum/visual_effects/networked/crucible/SpiritCrucibleCraftParticleEffect.java b/src/main/java/com/sammy/malum/visual_effects/networked/crucible/SpiritCrucibleCraftParticleEffect.java new file mode 100644 index 000000000..06ee3ea5b --- /dev/null +++ b/src/main/java/com/sammy/malum/visual_effects/networked/crucible/SpiritCrucibleCraftParticleEffect.java @@ -0,0 +1,26 @@ +package com.sammy.malum.visual_effects.networked.crucible; + +import com.sammy.malum.common.block.curiosities.spirit_crucible.*; +import com.sammy.malum.visual_effects.*; +import com.sammy.malum.visual_effects.networked.*; +import net.minecraftforge.api.distmarker.*; + +import java.util.function.*; + +public class SpiritCrucibleCraftParticleEffect extends ParticleEffectType { + + public SpiritCrucibleCraftParticleEffect(String id) { + super(id); + } + + @OnlyIn(Dist.CLIENT) + @Override + public Supplier get() { + return () -> (level, random, positionData, colorData, nbtData) -> { + if (!(level.getBlockEntity(positionData.getAsBlockPos()) instanceof SpiritCrucibleCoreBlockEntity crucible)) { + return; + } + SpiritCrucibleParticleEffects.craftItemParticles(crucible, colorData); + }; + } +} \ No newline at end of file diff --git a/src/main/resources/assets/malum/sounds.json b/src/main/resources/assets/malum/sounds.json index 0c5f7a0ed..7d8cba48e 100644 --- a/src/main/resources/assets/malum/sounds.json +++ b/src/main/resources/assets/malum/sounds.json @@ -117,6 +117,26 @@ "runewood_trapdoor_close": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_close" }, "runewood_trapdoor_open": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_open" }, + "soulwood_break": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.soulwood_break" }, + "soulwood_step": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.soulwood_step" }, + "soulwood_place": { "sounds":["malum:blocks/runewood/break1","malum:blocks/runewood/break2","malum:blocks/runewood/break3","malum:blocks/runewood/break4","malum:blocks/runewood/break5","malum:blocks/runewood/break6"], "subtitle": "malum.subtitle.soulwood_place" }, + "soulwood_hit": { "sounds":["malum:blocks/runewood/hit1","malum:blocks/runewood/hit2","malum:blocks/runewood/hit3","malum:blocks/runewood/hit4","malum:blocks/runewood/hit5","malum:blocks/runewood/hit6"], "subtitle": "malum.subtitle.soulwood_hit" }, + + "soulwood_hanging_sign_break": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_break" }, + "soulwood_hanging_sign_step": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_step" }, + "soulwood_hanging_sign_place": { "sounds":["malum:blocks/runewood/hanging_sign/break1","malum:blocks/runewood/hanging_sign/break2","malum:blocks/runewood/hanging_sign/break3","malum:blocks/runewood/hanging_sign/break4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_place" }, + "soulwood_hanging_sign_hit": { "sounds":["malum:blocks/runewood/hanging_sign/hit1","malum:blocks/runewood/hanging_sign/hit2","malum:blocks/runewood/hanging_sign/hit3","malum:blocks/runewood/hanging_sign/hit4"], "subtitle": "malum.subtitle.soulwood_hanging_sign_hit" }, + + "soulwood_button_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_off" }, + "soulwood_button_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_button_click_on" }, + "soulwood_pressure_plate_click_off": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_off" }, + "soulwood_pressure_plate_click_on": { "sounds":["malum:blocks/runewood/button/runewood_button"], "subtitle": "malum.subtitle.runewood_pressure_plate_click_on" }, + "soulwood_fence_gate_close": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_close" }, + "soulwood_fence_gate_open": { "sounds":["malum:blocks/runewood/fence_gate/toggle1", "malum:blocks/runewood/fence_gate/toggle2", "malum:blocks/runewood/fence_gate/toggle3"], "subtitle": "malum.subtitle.runewood_fence_gate_open" }, + "soulwood_door_close": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_close" }, + "soulwood_door_open": { "sounds":["malum:blocks/runewood/door/toggle1", "malum:blocks/runewood/door/toggle2", "malum:blocks/runewood/door/toggle3"], "subtitle": "malum.subtitle.runewood_door_open" }, + "soulwood_trapdoor_close": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_close" }, + "soulwood_trapdoor_open": { "sounds":["malum:blocks/runewood/trapdoor/toggle1", "malum:blocks/runewood/trapdoor/toggle2", "malum:blocks/runewood/trapdoor/toggle3"], "subtitle": "malum.subtitle.runewood_trapdoor_open" }, "arcane_rock_break": { "sounds":["malum:blocks/arcane_rock/break1","malum:blocks/arcane_rock/break2","malum:blocks/arcane_rock/break3","malum:blocks/arcane_rock/break4","malum:blocks/arcane_rock/break5","malum:blocks/arcane_rock/break6"], "subtitle": "malum.subtitle.arcane_rock_break" }, "arcane_rock_step": { "sounds":["malum:blocks/arcane_rock/hit1","malum:blocks/arcane_rock/hit2","malum:blocks/arcane_rock/hit3","malum:blocks/arcane_rock/hit4","malum:blocks/arcane_rock/hit5","malum:blocks/arcane_rock/hit6", "block/basalt/step1","block/basalt/step2","block/basalt/step3","block/basalt/step4","block/basalt/step5","block/basalt/step6"], "subtitle": "malum.subtitle.arcane_rock_step" }, diff --git a/src/main/resources/assets/malum/textures/block/runewood/totem_poles/aerial_runewood_cutout.png b/src/main/resources/assets/malum/textures/block/runewood/totem_poles/aerial_runewood_cutout.png index 6f064366e48e20e47a5424d4d936743b212e101a..baade43e4fdff18113fc25e448f7a9ba115eb979 100644 GIT binary patch delta 445 zcmV;u0Yd(^1J?tPB!8SqL_t(IPjypGPlG@Zoh=H~647eV*l2pOsnNvf$zyN+|3BcN zi62y{g48bb1M>!EMbge?mu2V8y!U3+!(dQkc}|XP6IQ**$=$X2d-6G@i{O|X$Duf# zliRXMukpV{hK6IS(cGrtQi1-WLyfr5{i<9&pg*P|9?&n_IZyS24J*w&W8Z; zJLTo^@epcLGJWB}`&>r?ku7`9Y)YRyDSb!q{Vx4jlqq`mh zqNC@i>_n2WzdY~pnHmjm3TMwMTMpli4%;e2A9N^18Gx*1c~FTdDl_V8rxdJGANN?R zin5^q5uaXP{(te^#2xg|g@nQ!z~6E7W)yFt)VbqdaM=x*#0}WUlL!DA-FhXth-3r+Hrfac;5|Tu zO4Gt^GXRS0g1m#E>oac|VI(%k7_Eb@*vfMNHRS<`&o;2tOr_U0#-M=A3|6*LF5(u3 nNIJsPHd9w~1dj-TBERO@0n?AA#?$}+002ovPDHLkV1fVuWQo-A delta 412 zcmV;N0b~Bx1GWQ@B!7KLL_t(IPi>PyO9D|8h2I1@nx$co87+)Rg2*shw5wfzzFloX zqKHr?X-vy<44U}vaK=gJZsxr=_ndd{Irn*2$4BvKGIf5T;D~58voHJbW9(`h6<1tc zanqk)`!42s*Jr0OfYIl7N&uMTUifZjc~SO@u39d-l;AZSS%2Onn!4TErmeZ{c{p6c zZ>^QAvg&$iPM``X8-hjf$zH>VZeRM2H7%tCQ54w$p}twuhJydyAh7Lar|o*ZV3|N* zCFb=GI2;VD!tGksdAI;OU;=UYp(s}>|9AjP9}^J*4p98El2(v;t;SBAwT-eAzVGLfaS66#xz}knV}UefOr!jlWm#c4 zqh)IW0*$e(!)rp`XDyVCclX_dKpJS)DLb!s^@5F)@p#^XY@}?p0?DF%BG3S_f9wZI z1%UN{l!zYLcfq;lWxtU)VFYMEBK=4M!17uSi6C1kc@=-()&da&>}tRO00003NF-b&5KWApJaY5%y>THX z1|<;<#A1=Q2sJaXFV)~)+V^&Mc6WB3b=PiZNt%jd+k$VrOvT-|#V@%M&SQQZ$B{5v zh+D8FUc+Ay82r}#?RAzUiNwn_0RV&moWpq}e#v7nlBM{~dw-b55`bvY!X)_Kfegp* z42t4d8kMT)B>7rN7)LCGI0FF3_;bpNa15SDtOS5cxoqwMTt6;x-@UaXr|D+3v7e*t!ZppdTF>Nd_YtcB$KGe0(=Ko{o?{)2RkK>)Nu1r}_s zFVDVeArAo2k?=I#aG>)*1H;KHo%yOtq87@(845|)qDx%lWeg3#AS6x185)2tr~}nD zwgE0+3PKHR*+(3~0-t;#){J0Y-S#DFwLHQ45+P|AxcC7>2Om@h{aNP#0000-B!72FL_t(IPlb~~OT$1Ag(redYSq|Ctr3xWFbJYjPu}$ApZDfb zq(!Br7E`0PO)4096W+2-3hpJz?9MlD-fW!Pv(r48rsCFWf|V^6`owqq^(n#Dws`An zlK%YavwYUMySmJgkbKV#fXN6nTu)(0#sY{%{Dvn6@D?X}V1JsWauDpuApVf|*<5xv z>Z-!utQQ5cO!pY8D1huTfGPmsK9m5e08kO&0nl*}3b2lv%_Vhgr2?R7H1l~f(L}Vt z1$FA#G?l%;7Y9?IF*FOCOeTP;Y=D{w041>sT($vh0|vtnnhmIP9Ywi4B5Xd6Mn*DU z-~;apy#maM!hij|EbHNQSOFk#(r%k^V(d`lbUU3Kz0erE{|B(|f&y%57|s1tf2D%+ z!%*Weof9)2@UFYAyAp8Iy^z76@CHRp3-%bI4Y)qvDrTissyc; zX(Jwwm!uzuZT(gNJRliC{<54kC&b=S%r^ZG3OErF8V~%Hb^rhX07*qoM6N<$f|upK AWdHyG diff --git a/src/main/resources/assets/malum/textures/block/runewood/totem_poles/arcane_runewood_cutout.png b/src/main/resources/assets/malum/textures/block/runewood/totem_poles/arcane_runewood_cutout.png index 19e76c2088a141ec873441e60a1280797e127dad..03c539106b0185f077521a699fc0a7f55674c28a 100644 GIT binary patch delta 448 zcmV;x0YCn*1KIDB zlmiH8Nr5h3HSfVR6*O@!yR*CVX6DUX>#5m{&0-;rZ41_DxezyJ(;s|}rCuqE<2Vw8 zb8$1aL>t^^1Qtvqv7R6AV`Gd&%MAfw2*%?e3b}{Dm+Xq~V1JsF07MJt+lM>!{?|lC zlL^mirLy=1mz9{=Isx{*{I&uj&eq}_XBp7#eZvG^n{fVpncnliEIpe z0tcE|gZDvDCEiwwzF6(nU5w0waUi|Xa6cyTJ=ab4_0mPMCjiLlbl?9B){8XA^;M0$ zSr{Wq>JEkyMt{-2K@I@W69@u`W>UbkkG)^;#CJVT!+K~mVvI=EM?6p-_Jg#v%2|<` z0B+Ge#1s-#g-Kw=2SPCaLoV|}zDPt3WLIn%D|GrYI-`v!Xl{zZfx2O0nX002ovPDHLkV1fW$63IFM delta 406 zcmV;H0crl)1F!>-B!6~EL_t(IPmPn$O9D|4$7h3F&C=Yk%{_z>Ne~o9hi-N2@9rK1 z-J|GW7^G=gy9RB1#^&+xM>v<|y`A~acfQ|w!R66mJ{YAE779XSO_lWMsr4u9aKH_(JpmP!(BY9b5> zSX9?blLlF)z;-vofFb}$di|WR+FC1V0b&1X0H^|h%7tkF3&IC5CjKZh0L(_Q6)K7s zyS19r12MOwssy-T!aVi+(=~I?2XU-Is)zunZDA-k_m4{fob5N|;km221m~?*ZgT-b zECQm?EJsW%4u4vWogCHm$KPE40U$VyupPaEcC(o?%d%s@!rui2urOl?PKY5x^B~`!U9|nhf3eX#tCIWqW@q_ zPYwBi1VgKm!tO*X_xYFb}|I#TdUGWDyZh?hlCH00000NkvXXu0mjf01q6z A_5c6? diff --git a/src/main/resources/assets/malum/textures/block/runewood/totem_poles/earthen_runewood_cutout.png b/src/main/resources/assets/malum/textures/block/runewood/totem_poles/earthen_runewood_cutout.png index 1b92987babd4aa111ce4ec022fdc4b04c0a14456..6d125b0b5e0c1253189610d74b1143c9c658ab34 100644 GIT binary patch delta 430 zcmV;f0a5;{1IPoAB!7=dL_t(IPlZ!WPr^_T+(K-t@}UJmA#yO0U^FrD+7$eXzn!gm#P}KGs zrvlXqkRKxr1b`sx)FRLj~fH~;_u07*qoM6N<$f*;=!Xgf46r* z(4z<Q%E-puSKIN96Hhe_(fQpxdT!L{idQX8 zKfhdgal!qp4NedDa|(uUA09x>98|-yfzd1=T@qEx&I3I4hksU(WU0NM-zR`;OBENd z)LgV&nOu-%?xFwU&weq0wwh_!s@J_FJ|qiCfX)RVR>*<2q<8>mfe1QuuX{Z!5`(+J zz{`=Tn7JND69yQFF_=|s_9%sq?q<^>0L(x&sQ)mqJx$!KJ&tFg&>nQj0~K|4@PXjC#- u+gJQUy$3=TJ(`U{mipgW0Ai~68;~mYlouO5ivR!s00~J&PDHLkV1fV=P`7>n diff --git a/src/main/resources/assets/malum/textures/block/runewood/totem_poles/eldritch_runewood_cutout.png b/src/main/resources/assets/malum/textures/block/runewood/totem_poles/eldritch_runewood_cutout.png index 4725b3fee90c3436836297a5238892783f44d5a0..ef95145db810ffe53e835d8f4be298b39884ff37 100644 GIT binary patch delta 469 zcmV;`0V@8*1MdTnB!9L^L_t(IPhC^XPQm~X-12Cvpf$V&Lx=~0Xkzr_k(;0IjSJBj z6cr-HDrgHr%?xfS?4|8KW@aBXZko+7n9s#BO@Y~o_0wO?Wi)Z6UMh%XS>jE97=zzV zCz#{Sd@*jXFT)@R#9yo!fYX~zW$OFVuAi{D_cUOElgWycv45jtkP?6%5gECj494$# zZ`T@P?I+31*u>oe0il!K+W?>#%rLNLZJUfR1%)qCVrNNUbk190T&5P+^A#p&dk?QK zELISW8=clgh{U_zy>`Oq>2Xz1q)K*GV7RhO2?0>h9Xv+pP!VU_{YDG`n1g{e!hsF+ zN9zH`=ddN~|9?Z-u~Gu)ULmPJev1IKSo3Q z{&PeQ03Dh-gYPBDjI&xbEFT>b0EjpatP|H6?;U>RfdGd4Kpp|?w7EHDoasN9USus_ zU_9O`$Y7iS5&@!TI{f&I6lnjd0F#G0e}R9(TpyA;OHMh5{X@a<%Vi=A#r1NLr;b8c z`5?!c@eZ_iNZjp_lP?zqLsQvGgxshFy?cPfW$NJcqydPZNC)``AKVyJ2~Sfx00000 LNkvXXu0mjfLmJv^ delta 427 zcmV;c0aX6)1H}W7B!7!ZL_t(IPi<07OT$1E+!bspRbvA+wy30tMG%#W2XA`wcY7BE zJ&Lrbq(rc_(Q3AWk$GX(P3T_s>%Dn1^PavuJjkcBOnJ4M!ZP!@?6{9VQWdPNtNQYi z%6@)jug2=D(~}$t)6Z`UFf*B)tE&@i2oQ_-jk>Y`uj8r2BY*krs{q?=Hf4XBOza&= z@%UYs`Kv4c0AK*h)nu}$f`EwyFvf^B1})_8Jnn~~+$;d9!=U?@kqu)IA0CpV^amd{ z17B%$fpl&jhovAU0n7zB+HMPDF%baBS_HC43X@?rjMV47UJm*$2+l4W+>yu_>@d9H z)s^nGw{r9s3xBkr3#NLWXF<;PBAFAI#)Y;1y1uk07*qoM6N<$f&d%B!Nvdp diff --git a/src/main/resources/assets/malum/textures/block/runewood/totem_poles/infernal_runewood_cutout.png b/src/main/resources/assets/malum/textures/block/runewood/totem_poles/infernal_runewood_cutout.png index 6a5f9f06f211fa7778bef89dd851edccb67103c0..aee46587f80c03d0c2484c2f95ea163e42328375 100644 GIT binary patch delta 451 zcmV;!0X+V>1Kk6VB!8nxL_t(IPkmEOPr^VDo$}FEsaAo2k!ZL`Fq#-WdF1B*zj!h6 zfT95bEf#HyP<;chF2p#O?rwM9%)Iy3x^A`7I7!5@ZNWF1CE^xs-49;Ja$Kv5<2Vw8 zpTcm9Ib8$z!xTgS$wyJ<6 zzvN1HFqANg6tGdL>Y2v8AVCyrvhQvE0>mHl><22|b|3Y==Pncdk|)0FExRb@v||P6 zoV8QT2mrK(HKN;pk470RRMw_20)* z-zhHv*cRvOjemw2<6M{^;ET#xlo2GMgS&^G=CC?>00)#9XISG*0YD1d{|`WwSjmYI z;TP+&*-Tj-t=&IADf62hpejj3F_4TgtkcF}THo8v^!;moQ%({IqA`X7nASBbn~5Y7 z0H*1b1I~jlV^cz&<88pkBvg$=SK*RLBBe7m1wj98qC6ge@ze*Vw@r|>#L9uda10tR t8v&Xk=yN`85KM{rYViit&OZB0#fvy9B0XSQ!0caY{ zL_28XHvr6BaUHRc0*!%LG^kt*z?SD3`D%KaiJAxiCGlp;)~mmZ*&f=W*=W@|3d5ot z5jJ~K#99M@GJn36GRzA7)q=)Q*41Ob0>ET<-B+U-Ct^pNRyPO=^uoSi%=zto4L}Gt z_!bmEX`ugAjKagsz`R%{W;~$0{{V22X`vh=T5&raIlH*5v~b+r)A{vHukx(#`q4B6 zI?OZx;YgE2-#?><^bOzBxdPw;+(f1r{L31J?tPB!8VrL_t(IPkmEOPr^_T+=8}6iq&esNF-b&7)^|xJaY5@UpN}m zhzbf?EYcRCW(KyYitMEyZ{O_f?5uIqYNc_Kh-I3BXEaO1-ZuF?cpFKhdMK7;xxI5-j%t5v)u0DD~|a`*K3FF?K}w33O4 zF{-M);p;{K1%FX3Fd+i~I@hlM@CQJJ%!{clU{c0avzcNq@FPxi~@Ru0BT*FYCHbmryg2aU8}lL1JDKtT7f|n1Xf0n z;mZ5JcZNpNJ%BM#LEAx(h`dIiP0)(ReW4H3+o%jzvNl>crJxuU{%aAOX(8lhEo57l nOGY)&r`1;*OGZv9EAkC?BM($s^?^nJ0000xCwydw4a zImtf1bf3QKoE;q&2uR*O3;@Bn{5X7(hFez{&R763iPxx$0e?IV6TOh;nMD4oxl9$_ z(n6Ua&lL=1`1VHu0=ST!Q0xf8|40BO1^_ChLBaETSI?w&)1bT2$SC;l z2cUq!%yr)r2VJ1U*l*&v60qHD3d{pQO$31MLdEsNpc1eX1lk3Z3QwHlPN!gtT-TM0 z+kPcre=}6SV1Fh|b~@okL1S3gEXYasK+bF6!V zxa$=lPO_GRX+k$62OT?|%{2qLaq*Xr<$8jW# zrs9@tiI@0a5=1zO#k#q=NR2TP&z1zhK@>`PF8$B3c-0zg73=4t{3K$l?nDp4Hsa4~AGEA>5J!bv2J-5pL$fZka*Rb+G? zj>o?aYXTtHiSn=eo>;x^dFpJH1$(#+9{)Uy9{@nK_74Tk8r%K~fZ6hVEr1?IDX8R2 zgp4ZB{mb*eCV$XfKp~3&nXbX$odCrpYG=)H4;ck0WnH%0spqb=290$fDF4-Rjow?j8hn zj3^>n403bJ(hV}^$$W@wOYidG=bLff%+omA+pV&^P-d^EP~~(gC!W*yiSkw)Wi2kK z;`>L=cCT@MbXWn9eSB#GfYJP%zA4+ZgbdFp5b-0fZ7EIgl7D8>fWiwlQ-!NnsV?sx<`V302I3dYM8rlM zY*aJ`a}A;`b$@Yn-AQsfJW%g)xkxin(*k!qA@~X@Z-(AOu`vFk_sqQI5AG zS)%rWX%Co0Gh^Fv1OVChqeM(YA%8srV}!FDg(S^8j7R6W)*uxHXl(v4ARvGSH>D2( rUz7*|JRmbY09d4#gX+6Ha!+PCk0BFkl!>x1#D<44P1YPDXV`?%3xIVv&E9h=uK>??O zXn3r_KXN7_M}kNYOvO4ZM$y*yI_RLHdmIu}PuT^aFzz z;LpYv20$06GFxKqt@c0zt%;|cI%6~<4>nw%>OoL*L6ucDOi&EM72@tEM}_?p)K*Bj zKoH&e`Q^=(W%*ABe>u5rbyrTKzU$6otVoH z@V(3(5DRKaL==I_0D3lOo}F+@>^tB2z2_IRoGs20#s1XzOg~A3Dr(5-8T0)yw*#t^ zJ6Hc7d_(r|XxDjio3UaUrNfp#MOOle`Z~payL$&2noI ihEBW(IUY>sF7zaoly5%#{Qv*}07*qoM6N<$f&c)UA(+1a diff --git a/src/main/resources/assets/malum/textures/block/soulwood/exposed_soulwood_log.png b/src/main/resources/assets/malum/textures/block/soulwood/exposed_soulwood_log.png index e730b4484c903c7f973586923c11ef54ead11505..eb39363787b73278a5727f5c4597a651a92e299d 100644 GIT binary patch delta 675 zcmV;U0$ly@1iJ;0B!7TOL_t(IPfb%hXj5SrJ%96PZf+h;QksWJEv-bHA_P=Q2gRZy zWKpbZXThnPh=Yimli=c#wK{eYi_k&qBqD;+qEOnJHZiwpbCY}9r0p%|i#PV4?)@L< zJLfy+Q`ZYqj$w4bl}PxJ2fS739Za^3O$}jcOBTj|LEjj`fiPC^BHB^L7aL;$bXx zfS-|;pj#aWhE+p8mz9dv;l8k%@}%)4SclIW>jCg%yIRE!ErW;AARah1q5S#BiZII$ zDm=5dggVz~ZGR92J%kU@Hq@|<8L_2kt+6mkp(lHk>u)5YjDw#yOV&UnTB<}D0 z#>_wp3%Y^1!(o(Tb`Kz;b+B34mBZ!KKIX4XVsmLl9wcI6pZi7{Z&YNwQX|5|?f$1bw=uoADCY#HLw^E5s?Vbt(Mh1y0|)P-$9S#6 z0zhfBdLeZVv)y$8C~f}|+eHE!NPxFHrdT66`1gR7X!G*;WS>5p>9P7tovLOozQY1Da3FD>jw$+#N!dn+6wD+nX(lmyN8KKlidljf$ ze9U1`=zlGPL>a7dp&3HPaq#ANyKfz>X2adkv1jUH_L4)2w2<+oMbya4>^?KXY`9V= zmv_IlTlnfR|3{gdOqLs0H+Afd3rabhgKK(HT=Kz&Dix<4(*4^q(Vp;%WsEi}GxzS~ zb)iY0I0tLVUN0E;ew1aL!+QUKS~*O)WJGM`QcFz7Bqq(w#A(uuoGWig^sU}|bLV%@ zJ@-CUSzHNINehkUJ_`9Xx_$tjcXxcu%qHdBX&fR`ID()T;D5JgMtjDqb92k#@xXv% z4PhlLa50d3f{dDrPBtcx(`EuKc-R>jm^FuT9|3sDEGOD=6em)6*LEa`U@ig)UWt{l z*{?w-6#xUYw5$Cb-o#oGtV`nF==oSMN&??XyHXmL0JL;UzSOa?;q8e$p1J4`Gnd0~ z>>D9!sdzr5bblSZxIckP9QbemIMat{c6;K(o!lgzcr{TqYIp?5wEH-AvM4`L#kH)B zTi$ofm9kJ(AJ=m!fl@w!+H?UNwFhE~mdy+=3-h>FtHX)Ak$gh$hR!&EbD-O%TX-r+ ziCItAmhj;1Csf@!aC5Ua+Fnwle5kQx) zJjhGUlu$hiXzkVoM&rb^s*mmLK{ToAc4bvc;D<(8{rCDf!u~Kl_A>P=Wr@-S4$GIV l?MU|M6DIuM=R6Ad16e0muFIFb#sB~S07*qoM6N<$f&jz{B|iWF diff --git a/src/main/resources/assets/malum/textures/block/soulwood/exposed_soulwood_log_top.png b/src/main/resources/assets/malum/textures/block/soulwood/exposed_soulwood_log_top.png index df9814a2bc77f5caa1291629b300f1976070262e..b1879466371c4746e0fbff54aede69df85d690ce 100644 GIT binary patch delta 409 zcmV;K0cQTo1G58=B!75GL_t(IPj!<)OT$1Ag(uh)6KH7&G$IXHkzPa;JP6{=ix>a9 zAYMf1Aw^6fw6u^&Q;EDOFHRG?moPhxT*fR=%mk?>d^`VvaG+aN(>1vTP%9)ECb?YTaBEKT?V(tAE8@!B7V^_(uWv=XVvT zle0i(pUe7o+)PDOhcA8#gPtVmO2V-F2Y`ZXv6j*4;Gha5zS2}qqDU3>gW(Qf-vR%YU?p1o)j}eLD*DHhooq?S*8S>K-n^85UCktSG+#g#NJQ2I27_(ww?r z8woaIlgpK24}yjQ{APTime)3-Vb}-OQrHJ2aHMHD+r002ovPDHLkV1fVu DqY1VL delta 433 zcmV;i0Z#t21Iq)DB!7@eL_t(IPkmF-N&-O?y&Ib8rY&WHsFh$#wY^jj6a+o=+Hdz5 z1Q}t1V45IOX6$aJwQ=rn$62xN%M3fSXU@6z9P9ezD*6b?yA}w=VZDqDrAaxune>M-!ih6Cx+6F3WfQx3Ouzy?>B(wsRUC*Y+r=clFUL z`Fj6TEh%PSVGP4_@>K7(;s6;>UH-4Y@YxRu0JqIYCBZ9InZeX`_%OSi))-4I#cZ9F zMBIVIt&FVzL_(+DAkYO>pfBo2qA`pC+}t&13;>XGOBx+iQD#F&jc)7_Edf)&VcB!3 z9r$_zkb|n&N`DgWn2#_6NT_XB^vfc}?7RR78v(k1=*0mrdto9Hq?_=AuoEerryf~H zo99t^x5&-IOK8+z;{*V@Fa2T$0607-Y6)T}F_TP2MhgHv@_v6NLCi64BGcMpYXE>H zI}u@WR@c}-X32|UB-2dT1AwzIA0`1=en1Eb&Ej5nI&z;9HZF b@4sBq0mmX*v6=t?002ovPDHLkV1fVu2@Ax2 diff --git a/src/main/resources/assets/malum/textures/block/soulwood/revealed_soulwood_log.png b/src/main/resources/assets/malum/textures/block/soulwood/revealed_soulwood_log.png index 0976d970609ee74a6d9b49c2e521d8a6af0c56e5..8fdcf49d387fda11e29b714c55eef84d076acfea 100644 GIT binary patch delta 472 zcmV;}0Vn>Y1o8urB!9O_L_t(IPi<4NP69y`d>1%TPJxI^R$R>*rCF^Q_R7JnTZ7F{F)d{=9C`6~bb zGxpYVuAoUF&H`{5o~C@X=TjggtUv%zAcew~Z;wzmyG+~VTb3?`dK(NN{X!yqNF^gI zcc)>}V#uKLcz^+P`9i1wz;4?%osK5x#O<(=c(ngMU=MU~olpV5uocImqiC4sGE1~} zQ)07Z-9Oo6g?}bkot_A%046X<&#%P?I{W;lyJSF_3Gnh{U$qEAbHXGeliqY;j+k`V z7|>(SrR&+C${g$m#th$KHS1onZw_=7#Xd0`T7a@<{evpISt=ANK0`sQT9D}Ad}$%5 zB89nN#5}+oL@Eg=1^Nu6pMU5o?#-!~D3Ru3)}Ntb4^d<^0W@D7&`ZjT4H5+$9_i{p zphj7LEV1e1Eq5Dlesy@`8zis|14ufePNJ1rPyqk^Y0|Jp3MQ{?)MesEQUm?WM^bz?^dv6o(lKaU0-S3?59Ajm=9Ojb1 zi|1p=%;2X6$lA6sR4B;W4SZx%8TrC-Yom8hW# z4h7&`E8v3iUtI?`c;Yfp!q4Wa&PUUApoW7 zf5Kyc!S@Dst$!XAOQV=SyFf8(!RpQ9`Pb9&Q>7%d?Ti2@nU?T1#{61&z@hVt`+;tq zys3IWt`naERW4DL!8(X$e$P+gu^QsCkkEEtl(Z)nS?j)47UuYb;sszeEa0A7~D__jg7X|5(& z7h9W6sS)m%b0#*tmv|}10D+GwCxvS(kfhR90;JR<@RnY*dO-o06#c5}#FC}A`yzc2eT{WOD^-`WsKkZg9#aFN`S{;?s-2^NKcTWf_Sl62&Hw-a O07*qoLd@6mQ)QRdtk&OFEN{rPayN#U}?rtT5^JGyIN$>(_h z*sk|p0fJx5WTgVk5ulnCuDN|yLS{T#EXy%ofvkL7k|UR^!mRR0U9|OaRoP-|VeQlFwwB$;u9B mZQ^g#O-;joFd14}@4NtaMcvQ#d_^_@00002colF@R~oF#y24EIc}>B0@p8O&b;QEno^r-c+SPSxx}$AdokVnl>upMO@^$ugq5P z2YP}4WJ91$*MHe55CE0Qge`C)@B`Vg737QtP#x7!2}1ofP5?mtP_G15MrDqMhN77` z8IBeJ;mEy}X^ydpLTl63002uXqT2;3P5@SLE^S-{bSR zF`vs#Eg~{#;3-m8BKC3fA8J(RO5XB;^qQGmerz~vzCJcJiU7cwK$tbybT|r-1aScR z=B(9mhft{Bu|@zC^D?uTt?EYK^9N1)I7`;*Kheh;2G{ksV*p(kK>j|IG8^YF9&lf8 zfJKl%8K-0E%=*tzNTca55>QAdC%QL V^ zec4#JyLt2p&{20gY`SI7tI}^(Vi7x)d<6oqU@+;%!8`6Zc6D*qE7tK7iFpU=jCHV{ zb|*k05k7cZ)rl-6N&&PGpp@BtfSnjTEjm}yNb1B~X86Pb^0AclTm@ALJh=}zD!mT? zCPE!fNB5C%kemS2Kqvqh5|5{)11KosP-|VUEWk({86D_AN{K{zgiU$?^nq$mz+yN_ hbYR^4e0)ax22nm2&t=dfAOHXW07*qoM6N<$f&h7&pG5!w literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/malum/textures/block/soulwood/solid_soulwood_trapdoor.png b/src/main/resources/assets/malum/textures/block/soulwood/solid_soulwood_trapdoor.png index d801de93554a28c881426b6187d968d0b92b47e5..472f32f2a774cd639f77c6caa88a494bbdbb23eb 100644 GIT binary patch delta 357 zcmV-r0h<2J0)PXMB!5OpL_t(IPoED` zt;l&42{HTN@ov%C<+n{G(P*q7B%9+wi~gQn%~CxFBzV4m>VGWYTka2%O~zh#3*4MF z4Uj-5>%ygW*J@33-1R`wD3&k|72McSqY^&KT9Z~dO%vHxweUsG>w6*7bk^tX?nRdT z0$34AkOANViw5Ljx~(>n=eZO`A=j6=55VD%X>m^-Ko;ywk_Ui^FRPV@YF%&UnHDeC zWzPmV0KkyEPF}$UAc<~hbAeH@M-Jw}(gVOmLviDuP47+5i6w?B=2v zV$lwfOT6?#@A%}vqiZi~6eX9GaLiWJgu0@=t`)MpQXBY#7HMj;Z{3D(xCu^nIn zTS6mr>Vo3rQ{GT`B0yQ`Ao(F7>4B0KAf4sr=a7&g5%ImFfMZ-Q3)cj-MgbI!%m@nL zgtQvG$LQ1G+0F%-+$wx0?f;DF+!tm6H8`Q zxR|QElfn|^3lebh18R3#KY&~u09MnY+vWNP$W5QabkqDIRB)kJ0GMooe4dl#>TW$> zVXC0YXFUgU(Rd^Sl=(dFca0(Aoa7Xke3k%HP6{sQK9?!TqP$ypNtMr2*Ud(N0zD^+ z0cAdq2EE)4^f8>MG%QO4jH|D`rX?dFZIeW!BAb$=5pvzTuX)&BVu`E~F z)U5&minq1hUR@h0aVdZ+>h}EX_bAzXj03m?hJt?qkktFBDqVqIixtGsP()t&3qTPU zlUb+>DJPG24+mM&%R5ql#RT76WTAj=dsVgo`3`_rhUs|K2LLDGLJS}UUJ-zAc`iUu z8@r%RBq%@6LS)rZGX#Vl7_$+;SR<(umGV&^sFjBR^+BviXGgOTcOSEW=gWy%QMP@d z)(*4Kv#}c>HBWCEJAh^(Ok>Z+ZiJO1Uh}#N2arYz!}mKQKd5Sw3IyOMTmS$707*qo JM6N<$f&kq)pW6Tc diff --git a/src/main/resources/assets/malum/textures/block/soulwood/soulwood_beam_top.png b/src/main/resources/assets/malum/textures/block/soulwood/soulwood_beam_top.png index ea57a166422e431075417b6c62e551d8c4cdb7e5..2ce82040a2323e2c92853a7e90be621f88e5d02c 100644 GIT binary patch delta 321 zcmV-H0lxmT1Ka|TB!41FL_t(IPmNN$j>0eyTo(bM5QGp7G*{8^19S+9ild~Wp}QYH zDbS!33Yce+(*(xZ7)N3o+xwW=^^RH3S9!Y;i?-9<7SG-3B7=5I{5WD;YsKC!Vty8z zyi)yo00aP|UOyCm2Oul6vxmrGpUL=Z-~e1R6d3pr{K z06~hy7n1g4YdQ{~ZqL|Ex8IREoj4s(19dv6(@9VVa6StX(K?{N)U3$)YULmClmF`vaid2bTDJ-#*o@LOACc8gVV$rS7S1FQL!#QL^~ zW;hL_{>~T#1Yki~165(LNK+TbXDO=vRz85O;O7K;-{dX8=6}yh4FOoBF~N8g{P1lO z08!j_?7Eh_TEgTw?C+x(WWbRfgCqnpGiJb<$uRrOkzAY$NPIMd)(0>5&myAIBm)+x z9_%9BjDf!KW33M!Zl4+oBp|!Gr`pk!LJH~CxRIi`cY&Ae=F_8SemBj1#-hQx{2I{K zt}@EL1yzTZCw~!GFCgDPV;gB5nW$JQJ%Omj0K710HRvp(NUo@8Me{9nd8Y?+XQK+` zZ{pM}MAiOef+N!lcPS>Eov zd9ypCK2~ov^{k@!;~UF5J3;IUlXhuLYQ21|lQbjGotywc&}>GX?|&&tN(z04(8mN7 zS>#w{Yl?u2tkUP!WJDvw<;jjaqwgp>5C{T9)js7CK;Eg~9d}X-4ocMfa$O4}z)cb~ zhyqNvjWLrzI%+0(d05q(?H76Wj6Bb5KO?IsFAoB3Q|YE8k13q`e5V${V~xw9B_zif z5UKF|s%0aT$O52Qv-~`6@$e@eTcruojDpK)r#Q)ocA-hK`Aq4;_t`GwV<;!;`T9ve zL4Fzy@EHV9fYkNngl!c2#Al=p3+^oDH~I-(Ibj8u%vKp=&H*Ol3iBXBnJ=H4@B&OP@&b-aC~iHMpV2OF=4 z=LTJr&XpG+qUD)YJvWu&P{?mF{<--{N(cmu#2^A-8(sH?I)B_KvI4M*5-@jd7vT&0 zc*l7p9wEoiaI!kCKqfFRgV||+QX&*ED`2@49;T1C7mi2A#+k%ZV9GKHL@Hv@$rJ_O zYfR7@jnVgOjnwXXQAd2engE1ckuLIawuS;QJIv5{^q329bIuN-Lin zhrNI=FjwSDXG|P>P}tnpWPg!J20^{r;Gr=W2m~Wzj7QYo!Lfd*+)^&ybN#Y>N6CrF zK7x9+M)EHp!Gi?_C#Prnu6)H)1<6PNoXIZ|h_TYy1yrh*?kSycRhho1wfQamcW9ip zO(WAun$6|;0v_l-*?s?oJ2y5lfgD70>&v0wutnIh@NEr+e}~QXN<;n!Og6Q2#Q#c$sOhL#Pl_d#9;|V3F zBefa{G?~JhoC#L5Wg*N*qZIr?&~FFKvArZu3%R99P}%{pV1NFOOM6ZM4y3%kP0DTQ z;UY3XPHf?FFR$wm9b*M_?<0Xo6FxGS3eGXgO;oPSvm zyIumFHf(4MvSf_}2nW){Wn zkh7ExXm!IMRH;C#Yn%N2_WDHB|1@`%;*5D$=X-Tl5XH$^FMo{qcivy3cI$=Tt1Igi zHb2NIIpj_!$z>;rXMiLRzeao*_hSYiNnirNw+&%HamqE4&|7CPG7wxyGNfl?jR#^1 z)IiDIkfbDAkcXX)u6fRjA|Lx&~D$qkmM)1BeHbV*rwX z{__-|rD~;Y*ncRhYWt@eGnU!5J5jEJEP%&&a@Nq8_iSO#kpJ=kEy_Ni4Rv{St+8qD zSh4%^WFat6?(Au#rhtIFNkG28SV`@R*+iMC?7}1;Y=Fcu!2UDg0?r0OK+o?FsZol7 zC?;_RU?0GTUfBHw*jV1yp6Ahmo2L_t(IPpwn23c^4P%?%2rRB&ks&CPJ*+O zldH3!=pY4)r55c_dDlj-=~WlAc^;CA_oWq@|w=iKgx#anG_5PfaPYPhP`pN-ma8vHtUnVuYYAn*Gm-umjIFgX1x{w zh+ey+k!6^5oGT2vu0yScOK=}qhFQn?7$@3nZQ|jckBq6aUYQxRB7p&zI@6Vz0ZJ04 z13v>DmVhRvYi23ws{}OH(Z^k_1ao{mHrrVL3jhzW6g*ecsJeH-CI;stDVvElBTWNH(g-K{Xul$vs3icUQOnG>Dgvd(G_nq1u;w7wrvtt?y%bjRv-$ z^nBt(YeQj?H@VY^86X+x&H{Ru0;nPHMJhe!r-A zzIjf&^{-cWcsZio$CkuOa5z3;0JOsZ2!IxxvUz$NWr>i7_}l88^}@n=09xfx1KkE% z5WzhWzip>=gu0D>@DNOUS*sf9HO3 zGhY|NI@f2eEuB_S@xlii|H#!WElk7ZDMa?Tsi3g!tGnA00(RW{yy}z5aPjFN&&p~+ zXg5{99e&jTf1?Tys^QSax1Cvz`=go$?(%M{Oa{~9e!FY0=X-y}BL;s<4KP~}YSC;F zk&(9A2DDWuth;@RRSEp(&+!g*vaqHTaN0CZ4%-=!rk zzCq3aNWLxri{`dtM6?RbnXMbrM(bv5RH_P_aAsXxI~lXpK+gg5ls*qz(^iZIYT6M0 z+IA6(ycIECZhL>mtxGD>?(}x)0N5^xWLYN)Jo;Y%5anlR
    6Nk9ewyTH-66GJtGYa(p0000+3qotJ}X{n8k z2!eK2S_vYkjYxf*YT*NLo5^q%|pM;rG> z{^{zF`+h_)%xsQo<-F)Q9+7=>NYCkHW{m(?0PK%vC4)x2N`KeqD{|*OJn;>%fI%Dp zCiArKDY#1nkQvC+0hWq^><@f_S2$O@xt7XASpwL=K-6?O2?3H~Wan8w%Mc9O&AtyU zs>0(!DU6bL1v?O7&}|KTJXGz0oH=`eXdz2T0DyhFD;X3@#h_od3_{erT<~JCnS~yt z0f2F`1o!<105P+}bS}u<9@gm?Fjb{SmJnxRB0y4%ocAvVA6^E!NcFlaH~;_u07*qo KM6N<$f&c&*CX7}9 delta 288 zcmV+*0pI@90=oi`B!2-(L_t(IPmNNs3c@fDy$%&>i0IO-eua~Z&Vo~CKha5WE(lKU z?z(kR46$H`%B8uqDQTNq0+;07yZ2tOU#Hb_%D`2RuT<@M2rvunH=k0%y95Xho3wh$ z0ze8IgKUf{SsiyTSRh!)IVL1HNcpS;-y9Gh-VmVSGx*raTVG|ca#;%hQ&bn>&O9p z#vG8YqVFuUUoY-A}XPJ7+80dL@B_Ch%O8P5LM>{ mvT;bnQGhWUX&Ki(27g-!xaJw2v-{J` z=^Xt3(eqCXUw?i^QN+#8%OEGo$MF2icLtC`Z1Nz3!3JD^@D!^JnhMfj13tWYhgDuc zL}=I;Kv5u4B^p2d#u~^Be5?!%%lEEj#4ZaFWwh3E{SRV*;x8E#_vqm0wcYp)z-Kx! ka(GQ2HGr59U|;|Mn%!>Ww-Fq<00000NkvXXu0mjf0B>AW?f?J) delta 176 zcmV;h08jtY0n7oAB!81hL_t(IPh<483jQz0#m#^XJo@&P;q$NW47_ZdSmi--jIs8? z{~v$-&cN{XGpZtPUItliPKFP^8Nh~MlLr|LG2qoJtTxDsi9rl_k6oTuP;B@ZKuI7{ z9E~6Y1X!^~0yqXXA6v_aT^1tB=%8u)pMjefp$3*7Kw@7%GbtRnei*+2_)I584zKB> e1`rbh3=9CeH)f$TFU9Hr0000RIO9D|4#^;erYbe@68{vXRc!@|53c_1KUA*=$ zckL7;L4gt($cB;|YP|T3&a#B>vishf`R4n+ndh$0dp?~lh1EE!>6bN`eamFBkan{! zY5FTcup`s7B-7+m!g^&Llgz|j9bfwS!b`d2B&ZZ6tn6trpnseLU<;t(cq(C7(tF~a zFYqxY{Y0X9&FC2`gIffm6F{BifaTMt#!YP3nj2Y`(k zNpV!oq$&dd@_z#7%*`do_Szx=YJH+28-^em^XGnGMi zxQlDix(hgqF^{h=(rKM&2ewr-`erbBI!G8puSv4WLjv8w8>B#go6#=bZ+feW`vln+ zLyeh9u`%b1Y}aXAc&ZYdy@Smg(4fuus>}@wYqLtoKS(C)xy`w0wJEf7MxFs<9$deB zHj()knza!+RQx}UIM2$z4SV(!`vZlsY7PAwSXBT3002ovPDHLk FV1gO)*(3k} delta 366 zcmV-!0g?Xc1BnBWB!5mxL_t(IPj!<&O9Md^#CK6R6Nw5JNh6Y0EJOrBK}cbn@8DOq zNMRSmCXfR)n0TO^{8nd~Eclw+Kkw$vn>QOLXLsG8Uxj7!9)|TnSgqT@{^fZcPEPx2 z|F--Nhr^xFZrbqqv76WA$D8qWSM{oN$(JYrIRk_Mh){k8@P8@}NFu?Rawq^Z?h*hA zPE7!6$=Qh^07Pb>3wqz%|4J39M4*q_6PQ@U%j4UQzLe~u`I-Odf^PxTgI;J>o2>lB zd7T){7q3|~?;lnP0Lnf>u}~`#5-{?-t%wgqk8dd)$_t1!-hk=TeDNzH0GhKWYTg>1 za-^4pjnk|9PG=)2&Ekeh<^BvMS0)Vr;G(pw#;8gX&kdKX>;R<}E|z;jY_t+r74U@M;V~hqZE!e;{ZS7wLbRWLkw^L0000< MMNUMnLSTXb012U~IsgCw diff --git a/src/main/resources/assets/malum/textures/block/soulwood/soulwood_log_top.png b/src/main/resources/assets/malum/textures/block/soulwood/soulwood_log_top.png index 0dccd48298e52e41b207e98ef2cb7c1ed8e4556f..b1879466371c4746e0fbff54aede69df85d690ce 100644 GIT binary patch delta 409 zcmV;K0cQTE1G58=B!75GL_t(IPj!<)OT$1Ag(uh)6KH7&G$IXHkzPa;JP6{=ix>a9 zAYMf1Aw^6fw6u^&Q;EDOFHRG?moPhxT*fR=%mk?>d^`VvaG+aN(>1vTP%9)ECb?YTaBEKT?V(tAE8@!B7V^_(uWv=XVvT zle0i(pUe7o+)PDOhcA8#gPtVmO2V-F2Y`ZXv6j*4;Gha5zS2}qqDU3>gW(Qf-vR%YU?p1o)j}eLD*DHhooq?S*8S>K-n^85UCktSG+#g#NJQ2I27_(ww?r z8woaIlgpK24}yjQ{APTime)3-Vb}-OQrHJ2aHMHD+r002ovPDHLkV1fVu DX@#}p delta 397 zcmV;80doGc1E&L!B!6v5L_t(IPkmEOOT$1Aoq#o_v9(|=6pbHHL9G`R1O>r^SO2z0 zL9ilN5L&fR3bslTW0lC8@YXek&SjR_-8XMOo^yG0k-kTXRLZWvaE2vuBChAEhkb-| z>R}81mwMbg=euWV&}c}tW5ymVseEj1}Ozd!LoiUfq(;cqD=E>E*1WZ$Ovl~>nI8mtGCy+7#!2Vvdumpkt zoTIe?`orOG30#hRW_z`{*65SjM2M-jxTGDnjT!SR%r^i~E#$?-2St037nTuIeYvVK rhNR&kVagZMg=}Gy(YGPV_zzj<_P7WQS)Tv^002ovP6kA-LSTXbFN?dU diff --git a/src/main/resources/assets/malum/textures/block/soulwood/soulwood_panel.png b/src/main/resources/assets/malum/textures/block/soulwood/soulwood_panel.png index 666612ce80f845e53b9511bd653d919d5ceb9f37..50bfa2a31ec5cc356313e8ad06485f28cc0459cf 100644 GIT binary patch delta 328 zcmV-O0k{6F0^$OYBYy!XNklCgeo_;F@fw&)yu){1nC-IMrnduIZStyvHrbE>b$>j=-V?k&FUwF}i&ULL z=mH}*I#3{ru+$rlfOB^~S+Otb5frRS*x$vKxvU|1nx^d@Xfe9b1p;({G_HC;H7aow z?W{2ZL1AQV3H`|ffY~ngakuCB0LE&VsBwmg07QZxDc~L8P2*DCX4ZW3ItrAdB&tkY z%$6nMh`Wh@oHImt1f>!@=>> a**Dvq?f5y_rNRIJ002ovPDHLkV1fV`Dx3EJ delta 274 zcmV+t0qy?c0;~d%BYyz%Nkl81ejbBj zEBP0OUW17<{x&6e!p1`gHWKcR8cUSw=2P+a4r{rYifJ4+4#wDG|pKyz;-5L6& z%B82wuY|TH&xk4mEDj!{)tc*_kmG>O!vqHiiOD!kvuaukF%F(p8H=)*M;KGe7#i&_ Y+d8!gWRZNJ01E&B07*qoM6N<$f^NHiG5`Po diff --git a/src/main/resources/assets/malum/textures/block/soulwood/soulwood_planks.png b/src/main/resources/assets/malum/textures/block/soulwood/soulwood_planks.png index 54ef25080c289f06a86844d93a91b1314ac7081e..88b70fe9df330d2e56598057c353c579bc861e74 100644 GIT binary patch delta 354 zcmV-o0iFKG0{sGzB!5ClL_t(IPmNPOPs2bA^$nrGwcSG`7}z?oQK=F_LJYvziG_{d z%!-gg7Y3B}T1tkX=jdIWBS?6;oSoS3!*S1dPmPGk<~!h!@qyQqfqYeqe124Nnoob# z-Sy>tQ?KjZN4#W{O!D!OUf))g%+7LsX4A0WiF>$ODgp!&et*<{fS6`o-uMt*vjL0mAw&v)SsgVXU+_Ee?K07CtAVu|I=GAT zxrzvj+Fj@@vs?CBo9#P28##4|zpdHzb`&uc36zF55;+Xu&S(S6mA*qXP)Nl?j(dQm ziwM#!!z7C${Wnl6%d!*E3OOVm>O=z(Df$n*rqW9-hI|760000=W7B!3J^L_t(IPlZ#v4#F@DbcP~9RMdeLcErkrgy_J8#Ka6gz-RLV zh^neYhk~76nwYkDX&&~~cfOeG;nENh%@fNXiC10vb+~wx6>YLblxOnosYxeOIV|2) zmtPh{HYL8x5_il1OY3ro$H`4P#6}3fD9rX5dUo`Y=0Veg`D%RR zc?!%&x3`*E5fpqw5a{Mb?Bff;pn>i}M9kOwSVVAcrw|oEE6!=x=6<{h0Jl2EyU!c! z9WNqy>N%qWaK;{*xiKQf#>qJ$y|%_v7&by@ZP-1Wj8M=QePFP8I2qO~@_{HDI*&-a y;opdQA09w^U?qr-Hk$xMKKSGNAK-6CA1dUmo_Zr;^8f$<07*qoM6N<$f&c)kmx(a| diff --git a/src/main/resources/assets/malum/textures/block/soulwood/soulwood_tiles.png b/src/main/resources/assets/malum/textures/block/soulwood/soulwood_tiles.png index 5f5db43bb13048deca0282ca37f88a04de97d0fb..ef12ae1be4c8f31e08dc79d8ba1e0339ccc16a91 100644 GIT binary patch delta 366 zcmV-!0g?WR1BnBWB!5pyL_t(IPi>O1PQySDMAwChA}1C?X-olCn*0DALZSl7R5Wya zHMOC!qA1Q0f(xT}W}LO*8vAZ{XLoicdA?t_v$M?n*?)(4{n#IDd9fJ8xDekpX5o0S zAE2|ivMenP z0I$7QWB?$YeP@BT?w#npf+BH=OrXG60Xq80q>?5n%d+!h z3}vp0yr)hh@6t#CBl$-;&`TyCjD0fjf!AJu@<3NudlBOQ=U1>FqJ$vHm>L0r00000 MNkvXXu0mjf0F+s&NB{r; delta 366 zcmV-!0g?WR1BnBWB!5mxL_t(IPkmFdYQr!PJr4<_#wCT~rKFItWX)QdAyd}Q?GNO8 zGZz}Nm_SX9YDk8bck;WOM2QyJy1S=)@1Bb7`u$f#Uj7XbMDi3M2Qsn@+4Po(>b0PR`i@urmB;X@V=a{&_|egY7qJqV9>;$8wJnZZfF|i42|?g z0u1NSqH|74QQ3_zF-5LN=q>so*EmF6Jv~Pw@eO#MEY04Be>ZsJO48w5anWbozJS1|X} zZw3Y_Zf*t;AH-&ibPoOxQ+)f~8wPH6POu>$$*(`ZgEgUxsS1gJ#X*KJrh3NxhjBpk z^Do~SBzZVdY=?1>C>kS znhMgW27m-F+&zKScAN%)0`c^%TMRH$i8TP^S}l1=NGwof04NZzKX^)(3ortam@ojv z1T4T&3?MZcKP$X>2Z;rI2?;qd;Y>&rCuNE=6Q$W10Oxo08GTminT#*+Ptf#Azv_c|^x}l1j zzH*b#(l0<$u};lo)BDW;M58e$4(EMqp2v+_o!PwxfcwY0YJqKxW6L19o*H{+eJahw2`i$@piOyU zXc_n}_zvKVN3JW@1-7v&5D|R=#bQ@fDM3c^4Tgf~SH@dpbV8(+gt1UoIQe0>`m3yF$I zipZRN=Oo5!vLtgev%8aGzdke(5s%k1>RYWcX7g!!>P*XAMpb`si}5hkI)xMH#b_|h z7X@;H^Zl8=K_If?xIHwmp~yvD5SW7lM3Mstq|~PfSZZG5B7YH}AVq;hhC1#<;Pw%0 z5uDCdl#{YG2e*H{RIyxq2P~0H;Qe9u-v&eqK5YTZ*azTiWCOH;+hViYHC*%|`p$J( z86h8PMXlx>VAa<~?Zaen3{=9o1+jI5;;Y4-KU)s?KyUQwTj(2VngOA3#cn2;0T>bI zC_C5{zrWF^@+;x}B(WP~PoSr>yXqXIzCX>uec6!68wVNo1eR0&$N&HU07*qoM6N<$ Eg8HJ1umAu6 delta 348 zcmV-i0i*uS0`~%tB!4|gL_t(IPi<4XN(4a=>k@3*$9miDk9t4|uP5uesq_k%7mV|YLS>%40-A7cn~0vIoSwg@Z$B!3Vy0ua(s^Gv)1#*GYd zj!_sC>N%TLHEAOg#!SZOhghWb#mxX+3TDPp&OU%>_zd7^QQ6n7|I^oIyF5K7gSYQq z?3u{RA^<4+5=PzLSj2f*34IU)WDv{MPM%d@6mQ)QRdtk&OFEN{rPayN#U}?rtT5^JGyIN$>(_h z*sk|p0fJx5WTgVk5ulnCuDN|yLS{T#EXy%ofvkL7k|UR^!mRR0U9|OaRoP-|VeQlFwwB$;u9B mZQ^g#O-;joFd14}@4NtaMcvQ#d_^_@0000&kIjY|T-OG%+)@S3R*@Epk0Z|_`4 z=wb>DF-{;ETu#p?KdElsVoS2`-JR|wySMkgy{hWok-Yk%$}saKo6dVUow0tOTvxuI@a-U4g0@s@$U_#d;{?S0000l)} diff --git a/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/aerial_soulwood_cutout.png b/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/aerial_soulwood_cutout.png index 85759aa57c5b2d83e4454c5ae463a6e0bfb3c47f..ced67df3e471c579c362a34b902ba12adc096e1e 100644 GIT binary patch delta 466 zcmV;@0WJQX1MCBkB!96bx%tu}FMq+K7HzENboa7F*)El0 z5GToiB0m_3SC}W?J#}<{{~E;r2I6@cNv8^;0DKrN-=9dOlvkkcpr^&jWlZY3`x<=xb4Bvn2UKQHaxLt2bw2#eAP09{d92-H9IB&w=>keoTAW&CCFXuDdb^ zxM^NSVfd{9c7LX8Q%_DFHpH!P7-ocv6@Wy4^dYyM)}MZtF`zvpW>ySRXF%e^)BRHF zi@kHk8+ZgTRRL;9Mt`81p{yl}j9t#Y-N&o3rqBE7ACf6W2h$|m2=&=i0FmK z#4Jo_7@1TyQ~;BnAvd-%KS{I%`s0=2Iu^-*Vr`h3cYXl-82SECH;gL)00005t_zJa%lXKtFiotb_6=Dppde{!AIs%e^HW;dbJK;pWE@D{^T+{&(lh3MZSapX)cSM-G6WEj{yD@3an`wy-ojN z996T(!T{(HH4o%BciSBU8cs&x;<#(05s`tYGrQ<93V}YbVl#1j)(i8+%0QCS=2ebB z5{`d0ZknIX&*Rr9cm#ktf$~1;waTBhPL}8f0A)0IS&mCp?=)Lh!#Y1!!aV?uKr{(N zZj%GlVZ|6GB76Y+$TnGs7RncO0Yt(kgWgRpOQeI}0Cn#Gpja9;0Dz>wvU0(n0PedmwNQ9cj_0#;?^cs(nd3te2){akdsoOUy|fY8h@Yf5{6AFm3q{f;G86K z|5VpIlH%`-0SCJTOaTyvgNa9-chPkQ2EhFIf@*-E zXoS!7m@jU3eSa%8T1Bs^kNX!Vzk)dcV6-U}y_5j}1etZpuDayQnfjdR9J*v0APDsK zPL4A$HqbX)8lRGuc*^AJ{z0mP!A~1adDg!Goj^!Ln=u`vqFZcP1v^qDVd**>M zTyG*kbPOTgQe`=%9U#Kw?B-M-+ggK6L>qSk$*v`I`b_O(Y%CZg z8+HE3a1iKRxSiT&O6x$kp9ivmus8J?I5NYS)+1)tMys24+MwWE4T{k_ XdnXOt0pF(p0000L_t(IPlc0BOT$1EMJFi4Myf(vTv$q=E8R&^upo5dO6Y&^ z@49qh(S=ZoE`(;G#ngZjIZy8}2@Sr@WIl4{zWd%pljF;>oy2aLy}NE_&#m&pF@Ij< zu0Kd@{l zwniEXj13L106OiK%T{ZH=w|_>N|o^@qJYh?gmr+@VB{Qu3cQNw1JM{caQiUxlJ#*i z7+MujfYQhL>vpe+090p{E0iCS@Iroh1=G=0sgkH!V8O3_?*>D bbng$*E+Y0@@28Rg0000Zt&~hi2n7u>DxyFr3U38<@!DS; zL8rPUVpJ%Bfoy2GrN+i@YPLlan#=n&&of`o>m2V^0>3vDEW5U>YwPJn+(caJ&6eyH zisHI6(&@cPJeHEK_blmDLj5{kPn@Img8*kE;eoR`v&T5c#ebLn=v~kF^X8DjLTo;K zV2?H1U3v8GbibJ?YE&}m`m>sa1yO=@Vo@KG?mz+c2QLKc#SaOfPG=ywOi}|9%sDGp z1AxB&sWtTn!321m1R%cjEF_?Dx9x`cPOM9F-;Kkz3p=_J*g3D921LK8T~7tuLzLuj zYeTO?f}8t>ynlZ5{!Ib_qty}^4>dJk+Dc-Pj4*m;pIgpIGPNqhk@q{sp}0C8>%%z6 zQY+=MstM|+Zz?2a48c|HGAv;l0S=~4#_i-*@&Ol^^G1hT`TQs+#@ t`05xL2gaW;Fj*mMh;am9KQZd}1x#Z9D!3ZA&j0`b07*qoM6N<$f&g~{(nJ6N delta 397 zcmV;80doG`1E&L!B!6s4L_t(IPmPn!O2a@DMkgr5Myf(9T_`2sLhVk9ih|IEE1~b; zQ~C}fE?ii2Q3$0jiVdj6)PNE>qu)4&R=k^JX6~H%?qAT^Jt?YDXvXP_sn=G_B+Cu! z;UF`c&B(5w#~)_3zF_icZr)xO-9P@pQG8H@mCzpY#mYeTfPY|sF!?)x|B8UThAl0> zTey690A)Zd04HCX)(=@?0UJ^5UY0@tm{XtwVwd><$(MAg2=>;G3*u7TDA7en`u;%) z;b2O*1F+c}^viccwyWUI?7qMEk zV(ydCR}ulJ&VMK&w!Z*sG^e23J}p!d>O3!jl7tHNfDHivhiX|LfHQJ0uC853XZvlF zjGk-~Z7cf#av*2Li`4D7@oS$wmC^we6A+AKVj3!xU?fkiZWWw&x;BKH+jQ>qaqds1 r{%Jm21zr`v&xac_WO@0B@x)lw1Ah75F0000|0E7HE8rWJ2 zv?m=3>kD21ECxr4Tbv(tV*b>{02E0r^tZ19aE=NC@D7w0-@)s6SzJ6rL93(0H8J_ zT~+}oCmbmfmQQDKsB}j0G&=^k?)5E&`-gnx^zq+Mrq*0$T|l}3s)q(g9rEMs0Y78; V|L2sLaSH$d002ovPDHLkV1nD@v2*|c diff --git a/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/eldritch_soulwood_cutout.png b/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/eldritch_soulwood_cutout.png index fcf4f868e7405047888cb8ad7be85e4b850faafb..6c9cf769d2b7a9d4540e2a846f1113814a509f77 100644 GIT binary patch delta 499 zcmVfZ2n7uZB_c~m5Z?;w#n=99 zuTcb%L6jzfff7v^ik2%i7U$X>)BCdRyWc(M+;i{L>0#A#$1_4`dYHl?gWqTK0kyh4 zDrR$}X=~(+zc`2UXlR4)ID;{%%5K@4Og%Eq2q$pZ9oqEyGk>OP{)mfjUtYN&ov_F> zbiWvc3JOq&i@o;4kh9@-5q77)q%09W;Uz94a&D{zr0SycgZXQYw3te$%# zH$r#K8y_7if`4qQ-^c*~$`}Af!N|wX!oZ*pOS1kygdHR07Q*Cm3X+~XPdCyKdHfasY^FXcy+<`C;3OMUs(VlvobOnUXW<^Ekx|Gn%Bm zjKSctGgv^C-pY8vb%hsb1@dGg3s#PSu`dW&F8l(jm~1-nfGkD=z4bQm6-fV3khbDW z>;PjAcO2bePg(oP)Myf(uy0DZ$7iwLI6cq)b3s*wl z!Kd^cL|nMA=%NrxT@)KoOH%_%Ta#>&$=7_{{UhExk4|&H;;R#17!t}1Ab%L+9e}ss`Rf zaQHUX^KKC7?NA71@F@UJNP{uCU2nRQECf&j5ML;PHtrw$XQdt>DhB*NCfFr>dAlTjWpupg*@Q2lk zyu=grdjN3uP=5khC&0Cw80 z>|WGx5F{tF#mZXiDnkJQ>;)wL*8?_>(h2}}m8IA+pn!(v@$D$!rq@>mk59?U>x&vY unz!uZD}_>>0ssO9D|4#pjY*Ybn`+8=+7UMZF{lMd4dPz4Y2& z9Q0N_^@UMk1O~Fv>vSdVC8>r_#xR$X#~I`E3qCDFrHkW>w0E# zB)2*nNU>B_6{eDV?y!E8aA+XZO58q#@)+Lz0NL4ClQ{lTKc1dn)w2`;G)v}Z>$RPh zU@Gtfb|Y9_EPshRZX6__5*UTcSM6rn4O;->=gUG8CS#&10Dwy-4e7XV2AU6eVBO-3 zHQmq>ie5iuJiWZp^JLM$@ZOWrB$)K$b1x^}{e6WWr(j1b{#VUPbhQXpDe< z1E|!jqx5n7{C{I20M%Ir4JV_50+LRv9ePEL=M@aP=ebIPX-F(95DiGVUpzqWL;mY9 zdrtN{zQxtnzLozAz&u3(AXn4f9d~teTkzoGs2g(3vxY{O{egeN-F+5n3`9X+l>bci o0#Ei;;D7+-Zd8Tr?`#3z?Nt``Zl7}|00000NkvXXt^-0~f|2;CWdHyG diff --git a/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/sacred_soulwood_cutout.png b/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/sacred_soulwood_cutout.png index 70683de51e6176d7d97805de11fbfea37442f044..ad1ce0bdc5a0be283b7aac4ac447061b2a54d585 100644 GIT binary patch delta 466 zcmV;@0WJQL1MCBkB!96gi*TS321O(YMd4dPz4+Q+ z96>J?L?~idDA59$xN@b&jqi*zR+{H!+ugn2Ip=r2t4{W-I`GGY$ZzEMiRk$s)a#9? zR4^$BzR55aXb_}m;JuM$X2Lz5PwIH{P!C6%(kVqoCdogN34fE46i~+&DgG!}4>txJO6^!0MuUra>HW)2ja~ z5N`>s03ufa0e_4MBdNQsxdI|0EHI&n0f1aKZl?qUWE>`10Bk2`hhvo4gGHzBM&v~; zE&_-cXY(l>B^wC)L_t(IPmPnyO2a@DhNmdRMyf(8T_}>Bw}nViQ4qRtCG;J9 zO5Z`mg$qS@L3B}QKrN;Ql*o7B50jK&&t`6CzWL8(T7%v5q7w#goPN4)wBjaN?pVLR zWNvdSwDrgM*R6IJTt3a+_t#=M$G>$N9~VJ8utP?y4rC7q27d^Xe+lqk@qsvE?8%1* zP{x@7aPXxu$NUid*9Bm&R3PcZ{+1;M*a%}A{q@rFkEs!)b+~?35EmQR&C{ceO?I-g zS4nsU5Ovz_`u6T$fZ|7q0gy#W=2d_nWj6qQppp>AJRzX;IT_i522h=)qzOX&YP3?p zuzyjoDG1}iesDCCi_4?FOGfXNuCx#UaH-z1+i|aia5;wJ)oxv3L VZ2Dvk00000NkvXXu0mjf006;)uk8Q; diff --git a/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/wicked_soulwood_cutout.png b/src/main/resources/assets/malum/textures/block/soulwood/totem_poles/wicked_soulwood_cutout.png index 8398584153a68a17e12d2cde7c0f59aa0fb2aa23..bf9a14c85279917d78a60451ae7d5781c3e73987 100644 GIT binary patch delta 463 zcmV;=0WkiO1L*^hB!90-L_t(IPmNPuO9D|4or@o}){5JL8{vXR7!;8p6oqdE_2O&4 zIOwf{=o7=Fh!mC$x7`)wkk!7W*A7`l__Q-YYNlqA%+Fjn(gQ2EeR&mg>Gn7d?lz*X^9=m;V-7Lo?HW+{K z9i+%rq5v03eCc)*KmiAuV*sEO zn8*qMfHt9~(|^|WzZ8fU=uqMT6r8tP3}Bil%o4*LCBSUI;7!_S_IVlz@?av`dG`=9 z84pt4DN^1VCKGpZb;~MDc6{%wttL57&##0TQT{?%3#u3Z04YU4AXi2mrpq*{T4_t8 z9SFMi95cXB3`{WSaiW_m^6>DeTPYHDF2P(TS&|W1oJfoTlXfwq0lw&Yyf3O*-`7|g zEE6O`iHx=^3_1i*3>@k)L_t(IPlc1qO2a@Dh9@Y*Myf(9T_}>Bmz@+93qlvJgua7M z={tzHaADDf5Q;7e4XDM`fD-u*{9zhWdp4QOIrGhbE)(<*FN$Uqx=H%!+N}*Y&2q>8 z>nL-(dy)NrOn%*Fd&T9m+mjylbhlL5OD$(KUycmGP{>av)g7oTG+bH`0)q*cha>df=tSl_W zlg$BCRi#22m>!j26i=gWfb0IiQh0bw7rs9H{>#*wRILkfXR8EM>mfz{bM^s$qNxM+ V@ejmX00000NkvXXu0mjf005zOuwDQF diff --git a/src/main/resources/assets/malum/textures/block/soulwood/vertical_rustic_soulwood_planks.png b/src/main/resources/assets/malum/textures/block/soulwood/vertical_rustic_soulwood_planks.png new file mode 100644 index 0000000000000000000000000000000000000000..c709692d28e23bc67385201605875bd5800444c1 GIT binary patch literal 441 zcmV;q0Y?6bP)JvaFQf8=Nym$?k+uGQ8<_XYzDAjEDJZ<>lOrgb4Xio(dQSc=6Ac{w!UV8Q8JqZ;tfsm47B26VS)6VlHpnG{q-ezWY zcQ$x_STt4jZHn3=t9Q9&+19c$wVSgGUS;{lM)AaoJhgJ$*q|Tq3;^)_WmzZT3La-LGPGe&`z*~m)D$g*0P}6 znsXNbV3?Kzc$zO8$krD69?&-Wd*XWmM8W;}?cN86<#2M#l#g0x^$5(qFMa@`=YN=x U221t;0000Lin={~62m9{q?95#BaC5(W8D&%uYEh(Pp!UH^FH<1>sbWA)7#LtTTRR7Uv{w5vVYlkZo}E{H;(~0Yqx!n zK0pp|chz08Z4&^Ssma2e9gL_!o?A0sfffL9Bladk48SI=#dP5SY^M(Zi`PzI3k4Vh z(u0A1f29G%c`Vuppe-~3kZ9bC2GR!rfc_OxXCO4-+%LBZ09hsFc_c?9ShAhbO??_4{Bd_Hv$4Glg&?DF`;Hic{r zfD=%`~643;>CQNmz(pt2FEfnicnjzBIcb2mk;807*qoM6N<$ Gf&c))vbeDT delta 348 zcmV-i0i*u51NQ=uB!4|gL_t(IPmNQtY63wNoGTI#IZ%*m#3Hq=eNtGZwN8G(@AU^_ zw*(ZARXB?a^Rn}JUJ}Vx%kJBG^JZqNx93g2&ll8>BedNGi}47@D{PP4VmW`p$2p@t zBw$?QX5|*ucKzP7VDbPENB}J4qeau$Il<~_V|7|QH-OVM+ke?UCF{65e*R=sz*t9y zYUlt)`!E0~k2KP9G6S2%k*k;0Yww)O%+BB!0N!yN=}}Qc(V}qda&H9F1Mm?Yz%KdSodyY u{5-TZ0!Bx8?m0=p#(Up60&pK2d;wJhjz}k;jsgGx002ovPDHLkV1fV>s-0c{ diff --git a/src/main/resources/assets/malum/textures/item/runes/rune_of_culling.png b/src/main/resources/assets/malum/textures/item/runes/rune_of_culling.png index 508721692ad2f59663c0eddb19de351ed3686f2d..3aebb467053407d0459df25bc82573e5969a826d 100644 GIT binary patch delta 481 zcmV<70UrMQ1N#GzB!9w5L_t(IPj!<`O9D|8hTox0jY>s+B_yInk(ePB5Ljjh+UOUI{4!ECGHy;2j{0}(P?vVrc}-&b(?~jM1K{`OfGORwz$l}?k+ou z-vtg=7{lE|y0w5{yR#cpV^cc#Bm0WnmkhDPhFng@4=WiYf&$a&qr(wcMUkg17xElR zJZ|GU%@B=<*z@ih1w(;wJroLZsNXjTt7t)mRl#ay1oq>Iui3HFwuf+X3z@_bKC_=X ziJ%Br^%ri33x7_ho5LG7oA3_&XG8J!#Bex%U=+|INdo==-#8KstEbb6B%&+OyHX1| zpT*h532y*@Xa$so)n-vax;vfh>~Zt@NbeG!B}p&PN?5gq=tPv)f`TCJJdmJLu0ncw z!R6Jtpw0nh(d+VX$nW#_gJuB@ zmZy=C7F4=oDrlC7mJW!PcD0rCLLdd*U+sc+hf)iIwL!(zg36ldFG>;}4d5|zZ@Tvn XrG4TN5f5Rw00000NkvXXu0mjfmnYvz delta 481 zcmV<70UrMQ1N#GzB!9t4L_t(IPj!>OO9EjS$G^AbsgzV|LLpiti5gNNAw*C?MG!#^ zwbbO$|IyOi;8aTv14M9i*Mbr{OdGv!stteB^w&Ho}J?`{;28DZ{&*y#ad7hKd zAm(QmfAmMY`zgsRweI2c_#A^1BV%Z`w=+{Ly&`>)hM7bYjDHSKGB`Um!=R(34IiIx z43||ES2vf91q8P_9f%La4e(3;5ry|0WQ!ezLJnVQu}&fhm~QXyi^3+$TsGZGus^wg z>%~nZZdbA1wN@_(_#;1|P>`W+Z!c`Jl_kov0-U(8WSK-VumPLh$~oD5)*z9DK&^bk z-R^?Z>E?1Hsecv3qB6RA{wjL9Q?Wg`RWG1JlK6doP7DVlP^%@BOBKF#>3kVymnt%e z9jzC+*E|l6_ILpNqZd#W0;C(M2LwA?-P)_&D~eH|m#CF0VnZ?R1qJm(zYo+Ks!n-$ z!13v!r0oG!(c$ti^ zJpUExLGeA93Th>?)dJbtBpCiDkb>S{n}R+=^nzf0P;>R5I5Yi3Nn)S@+-9y#bAJJ$ X8Qc+LYt7>T0000cD+F;E$G>y3JG&d3mqlcoRYYErwAd1%klM(_ z#es`IK>1Ic99&#PE^<&@HXP)=McHYz((dePt=%1NtLMo~GiE%;ndkGF?>xWfC*Yr2 zh%T1RuXgsg1*cZq!Mot|aTUsZ$LN0#BD zrr|n%`M-eRnmRus{SgCJk`G8_Gtj;YC>BbbU#>SXFdaVMcjDWeZ|IL!6p%OfmZrPeQf|z zFa%jiVC}x11%EH;cbqSGAiNpJ))?@tJXuok5J?h}LY$(zvj?i0g4gHa6mmHSb!C`` zNp%~)Ln@QT!OFiRU9HWjxEWRbWn`mA()j2=gqc2r};j z2}mw03QkTB1!E8BHyQ$s3`xNtr;wT@3rwd&19lYXDPVL-_wUJwZXZi&AE*eXeaNag zYl6Q5TCB$3L}pOG4~~Mr64B#^=y6%@5P?+m|HdhpJM>u)Y%UtE8Pwl7UQv=*XaJ9i d8^_)s8tUQ^yMEv!00000NkvXXu0mjf0063>+>ZbN delta 478 zcmV<40U`c@1o#7xB!9k1L_t(IPj!@7%)|nNlOyA(^))h6D(7%|aSAtyDHt7^Vt;UcdX7PVT?2~md4@lA z9oKi4{|g9iX!0Y`m$1RFnI~imX-@H3*6^X191_8Rsi>!`7hX|hAf3-)OPdJKz;1e(UPFkKvkxhxby+7iNg{HD-xQ0+k;h{FUHig7{{Z)b7D3i|AOYQoqN+GK zI}pq{pkp)#LJY~_FsG1PWgATMKn->k7%2=%ta>wa6jxgMSJ^fX`E1di;IDuND^yKn z9VE5@a25QOh>{1QRAVqENI&TO<}Fw&j9w6IUDRAFXzaOuq9n1=0PY`eTx)*-Keycx Un4^?A00000NkvXXu0mjf0KR+OQvd(} diff --git a/src/main/resources/assets/malum/textures/slot/empty_brooch_slot.png b/src/main/resources/assets/malum/textures/slot/empty_brooch_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..35c45b04c06e3d2fc3c6b8f2033db132c76066d5 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`DV{ElAr}70DGLM)f>z9DT+X;~ z;llqDdE@t1nTBnRV0D~z(KJDrIntq)x!@+tCf?aHcUTSVAAi!;vAJ-yk@rBl_PU6s zmy&vH6QuY~B(_cB>)`Y$F_qxt3@>>kwA?pNLA9NU!NDj&uq6I3AJ9GqPgg&ebxsLQ G3=9BAjxe48 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/malum/textures/slot/empty_rune_slot.png b/src/main/resources/assets/malum/textures/slot/empty_rune_slot.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ca1cfffcc27ed5d34715f6170eb14db2f98694 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`<(@8%Ar}5yCr9!%7;v~eoiJyT zbC$uu8->d>GvBD6e!bzQ;=JAS^TS;vxc^FM3kqL4r@-%^dTo7hL(!rXvGmm^Id8KW zcz83iYGh{Zk*N1yc$uB+Mk7!4f^EH1gIBftzM1lgKVhl(j!$1^MCe~xdqMbUuwUw` bgW|h;D+D*byXy;d0)wZkpUXO@geC?6Sj0k+ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/malum/textures/vfx/totem_poles/aerial_glow.png b/src/main/resources/assets/malum/textures/vfx/totem_poles/aerial_glow.png index f7047bf1dd3216c94af6ae6400671a5848607ccc..4bd07b19ffc6cd33dce15d1aa6d1a7deec176da2 100644 GIT binary patch delta 218 zcmV<0044wV0rmlqB!9d~L_t(IPh(`D5HM1xpMjtOA6~rp&o3?xw&&x^mkissUSNny z_JHfdYXC?yNW-K1PZ=s&lEG?0VgeEp#2J9@y=8NE{MS?GVbHO$!EeBoBS-$rsHmXm ze{$yzn2)R(#3vXAgaR4G0FV>CybTy&fdVeyZgU|>;r>E;*02??ecJqFM%tB!9n2L_t(IPh(`D5HM1xpMjtOSB@O{FQcLYwufI_oZ;%xqYOGW zHgJ7-4fycl#ea~-ZCfueL?wHG)&Bqg|34!mBXI_xdk^FqZEI@=f(C#Tf;1yL9cCD^ zW{?=cFd!7jCyW_u}IuBS6$aYYmfxyR?FBt?RB(PeBB31};I&uiZVgR2(M0)`g zBQS#q1|rDWuz-ZQ2-!6R4FK7O9QQB-K~YFlLPAe{u$VyCO#Nsi6zACFiH-$ah64bd X=uHuA!qg`K0000sC41mBgrEzq9zDvSV`D?Q0auP3`LAtl%|NyR zpaA3-7Y7?~>E;)l-oWZKkY-Tyl5GGe^g#xEeEE{$$(=i37k~h^z{KhTWCONsy#Us% zr_O^lF!6c;q!Hu-7{C@ASPfV$0p09B{e- z6oCBV;$Q=w+_{6(8(0m1X$D0xSq6YYAEp^ZgIoXt*a8!)3y=+fX_iq@!5S7gy?~rT zL1BR_Hn181iUE*~AdN7u;ED;Hv9N6Jj{kb1(*g9ed*>GhNxr@{9b?=01JJPZODLN7=RQb zYX;d00($B^aC6WN!Eh4HfNfhZz@5Bo?vDR3LkJoG@;^5Jf(!vU13e!cXq%LY$!HY2 Z005KVR1tm8|JVQk002ovPDHLkV1l`UMNI$z delta 147 zcmV;E0Bry50o4JJBmtU{B`SXan9cm+;@}|q`0^!~#^w?flR+AhHQ{0-8-!s1$R?OZ z^cceC60Cl^a^%Q=85I>2{ZH=PVbHO$!BCIY09Y7+G=TujFoIzKQjD${<_uhhV7LHg z0CK2f6N4Fy)c|b%g@p^cH)xxbiOFaby8r+30)+yQHh&*py!a0?TtGqsuO(O|uN*n@U)$Om>^Me7M$!%V|NlSOcB&bG z&pQ~-Lv}vM1y_$AWq^6-%%Yr*}pIidQj>-V3)uEP6L+B-SIy% z$sMc?6nG#2(g@N3l6!RjDMLj|GK!^G6A4H$%r30)+yQHh=&B|NsB-CY{adEKY7#SH!HvnWi%xhFJ z0OlfWhG94l+4&$>ET6ZNAu`Dw>>zAmf?)u%^FbP(+_}S`ZEa1w0U#H^{14I$0x~Kp z@YqI=6%-d-IdbGbvSMTdKx~j4h}N;Of$PIC0NJ_Qwq9V+Q&8uDYlJxirvc06?)VQ2 zu&YOpGF-a(1#AFF1ITqCepIptiltZ+3CJLjMi9WJ2|4-GE-w(9$tZRK0G@wm5f?O< RX#fBK07*qoM6N<$f&hY5Tt@%^ diff --git a/src/main/resources/assets/malum/textures/vfx/totem_poles/eldritch_glow.png b/src/main/resources/assets/malum/textures/vfx/totem_poles/eldritch_glow.png index aa6696164ecf347c18acbf15f2429063401163ce..a5fc9470eb25dd5f0692f7b6236f5acfcbf97f4d 100644 GIT binary patch delta 251 zcmVDLlLINz0&PTQs!+`() z|Np;w^eBUljSY(2l_N*~%c!Wp4TTwkq6lOYzqmLo8ifw zJ1B;u7yz>U!b~h|S2z$O!TR zh<)ki7Zk%W!T_dF+uE7|6c!)=@;k`sFoW?1B1{tIWDp;lm#_vRdYS;a2HnZ%YH%hb zShNkS3t-O0=MB7h0ThrRL(tO%QL#X5CZjkv0suPUaS;&pW_|zw002ovPDHLkV1gLr BZM6UZ delta 215 zcmV;|04V>L0`mcoB!9X|L_t(IPh(`D5HM1xp8=}@|NsC04>FjMkr6D9&PTQs!vK)t zk1t;`2uMhv$bES6;y=H*INVT}Ay^eHpSP1iPn`$Fcb9H{VTep}XFxX`s{vP!9%az6 zu|bi$a^%Q=ZEI`%2B0fK_B+fA=!Rp20Z1Xp?I8bxoQuvz4^SJN(Fk)5$N+3!!WxL^ zX#!*jNDMtZ@J1s{k}58Mg$KI7iFSdEiV9fmlRI~CdIN7>pePK8&14kkMgUjhYZ1lb R2wngH002ovPDHLkV1o2GTWH+FbshCA3cTQ3P`L5 zfHZ^R9tJ>~K`z1O4Vc1g=YtGD2G{};s{tTQ$YB6;2{vzF r^#aHhFq=VMz?Yl}CL}_cjbZ};iWWr?-*wUZ00000NkvXXu0mjfNy#E zk&zKa4^{&}HemxGg9sXM<;ao$GAb%y{ZH=P0n^BQ9UB|`E8plISi$ xw;5+3BAbpc`iL@sm}EXklQJ<*hp7Po0Vq5XcDizJ00000NkvXXu0jJ~f&gaGIA#C< diff --git a/src/main/resources/assets/malum/textures/vfx/totem_poles/wicked_glow.png b/src/main/resources/assets/malum/textures/vfx/totem_poles/wicked_glow.png index e5408a503964a546a86ac5567d5d312e313f309a..1525a324d3db0408f0737c85b58cba000fee231b 100644 GIT binary patch delta 194 zcmV;z06qWM0p0Fzd!HRu6)WP(Y9XH{8q79H!lxEOV z=Ybml;}bOC%8?`gL4JmX0kRh^-TcB3mF$7v3m_|Dh9LVLn>%KZJkE3gG6Xr1p*tNW whtq&%b9bN^fbMjH1`wOX2We6!*7+cH0M|T35qyt#0RR9107*qoM6N<$g5;Z4pa1{> delta 188 zcmV;t07L)Y0oVbMB!8VrL_t(IPh(`D5HM1xpJ9+1@ZrUa{~)hDxpN2XLm3qnFfAY< zf#G5d0hnfx27YmIu*Q!sU&4b5-4Lt>Y}O5eL zmu`L`-heAdj{FDt8RmSL+dz>%07*qoM6N<$f&c(b!AK?m