From a4a766d1003146377fb3d82212d662e8938ca779 Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Thu, 26 Sep 2024 16:53:30 +1000 Subject: [PATCH 01/50] added the necessary `rotate` and `mirror` functions for `PylonBlock` and `CardinalFacingBlock` --- .../blocks/decoration/CardinalFacingBlock.java | 10 ++++++++-- .../dafuqs/spectrum/blocks/decoration/PylonBlock.java | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/blocks/decoration/CardinalFacingBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/decoration/CardinalFacingBlock.java index c3179c17d6..fb02a90873 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/decoration/CardinalFacingBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/decoration/CardinalFacingBlock.java @@ -4,6 +4,8 @@ import net.minecraft.item.*; import net.minecraft.state.*; import net.minecraft.state.property.*; +import net.minecraft.util.BlockMirror; +import net.minecraft.util.BlockRotation; import net.minecraft.util.math.*; public class CardinalFacingBlock extends Block { @@ -26,6 +28,10 @@ public BlockState getPlacementState(ItemPlacementContext ctx) { protected void appendProperties(StateManager.Builder builder) { builder.add(CARDINAL_FACING); } - - + + @Override + public BlockState rotate(BlockState state, BlockRotation rotation) { + boolean cardinal = state.get(CARDINAL_FACING); + return state.with(CARDINAL_FACING, (rotation.ordinal() % 2 == 1) != cardinal); + } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/decoration/PylonBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/decoration/PylonBlock.java index dd3845a0fc..8a461c5d74 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/decoration/PylonBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/decoration/PylonBlock.java @@ -110,6 +110,16 @@ protected void appendProperties(StateManager.Builder builder) builder.add(FACING, SECTION, PEDESTAL, WATERLOGGED); } + @Override + public BlockState rotate(BlockState state, BlockRotation rotation) { + return state.with(FACING, rotation.rotate(state.get(FACING))); + } + + @Override + public BlockState mirror(BlockState state, BlockMirror mirror) { + return state.with(FACING, mirror.apply(state.get(FACING))); + } + @Override public FluidState getFluidState(BlockState state) { return state.get(WATERLOGGED) ? Fluids.WATER.getStill(false) : super.getFluidState(state); From 84451e407fe33366339d00ceb960b7dfac62063b Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Tue, 1 Oct 2024 15:33:44 +1000 Subject: [PATCH 02/50] added planed balcite slabs, stairs and walls, and fixed the dreamflayer kill message ids --- .../spectrum/registries/SpectrumBlocks.java | 12 + .../registries/SpectrumItemGroups.java | 6 + .../blockstates/planed_basalt_slab.json | 13 ++ .../blockstates/planed_basalt_stairs.json | 209 ++++++++++++++++++ .../blockstates/planed_basalt_wall.json | 90 ++++++++ .../blockstates/planed_calcite_slab.json | 13 ++ .../blockstates/planed_calcite_stairs.json | 209 ++++++++++++++++++ .../blockstates/planed_calcite_wall.json | 90 ++++++++ .../resources/assets/spectrum/lang/en_us.json | 12 +- .../models/block/planed_basalt_slab.json | 8 + .../models/block/planed_basalt_slab_top.json | 8 + .../models/block/planed_basalt_stairs.json | 8 + .../block/planed_basalt_stairs_inner.json | 8 + .../block/planed_basalt_stairs_outer.json | 8 + .../block/planed_basalt_wall_inventory.json | 6 + .../models/block/planed_basalt_wall_post.json | 6 + .../models/block/planed_basalt_wall_side.json | 6 + .../block/planed_basalt_wall_side_tall.json | 6 + .../models/block/planed_calcite_slab.json | 8 + .../models/block/planed_calcite_slab_top.json | 8 + .../models/block/planed_calcite_stairs.json | 8 + .../block/planed_calcite_stairs_inner.json | 8 + .../block/planed_calcite_stairs_outer.json | 8 + .../block/planed_calcite_wall_inventory.json | 6 + .../block/planed_calcite_wall_post.json | 6 + .../block/planed_calcite_wall_side.json | 6 + .../block/planed_calcite_wall_side_tall.json | 6 + .../models/item/planed_basalt_slab.json | 3 + .../models/item/planed_basalt_stairs.json | 3 + .../models/item/planed_basalt_wall.json | 3 + .../models/item/planed_calcite_slab.json | 3 + .../models/item/planed_calcite_stairs.json | 3 + .../models/item/planed_calcite_wall.json | 3 + .../blocks/planed_basalt_slab.json | 19 ++ .../blocks/planed_basalt_stairs.json | 19 ++ .../blocks/planed_basalt_wall.json | 19 ++ .../blocks/planed_calcite_slab.json | 19 ++ .../blocks/planed_calcite_stairs.json | 19 ++ .../blocks/planed_calcite_wall.json | 19 ++ .../entries/decoration/block_variants.json | 8 +- .../basalt/planed_basalt_slab.json | 15 ++ .../basalt/planed_basalt_stairs.json | 17 ++ .../basalt/planed_basalt_wall.json | 16 ++ .../calcite/planed_calcite_slab.json | 15 ++ .../calcite/planed_calcite_stairs.json | 17 ++ .../calcite/planed_calcite_wall.json | 16 ++ ...planed_basalt_slab_from_planed_basalt.json | 8 + ...aned_basalt_stairs_from_planed_basalt.json | 8 + ...planed_basalt_wall_from_planed_basalt.json | 8 + ...aned_calcite_slab_from_planed_calcite.json | 8 + ...ed_calcite_stairs_from_planed_calcite.json | 8 + ...aned_calcite_wall_from_planed_calcite.json | 8 + .../data/spectrum/tags/blocks/basalts.json | 5 +- .../data/spectrum/tags/blocks/calcites.json | 5 +- 54 files changed, 1070 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_basalt_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_basalt_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_basalt_wall.json create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_calcite_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_calcite_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/planed_calcite_wall.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_basalt_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_basalt_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_basalt_wall.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_calcite_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_calcite_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/planed_calcite_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_slab_from_planed_basalt.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_stairs_from_planed_basalt.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_wall_from_planed_basalt.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_slab_from_planed_calcite.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_stairs_from_planed_calcite.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_wall_from_planed_calcite.json diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index 36685cd7b5..1923b20070 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -298,6 +298,9 @@ private static Settings blackslag(BlockSoundGroup blockSoundGroup) { public static final Block POLISHED_BASALT = new Block(settings(MapColor.BLACK, BlockSoundGroup.BASALT, 2.0F, 5.0F).instrument(Instrument.BASEDRUM).requiresTool()); public static final Block PLANED_BASALT = new Block(FabricBlockSettings.copyOf(POLISHED_BASALT)); + public static final Block PLANED_BASALT_SLAB = new SlabBlock(FabricBlockSettings.copyOf(PLANED_BASALT)); + public static final Block PLANED_BASALT_STAIRS = new StairsBlock(PLANED_BASALT.getDefaultState(), FabricBlockSettings.copyOf(PLANED_BASALT)); + public static final Block PLANED_BASALT_WALL = new WallBlock(FabricBlockSettings.copyOf(PLANED_BASALT)); public static final Block POLISHED_BASALT_PILLAR = new PillarBlock(FabricBlockSettings.copyOf(POLISHED_BASALT)); public static final Block POLISHED_BASALT_CREST = new CardinalFacingBlock(FabricBlockSettings.copyOf(POLISHED_BASALT)); public static final Block CHISELED_POLISHED_BASALT = new Block(FabricBlockSettings.copyOf(POLISHED_BASALT)); @@ -330,6 +333,9 @@ private static Settings blackslag(BlockSoundGroup blockSoundGroup) { public static final Block POLISHED_CALCITE = new Block(settings(MapColor.TERRACOTTA_WHITE, BlockSoundGroup.CALCITE, 2.0F, 5.0F).instrument(Instrument.BASEDRUM).requiresTool()); public static final Block PLANED_CALCITE = new Block(FabricBlockSettings.copyOf(POLISHED_CALCITE)); + public static final Block PLANED_CALCITE_SLAB = new SlabBlock(FabricBlockSettings.copyOf(PLANED_CALCITE)); + public static final Block PLANED_CALCITE_STAIRS = new StairsBlock(PLANED_CALCITE.getDefaultState(), FabricBlockSettings.copyOf(PLANED_CALCITE)); + public static final Block PLANED_CALCITE_WALL = new WallBlock(FabricBlockSettings.copyOf(PLANED_CALCITE)); public static final Block POLISHED_CALCITE_STAIRS = new StairsBlock(POLISHED_CALCITE.getDefaultState(), FabricBlockSettings.copyOf(POLISHED_CALCITE)); public static final Block POLISHED_CALCITE_PILLAR = new PillarBlock(FabricBlockSettings.copyOf(POLISHED_CALCITE)); public static final Block POLISHED_CALCITE_CREST = new CardinalFacingBlock(FabricBlockSettings.copyOf(POLISHED_CALCITE)); @@ -2091,6 +2097,9 @@ private static void registerStoneBlocks(FabricItemSettings settings) { registerBlockWithItem("polished_basalt", POLISHED_BASALT, settings, DyeColor.BROWN); registerBlockWithItem("planed_basalt", PLANED_BASALT, settings, DyeColor.BROWN); + registerBlockWithItem("planed_basalt_slab", PLANED_BASALT_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("planed_basalt_stairs", PLANED_BASALT_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("planed_basalt_wall", PLANED_BASALT_WALL, settings, DyeColor.BROWN); registerBlockWithItem("polished_basalt_pillar", POLISHED_BASALT_PILLAR, settings, DyeColor.BROWN); registerBlockWithItem("polished_basalt_crest", POLISHED_BASALT_CREST, settings, DyeColor.BROWN); registerBlockWithItem("chiseled_polished_basalt", CHISELED_POLISHED_BASALT, settings, DyeColor.BROWN); @@ -2120,6 +2129,9 @@ private static void registerStoneBlocks(FabricItemSettings settings) { registerBlockWithItem("polished_calcite", POLISHED_CALCITE, settings, DyeColor.BROWN); registerBlockWithItem("planed_calcite", PLANED_CALCITE, settings, DyeColor.BROWN); + registerBlockWithItem("planed_calcite_slab", PLANED_CALCITE_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("planed_calcite_stairs", PLANED_CALCITE_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("planed_calcite_wall", PLANED_CALCITE_WALL, settings, DyeColor.BROWN); registerBlockWithItem("polished_calcite_pillar", POLISHED_CALCITE_PILLAR, settings, DyeColor.BROWN); registerBlockWithItem("polished_calcite_crest", POLISHED_CALCITE_CREST, settings, DyeColor.BROWN); registerBlockWithItem("chiseled_polished_calcite", CHISELED_POLISHED_CALCITE, settings, DyeColor.BROWN); diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java index 9fdab43b0d..32c8cd00f1 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java @@ -769,6 +769,9 @@ public static void register() { entries.add(SpectrumBlocks.BASALT_TILE_SLAB); entries.add(SpectrumBlocks.BASALT_TILE_WALL); entries.add(SpectrumBlocks.PLANED_BASALT); + entries.add(SpectrumBlocks.PLANED_BASALT_SLAB); + entries.add(SpectrumBlocks.PLANED_BASALT_STAIRS); + entries.add(SpectrumBlocks.PLANED_BASALT_WALL); entries.add(SpectrumBlocks.CRACKED_BASALT_TILES); entries.add(SpectrumBlocks.POLISHED_BASALT_BUTTON); entries.add(SpectrumBlocks.POLISHED_BASALT_PRESSURE_PLATE); @@ -794,6 +797,9 @@ public static void register() { entries.add(SpectrumBlocks.CALCITE_TILE_SLAB); entries.add(SpectrumBlocks.CALCITE_TILE_WALL); entries.add(SpectrumBlocks.PLANED_CALCITE); + entries.add(SpectrumBlocks.PLANED_CALCITE_SLAB); + entries.add(SpectrumBlocks.PLANED_CALCITE_STAIRS); + entries.add(SpectrumBlocks.PLANED_CALCITE_WALL); entries.add(SpectrumBlocks.CRACKED_CALCITE_TILES); entries.add(SpectrumBlocks.POLISHED_CALCITE_BUTTON); entries.add(SpectrumBlocks.POLISHED_CALCITE_PRESSURE_PLATE); diff --git a/src/main/resources/assets/spectrum/blockstates/planed_basalt_slab.json b/src/main/resources/assets/spectrum/blockstates/planed_basalt_slab.json new file mode 100644 index 0000000000..88644ccf27 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_basalt_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/planed_basalt_slab" + }, + "type=double": { + "model": "spectrum:block/planed_basalt" + }, + "type=top": { + "model": "spectrum:block/planed_basalt_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/planed_basalt_stairs.json b/src/main/resources/assets/spectrum/blockstates/planed_basalt_stairs.json new file mode 100644 index 0000000000..8d0aa87f30 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_basalt_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/planed_basalt_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/planed_basalt_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/planed_basalt_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/planed_basalt_wall.json b/src/main/resources/assets/spectrum/blockstates/planed_basalt_wall.json new file mode 100644 index 0000000000..67930f8c52 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_basalt_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/planed_basalt_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/planed_calcite_slab.json b/src/main/resources/assets/spectrum/blockstates/planed_calcite_slab.json new file mode 100644 index 0000000000..a11f892b6e --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_calcite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/planed_calcite_slab" + }, + "type=double": { + "model": "spectrum:block/planed_calcite" + }, + "type=top": { + "model": "spectrum:block/planed_calcite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/planed_calcite_stairs.json b/src/main/resources/assets/spectrum/blockstates/planed_calcite_stairs.json new file mode 100644 index 0000000000..58537cc2ce --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_calcite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/planed_calcite_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/planed_calcite_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/planed_calcite_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/planed_calcite_wall.json b/src/main/resources/assets/spectrum/blockstates/planed_calcite_wall.json new file mode 100644 index 0000000000..807598373b --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/planed_calcite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/planed_calcite_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index f353b36d41..c6042cb537 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1514,7 +1514,13 @@ "block.spectrum.pink_stairs": "Pink Stairs", "block.spectrum.pink_wood": "Pink Wood", "block.spectrum.planed_basalt": "Planed Basalt", + "block.spectrum.planed_basalt_slab": "Planed Basalt Slab", + "block.spectrum.planed_basalt_stairs": "Planed Basalt Stairs", + "block.spectrum.planed_basalt_wall": "Planed Basalt Wall", "block.spectrum.planed_calcite": "Planed Calcite", + "block.spectrum.planed_calcite_slab": "Planed Calcite Slab", + "block.spectrum.planed_calcite_stairs": "Planed Calcite Stairs", + "block.spectrum.planed_calcite_wall": "Planed Calcite Wall", "block.spectrum.player_detector": "Player Detector", "block.spectrum.player_detector.owner": "%s's Player Detector", "block.spectrum.polar_bear_head": "Polar Bear Head", @@ -3903,9 +3909,9 @@ "death.attack.spectrum_primordial_fire.item": "%2$s used %3$s to rend %1$s's spirit to ash", "death.attack.spectrum_primordial_fire.player": "%2$s rended %1$s's spirit to ash", "death.attack.spectrum_ripper": "%1$s wanted to play a game", - "death.attack.spectrum_set_health": "%1$s was sent to the shadow realm by %2$s using %3$s", - "death.attack.spectrum_set_health.item": "%1$s used %3$s to send %2$s to the shadow realm", - "death.attack.spectrum_set_health.player": "%1$s was sent to the shadow realm by %2$s", + "death.attack.spectrum_set_health_damage": "%1$s was sent to the shadow realm", + "death.attack.spectrum_set_health_damage.item": "%1$s used %3$s to send %2$s to the shadow realm", + "death.attack.spectrum_set_health_damage.player": "%1$s was sent to the shadow realm by %2$s", "death.attack.spectrum_shooting_star": "%1$s was smitten by a Shooting Star. Make a Wish!", "death.attack.spectrum_sleep": "%1$s was lost to a bottomless dream", "death.attack.spectrum_sleep.item": "%2$s used %3$s to send %1$s on, unto the bottomless sea, accepting of all that is and could be.", diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_slab.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_slab.json new file mode 100644 index 0000000000..ca8090b8b6 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/planed_basalt", + "top": "spectrum:block/planed_basalt", + "side": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_slab_top.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_slab_top.json new file mode 100644 index 0000000000..ab6bb51b9a --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/planed_basalt", + "top": "spectrum:block/planed_basalt", + "side": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs.json new file mode 100644 index 0000000000..a032410a5c --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/planed_basalt", + "top": "spectrum:block/planed_basalt", + "side": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_inner.json new file mode 100644 index 0000000000..2e83dada19 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/planed_basalt", + "top": "spectrum:block/planed_basalt", + "side": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_outer.json new file mode 100644 index 0000000000..176b501a98 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/planed_basalt", + "top": "spectrum:block/planed_basalt", + "side": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_inventory.json new file mode 100644 index 0000000000..cf722772a3 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_post.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_post.json new file mode 100644 index 0000000000..bbc8e81923 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side.json new file mode 100644 index 0000000000..55475c5709 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side_tall.json new file mode 100644 index 0000000000..e500927bdc --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_basalt_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/planed_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_slab.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_slab.json new file mode 100644 index 0000000000..6265e79ce8 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/planed_calcite", + "top": "spectrum:block/planed_calcite", + "side": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_slab_top.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_slab_top.json new file mode 100644 index 0000000000..987cc67310 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/planed_calcite", + "top": "spectrum:block/planed_calcite", + "side": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs.json new file mode 100644 index 0000000000..7710253263 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/planed_calcite", + "top": "spectrum:block/planed_calcite", + "side": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_inner.json new file mode 100644 index 0000000000..bfc6b314f4 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/planed_calcite", + "top": "spectrum:block/planed_calcite", + "side": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_outer.json new file mode 100644 index 0000000000..527ff1016e --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/planed_calcite", + "top": "spectrum:block/planed_calcite", + "side": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_inventory.json new file mode 100644 index 0000000000..28c290b4db --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_post.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_post.json new file mode 100644 index 0000000000..47c315cc04 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side.json new file mode 100644 index 0000000000..f4dc01160a --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side_tall.json new file mode 100644 index 0000000000..56e974970f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/planed_calcite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/planed_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_basalt_slab.json b/src/main/resources/assets/spectrum/models/item/planed_basalt_slab.json new file mode 100644 index 0000000000..de2c57b824 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_basalt_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_basalt_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_basalt_stairs.json b/src/main/resources/assets/spectrum/models/item/planed_basalt_stairs.json new file mode 100644 index 0000000000..32f3fc9be6 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_basalt_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_basalt_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_basalt_wall.json b/src/main/resources/assets/spectrum/models/item/planed_basalt_wall.json new file mode 100644 index 0000000000..6bc8e1de2f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_basalt_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_basalt_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_calcite_slab.json b/src/main/resources/assets/spectrum/models/item/planed_calcite_slab.json new file mode 100644 index 0000000000..8f08a45391 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_calcite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_calcite_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_calcite_stairs.json b/src/main/resources/assets/spectrum/models/item/planed_calcite_stairs.json new file mode 100644 index 0000000000..c5c31860ec --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_calcite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_calcite_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/planed_calcite_wall.json b/src/main/resources/assets/spectrum/models/item/planed_calcite_wall.json new file mode 100644 index 0000000000..77846a7ee0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/planed_calcite_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/planed_calcite_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_slab.json new file mode 100644 index 0000000000..2ca3ef590d --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_slab.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_basalt_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_stairs.json new file mode 100644 index 0000000000..4396afe673 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_basalt_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_wall.json new file mode 100644 index 0000000000..9440581193 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_basalt_wall.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_basalt_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_slab.json new file mode 100644 index 0000000000..0f7a1f3ca5 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_slab.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_calcite_slab" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_stairs.json new file mode 100644 index 0000000000..31674c737d --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_stairs.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_calcite_stairs" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_wall.json new file mode 100644 index 0000000000..92517606e8 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/planed_calcite_wall.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:planed_calcite_wall" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/decoration/block_variants.json b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/decoration/block_variants.json index 2064a14e90..c1386866e0 100644 --- a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/decoration/block_variants.json +++ b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/decoration/block_variants.json @@ -82,7 +82,13 @@ "spectrum:calcite_tile_slab", "spectrum:basalt_tile_slab", "spectrum:planed_calcite", - "spectrum:planed_basalt" + "spectrum:planed_calcite_slab", + "spectrum:planed_calcite_stairs", + "spectrum:planed_calcite_wall", + "spectrum:planed_basalt", + "spectrum:planed_basalt_slab", + "spectrum:planed_basalt_stairs", + "spectrum:planed_basalt_wall" ] }, { diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_slab.json new file mode 100644 index 0000000000..8ed383c88a --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_basalt" + } + }, + "result": { + "item": "spectrum:planed_basalt_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json new file mode 100644 index 0000000000..390cd41085 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X", + "XX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_basalt" + } + }, + "result": { + "item": "spectrum:planed_basalt_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_wall.json new file mode 100644 index 0000000000..9a7687d145 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_basalt" + } + }, + "result": { + "item": "spectrum:planed_basalt_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_slab.json new file mode 100644 index 0000000000..201236eebc --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_calcite" + } + }, + "result": { + "item": "spectrum:planed_calcite_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json new file mode 100644 index 0000000000..4fa264a695 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X", + "XX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_calcite" + } + }, + "result": { + "item": "spectrum:planed_calcite_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_wall.json new file mode 100644 index 0000000000..93614b7c2c --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:planed_calcite" + } + }, + "result": { + "item": "spectrum:planed_calcite_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_slab_from_planed_basalt.json b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_slab_from_planed_basalt.json new file mode 100644 index 0000000000..5fa47a7182 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_slab_from_planed_basalt.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_basalt" + }, + "result": "spectrum:planed_basalt_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_stairs_from_planed_basalt.json b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_stairs_from_planed_basalt.json new file mode 100644 index 0000000000..414c19d609 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_stairs_from_planed_basalt.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_basalt" + }, + "result": "spectrum:planed_basalt_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_wall_from_planed_basalt.json b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_wall_from_planed_basalt.json new file mode 100644 index 0000000000..cffdb0f064 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/basalt/planed_basalt_wall_from_planed_basalt.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_basalt" + }, + "result": "spectrum:planed_basalt_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_slab_from_planed_calcite.json b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_slab_from_planed_calcite.json new file mode 100644 index 0000000000..ace65d4c69 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_slab_from_planed_calcite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_calcite" + }, + "result": "spectrum:planed_calcite_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_stairs_from_planed_calcite.json b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_stairs_from_planed_calcite.json new file mode 100644 index 0000000000..3e4e1fe3af --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_stairs_from_planed_calcite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_calcite" + }, + "result": "spectrum:planed_calcite_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_wall_from_planed_calcite.json b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_wall_from_planed_calcite.json new file mode 100644 index 0000000000..f521d3b8ed --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/calcite/planed_calcite_wall_from_planed_calcite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:planed_calcite" + }, + "result": "spectrum:planed_calcite_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/blocks/basalts.json b/src/main/resources/data/spectrum/tags/blocks/basalts.json index 08122d60a7..8a21321eca 100644 --- a/src/main/resources/data/spectrum/tags/blocks/basalts.json +++ b/src/main/resources/data/spectrum/tags/blocks/basalts.json @@ -25,6 +25,9 @@ "spectrum:citrine_chiseled_basalt", "spectrum:onyx_chiseled_basalt", "spectrum:moonstone_chiseled_basalt", - "spectrum:planed_basalt" + "spectrum:planed_basalt", + "spectrum:planed_basalt_slab", + "spectrum:planed_basalt_stairs", + "spectrum:planed_basalt_wall" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/blocks/calcites.json b/src/main/resources/data/spectrum/tags/blocks/calcites.json index 4a28436919..f77f11d450 100644 --- a/src/main/resources/data/spectrum/tags/blocks/calcites.json +++ b/src/main/resources/data/spectrum/tags/blocks/calcites.json @@ -25,6 +25,9 @@ "spectrum:citrine_chiseled_calcite", "spectrum:onyx_chiseled_calcite", "spectrum:moonstone_chiseled_calcite", - "spectrum:planed_calcite" + "spectrum:planed_calcite", + "spectrum:planed_calcite_slab", + "spectrum:planed_calcite_stairs", + "spectrum:planed_calcite_wall" ] } \ No newline at end of file From a5b8ff9b9ce2a5b84e226de6f6a9a217913bd046 Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Tue, 1 Oct 2024 15:40:59 +1000 Subject: [PATCH 03/50] modified oversized item rendering to fix an inventory bug --- .../entity/render/BidentEntityRenderer.java | 5 ++-- .../mixin/client/ItemRendererMixin.java | 20 +++++++++++++--- .../SpectrumModelPredicateProviders.java | 10 +++----- .../spectrum/models/item/bedrock_axe.json | 2 +- .../spectrum/models/item/bedrock_sword.json | 2 +- .../models/item/draconic_twinsword.json | 6 ++--- .../spectrum/models/item/dragon_talon.json | 6 ++--- .../spectrum/models/item/dreamflayer.json | 6 ++--- .../item/ferocious_glass_crest_bident.json | 4 ++-- .../item/fractal_glass_crest_bident.json | 6 ++--- .../models/item/glass_crest_crossbow.json | 24 +++++++++---------- .../item/glass_crest_ultra_greatsword.json | 2 +- .../models/item/glass_crest_workstaff.json | 2 +- .../spectrum/models/item/knotted_sword.json | 2 +- .../models/item/malachite_bident.json | 4 ++-- .../models/item/malachite_crossbow.json | 24 +++++++++---------- .../item/malachite_ultra_greatsword.json | 2 +- .../models/item/malachite_workstaff.json | 2 +- .../spectrum/models/item/nectar_lance.json | 2 +- .../spectrum/models/item/paintbrush.json | 2 +- 20 files changed, 72 insertions(+), 61 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/entity/render/BidentEntityRenderer.java b/src/main/java/de/dafuqs/spectrum/entity/render/BidentEntityRenderer.java index 40895fe3d4..9bc9018b3d 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/render/BidentEntityRenderer.java +++ b/src/main/java/de/dafuqs/spectrum/entity/render/BidentEntityRenderer.java @@ -40,8 +40,9 @@ public void render(BidentBaseEntity bidentBaseEntity, float yaw, float tickDelta } private void renderAsItemStack(BidentBaseEntity entity, float tickDelta, MatrixStack matrixStack, VertexConsumerProvider vertexConsumerProvider, int light, ItemStack itemStack) { - SpectrumModelPredicateProviders.currentItemRenderMode = ModelTransformationMode.NONE; - BakedModel bakedModel = this.itemRenderer.getModel(itemStack, entity.getWorld(), null, entity.getId()); + // Originally used for over-sized item rendering. + //SpectrumModelPredicateProviders.currentItemRenderMode = ModelTransformationMode.NONE; + BakedModel bakedModel = this.itemRenderer.getModel(itemStack, entity.getWorld(), null, 817210941); matrixStack.push(); matrixStack.translate(0, entity.calculateBoundingBox().getAverageSideLength() / 2, 0); diff --git a/src/main/java/de/dafuqs/spectrum/mixin/client/ItemRendererMixin.java b/src/main/java/de/dafuqs/spectrum/mixin/client/ItemRendererMixin.java index 655c948a2a..1a14f2956e 100644 --- a/src/main/java/de/dafuqs/spectrum/mixin/client/ItemRendererMixin.java +++ b/src/main/java/de/dafuqs/spectrum/mixin/client/ItemRendererMixin.java @@ -1,6 +1,8 @@ package de.dafuqs.spectrum.mixin.client; +import com.llamalad7.mixinextras.injector.ModifyExpressionValue; import com.llamalad7.mixinextras.injector.wrapoperation.*; +import com.llamalad7.mixinextras.sugar.Local; import de.dafuqs.spectrum.api.render.*; import de.dafuqs.spectrum.registries.*; import de.dafuqs.spectrum.registries.client.*; @@ -10,9 +12,11 @@ import net.minecraft.client.render.model.*; import net.minecraft.client.render.model.json.*; import net.minecraft.client.util.math.*; +import net.minecraft.client.world.ClientWorld; import net.minecraft.entity.*; import net.minecraft.item.*; import net.minecraft.world.*; +import org.jetbrains.annotations.Nullable; import org.spongepowered.asm.mixin.*; import org.spongepowered.asm.mixin.injection.*; import org.spongepowered.asm.mixin.injection.callback.*; @@ -31,6 +35,16 @@ public abstract class ItemRendererMixin { original.call(instance, model, stack, light, overlay, matrices, vertices); } + @ModifyExpressionValue(method = "renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/world/World;III)V", + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/item/ItemRenderer;getModel(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/World;Lnet/minecraft/entity/LivingEntity;I)Lnet/minecraft/client/render/model/BakedModel;")) + private BakedModel spectrum$handleOversizedItemModels(BakedModel original, @Local ItemStack stack, @Local @Nullable World world, @Local @Nullable LivingEntity entity) { + if (world instanceof ClientWorld clientWorld) { + return original.getOverrides().apply(original, stack, clientWorld, entity, 817210941); + } + return original; + } + + /* All of this was commented as it used to handle over-sized item rendering. The method above handles it, but in case of mod compat issues, this is staying as a comment. @Inject(at = @At("HEAD"), method = "renderItem(Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;Lnet/minecraft/world/World;III)V") private void spectrum$storeItemRenderMode1(LivingEntity entity, ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, World world, int light, int overlay, int seed, CallbackInfo ci) { SpectrumModelPredicateProviders.currentItemRenderMode = renderMode; @@ -39,7 +53,7 @@ public abstract class ItemRendererMixin { @Inject(at = @At("HEAD"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V") private void spectrum$storeItemRenderMode2(ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BakedModel model, CallbackInfo ci) { SpectrumModelPredicateProviders.currentItemRenderMode = renderMode; - } + }*/ @Inject(at = @At("HEAD"), method = "renderItem(Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/render/model/json/ModelTransformationMode;ZLnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumerProvider;IILnet/minecraft/client/render/model/BakedModel;)V", cancellable = true) private void spectrum$dynRender(ItemStack stack, ModelTransformationMode renderMode, boolean leftHanded, MatrixStack matrices, VertexConsumerProvider vertexConsumers, int light, int overlay, BakedModel model, CallbackInfo ci) { @@ -55,10 +69,10 @@ public abstract class ItemRendererMixin { } } - // workaround for REIs batched item render mode + /* Same thing with the over-sized item rendering, but to handle REI-specific stuff. @Inject(at = @At("HEAD"), method = "renderBakedItemQuads(Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/VertexConsumer;Ljava/util/List;Lnet/minecraft/item/ItemStack;II)V") private void spectrum$storeItemRenderMode3(MatrixStack matrices, VertexConsumer vertices, List quads, ItemStack stack, int light, int overlay, CallbackInfo ci) { SpectrumModelPredicateProviders.currentItemRenderMode = ModelTransformationMode.GUI; - } + }*/ } diff --git a/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java b/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java index 64725ca3f8..7181dcd58d 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java +++ b/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java @@ -151,12 +151,13 @@ private static void registerMalachiteCrossbowPredicates(Item crossbowItem) { */ private static void registerBidentThrowingItemPredicate(Item item) { ModelPredicateProviderRegistry.register(item, new Identifier("bident_throwing"), (itemStack, clientWorld, livingEntity, i) -> { + /* I believe this is unused now... nothing noticeable seems to have happened, but I would prefer to be safe than sorry. if (currentItemRenderMode == ModelTransformationMode.NONE) { if (itemStack.getItem() instanceof FractalBidentItem fractal) { return fractal.isDisabled(itemStack) ? 0.5F : 1F; } return 1.0F; - } + }*/ return livingEntity != null && livingEntity.isUsingItem() && livingEntity.getActiveItem() == itemStack ? 0.5F : 0.0F; }); } @@ -247,12 +248,7 @@ private static void registerSlotReservingItem(Item item) { } private static void registerOversizedItemPredicate(Item item) { - ModelPredicateProviderRegistry.register(item, new Identifier("in_world"), (itemStack, world, livingEntity, i) -> { - if (world == null && livingEntity == null && i == 0) { // REIs 'fast batch' render mode. Without mixin' into REI there is no better way to catch this, I am afraid - return 0.0F; - } - return currentItemRenderMode == ModelTransformationMode.GUI || currentItemRenderMode == ModelTransformationMode.GROUND || currentItemRenderMode == ModelTransformationMode.FIXED ? 0.0F : 1.0F; - }); + ModelPredicateProviderRegistry.register(item, new Identifier("render_large"), (itemStack, world, livingEntity, seed) -> seed == 817210941 ? 1.0F : 0.0F); } private static void registerBowPredicates(Item bowItem) { diff --git a/src/main/resources/assets/spectrum/models/item/bedrock_axe.json b/src/main/resources/assets/spectrum/models/item/bedrock_axe.json index 36583bc43b..6831bbe9eb 100644 --- a/src/main/resources/assets/spectrum/models/item/bedrock_axe.json +++ b/src/main/resources/assets/spectrum/models/item/bedrock_axe.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/bedrock_axe_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/bedrock_sword.json b/src/main/resources/assets/spectrum/models/item/bedrock_sword.json index 55997d73ee..2bff841c0b 100644 --- a/src/main/resources/assets/spectrum/models/item/bedrock_sword.json +++ b/src/main/resources/assets/spectrum/models/item/bedrock_sword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/bedrock_sword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json b/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json index 8c80155f36..eb3b1ae0bd 100644 --- a/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json +++ b/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json @@ -6,21 +6,21 @@ "overrides": [ { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "reserved": 0.0 }, "model": "spectrum:item/draconic_twinsword_oversized" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_blank" }, { "predicate": { - "in_world": 0.0, + "render_large": 0.0, "reserved": 1.0 }, "model": "spectrum:item/draconic_twinsword_phantom" diff --git a/src/main/resources/assets/spectrum/models/item/dragon_talon.json b/src/main/resources/assets/spectrum/models/item/dragon_talon.json index 7405c80151..e073a7bc39 100644 --- a/src/main/resources/assets/spectrum/models/item/dragon_talon.json +++ b/src/main/resources/assets/spectrum/models/item/dragon_talon.json @@ -6,21 +6,21 @@ "overrides": [ { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "reserved": 0.0 }, "model": "spectrum:item/dragon_talon_oversized" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_blank" }, { "predicate": { - "in_world": 0.0, + "render_large": 0.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_talon_phantom" diff --git a/src/main/resources/assets/spectrum/models/item/dreamflayer.json b/src/main/resources/assets/spectrum/models/item/dreamflayer.json index c9cee2e02e..e75fec3b97 100644 --- a/src/main/resources/assets/spectrum/models/item/dreamflayer.json +++ b/src/main/resources/assets/spectrum/models/item/dreamflayer.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "in_world": 0.0, + "render_large": 0.0, "activated": 1.0 }, "model": "spectrum:item/dreamflayer_activated" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "activated": 0.0 }, "model": "spectrum:item/dreamflayer_oversized" @@ -21,7 +21,7 @@ { "predicate": { "activated": 1.0, - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/dreamflayer_activated_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json b/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json index f65d6d687b..5c65c26f4a 100644 --- a/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json +++ b/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 0.0 }, "model": "spectrum:item/ferocious_glass_crest_bident_oversized" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/ferocious_glass_crest_bident_oversized_throwing" diff --git a/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json b/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json index a3be7cb951..412c9b031f 100644 --- a/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json +++ b/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json @@ -6,20 +6,20 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized_throwing" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 1.0 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized_projectile" diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json b/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json index f1a5aa0ed7..ddc3bab36e 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/glass_crest_crossbow_standby_oversized" }, @@ -19,7 +19,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1 }, "model": "spectrum:item/glass_crest_crossbow_pulling_0_oversized" @@ -34,7 +34,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1, "pull": 0.58 }, @@ -50,7 +50,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1, "pull": 1.0 }, @@ -65,7 +65,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1 }, "model": "spectrum:item/glass_crest_crossbow_arrow_oversized" @@ -80,7 +80,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.1 }, @@ -96,7 +96,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.2 }, @@ -112,7 +112,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.3 }, @@ -128,7 +128,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.4 }, @@ -144,7 +144,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.5 }, @@ -160,7 +160,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.6 }, @@ -176,7 +176,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.7 }, diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json b/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json index 4577ff94c5..ebadfdb75f 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/glass_crest_ultra_greatsword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json b/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json index 494e951e82..5a67d40fa6 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/glass_crest_workstaff_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/knotted_sword.json b/src/main/resources/assets/spectrum/models/item/knotted_sword.json index 15d193df15..11e11de23a 100644 --- a/src/main/resources/assets/spectrum/models/item/knotted_sword.json +++ b/src/main/resources/assets/spectrum/models/item/knotted_sword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/knotted_sword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/malachite_bident.json b/src/main/resources/assets/spectrum/models/item/malachite_bident.json index 23c846b670..279deac616 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_bident.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_bident.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 0.0 }, "model": "spectrum:item/malachite_bident_oversized" }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/malachite_bident_oversized_throwing" diff --git a/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json b/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json index edd2eeafdc..6d960cf7f7 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/malachite_crossbow_standby_oversized" }, @@ -18,7 +18,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1 }, "model": "spectrum:item/malachite_crossbow_pulling_0_oversized" @@ -32,7 +32,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1, "pull": 0.58 }, @@ -47,7 +47,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "pulling": 1, "pull": 1.0 }, @@ -61,7 +61,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1 }, "model": "spectrum:item/malachite_crossbow_arrow_oversized" @@ -75,7 +75,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.1 }, @@ -90,7 +90,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.2 }, @@ -105,7 +105,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.3 }, @@ -120,7 +120,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.4 }, @@ -135,7 +135,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.5 }, @@ -150,7 +150,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.6 }, @@ -165,7 +165,7 @@ }, { "predicate": { - "in_world": 1.0, + "render_large": 1.0, "charged": 1, "projectile": 0.7 }, diff --git a/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json b/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json index 762aff7f99..0f2e74dc5a 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/malachite_ultra_greatsword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json b/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json index 00cf3fba87..f0fd9b6022 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/malachite_workstaff_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/nectar_lance.json b/src/main/resources/assets/spectrum/models/item/nectar_lance.json index c050924fc9..54399f5440 100644 --- a/src/main/resources/assets/spectrum/models/item/nectar_lance.json +++ b/src/main/resources/assets/spectrum/models/item/nectar_lance.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/nectar_lance_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/paintbrush.json b/src/main/resources/assets/spectrum/models/item/paintbrush.json index d274e12f31..23884e17a2 100644 --- a/src/main/resources/assets/spectrum/models/item/paintbrush.json +++ b/src/main/resources/assets/spectrum/models/item/paintbrush.json @@ -8,7 +8,7 @@ "overrides": [ { "predicate": { - "in_world": 1.0 + "render_large": 1.0 }, "model": "spectrum:item/paintbrush_oversized" } From eb80628d7455b1a9d8b10f61fe4b78213da4d43e Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Tue, 1 Oct 2024 21:58:08 +1000 Subject: [PATCH 04/50] apparently i forgot to check the recipes --- .../recipes/crafting_table/basalt/planed_basalt_stairs.json | 4 ++-- .../recipes/crafting_table/calcite/planed_calcite_stairs.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json index 390cd41085..1c9795c1db 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/basalt/planed_basalt_stairs.json @@ -1,8 +1,8 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "X", - "XX", + "X ", + "XX ", "XXX" ], "key": { diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json index 4fa264a695..4a8454fafe 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/calcite/planed_calcite_stairs.json @@ -1,8 +1,8 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "X", - "XX", + "X ", + "XX ", "XXX" ], "key": { From 21efc4efebd86dd835727b4e4e31ed50491e8579 Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Wed, 2 Oct 2024 09:49:35 +1000 Subject: [PATCH 05/50] yes azzyy i will change `render_large` to `oversized` :hollow: --- .../SpectrumModelPredicateProviders.java | 2 +- .../spectrum/models/item/bedrock_axe.json | 2 +- .../spectrum/models/item/bedrock_sword.json | 2 +- .../models/item/draconic_twinsword.json | 6 ++--- .../spectrum/models/item/dragon_talon.json | 6 ++--- .../spectrum/models/item/dreamflayer.json | 6 ++--- .../item/ferocious_glass_crest_bident.json | 4 ++-- .../item/fractal_glass_crest_bident.json | 6 ++--- .../models/item/glass_crest_crossbow.json | 24 +++++++++---------- .../item/glass_crest_ultra_greatsword.json | 2 +- .../models/item/glass_crest_workstaff.json | 2 +- .../spectrum/models/item/knotted_sword.json | 2 +- .../models/item/malachite_bident.json | 4 ++-- .../models/item/malachite_crossbow.json | 24 +++++++++---------- .../item/malachite_ultra_greatsword.json | 2 +- .../models/item/malachite_workstaff.json | 2 +- .../spectrum/models/item/nectar_lance.json | 2 +- .../spectrum/models/item/paintbrush.json | 2 +- 18 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java b/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java index 7181dcd58d..c39e11481c 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java +++ b/src/main/java/de/dafuqs/spectrum/registries/client/SpectrumModelPredicateProviders.java @@ -248,7 +248,7 @@ private static void registerSlotReservingItem(Item item) { } private static void registerOversizedItemPredicate(Item item) { - ModelPredicateProviderRegistry.register(item, new Identifier("render_large"), (itemStack, world, livingEntity, seed) -> seed == 817210941 ? 1.0F : 0.0F); + ModelPredicateProviderRegistry.register(item, new Identifier("oversized"), (itemStack, world, livingEntity, seed) -> seed == 817210941 ? 1.0F : 0.0F); } private static void registerBowPredicates(Item bowItem) { diff --git a/src/main/resources/assets/spectrum/models/item/bedrock_axe.json b/src/main/resources/assets/spectrum/models/item/bedrock_axe.json index 6831bbe9eb..981f69dd88 100644 --- a/src/main/resources/assets/spectrum/models/item/bedrock_axe.json +++ b/src/main/resources/assets/spectrum/models/item/bedrock_axe.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/bedrock_axe_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/bedrock_sword.json b/src/main/resources/assets/spectrum/models/item/bedrock_sword.json index 2bff841c0b..be88111708 100644 --- a/src/main/resources/assets/spectrum/models/item/bedrock_sword.json +++ b/src/main/resources/assets/spectrum/models/item/bedrock_sword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/bedrock_sword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json b/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json index eb3b1ae0bd..e1b4ee94bb 100644 --- a/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json +++ b/src/main/resources/assets/spectrum/models/item/draconic_twinsword.json @@ -6,21 +6,21 @@ "overrides": [ { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "reserved": 0.0 }, "model": "spectrum:item/draconic_twinsword_oversized" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_blank" }, { "predicate": { - "render_large": 0.0, + "oversized": 0.0, "reserved": 1.0 }, "model": "spectrum:item/draconic_twinsword_phantom" diff --git a/src/main/resources/assets/spectrum/models/item/dragon_talon.json b/src/main/resources/assets/spectrum/models/item/dragon_talon.json index e073a7bc39..c72bf17dfa 100644 --- a/src/main/resources/assets/spectrum/models/item/dragon_talon.json +++ b/src/main/resources/assets/spectrum/models/item/dragon_talon.json @@ -6,21 +6,21 @@ "overrides": [ { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "reserved": 0.0 }, "model": "spectrum:item/dragon_talon_oversized" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_blank" }, { "predicate": { - "render_large": 0.0, + "oversized": 0.0, "reserved": 1.0 }, "model": "spectrum:item/dragon_talon_phantom" diff --git a/src/main/resources/assets/spectrum/models/item/dreamflayer.json b/src/main/resources/assets/spectrum/models/item/dreamflayer.json index e75fec3b97..5c324e0897 100644 --- a/src/main/resources/assets/spectrum/models/item/dreamflayer.json +++ b/src/main/resources/assets/spectrum/models/item/dreamflayer.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "render_large": 0.0, + "oversized": 0.0, "activated": 1.0 }, "model": "spectrum:item/dreamflayer_activated" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "activated": 0.0 }, "model": "spectrum:item/dreamflayer_oversized" @@ -21,7 +21,7 @@ { "predicate": { "activated": 1.0, - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/dreamflayer_activated_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json b/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json index 5c65c26f4a..f010c60542 100644 --- a/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json +++ b/src/main/resources/assets/spectrum/models/item/ferocious_glass_crest_bident.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 0.0 }, "model": "spectrum:item/ferocious_glass_crest_bident_oversized" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/ferocious_glass_crest_bident_oversized_throwing" diff --git a/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json b/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json index 412c9b031f..231b7a9c58 100644 --- a/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json +++ b/src/main/resources/assets/spectrum/models/item/fractal_glass_crest_bident.json @@ -6,20 +6,20 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized_throwing" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 1.0 }, "model": "spectrum:item/fractal_glass_crest_bident_oversized_projectile" diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json b/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json index ddc3bab36e..01fb1aca3d 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_crossbow.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/glass_crest_crossbow_standby_oversized" }, @@ -19,7 +19,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1 }, "model": "spectrum:item/glass_crest_crossbow_pulling_0_oversized" @@ -34,7 +34,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1, "pull": 0.58 }, @@ -50,7 +50,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1, "pull": 1.0 }, @@ -65,7 +65,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1 }, "model": "spectrum:item/glass_crest_crossbow_arrow_oversized" @@ -80,7 +80,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.1 }, @@ -96,7 +96,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.2 }, @@ -112,7 +112,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.3 }, @@ -128,7 +128,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.4 }, @@ -144,7 +144,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.5 }, @@ -160,7 +160,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.6 }, @@ -176,7 +176,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.7 }, diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json b/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json index ebadfdb75f..65b462a54e 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_ultra_greatsword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/glass_crest_ultra_greatsword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json b/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json index 5a67d40fa6..6e027becd6 100644 --- a/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json +++ b/src/main/resources/assets/spectrum/models/item/glass_crest_workstaff.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/glass_crest_workstaff_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/knotted_sword.json b/src/main/resources/assets/spectrum/models/item/knotted_sword.json index 11e11de23a..bdf0ac9535 100644 --- a/src/main/resources/assets/spectrum/models/item/knotted_sword.json +++ b/src/main/resources/assets/spectrum/models/item/knotted_sword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/knotted_sword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/malachite_bident.json b/src/main/resources/assets/spectrum/models/item/malachite_bident.json index 279deac616..0e12f77e1c 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_bident.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_bident.json @@ -6,14 +6,14 @@ "overrides": [ { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 0.0 }, "model": "spectrum:item/malachite_bident_oversized" }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "bident_throwing": 0.5 }, "model": "spectrum:item/malachite_bident_oversized_throwing" diff --git a/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json b/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json index 6d960cf7f7..e5f9eb05b0 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_crossbow.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/malachite_crossbow_standby_oversized" }, @@ -18,7 +18,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1 }, "model": "spectrum:item/malachite_crossbow_pulling_0_oversized" @@ -32,7 +32,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1, "pull": 0.58 }, @@ -47,7 +47,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "pulling": 1, "pull": 1.0 }, @@ -61,7 +61,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1 }, "model": "spectrum:item/malachite_crossbow_arrow_oversized" @@ -75,7 +75,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.1 }, @@ -90,7 +90,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.2 }, @@ -105,7 +105,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.3 }, @@ -120,7 +120,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.4 }, @@ -135,7 +135,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.5 }, @@ -150,7 +150,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.6 }, @@ -165,7 +165,7 @@ }, { "predicate": { - "render_large": 1.0, + "oversized": 1.0, "charged": 1, "projectile": 0.7 }, diff --git a/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json b/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json index 0f2e74dc5a..27966ddeae 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_ultra_greatsword.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/malachite_ultra_greatsword_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json b/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json index f0fd9b6022..d44d525a78 100644 --- a/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json +++ b/src/main/resources/assets/spectrum/models/item/malachite_workstaff.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/malachite_workstaff_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/nectar_lance.json b/src/main/resources/assets/spectrum/models/item/nectar_lance.json index 54399f5440..9a4aa62a41 100644 --- a/src/main/resources/assets/spectrum/models/item/nectar_lance.json +++ b/src/main/resources/assets/spectrum/models/item/nectar_lance.json @@ -6,7 +6,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/nectar_lance_oversized" } diff --git a/src/main/resources/assets/spectrum/models/item/paintbrush.json b/src/main/resources/assets/spectrum/models/item/paintbrush.json index 23884e17a2..8832671c4c 100644 --- a/src/main/resources/assets/spectrum/models/item/paintbrush.json +++ b/src/main/resources/assets/spectrum/models/item/paintbrush.json @@ -8,7 +8,7 @@ "overrides": [ { "predicate": { - "render_large": 1.0 + "oversized": 1.0 }, "model": "spectrum:item/paintbrush_oversized" } From d384779e22f87649edcb560c2029be78daa35e86 Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Wed, 2 Oct 2024 11:37:53 +1000 Subject: [PATCH 06/50] added pyrite slabs, stairs and walls, and also added the new slabs, stairs and walls to minecraft tags --- .../spectrum/registries/SpectrumBlocks.java | 34 ++- .../registries/SpectrumItemGroups.java | 17 +- .../spectrum/blockstates/pyrite_paneling.json | 7 + .../blockstates/pyrite_paneling_slab.json | 13 ++ .../blockstates/pyrite_paneling_stairs.json | 209 ++++++++++++++++++ .../blockstates/pyrite_paneling_wall.json | 90 ++++++++ .../blockstates/pyrite_panneling.json | 7 - .../blockstates/pyrite_pile_slab.json | 13 ++ .../blockstates/pyrite_pile_stairs.json | 209 ++++++++++++++++++ .../blockstates/pyrite_pile_wall.json | 90 ++++++++ .../blockstates/pyrite_plating_slab.json | 13 ++ .../blockstates/pyrite_plating_stairs.json | 209 ++++++++++++++++++ .../blockstates/pyrite_plating_wall.json | 90 ++++++++ .../spectrum/blockstates/pyrite_slab.json | 13 ++ .../spectrum/blockstates/pyrite_stairs.json | 209 ++++++++++++++++++ .../blockstates/pyrite_tiles_slab.json | 13 ++ .../blockstates/pyrite_tiles_stairs.json | 209 ++++++++++++++++++ .../blockstates/pyrite_tiles_wall.json | 90 ++++++++ .../spectrum/blockstates/pyrite_wall.json | 90 ++++++++ .../resources/assets/spectrum/lang/en_us.json | 17 +- .../resources/assets/spectrum/lang/pt_br.json | 8 +- .../resources/assets/spectrum/lang/ru_ru.json | 6 +- ...te_panneling.json => pyrite_paneling.json} | 2 +- .../models/block/pyrite_paneling_slab.json | 8 + .../block/pyrite_paneling_slab_top.json | 8 + .../models/block/pyrite_paneling_stairs.json | 8 + .../block/pyrite_paneling_stairs_inner.json | 8 + .../block/pyrite_paneling_stairs_outer.json | 8 + .../block/pyrite_paneling_wall_inventory.json | 6 + .../block/pyrite_paneling_wall_post.json | 6 + .../block/pyrite_paneling_wall_side.json | 6 + .../block/pyrite_paneling_wall_side_tall.json | 6 + .../models/block/pyrite_pile_slab.json | 8 + .../models/block/pyrite_pile_slab_top.json | 8 + .../models/block/pyrite_pile_stairs.json | 8 + .../block/pyrite_pile_stairs_inner.json | 8 + .../block/pyrite_pile_stairs_outer.json | 8 + .../block/pyrite_pile_wall_inventory.json | 6 + .../models/block/pyrite_pile_wall_post.json | 6 + .../models/block/pyrite_pile_wall_side.json | 6 + .../block/pyrite_pile_wall_side_tall.json | 6 + .../models/block/pyrite_plating_slab.json | 8 + .../models/block/pyrite_plating_slab_top.json | 8 + .../models/block/pyrite_plating_stairs.json | 8 + .../block/pyrite_plating_stairs_inner.json | 8 + .../block/pyrite_plating_stairs_outer.json | 8 + .../block/pyrite_plating_wall_inventory.json | 6 + .../block/pyrite_plating_wall_post.json | 6 + .../block/pyrite_plating_wall_side.json | 6 + .../block/pyrite_plating_wall_side_tall.json | 6 + .../spectrum/models/block/pyrite_slab.json | 8 + .../models/block/pyrite_slab_top.json | 8 + .../spectrum/models/block/pyrite_stairs.json | 8 + .../models/block/pyrite_stairs_inner.json | 8 + .../models/block/pyrite_stairs_outer.json | 8 + .../models/block/pyrite_tiles_slab.json | 8 + .../models/block/pyrite_tiles_slab_top.json | 8 + .../models/block/pyrite_tiles_stairs.json | 8 + .../block/pyrite_tiles_stairs_inner.json | 8 + .../block/pyrite_tiles_stairs_outer.json | 8 + .../block/pyrite_tiles_wall_inventory.json | 6 + .../models/block/pyrite_tiles_wall_post.json | 6 + .../models/block/pyrite_tiles_wall_side.json | 6 + .../block/pyrite_tiles_wall_side_tall.json | 6 + .../models/block/pyrite_wall_inventory.json | 6 + .../models/block/pyrite_wall_post.json | 6 + .../models/block/pyrite_wall_side.json | 6 + .../models/block/pyrite_wall_side_tall.json | 6 + .../spectrum/models/item/pyrite_paneling.json | 3 + .../models/item/pyrite_paneling_slab.json | 3 + .../models/item/pyrite_paneling_stairs.json | 3 + .../models/item/pyrite_paneling_wall.json | 3 + .../models/item/pyrite_panneling.json | 3 - .../models/item/pyrite_pile_slab.json | 3 + .../models/item/pyrite_pile_stairs.json | 3 + .../models/item/pyrite_pile_wall.json | 3 + .../models/item/pyrite_plating_slab.json | 3 + .../models/item/pyrite_plating_stairs.json | 3 + .../models/item/pyrite_plating_wall.json | 3 + .../spectrum/models/item/pyrite_slab.json | 3 + .../spectrum/models/item/pyrite_stairs.json | 3 + .../models/item/pyrite_tiles_slab.json | 3 + .../models/item/pyrite_tiles_stairs.json | 3 + .../models/item/pyrite_tiles_wall.json | 3 + .../spectrum/models/item/pyrite_wall.json | 3 + ...rite_panneling.png => pyrite_paneling.png} | Bin .../data/minecraft/tags/blocks/slabs.json | 9 +- .../data/minecraft/tags/blocks/stairs.json | 9 +- .../data/minecraft/tags/blocks/walls.json | 9 +- .../data/spectrum/alloy_forges/pyrite.json | 2 +- ...te_panneling.json => pyrite_paneling.json} | 2 +- .../blocks/pyrite_paneling_slab.json | 20 ++ .../blocks/pyrite_paneling_stairs.json | 20 ++ .../blocks/pyrite_paneling_wall.json | 20 ++ .../loot_tables/blocks/pyrite_pile_slab.json | 20 ++ .../blocks/pyrite_pile_stairs.json | 20 ++ .../loot_tables/blocks/pyrite_pile_wall.json | 20 ++ .../blocks/pyrite_plating_slab.json | 20 ++ .../blocks/pyrite_plating_stairs.json | 20 ++ .../blocks/pyrite_plating_wall.json | 20 ++ .../loot_tables/blocks/pyrite_slab.json | 20 ++ .../loot_tables/blocks/pyrite_stairs.json | 20 ++ .../loot_tables/blocks/pyrite_tiles_slab.json | 20 ++ .../blocks/pyrite_tiles_stairs.json | 20 ++ .../loot_tables/blocks/pyrite_tiles_wall.json | 20 ++ .../loot_tables/blocks/pyrite_wall.json | 20 ++ .../guidebook/entries/dimension/pyrite.json | 2 +- .../pyrite/pyrite_paneling_slab.json | 15 ++ .../pyrite/pyrite_paneling_stairs.json | 17 ++ .../pyrite/pyrite_paneling_wall.json | 16 ++ .../pyrite/pyrite_pile_slab.json | 15 ++ .../pyrite/pyrite_pile_stairs.json | 17 ++ .../pyrite/pyrite_pile_wall.json | 16 ++ .../pyrite/pyrite_plating_slab.json | 15 ++ .../pyrite/pyrite_plating_stairs.json | 17 ++ .../pyrite/pyrite_plating_wall.json | 16 ++ .../crafting_table/pyrite/pyrite_slab.json | 15 ++ .../crafting_table/pyrite/pyrite_stairs.json | 17 ++ .../pyrite/pyrite_tiles_slab.json | 15 ++ .../pyrite/pyrite_tiles_stairs.json | 17 ++ .../pyrite/pyrite_tiles_wall.json | 16 ++ .../crafting_table/pyrite/pyrite_wall.json | 16 ++ ....json => pyrite_paneling_from_pyrite.json} | 2 +- ...te_paneling_slab_from_pyrite_paneling.json | 8 + ..._paneling_stairs_from_pyrite_paneling.json | 8 + ...te_paneling_wall_from_pyrite_paneling.json | 8 + .../pyrite_pile_slab_from_pyrite_pile.json | 8 + .../pyrite_pile_stairs_from_pyrite_pile.json | 8 + .../pyrite_pile_wall_from_pyrite_pile.json | 8 + ...rite_plating_slab_from_pyrite_plating.json | 8 + ...te_plating_stairs_from_pyrite_plating.json | 8 + ...rite_plating_wall_from_pyrite_plating.json | 8 + .../pyrite/pyrite_slab_from_pyrite.json | 8 + .../pyrite/pyrite_stairs_from_pyrite.json | 8 + .../pyrite_tiles_slab_from_pyrite_tiles.json | 8 + ...pyrite_tiles_stairs_from_pyrite_tiles.json | 8 + .../pyrite_tiles_wall_from_pyrite_tiles.json | 8 + .../pyrite/pyrite_wall_from_pyrite.json | 8 + .../data/spectrum/tags/blocks/pyrite.json | 17 +- .../data/spectrum/tags/items/pyrite.json | 2 +- 140 files changed, 2712 insertions(+), 31 deletions(-) create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json delete mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_pile_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_pile_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_pile_wall.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_plating_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_plating_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_plating_wall.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_tiles_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_tiles_stairs.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_tiles_wall.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_wall.json rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling.json => pyrite_paneling.json} (70%) create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab_top.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_inner.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_outer.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_wall_inventory.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_wall_post.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_wall_side.json create mode 100644 src/main/resources/assets/spectrum/models/block/pyrite_wall_side_tall.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_pile_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_pile_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_pile_wall.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_plating_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_plating_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_plating_wall.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_tiles_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_tiles_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_tiles_wall.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_wall.json rename src/main/resources/assets/spectrum/textures/block/{pyrite_panneling.png => pyrite_paneling.png} (100%) mode change 100755 => 100644 rename src/main/resources/data/spectrum/loot_tables/blocks/{pyrite_panneling.json => pyrite_paneling.json} (95%) create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_slab.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_stairs.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_wall.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pyrite_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_slab.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_stairs.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_wall.json create mode 100644 src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_wall.json rename src/main/resources/data/spectrum/recipes/stonecutting/pyrite/{pyrite_panneling_from_pyrite.json => pyrite_paneling_from_pyrite.json} (71%) create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_slab_from_pyrite_pile.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_stairs_from_pyrite_pile.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_wall_from_pyrite_pile.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_slab_from_pyrite_plating.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_stairs_from_pyrite_plating.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_wall_from_pyrite_plating.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_slab_from_pyrite.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_stairs_from_pyrite.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_slab_from_pyrite_tiles.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_stairs_from_pyrite_tiles.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_wall_from_pyrite_tiles.json create mode 100644 src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_wall_from_pyrite.json diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index 095c3bf68d..e78c53cd63 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -250,13 +250,28 @@ private static Settings blackslag(BlockSoundGroup blockSoundGroup) { public static final Block ROCK_CRYSTAL = new Block(settings(MapColor.OFF_WHITE, BlockSoundGroup.NETHER_BRICKS, 200F).requiresTool()); public static final Block PYRITE = new PillarBlock(settings(MapColor.TERRACOTTA_YELLOW, BlockSoundGroup.CHAIN, 50.0F).requiresTool()); + public static final Block PYRITE_SLAB = new SlabBlock(Settings.copy(PYRITE)); + public static final Block PYRITE_STAIRS = new StairsBlock(PYRITE.getDefaultState(), Settings.copy(PYRITE)); + public static final Block PYRITE_WALL = new WallBlock(Settings.copy(PYRITE)); public static final Block PYRITE_PILE = new PillarBlock(Settings.copy(PYRITE)); + public static final Block PYRITE_PILE_SLAB = new SlabBlock(Settings.copy(PYRITE_PILE)); + public static final Block PYRITE_PILE_STAIRS = new StairsBlock(PYRITE_PILE.getDefaultState(), Settings.copy(PYRITE_PILE)); + public static final Block PYRITE_PILE_WALL = new WallBlock(Settings.copy(PYRITE_PILE)); public static final Block PYRITE_TILES = new Block(Settings.copy(PYRITE)); + public static final Block PYRITE_TILES_SLAB = new SlabBlock(Settings.copy(PYRITE_TILES)); + public static final Block PYRITE_TILES_STAIRS = new StairsBlock(PYRITE_TILES.getDefaultState(), Settings.copy(PYRITE_TILES)); + public static final Block PYRITE_TILES_WALL = new WallBlock(Settings.copy(PYRITE_TILES)); public static final Block PYRITE_PLATING = new Block(Settings.copy(PYRITE)); + public static final Block PYRITE_PLATING_SLAB = new SlabBlock(Settings.copy(PYRITE_PLATING)); + public static final Block PYRITE_PLATING_STAIRS = new StairsBlock(PYRITE_PLATING.getDefaultState(), Settings.copy(PYRITE_PLATING)); + public static final Block PYRITE_PLATING_WALL = new WallBlock(Settings.copy(PYRITE_PLATING)); public static final Block PYRITE_TUBING = new PillarBlock(Settings.copy(PYRITE)); public static final Block PYRITE_RELIEF = new PillarBlock(Settings.copy(PYRITE)); public static final Block PYRITE_STACK = new Block(Settings.copy(PYRITE)); - public static final Block PYRITE_PANNELING = new Block(Settings.copy(PYRITE)); + public static final Block PYRITE_PANELING = new Block(Settings.copy(PYRITE)); + public static final Block PYRITE_PANELING_SLAB = new SlabBlock(Settings.copy(PYRITE_PANELING)); + public static final Block PYRITE_PANELING_STAIRS = new StairsBlock(PYRITE_PANELING.getDefaultState(), Settings.copy(PYRITE_PANELING)); + public static final Block PYRITE_PANELING_WALL = new WallBlock(Settings.copy(PYRITE_PANELING)); public static final Block PYRITE_VENT = new Block(Settings.copy(PYRITE)); public static final Block PYRITE_RIPPER = new PyriteRipperBlock(Settings.copy(PYRITE).nonOpaque().allowsSpawning(SpectrumBlocks::never).blockVision(SpectrumBlocks::never)); @@ -2271,13 +2286,28 @@ private static void registerStoneBlocks(FabricItemSettings settings) { registerBlockWithItem("longing_chimera", LONGING_CHIMERA, settings, DyeColor.BROWN); registerBlockWithItem("pyrite", PYRITE, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_slab", PYRITE_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_stairs", PYRITE_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_wall", PYRITE_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_pile", PYRITE_PILE, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_pile_slab", PYRITE_PILE_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_pile_stairs", PYRITE_PILE_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_pile_wall", PYRITE_PILE_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_tiles", PYRITE_TILES, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_tiles_slab", PYRITE_TILES_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_tiles_stairs", PYRITE_TILES_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_tiles_wall", PYRITE_TILES_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_plating", PYRITE_PLATING, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_plating_slab", PYRITE_PLATING_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_plating_stairs", PYRITE_PLATING_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_plating_wall", PYRITE_PLATING_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_tubing", PYRITE_TUBING, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_relief", PYRITE_RELIEF, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_stack", PYRITE_STACK, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_panneling", PYRITE_PANNELING, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling", PYRITE_PANELING, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_slab", PYRITE_PANELING_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_stairs", PYRITE_PANELING_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_wall", PYRITE_PANELING_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_vent", PYRITE_VENT, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_ripper", PYRITE_RIPPER, settings, DyeColor.RED); diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java index ec54f70b35..a56cdad493 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java @@ -889,13 +889,28 @@ public static void register() { entries.add(SpectrumItems.PYRITE_CHUNK); entries.add(SpectrumBlocks.PYRITE); + entries.add(SpectrumBlocks.PYRITE_SLAB); + entries.add(SpectrumBlocks.PYRITE_STAIRS); + entries.add(SpectrumBlocks.PYRITE_WALL); entries.add(SpectrumBlocks.PYRITE_PILE); + entries.add(SpectrumBlocks.PYRITE_PILE_SLAB); + entries.add(SpectrumBlocks.PYRITE_PILE_STAIRS); + entries.add(SpectrumBlocks.PYRITE_PILE_WALL); entries.add(SpectrumBlocks.PYRITE_TILES); + entries.add(SpectrumBlocks.PYRITE_TILES_SLAB); + entries.add(SpectrumBlocks.PYRITE_TILES_STAIRS); + entries.add(SpectrumBlocks.PYRITE_TILES_WALL); entries.add(SpectrumBlocks.PYRITE_PLATING); + entries.add(SpectrumBlocks.PYRITE_PLATING_SLAB); + entries.add(SpectrumBlocks.PYRITE_PLATING_STAIRS); + entries.add(SpectrumBlocks.PYRITE_PLATING_WALL); entries.add(SpectrumBlocks.PYRITE_TUBING); entries.add(SpectrumBlocks.PYRITE_RELIEF); entries.add(SpectrumBlocks.PYRITE_STACK); - entries.add(SpectrumBlocks.PYRITE_PANNELING); + entries.add(SpectrumBlocks.PYRITE_PANELING); + entries.add(SpectrumBlocks.PYRITE_PANELING_SLAB); + entries.add(SpectrumBlocks.PYRITE_PANELING_STAIRS); + entries.add(SpectrumBlocks.PYRITE_PANELING_WALL); entries.add(SpectrumBlocks.PYRITE_VENT); entries.add(SpectrumBlocks.PYRITE_RIPPER); diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json new file mode 100644 index 0000000000..cd93352003 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "spectrum:block/pyrite_paneling" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json new file mode 100644 index 0000000000..222b54336c --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_paneling_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite_paneling" + }, + "type=top": { + "model": "spectrum:block/pyrite_paneling_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..df91e0ba4a --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_paneling_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_paneling_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/pyrite_paneling_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json new file mode 100644 index 0000000000..056d99464c --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json deleted file mode 100644 index d6006e8388..0000000000 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "spectrum:block/pyrite_panneling" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_pile_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_slab.json new file mode 100644 index 0000000000..4bec93538b --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_pile_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite_pile" + }, + "type=top": { + "model": "spectrum:block/pyrite_pile_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_pile_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_stairs.json new file mode 100644 index 0000000000..c04ad363f0 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_pile_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_pile_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/pyrite_pile_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_pile_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_wall.json new file mode 100644 index 0000000000..27f68b6651 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_pile_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_pile_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_plating_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_slab.json new file mode 100644 index 0000000000..7cb96cd820 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_plating_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite_plating" + }, + "type=top": { + "model": "spectrum:block/pyrite_plating_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_plating_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_stairs.json new file mode 100644 index 0000000000..b9d74e5366 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_plating_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_plating_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/pyrite_plating_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_plating_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_wall.json new file mode 100644 index 0000000000..44f5ba7405 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_plating_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_plating_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_slab.json new file mode 100644 index 0000000000..1664bab610 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite" + }, + "type=top": { + "model": "spectrum:block/pyrite_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_stairs.json new file mode 100644 index 0000000000..5c95745a69 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/pyrite_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_slab.json new file mode 100644 index 0000000000..ad11b7a8c4 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_tiles_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite_tiles" + }, + "type=top": { + "model": "spectrum:block/pyrite_tiles_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_stairs.json new file mode 100644 index 0000000000..e1be631f2d --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_stairs.json @@ -0,0 +1,209 @@ +{ + "variants": { + "facing=east,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner" + }, + "facing=east,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=east,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer" + }, + "facing=east,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs" + }, + "facing=east,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=east,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=east,half=top,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "x": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=north,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 270, + "uvlock": true + }, + "facing=north,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=north,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "uvlock": true + }, + "facing=north,half=top,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=south,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner" + }, + "facing=south,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer" + }, + "facing=south,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=south,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=south,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=south,half=top,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "x": 180, + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 90, + "uvlock": true + }, + "facing=west,half=bottom,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "y": 180, + "uvlock": true + }, + "facing=west,half=bottom,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_left": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=inner_right": { + "model": "spectrum:block/pyrite_tiles_stairs_inner", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=outer_left": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 180, + "uvlock": true + }, + "facing=west,half=top,shape=outer_right": { + "model": "spectrum:block/pyrite_tiles_stairs_outer", + "x": 180, + "y": 270, + "uvlock": true + }, + "facing=west,half=top,shape=straight": { + "model": "spectrum:block/pyrite_tiles_stairs", + "x": 180, + "y": 180, + "uvlock": true + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_wall.json new file mode 100644 index 0000000000..4471ef9015 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_tiles_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_tiles_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_wall.json new file mode 100644 index 0000000000..ec239b810e --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_wall.json @@ -0,0 +1,90 @@ +{ + "multipart": [ + { + "when": { + "up": "true" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_post" + } + }, + { + "when": { + "north": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side", + "uvlock": true + } + }, + { + "when": { + "east": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "low" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side", + "y": 270, + "uvlock": true + } + }, + { + "when": { + "north": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side_tall", + "uvlock": true + } + }, + { + "when": { + "east": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side_tall", + "y": 90, + "uvlock": true + } + }, + { + "when": { + "south": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side_tall", + "y": 180, + "uvlock": true + } + }, + { + "when": { + "west": "tall" + }, + "apply": { + "model": "spectrum:block/pyrite_wall_side_tall", + "y": 270, + "uvlock": true + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index f583f2e8c2..5813a7b7ce 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1715,13 +1715,28 @@ "block.spectrum.purple_stairs": "Purple Stairs", "block.spectrum.purple_wood": "Purple Wood", "block.spectrum.pyrite": "Pyrite", - "block.spectrum.pyrite_panneling": "Pyrite Paneling", + "block.spectrum.pyrite_slab": "Pyrite Slab", + "block.spectrum.pyrite_stairs": "Pyrite Stairs", + "block.spectrum.pyrite_wall": "Pyrite Wall", + "block.spectrum.pyrite_paneling": "Pyrite Paneling", + "block.spectrum.pyrite_paneling_slab": "Pyrite Paneling Slab", + "block.spectrum.pyrite_paneling_stairs": "Pyrite Paneling Stairs", + "block.spectrum.pyrite_paneling_wall": "Pyrite Paneling Wall", "block.spectrum.pyrite_pile": "Pyrite Pile", + "block.spectrum.pyrite_pile_slab": "Pyrite Pile Slab", + "block.spectrum.pyrite_pile_stairs": "Pyrite Pile Stairs", + "block.spectrum.pyrite_pile_wall": "Pyrite Pile Wall", "block.spectrum.pyrite_plating": "Pyrite Plating", + "block.spectrum.pyrite_plating_slab": "Pyrite Plating Slab", + "block.spectrum.pyrite_plating_stairs": "Pyrite Plating Stairs", + "block.spectrum.pyrite_plating_wall": "Pyrite Plating Wall", "block.spectrum.pyrite_relief": "Pyrite Relief", "block.spectrum.pyrite_ripper": "Pyrite Ripper", "block.spectrum.pyrite_stack": "Pyrite Stack", "block.spectrum.pyrite_tiles": "Pyrite Tiles", + "block.spectrum.pyrite_tiles_slab": "Pyrite Tiles Slab", + "block.spectrum.pyrite_tiles_stairs": "Pyrite Tiles Stairs", + "block.spectrum.pyrite_tiles_wall": "Pyrite Tiles Wall", "block.spectrum.pyrite_tubing": "Pyrite Tubing", "block.spectrum.pyrite_vent": "Pyrite Vent", "block.spectrum.quartz_cluster": "Quartz Cluster", diff --git a/src/main/resources/assets/spectrum/lang/pt_br.json b/src/main/resources/assets/spectrum/lang/pt_br.json index 1315717e4f..78e723da5f 100644 --- a/src/main/resources/assets/spectrum/lang/pt_br.json +++ b/src/main/resources/assets/spectrum/lang/pt_br.json @@ -2406,7 +2406,7 @@ "block.spectrum.purple_chiseled_preservation_stone": "Purple Chiseled Preservation Stone", "block.spectrum.purple_wood": "Purple Wood", "block.spectrum.pyrite": "Pyrite", - "block.spectrum.pyrite_panneling": "Pyrite Paneling", + "block.spectrum.pyrite_paneling": "Pyrite Paneling", "block.spectrum.pyrite_pile": "Pyrite Pile", "block.spectrum.pyrite_plating": "Pyrite Plating", "block.spectrum.pyrite_relief": "Pyrite Relief", @@ -4288,9 +4288,9 @@ "death.attack.spectrum_primordial_fire.item": "%2$s used %3$s to rend %1$s's spirit to ash", "death.attack.spectrum_primordial_fire.player": "%2$s rended %1$s's spirit to ash", "death.attack.spectrum_ripper": "%1$s wanted to play a game", - "death.attack.spectrum_set_health": "%1$s was sent to the shadow realm by %2$s using %3$s", - "death.attack.spectrum_set_health.item": "%1$s used %3$s to send %2$s to the shadow realm", - "death.attack.spectrum_set_health.player": "%1$s was sent to the shadow realm by %2$s", + "death.attack.spectrum_set_health_damage": "%1$s was sent to the shadow realm by %2$s using %3$s", + "death.attack.spectrum_set_health_damage.item": "%1$s used %3$s to send %2$s to the shadow realm", + "death.attack.spectrum_set_health_damage.player": "%1$s was sent to the shadow realm by %2$s", "death.attack.spectrum_sleep": "%1$s was lost to a bottomless dream", "death.attack.spectrum_sleep.item": "%2$s used %3$s to send %1$s on, unto the bottomless sea, accepting of all that is and could be.", "death.attack.spectrum_sleep.player": "%2$s sent %1$s on, unto the bottomless sea, accepting of all that is and could be.", diff --git a/src/main/resources/assets/spectrum/lang/ru_ru.json b/src/main/resources/assets/spectrum/lang/ru_ru.json index e030671200..8dbf6a60cf 100644 --- a/src/main/resources/assets/spectrum/lang/ru_ru.json +++ b/src/main/resources/assets/spectrum/lang/ru_ru.json @@ -227,8 +227,8 @@ "death.attack.spectrum_incandescence.player": "%1$s увидел, как %2&s превратился в звезду и сгорел в атмосфере!", "death.attack.spectrum_moonstone_blast": "%1$s сгнил", "death.attack.spectrum_moonstone_blast.player": "%1$s сгнил благодаря %2$s", - "death.attack.spectrum_set_health.player": "%1$s был отправлен в царство теней благодаря %2$s", - "death.attack.spectrum_set_health": "%1$s был отправлен в царство теней благодаря %2$s при помощи %3$s", + "death.attack.spectrum_set_health_damage.player": "%1$s был отправлен в царство теней благодаря %2$s", + "death.attack.spectrum_set_health_damage": "%1$s был отправлен в царство теней благодаря %2$s при помощи %3$s", "death.attack.spectrum_ripper": "%1$s хотел поиграть в игру", "death.attack.spectrum_kindling_cough": "%1$s был зажарен до смерти %2$s", "death.attack.spectrum_snapping_ivy": "%1$s застрял в плюще", @@ -759,7 +759,7 @@ "block.spectrum.bone_ash_shingles": "Черепица из Костяной Золы", "block.spectrum.pyrite": "Пирит", - "block.spectrum.pyrite_panneling": "Пиритовая Панель", + "block.spectrum.pyrite_paneling": "Пиритовая Панель", "block.spectrum.pyrite_pile": "Пиритовая Куча", "block.spectrum.pyrite_stack": "Пиритовая Груда", "block.spectrum.pyrite_tiles": "Пиритовый Плитняк", diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling.json similarity index 70% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling.json index c6083b7264..a7ca473644 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_panneling.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_panneling" + "side": "spectrum:block/pyrite_paneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json new file mode 100644 index 0000000000..9abfe9b75f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json new file mode 100644 index 0000000000..3c281b6ad7 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..dfb2228c8f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json new file mode 100644 index 0000000000..70fad63b32 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json new file mode 100644 index 0000000000..caa9db5ee3 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json new file mode 100644 index 0000000000..2d610ef548 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json new file mode 100644 index 0000000000..8451cad991 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json new file mode 100644 index 0000000000..c1bd78f3d0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json new file mode 100644 index 0000000000..d3a8391f9d --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/pyrite_paneling" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab.json new file mode 100644 index 0000000000..8018603c86 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/pyrite_pile_top", + "top": "spectrum:block/pyrite_pile_top", + "side": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab_top.json new file mode 100644 index 0000000000..4bb7ed2777 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/pyrite_pile_top", + "top": "spectrum:block/pyrite_pile_top", + "side": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs.json new file mode 100644 index 0000000000..d54f0a71f9 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/pyrite_pile_top", + "top": "spectrum:block/pyrite_pile_top", + "side": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_inner.json new file mode 100644 index 0000000000..ded0edd7a7 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_pile_top", + "top": "spectrum:block/pyrite_pile_top", + "side": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_outer.json new file mode 100644 index 0000000000..68654b3e05 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_pile_top", + "top": "spectrum:block/pyrite_pile_top", + "side": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_inventory.json new file mode 100644 index 0000000000..df6e6d3ab5 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_post.json new file mode 100644 index 0000000000..74b92683a8 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side.json new file mode 100644 index 0000000000..158b8343df --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side_tall.json new file mode 100644 index 0000000000..c3c5927d43 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_pile_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/pyrite_pile_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab.json new file mode 100644 index 0000000000..bc542301a8 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/pyrite_tiles", + "top": "spectrum:block/pyrite_tiles", + "side": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab_top.json new file mode 100644 index 0000000000..1b73b17780 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/pyrite_tiles", + "top": "spectrum:block/pyrite_tiles", + "side": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs.json new file mode 100644 index 0000000000..ac597abe92 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/pyrite_tiles", + "top": "spectrum:block/pyrite_tiles", + "side": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_inner.json new file mode 100644 index 0000000000..078ca5215a --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_tiles", + "top": "spectrum:block/pyrite_tiles", + "side": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_outer.json new file mode 100644 index 0000000000..130c04bd94 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_tiles", + "top": "spectrum:block/pyrite_tiles", + "side": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_inventory.json new file mode 100644 index 0000000000..29b97d921d --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_post.json new file mode 100644 index 0000000000..211e1f9de5 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side.json new file mode 100644 index 0000000000..1fc39a2a26 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side_tall.json new file mode 100644 index 0000000000..479ad8dc7e --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_plating_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/pyrite_tiles" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_slab.json new file mode 100644 index 0000000000..3f35f405a7 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/pyrite_top", + "top": "spectrum:block/pyrite_top", + "side": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_slab_top.json new file mode 100644 index 0000000000..32c45702e6 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/pyrite_top", + "top": "spectrum:block/pyrite_top", + "side": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_stairs.json new file mode 100644 index 0000000000..abd7ad0b11 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/pyrite_top", + "top": "spectrum:block/pyrite_top", + "side": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_stairs_inner.json new file mode 100644 index 0000000000..bf450e48ee --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_top", + "top": "spectrum:block/pyrite_top", + "side": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_stairs_outer.json new file mode 100644 index 0000000000..fbc38d1b69 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_top", + "top": "spectrum:block/pyrite_top", + "side": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab.json new file mode 100644 index 0000000000..cd01463fe1 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab_top.json new file mode 100644 index 0000000000..9ae7839159 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_slab_top.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/slab_top", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs.json new file mode 100644 index 0000000000..0018fa444e --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_inner.json new file mode 100644 index 0000000000..dfc54b3779 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_inner.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/inner_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_outer.json new file mode 100644 index 0000000000..4259323759 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_stairs_outer.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/outer_stairs", + "textures": { + "bottom": "spectrum:block/pyrite_plating", + "top": "spectrum:block/pyrite_plating", + "side": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_inventory.json new file mode 100644 index 0000000000..31a47c6b3b --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_post.json new file mode 100644 index 0000000000..4a883f7e36 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side.json new file mode 100644 index 0000000000..4a7e705e6d --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side_tall.json new file mode 100644 index 0000000000..046d3325c2 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_tiles_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/pyrite_plating" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_wall_inventory.json new file mode 100644 index 0000000000..a91d96cb12 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_wall_inventory.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/wall_inventory", + "textures": { + "wall": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_wall_post.json new file mode 100644 index 0000000000..1ec1c3d9f1 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_wall_post.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_post", + "textures": { + "wall": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_wall_side.json new file mode 100644 index 0000000000..fb801ed77b --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_wall_side.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side", + "textures": { + "wall": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_wall_side_tall.json new file mode 100644 index 0000000000..52aebb1675 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pyrite_wall_side_tall.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/template_wall_side_tall", + "textures": { + "wall": "spectrum:block/pyrite_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json new file mode 100644 index 0000000000..8cb603d9ed --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json new file mode 100644 index 0000000000..ab7143980e --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..f2140fd127 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json new file mode 100644 index 0000000000..3da43f3461 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json deleted file mode 100644 index 3bab64ad8d..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_panneling" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_pile_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_pile_slab.json new file mode 100644 index 0000000000..e1ddd83a6a --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_pile_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_pile_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_pile_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_pile_stairs.json new file mode 100644 index 0000000000..cf3ab3fb2f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_pile_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_pile_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_pile_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_pile_wall.json new file mode 100644 index 0000000000..90025cf5f0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_pile_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_pile_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_plating_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_plating_slab.json new file mode 100644 index 0000000000..e631c668ba --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_plating_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_plating_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_plating_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_plating_stairs.json new file mode 100644 index 0000000000..eb0c883ee4 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_plating_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_plating_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_plating_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_plating_wall.json new file mode 100644 index 0000000000..998110b5d0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_plating_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_plating_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_slab.json new file mode 100644 index 0000000000..d26298ab24 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_stairs.json new file mode 100644 index 0000000000..89bbae3221 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_tiles_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_slab.json new file mode 100644 index 0000000000..5aba46f8cb --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_tiles_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_tiles_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_stairs.json new file mode 100644 index 0000000000..6cc78b30c0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_tiles_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_tiles_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_wall.json new file mode 100644 index 0000000000..a6493528f2 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_tiles_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_tiles_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_wall.json new file mode 100644 index 0000000000..f24db14d2b --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/textures/block/pyrite_panneling.png b/src/main/resources/assets/spectrum/textures/block/pyrite_paneling.png old mode 100755 new mode 100644 similarity index 100% rename from src/main/resources/assets/spectrum/textures/block/pyrite_panneling.png rename to src/main/resources/assets/spectrum/textures/block/pyrite_paneling.png diff --git a/src/main/resources/data/minecraft/tags/blocks/slabs.json b/src/main/resources/data/minecraft/tags/blocks/slabs.json index 4e7655278c..62d7e711c3 100644 --- a/src/main/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/main/resources/data/minecraft/tags/blocks/slabs.json @@ -5,6 +5,7 @@ "spectrum:polished_basalt_slab", "spectrum:basalt_brick_slab", "spectrum:calcite_slab", + "spectrum:planed_calcite_slab", "spectrum:polished_calcite_slab", "spectrum:calcite_brick_slab", @@ -31,6 +32,12 @@ "spectrum:polished_bone_ash_slab", "spectrum:bone_ash_brick_slab", - "spectrum:bone_ash_tile_slab" + "spectrum:bone_ash_tile_slab", + + "spectrum:pyrite_slab", + "spectrum:pyrite_pile_slab", + "spectrum:pyrite_tiles_slab", + "spectrum:pyrite_plating_slab", + "spectrum:pyrite_paneling_slab" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/stairs.json b/src/main/resources/data/minecraft/tags/blocks/stairs.json index d87f2c21e5..4cc2e0e02b 100644 --- a/src/main/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/main/resources/data/minecraft/tags/blocks/stairs.json @@ -6,6 +6,7 @@ "spectrum:basalt_brick_stairs", "spectrum:calcite_stairs", + "spectrum:planed_calcite_stairs", "spectrum:polished_calcite_stairs", "spectrum:calcite_brick_stairs", @@ -31,6 +32,12 @@ "spectrum:polished_bone_ash_stairs", "spectrum:bone_ash_brick_stairs", - "spectrum:bone_ash_tile_stairs" + "spectrum:bone_ash_tile_stairs", + + "spectrum:pyrite_stairs", + "spectrum:pyrite_pile_stairs", + "spectrum:pyrite_tiles_stairs", + "spectrum:pyrite_plating_stairs", + "spectrum:pyrite_paneling_stairs" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/walls.json b/src/main/resources/data/minecraft/tags/blocks/walls.json index dd06827450..504cf8e930 100644 --- a/src/main/resources/data/minecraft/tags/blocks/walls.json +++ b/src/main/resources/data/minecraft/tags/blocks/walls.json @@ -7,6 +7,7 @@ "spectrum:basalt_tile_wall", "spectrum:calcite_wall", + "spectrum:planed_calcite_wall", "spectrum:polished_calcite_wall", "spectrum:calcite_brick_wall", "spectrum:calcite_tile_wall", @@ -30,6 +31,12 @@ "spectrum:polished_bone_ash_wall", "spectrum:bone_ash_brick_wall", "spectrum:bone_ash_tile_wall", - "spectrum:preservation_wall" + "spectrum:preservation_wall", + + "spectrum:pyrite_wall", + "spectrum:pyrite_pile_wall", + "spectrum:pyrite_tiles_wall", + "spectrum:pyrite_plating_wall", + "spectrum:pyrite_paneling_wall" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/alloy_forges/pyrite.json b/src/main/resources/data/spectrum/alloy_forges/pyrite.json index aa097c187b..1b0b402b5f 100644 --- a/src/main/resources/data/spectrum/alloy_forges/pyrite.json +++ b/src/main/resources/data/spectrum/alloy_forges/pyrite.json @@ -7,7 +7,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_panneling", + "spectrum:pyrite_paneling", "spectrum:pyrite_vent" ], "tier": 2, diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_panneling.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json similarity index 95% rename from src/main/resources/data/spectrum/loot_tables/blocks/pyrite_panneling.json rename to src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json index 2b5d576eed..c4c276a26d 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_panneling.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json @@ -10,7 +10,7 @@ "children": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_panneling", + "name": "spectrum:pyrite_paneling", "conditions": [ { "condition": "minecraft:match_tool", diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json new file mode 100644 index 0000000000..37dddbd0b0 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_paneling_slab", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..ef4c0c1f20 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_paneling_stairs", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json new file mode 100644 index 0000000000..24d669fd76 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_paneling_wall", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_slab.json new file mode 100644 index 0000000000..21c2a7feb9 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_pile_slab", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_stairs.json new file mode 100644 index 0000000000..dcea779357 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_pile_stairs", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_wall.json new file mode 100644 index 0000000000..105cb6918f --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_pile_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_pile_wall", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_slab.json new file mode 100644 index 0000000000..53d5d8cb55 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_plating_slab", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_stairs.json new file mode 100644 index 0000000000..70fae02752 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_plating_stairs", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_wall.json new file mode 100644 index 0000000000..e837f5f975 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_plating_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_plating_wall", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_slab.json new file mode 100644 index 0000000000..28806fbb11 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_slab", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_stairs.json new file mode 100644 index 0000000000..7a948c3f67 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_stairs", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_slab.json new file mode 100644 index 0000000000..6e205748fd --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_slab.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_tiles_slab", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_stairs.json new file mode 100644 index 0000000000..8e5ff19404 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_stairs.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_tiles_stairs", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_wall.json new file mode 100644 index 0000000000..4fc865e233 --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_tiles_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_tiles_wall", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_wall.json new file mode 100644 index 0000000000..3bb959239b --- /dev/null +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_wall.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "bonus_rolls": 0, + "entries": [ + { + "type": "minecraft:item", + "name": "spectrum:pyrite_wall", + "functions": [ + { + "function": "minecraft:explosion_decay" + } + ] + } + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json index 79dc1bc364..6c074ad94e 100644 --- a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json +++ b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json @@ -41,7 +41,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_panneling", + "spectrum:pyrite_paneling", "spectrum:pyrite_vent" ], "text": "book.spectrum.guidebook.pyrite.page2.text" diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json new file mode 100644 index 0000000000..6805d98739 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_paneling" + } + }, + "result": { + "item": "spectrum:pyrite_paneling_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..d2fb52a782 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_paneling" + } + }, + "result": { + "item": "spectrum:pyrite_paneling_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json new file mode 100644 index 0000000000..7ac57242f6 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_paneling" + } + }, + "result": { + "item": "spectrum:pyrite_paneling_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_slab.json new file mode 100644 index 0000000000..cf9a5494b3 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_pile" + } + }, + "result": { + "item": "spectrum:pyrite_pile_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_stairs.json new file mode 100644 index 0000000000..085f7952b3 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_pile" + } + }, + "result": { + "item": "spectrum:pyrite_pile_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_wall.json new file mode 100644 index 0000000000..a3bb8f382f --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_pile_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_pile" + } + }, + "result": { + "item": "spectrum:pyrite_pile_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_slab.json new file mode 100644 index 0000000000..6c58ebb679 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_plating" + } + }, + "result": { + "item": "spectrum:pyrite_plating_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_stairs.json new file mode 100644 index 0000000000..7fb853df3f --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_plating" + } + }, + "result": { + "item": "spectrum:pyrite_plating_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_wall.json new file mode 100644 index 0000000000..797b472afe --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_plating_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_plating" + } + }, + "result": { + "item": "spectrum:pyrite_plating_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_slab.json new file mode 100644 index 0000000000..583eb1cd1c --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite" + } + }, + "result": { + "item": "spectrum:pyrite_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_stairs.json new file mode 100644 index 0000000000..8d0d9fa134 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite" + } + }, + "result": { + "item": "spectrum:pyrite_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_slab.json new file mode 100644 index 0000000000..0099af21f1 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_slab.json @@ -0,0 +1,15 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_tiles" + } + }, + "result": { + "item": "spectrum:pyrite_tiles_slab", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_stairs.json new file mode 100644 index 0000000000..15f36f5c2c --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_stairs.json @@ -0,0 +1,17 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "X ", + "XX ", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_tiles" + } + }, + "result": { + "item": "spectrum:pyrite_tiles_stairs", + "count": 4 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_wall.json new file mode 100644 index 0000000000..301679eb7c --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_tiles_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite_tiles" + } + }, + "result": { + "item": "spectrum:pyrite_tiles_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_wall.json new file mode 100644 index 0000000000..8bd2e751f9 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_wall.json @@ -0,0 +1,16 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + "XXX", + "XXX" + ], + "key": { + "X": { + "item": "spectrum:pyrite" + } + }, + "result": { + "item": "spectrum:pyrite_wall", + "count": 6 + } +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_panneling_from_pyrite.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json similarity index 71% rename from src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_panneling_from_pyrite.json rename to src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json index 4f9ddc6887..fb179ad44e 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_panneling_from_pyrite.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json @@ -3,6 +3,6 @@ "ingredient": { "item": "spectrum:pyrite" }, - "result": "spectrum:pyrite_panneling", + "result": "spectrum:pyrite_paneling", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json new file mode 100644 index 0000000000..0136f5f4d7 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_paneling" + }, + "result": "spectrum:pyrite_paneling_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json new file mode 100644 index 0000000000..47eacf120b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_paneling" + }, + "result": "spectrum:pyrite_paneling_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json new file mode 100644 index 0000000000..17e8a100fe --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_paneling" + }, + "result": "spectrum:pyrite_paneling_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_slab_from_pyrite_pile.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_slab_from_pyrite_pile.json new file mode 100644 index 0000000000..c222fbd396 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_slab_from_pyrite_pile.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_pile" + }, + "result": "spectrum:pyrite_pile_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_stairs_from_pyrite_pile.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_stairs_from_pyrite_pile.json new file mode 100644 index 0000000000..c4f1d67c1e --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_stairs_from_pyrite_pile.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_pile" + }, + "result": "spectrum:pyrite_pile_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_wall_from_pyrite_pile.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_wall_from_pyrite_pile.json new file mode 100644 index 0000000000..d9dad0036f --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_pile_wall_from_pyrite_pile.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_pile" + }, + "result": "spectrum:pyrite_pile_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_slab_from_pyrite_plating.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_slab_from_pyrite_plating.json new file mode 100644 index 0000000000..2a754a908e --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_slab_from_pyrite_plating.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_plating" + }, + "result": "spectrum:pyrite_plating_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_stairs_from_pyrite_plating.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_stairs_from_pyrite_plating.json new file mode 100644 index 0000000000..71ba45456d --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_stairs_from_pyrite_plating.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_plating" + }, + "result": "spectrum:pyrite_plating_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_wall_from_pyrite_plating.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_wall_from_pyrite_plating.json new file mode 100644 index 0000000000..1a22d85945 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_plating_wall_from_pyrite_plating.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_plating" + }, + "result": "spectrum:pyrite_plating_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_slab_from_pyrite.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_slab_from_pyrite.json new file mode 100644 index 0000000000..705dc66483 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_slab_from_pyrite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite" + }, + "result": "spectrum:pyrite_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_stairs_from_pyrite.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_stairs_from_pyrite.json new file mode 100644 index 0000000000..65ac3803d4 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_stairs_from_pyrite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite" + }, + "result": "spectrum:pyrite_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_slab_from_pyrite_tiles.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_slab_from_pyrite_tiles.json new file mode 100644 index 0000000000..95967fef11 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_slab_from_pyrite_tiles.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_tiles" + }, + "result": "spectrum:pyrite_tiles_slab", + "count": 2 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_stairs_from_pyrite_tiles.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_stairs_from_pyrite_tiles.json new file mode 100644 index 0000000000..98887c3e0b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_stairs_from_pyrite_tiles.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_tiles" + }, + "result": "spectrum:pyrite_tiles_stairs", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_wall_from_pyrite_tiles.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_wall_from_pyrite_tiles.json new file mode 100644 index 0000000000..e2d0777324 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_tiles_wall_from_pyrite_tiles.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite_tiles" + }, + "result": "spectrum:pyrite_tiles_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_wall_from_pyrite.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_wall_from_pyrite.json new file mode 100644 index 0000000000..2d29238819 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_wall_from_pyrite.json @@ -0,0 +1,8 @@ +{ + "type": "minecraft:stonecutting", + "ingredient": { + "item": "spectrum:pyrite" + }, + "result": "spectrum:pyrite_wall", + "count": 1 +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/blocks/pyrite.json b/src/main/resources/data/spectrum/tags/blocks/pyrite.json index a8549c51f5..89509b2126 100644 --- a/src/main/resources/data/spectrum/tags/blocks/pyrite.json +++ b/src/main/resources/data/spectrum/tags/blocks/pyrite.json @@ -1,13 +1,28 @@ { "values": [ "spectrum:pyrite", + "spectrum:pyrite_slab", + "spectrum:pyrite_stairs", + "spectrum:pyrite_wall", "spectrum:pyrite_pile", + "spectrum:pyrite_pile_slab", + "spectrum:pyrite_pile_stairs", + "spectrum:pyrite_pile_wall", "spectrum:pyrite_tiles", + "spectrum:pyrite_tiles_slab", + "spectrum:pyrite_tiles_stairs", + "spectrum:pyrite_tiles_wall", "spectrum:pyrite_plating", + "spectrum:pyrite_plating_slab", + "spectrum:pyrite_plating_stairs", + "spectrum:pyrite_plating_wall", "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_panneling", + "spectrum:pyrite_paneling", + "spectrum:pyrite_paneling_slab", + "spectrum:pyrite_paneling_stairs", + "spectrum:pyrite_paneling_wall", "spectrum:pyrite_vent" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/pyrite.json b/src/main/resources/data/spectrum/tags/items/pyrite.json index f4437f4122..ec7bf48bf2 100644 --- a/src/main/resources/data/spectrum/tags/items/pyrite.json +++ b/src/main/resources/data/spectrum/tags/items/pyrite.json @@ -7,7 +7,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_panneling", + "spectrum:pyrite_paneling", "spectrum:pyrite_vent", "spectrum:pyrite_chunk" From d6b9a5783801569ad067900246a0ce2001c4631b Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Wed, 2 Oct 2024 17:50:24 +1000 Subject: [PATCH 07/50] reverted all pyrite paneling back to an id of `pyrite_panneling` change --- .../spectrum/registries/SpectrumBlocks.java | 8 +- .../spectrum/blockstates/pyrite_paneling.json | 7 -- .../blockstates/pyrite_paneling_slab.json | 13 --- .../blockstates/pyrite_panneling.json | 7 ++ .../blockstates/pyrite_panneling_slab.json | 13 +++ ...airs.json => pyrite_panneling_stairs.json} | 80 +++++++++--------- ...g_wall.json => pyrite_panneling_wall.json} | 18 ++-- .../resources/assets/spectrum/lang/en_us.json | 8 +- .../resources/assets/spectrum/lang/pt_br.json | 2 +- .../resources/assets/spectrum/lang/ru_ru.json | 2 +- ...te_paneling.json => pyrite_panneling.json} | 2 +- ...g_slab.json => pyrite_panneling_slab.json} | 2 +- ...op.json => pyrite_panneling_slab_top.json} | 2 +- ...airs.json => pyrite_panneling_stairs.json} | 2 +- ...son => pyrite_panneling_stairs_inner.json} | 2 +- ...son => pyrite_panneling_stairs_outer.json} | 2 +- ...n => pyrite_panneling_wall_inventory.json} | 2 +- ...t.json => pyrite_panneling_wall_post.json} | 2 +- ...e.json => pyrite_panneling_wall_side.json} | 2 +- ...n => pyrite_panneling_wall_side_tall.json} | 2 +- .../spectrum/models/item/pyrite_paneling.json | 3 - .../models/item/pyrite_paneling_slab.json | 3 - .../models/item/pyrite_paneling_stairs.json | 3 - .../models/item/pyrite_paneling_wall.json | 3 - .../models/item/pyrite_panneling.json | 3 + .../models/item/pyrite_panneling_slab.json | 3 + .../models/item/pyrite_panneling_stairs.json | 3 + .../models/item/pyrite_panneling_wall.json | 3 + ...rite_paneling.png => pyrite_panneling.png} | Bin .../data/minecraft/tags/blocks/slabs.json | 2 +- .../data/minecraft/tags/blocks/stairs.json | 2 +- .../data/minecraft/tags/blocks/walls.json | 2 +- .../data/spectrum/alloy_forges/pyrite.json | 2 +- .../loot_tables/blocks/pyrite_paneling.json | 2 +- .../blocks/pyrite_paneling_slab.json | 2 +- .../blocks/pyrite_paneling_stairs.json | 2 +- .../blocks/pyrite_paneling_wall.json | 2 +- .../guidebook/entries/dimension/pyrite.json | 2 +- .../pyrite/pyrite_paneling_slab.json | 4 +- .../pyrite/pyrite_paneling_stairs.json | 4 +- .../pyrite/pyrite_paneling_wall.json | 4 +- .../pyrite/pyrite_paneling_from_pyrite.json | 2 +- ...te_paneling_slab_from_pyrite_paneling.json | 4 +- ..._paneling_stairs_from_pyrite_paneling.json | 4 +- ...te_paneling_wall_from_pyrite_paneling.json | 4 +- .../data/spectrum/tags/blocks/pyrite.json | 8 +- .../data/spectrum/tags/items/pyrite.json | 2 +- 47 files changed, 128 insertions(+), 128 deletions(-) delete mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json delete mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json rename src/main/resources/assets/spectrum/blockstates/{pyrite_paneling_stairs.json => pyrite_panneling_stairs.json} (58%) rename src/main/resources/assets/spectrum/blockstates/{pyrite_paneling_wall.json => pyrite_panneling_wall.json} (61%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling.json => pyrite_panneling.json} (70%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_slab.json => pyrite_panneling_slab.json} (76%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_slab_top.json => pyrite_panneling_slab_top.json} (77%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_stairs.json => pyrite_panneling_stairs.json} (76%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_stairs_inner.json => pyrite_panneling_stairs_inner.json} (77%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_stairs_outer.json => pyrite_panneling_stairs_outer.json} (77%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_wall_inventory.json => pyrite_panneling_wall_inventory.json} (60%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_wall_post.json => pyrite_panneling_wall_post.json} (61%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_wall_side.json => pyrite_panneling_wall_side.json} (61%) rename src/main/resources/assets/spectrum/models/block/{pyrite_paneling_wall_side_tall.json => pyrite_panneling_wall_side_tall.json} (62%) delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json rename src/main/resources/assets/spectrum/textures/block/{pyrite_paneling.png => pyrite_panneling.png} (100%) diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index e78c53cd63..3758fe1364 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -2304,10 +2304,10 @@ private static void registerStoneBlocks(FabricItemSettings settings) { registerBlockWithItem("pyrite_tubing", PYRITE_TUBING, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_relief", PYRITE_RELIEF, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_stack", PYRITE_STACK, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_paneling", PYRITE_PANELING, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_paneling_slab", PYRITE_PANELING_SLAB, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_paneling_stairs", PYRITE_PANELING_STAIRS, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_paneling_wall", PYRITE_PANELING_WALL, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_panneling", PYRITE_PANELING, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_panneling_slab", PYRITE_PANELING_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_panneling_stairs", PYRITE_PANELING_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_panneling_wall", PYRITE_PANELING_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_vent", PYRITE_VENT, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_ripper", PYRITE_RIPPER, settings, DyeColor.RED); diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json deleted file mode 100644 index cd93352003..0000000000 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "spectrum:block/pyrite_paneling" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json deleted file mode 100644 index 222b54336c..0000000000 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "variants": { - "type=bottom": { - "model": "spectrum:block/pyrite_paneling_slab" - }, - "type=double": { - "model": "spectrum:block/pyrite_paneling" - }, - "type=top": { - "model": "spectrum:block/pyrite_paneling_slab_top" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json new file mode 100644 index 0000000000..d6006e8388 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "spectrum:block/pyrite_panneling" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json new file mode 100644 index 0000000000..08d4317511 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json @@ -0,0 +1,13 @@ +{ + "variants": { + "type=bottom": { + "model": "spectrum:block/pyrite_panneling_slab" + }, + "type=double": { + "model": "spectrum:block/pyrite_panneling" + }, + "type=top": { + "model": "spectrum:block/pyrite_panneling_slab_top" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json similarity index 58% rename from src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json rename to src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json index df91e0ba4a..0ae6c9c440 100644 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json @@ -1,206 +1,206 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner" + "model": "spectrum:block/pyrite_panneling_stairs_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer" + "model": "spectrum:block/pyrite_panneling_stairs_outer" }, "facing=east,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs" + "model": "spectrum:block/pyrite_panneling_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "uvlock": true }, "facing=east,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 90, "uvlock": true }, "facing=east,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "uvlock": true }, "facing=east,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 90, "uvlock": true }, "facing=east,half=top,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "x": 180, "uvlock": true }, "facing=north,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 180, "uvlock": true }, "facing=north,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 270, "uvlock": true }, "facing=north,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 180, "uvlock": true }, "facing=north,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 270, "uvlock": true }, "facing=north,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "y": 270, "uvlock": true }, "facing=north,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 270, "uvlock": true }, "facing=north,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "uvlock": true }, "facing=north,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 270, "uvlock": true }, "facing=north,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "uvlock": true }, "facing=north,half=top,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner" + "model": "spectrum:block/pyrite_panneling_stairs_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer" + "model": "spectrum:block/pyrite_panneling_stairs_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "y": 90, "uvlock": true }, "facing=south,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 90, "uvlock": true }, "facing=south,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 90, "uvlock": true }, "facing=south,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "y": 180, "uvlock": true }, "facing=west,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "y": 180, "uvlock": true }, "facing=west,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "y": 180, "uvlock": true }, "facing=west,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 180, "uvlock": true }, "facing=west,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_paneling_stairs_inner", + "model": "spectrum:block/pyrite_panneling_stairs_inner", "x": 180, "y": 270, "uvlock": true }, "facing=west,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 180, "uvlock": true }, "facing=west,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_paneling_stairs_outer", + "model": "spectrum:block/pyrite_panneling_stairs_outer", "x": 180, "y": 270, "uvlock": true }, "facing=west,half=top,shape=straight": { - "model": "spectrum:block/pyrite_paneling_stairs", + "model": "spectrum:block/pyrite_panneling_stairs", "x": 180, "y": 180, "uvlock": true diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json similarity index 61% rename from src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json rename to src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json index 056d99464c..240a97287b 100644 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json @@ -5,7 +5,7 @@ "up": "true" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_post" + "model": "spectrum:block/pyrite_panneling_wall_post" } }, { @@ -13,7 +13,7 @@ "north": "low" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side", + "model": "spectrum:block/pyrite_panneling_wall_side", "uvlock": true } }, @@ -22,7 +22,7 @@ "east": "low" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side", + "model": "spectrum:block/pyrite_panneling_wall_side", "y": 90, "uvlock": true } @@ -32,7 +32,7 @@ "south": "low" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side", + "model": "spectrum:block/pyrite_panneling_wall_side", "y": 180, "uvlock": true } @@ -42,7 +42,7 @@ "west": "low" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side", + "model": "spectrum:block/pyrite_panneling_wall_side", "y": 270, "uvlock": true } @@ -52,7 +52,7 @@ "north": "tall" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "model": "spectrum:block/pyrite_panneling_wall_side_tall", "uvlock": true } }, @@ -61,7 +61,7 @@ "east": "tall" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "model": "spectrum:block/pyrite_panneling_wall_side_tall", "y": 90, "uvlock": true } @@ -71,7 +71,7 @@ "south": "tall" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "model": "spectrum:block/pyrite_panneling_wall_side_tall", "y": 180, "uvlock": true } @@ -81,7 +81,7 @@ "west": "tall" }, "apply": { - "model": "spectrum:block/pyrite_paneling_wall_side_tall", + "model": "spectrum:block/pyrite_panneling_wall_side_tall", "y": 270, "uvlock": true } diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 5813a7b7ce..d9367b6130 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1718,10 +1718,10 @@ "block.spectrum.pyrite_slab": "Pyrite Slab", "block.spectrum.pyrite_stairs": "Pyrite Stairs", "block.spectrum.pyrite_wall": "Pyrite Wall", - "block.spectrum.pyrite_paneling": "Pyrite Paneling", - "block.spectrum.pyrite_paneling_slab": "Pyrite Paneling Slab", - "block.spectrum.pyrite_paneling_stairs": "Pyrite Paneling Stairs", - "block.spectrum.pyrite_paneling_wall": "Pyrite Paneling Wall", + "block.spectrum.pyrite_panneling": "Pyrite Paneling", + "block.spectrum.pyrite_panneling_slab": "Pyrite Paneling Slab", + "block.spectrum.pyrite_panneling_stairs": "Pyrite Paneling Stairs", + "block.spectrum.pyrite_panneling_wall": "Pyrite Paneling Wall", "block.spectrum.pyrite_pile": "Pyrite Pile", "block.spectrum.pyrite_pile_slab": "Pyrite Pile Slab", "block.spectrum.pyrite_pile_stairs": "Pyrite Pile Stairs", diff --git a/src/main/resources/assets/spectrum/lang/pt_br.json b/src/main/resources/assets/spectrum/lang/pt_br.json index 78e723da5f..50efbd900f 100644 --- a/src/main/resources/assets/spectrum/lang/pt_br.json +++ b/src/main/resources/assets/spectrum/lang/pt_br.json @@ -2406,7 +2406,7 @@ "block.spectrum.purple_chiseled_preservation_stone": "Purple Chiseled Preservation Stone", "block.spectrum.purple_wood": "Purple Wood", "block.spectrum.pyrite": "Pyrite", - "block.spectrum.pyrite_paneling": "Pyrite Paneling", + "block.spectrum.pyrite_panneling": "Pyrite Paneling", "block.spectrum.pyrite_pile": "Pyrite Pile", "block.spectrum.pyrite_plating": "Pyrite Plating", "block.spectrum.pyrite_relief": "Pyrite Relief", diff --git a/src/main/resources/assets/spectrum/lang/ru_ru.json b/src/main/resources/assets/spectrum/lang/ru_ru.json index 8dbf6a60cf..04a981d9bf 100644 --- a/src/main/resources/assets/spectrum/lang/ru_ru.json +++ b/src/main/resources/assets/spectrum/lang/ru_ru.json @@ -759,7 +759,7 @@ "block.spectrum.bone_ash_shingles": "Черепица из Костяной Золы", "block.spectrum.pyrite": "Пирит", - "block.spectrum.pyrite_paneling": "Пиритовая Панель", + "block.spectrum.pyrite_panneling": "Пиритовая Панель", "block.spectrum.pyrite_pile": "Пиритовая Куча", "block.spectrum.pyrite_stack": "Пиритовая Груда", "block.spectrum.pyrite_tiles": "Пиритовый Плитняк", diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling.json similarity index 70% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling.json index a7ca473644..c6083b7264 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling.json @@ -2,6 +2,6 @@ "parent": "minecraft:block/cube_column", "textures": { "end": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab.json similarity index 76% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab.json index 9abfe9b75f..eaeaedc39b 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab.json @@ -3,6 +3,6 @@ "textures": { "bottom": "spectrum:block/pyrite_plating", "top": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab_top.json similarity index 77% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab_top.json index 3c281b6ad7..6c5678694e 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab_top.json @@ -3,6 +3,6 @@ "textures": { "bottom": "spectrum:block/pyrite_plating", "top": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs.json similarity index 76% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs.json index dfb2228c8f..e7edab9b53 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs.json @@ -3,6 +3,6 @@ "textures": { "bottom": "spectrum:block/pyrite_plating", "top": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_inner.json similarity index 77% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_inner.json index 70fad63b32..911cc29c7e 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_inner.json @@ -3,6 +3,6 @@ "textures": { "bottom": "spectrum:block/pyrite_plating", "top": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_outer.json similarity index 77% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_outer.json index caa9db5ee3..bd33472f59 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_outer.json @@ -3,6 +3,6 @@ "textures": { "bottom": "spectrum:block/pyrite_plating", "top": "spectrum:block/pyrite_plating", - "side": "spectrum:block/pyrite_paneling" + "side": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_inventory.json similarity index 60% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_inventory.json index 2d610ef548..7edc1ba3cf 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_inventory.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/wall_inventory", "textures": { - "wall": "spectrum:block/pyrite_paneling" + "wall": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_post.json similarity index 61% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_post.json index 8451cad991..e94c4d9a34 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_post.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_wall_post", "textures": { - "wall": "spectrum:block/pyrite_paneling" + "wall": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side.json similarity index 61% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side.json index c1bd78f3d0..5d8c310907 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_wall_side", "textures": { - "wall": "spectrum:block/pyrite_paneling" + "wall": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side_tall.json similarity index 62% rename from src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json rename to src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side_tall.json index d3a8391f9d..653560cee8 100644 --- a/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json +++ b/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side_tall.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/template_wall_side_tall", "textures": { - "wall": "spectrum:block/pyrite_paneling" + "wall": "spectrum:block/pyrite_panneling" } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json deleted file mode 100644 index 8cb603d9ed..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_paneling.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_paneling" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json deleted file mode 100644 index ab7143980e..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_paneling_slab" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json deleted file mode 100644 index f2140fd127..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_paneling_stairs" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json deleted file mode 100644 index 3da43f3461..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_paneling_wall_inventory" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json new file mode 100644 index 0000000000..3bab64ad8d --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_panneling.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_panneling" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json new file mode 100644 index 0000000000..b2cdd3b1f0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_panneling_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json new file mode 100644 index 0000000000..d092051a55 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_panneling_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json new file mode 100644 index 0000000000..c83ebfdd32 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_panneling_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/textures/block/pyrite_paneling.png b/src/main/resources/assets/spectrum/textures/block/pyrite_panneling.png similarity index 100% rename from src/main/resources/assets/spectrum/textures/block/pyrite_paneling.png rename to src/main/resources/assets/spectrum/textures/block/pyrite_panneling.png diff --git a/src/main/resources/data/minecraft/tags/blocks/slabs.json b/src/main/resources/data/minecraft/tags/blocks/slabs.json index 62d7e711c3..16ebe704fb 100644 --- a/src/main/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/main/resources/data/minecraft/tags/blocks/slabs.json @@ -38,6 +38,6 @@ "spectrum:pyrite_pile_slab", "spectrum:pyrite_tiles_slab", "spectrum:pyrite_plating_slab", - "spectrum:pyrite_paneling_slab" + "spectrum:pyrite_panneling_slab" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/stairs.json b/src/main/resources/data/minecraft/tags/blocks/stairs.json index 4cc2e0e02b..d2441916c8 100644 --- a/src/main/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/main/resources/data/minecraft/tags/blocks/stairs.json @@ -38,6 +38,6 @@ "spectrum:pyrite_pile_stairs", "spectrum:pyrite_tiles_stairs", "spectrum:pyrite_plating_stairs", - "spectrum:pyrite_paneling_stairs" + "spectrum:pyrite_panneling_stairs" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/walls.json b/src/main/resources/data/minecraft/tags/blocks/walls.json index 504cf8e930..15d7ade4ad 100644 --- a/src/main/resources/data/minecraft/tags/blocks/walls.json +++ b/src/main/resources/data/minecraft/tags/blocks/walls.json @@ -37,6 +37,6 @@ "spectrum:pyrite_pile_wall", "spectrum:pyrite_tiles_wall", "spectrum:pyrite_plating_wall", - "spectrum:pyrite_paneling_wall" + "spectrum:pyrite_panneling_wall" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/alloy_forges/pyrite.json b/src/main/resources/data/spectrum/alloy_forges/pyrite.json index 1b0b402b5f..aa097c187b 100644 --- a/src/main/resources/data/spectrum/alloy_forges/pyrite.json +++ b/src/main/resources/data/spectrum/alloy_forges/pyrite.json @@ -7,7 +7,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_paneling", + "spectrum:pyrite_panneling", "spectrum:pyrite_vent" ], "tier": 2, diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json index c4c276a26d..2b5d576eed 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json @@ -10,7 +10,7 @@ "children": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_paneling", + "name": "spectrum:pyrite_panneling", "conditions": [ { "condition": "minecraft:match_tool", diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json index 37dddbd0b0..c864a04d21 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_paneling_slab", + "name": "spectrum:pyrite_panneling_slab", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json index ef4c0c1f20..18df31154e 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_paneling_stairs", + "name": "spectrum:pyrite_panneling_stairs", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json index 24d669fd76..9164fe71ad 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_paneling_wall", + "name": "spectrum:pyrite_panneling_wall", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json index 6c074ad94e..79dc1bc364 100644 --- a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json +++ b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json @@ -41,7 +41,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_paneling", + "spectrum:pyrite_panneling", "spectrum:pyrite_vent" ], "text": "book.spectrum.guidebook.pyrite.page2.text" diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json index 6805d98739..2671db1893 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json @@ -5,11 +5,11 @@ ], "key": { "X": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" } }, "result": { - "item": "spectrum:pyrite_paneling_slab", + "item": "spectrum:pyrite_panneling_slab", "count": 6 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json index d2fb52a782..c2488cea91 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json @@ -7,11 +7,11 @@ ], "key": { "X": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" } }, "result": { - "item": "spectrum:pyrite_paneling_stairs", + "item": "spectrum:pyrite_panneling_stairs", "count": 4 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json index 7ac57242f6..3935568b42 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json @@ -6,11 +6,11 @@ ], "key": { "X": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" } }, "result": { - "item": "spectrum:pyrite_paneling_wall", + "item": "spectrum:pyrite_panneling_wall", "count": 6 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json index fb179ad44e..4f9ddc6887 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_from_pyrite.json @@ -3,6 +3,6 @@ "ingredient": { "item": "spectrum:pyrite" }, - "result": "spectrum:pyrite_paneling", + "result": "spectrum:pyrite_panneling", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json index 0136f5f4d7..c582e1e914 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json @@ -1,8 +1,8 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_paneling_slab", + "result": "spectrum:pyrite_panneling_slab", "count": 2 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json index 47eacf120b..deb57db935 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json @@ -1,8 +1,8 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_paneling_stairs", + "result": "spectrum:pyrite_panneling_stairs", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json index 17e8a100fe..eaca405584 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json @@ -1,8 +1,8 @@ { "type": "minecraft:stonecutting", "ingredient": { - "item": "spectrum:pyrite_paneling" + "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_paneling_wall", + "result": "spectrum:pyrite_panneling_wall", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/blocks/pyrite.json b/src/main/resources/data/spectrum/tags/blocks/pyrite.json index 89509b2126..50da1ddc4f 100644 --- a/src/main/resources/data/spectrum/tags/blocks/pyrite.json +++ b/src/main/resources/data/spectrum/tags/blocks/pyrite.json @@ -19,10 +19,10 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_paneling", - "spectrum:pyrite_paneling_slab", - "spectrum:pyrite_paneling_stairs", - "spectrum:pyrite_paneling_wall", + "spectrum:pyrite_panneling", + "spectrum:pyrite_panneling_slab", + "spectrum:pyrite_panneling_stairs", + "spectrum:pyrite_panneling_wall", "spectrum:pyrite_vent" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/pyrite.json b/src/main/resources/data/spectrum/tags/items/pyrite.json index ec7bf48bf2..f4437f4122 100644 --- a/src/main/resources/data/spectrum/tags/items/pyrite.json +++ b/src/main/resources/data/spectrum/tags/items/pyrite.json @@ -7,7 +7,7 @@ "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", - "spectrum:pyrite_paneling", + "spectrum:pyrite_panneling", "spectrum:pyrite_vent", "spectrum:pyrite_chunk" From 6ebc54f3ad073e50ccf92c8a0c53101dbebc5925 Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Wed, 2 Oct 2024 22:46:16 +1000 Subject: [PATCH 08/50] did the paneling/panneling fix correctly this time --- .../spectrum/registries/SpectrumBlocks.java | 6 +- ...ng_slab.json => pyrite_paneling_slab.json} | 4 +- ...tairs.json => pyrite_paneling_stairs.json} | 80 +++++++++---------- ...ng_wall.json => pyrite_paneling_wall.json} | 18 ++--- .../resources/assets/spectrum/lang/en_us.json | 6 +- ...ng_slab.json => pyrite_paneling_slab.json} | 0 ...top.json => pyrite_paneling_slab_top.json} | 0 ...tairs.json => pyrite_paneling_stairs.json} | 0 ...json => pyrite_paneling_stairs_inner.json} | 0 ...json => pyrite_paneling_stairs_outer.json} | 0 ...on => pyrite_paneling_wall_inventory.json} | 0 ...st.json => pyrite_paneling_wall_post.json} | 0 ...de.json => pyrite_paneling_wall_side.json} | 0 ...on => pyrite_paneling_wall_side_tall.json} | 0 .../models/item/pyrite_paneling_slab.json | 3 + .../models/item/pyrite_paneling_stairs.json | 3 + .../models/item/pyrite_paneling_wall.json | 3 + .../models/item/pyrite_panneling_slab.json | 3 - .../models/item/pyrite_panneling_stairs.json | 3 - .../models/item/pyrite_panneling_wall.json | 3 - .../data/minecraft/tags/blocks/slabs.json | 2 +- .../data/minecraft/tags/blocks/stairs.json | 2 +- .../data/minecraft/tags/blocks/walls.json | 2 +- .../blocks/pyrite_paneling_slab.json | 2 +- .../blocks/pyrite_paneling_stairs.json | 2 +- .../blocks/pyrite_paneling_wall.json | 2 +- ...te_paneling.json => pyrite_panneling.json} | 0 .../pyrite/pyrite_paneling_slab.json | 2 +- .../pyrite/pyrite_paneling_stairs.json | 2 +- .../pyrite/pyrite_paneling_wall.json | 2 +- ...te_paneling_slab_from_pyrite_paneling.json | 2 +- ..._paneling_stairs_from_pyrite_paneling.json | 2 +- ...te_paneling_wall_from_pyrite_paneling.json | 2 +- .../data/spectrum/tags/blocks/pyrite.json | 6 +- 34 files changed, 81 insertions(+), 81 deletions(-) rename src/main/resources/assets/spectrum/blockstates/{pyrite_panneling_slab.json => pyrite_paneling_slab.json} (56%) rename src/main/resources/assets/spectrum/blockstates/{pyrite_panneling_stairs.json => pyrite_paneling_stairs.json} (58%) rename src/main/resources/assets/spectrum/blockstates/{pyrite_panneling_wall.json => pyrite_paneling_wall.json} (61%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_slab.json => pyrite_paneling_slab.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_slab_top.json => pyrite_paneling_slab_top.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_stairs.json => pyrite_paneling_stairs.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_stairs_inner.json => pyrite_paneling_stairs_inner.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_stairs_outer.json => pyrite_paneling_stairs_outer.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_wall_inventory.json => pyrite_paneling_wall_inventory.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_wall_post.json => pyrite_paneling_wall_post.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_wall_side.json => pyrite_paneling_wall_side.json} (100%) rename src/main/resources/assets/spectrum/models/block/{pyrite_panneling_wall_side_tall.json => pyrite_paneling_wall_side_tall.json} (100%) create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json create mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json delete mode 100644 src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json rename src/main/resources/data/spectrum/loot_tables/blocks/{pyrite_paneling.json => pyrite_panneling.json} (100%) diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index 3758fe1364..5232d927e7 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -2305,9 +2305,9 @@ private static void registerStoneBlocks(FabricItemSettings settings) { registerBlockWithItem("pyrite_relief", PYRITE_RELIEF, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_stack", PYRITE_STACK, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_panneling", PYRITE_PANELING, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_panneling_slab", PYRITE_PANELING_SLAB, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_panneling_stairs", PYRITE_PANELING_STAIRS, settings, DyeColor.BROWN); - registerBlockWithItem("pyrite_panneling_wall", PYRITE_PANELING_WALL, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_slab", PYRITE_PANELING_SLAB, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_stairs", PYRITE_PANELING_STAIRS, settings, DyeColor.BROWN); + registerBlockWithItem("pyrite_paneling_wall", PYRITE_PANELING_WALL, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_vent", PYRITE_VENT, settings, DyeColor.BROWN); registerBlockWithItem("pyrite_ripper", PYRITE_RIPPER, settings, DyeColor.RED); diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json similarity index 56% rename from src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json rename to src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json index 08d4317511..da8cccc12a 100644 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_slab.json +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_slab.json @@ -1,13 +1,13 @@ { "variants": { "type=bottom": { - "model": "spectrum:block/pyrite_panneling_slab" + "model": "spectrum:block/pyrite_paneling_slab" }, "type=double": { "model": "spectrum:block/pyrite_panneling" }, "type=top": { - "model": "spectrum:block/pyrite_panneling_slab_top" + "model": "spectrum:block/pyrite_paneling_slab_top" } } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json similarity index 58% rename from src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json rename to src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json index 0ae6c9c440..df91e0ba4a 100644 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_stairs.json +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_stairs.json @@ -1,206 +1,206 @@ { "variants": { "facing=east,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner" + "model": "spectrum:block/pyrite_paneling_stairs_inner" }, "facing=east,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 270, "uvlock": true }, "facing=east,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer" + "model": "spectrum:block/pyrite_paneling_stairs_outer" }, "facing=east,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs" + "model": "spectrum:block/pyrite_paneling_stairs" }, "facing=east,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "uvlock": true }, "facing=east,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 90, "uvlock": true }, "facing=east,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "uvlock": true }, "facing=east,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 90, "uvlock": true }, "facing=east,half=top,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "x": 180, "uvlock": true }, "facing=north,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 180, "uvlock": true }, "facing=north,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 270, "uvlock": true }, "facing=north,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 180, "uvlock": true }, "facing=north,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 270, "uvlock": true }, "facing=north,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "y": 270, "uvlock": true }, "facing=north,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 270, "uvlock": true }, "facing=north,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "uvlock": true }, "facing=north,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 270, "uvlock": true }, "facing=north,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "uvlock": true }, "facing=north,half=top,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "x": 180, "y": 270, "uvlock": true }, "facing=south,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner" + "model": "spectrum:block/pyrite_paneling_stairs_inner" }, "facing=south,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer" + "model": "spectrum:block/pyrite_paneling_stairs_outer" }, "facing=south,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 90, "uvlock": true }, "facing=south,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "y": 90, "uvlock": true }, "facing=south,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 90, "uvlock": true }, "facing=south,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 90, "uvlock": true }, "facing=south,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 180, "uvlock": true }, "facing=south,half=top,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "x": 180, "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "y": 180, "uvlock": true }, "facing=west,half=bottom,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 90, "uvlock": true }, "facing=west,half=bottom,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "y": 180, "uvlock": true }, "facing=west,half=bottom,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "y": 180, "uvlock": true }, "facing=west,half=top,shape=inner_left": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 180, "uvlock": true }, "facing=west,half=top,shape=inner_right": { - "model": "spectrum:block/pyrite_panneling_stairs_inner", + "model": "spectrum:block/pyrite_paneling_stairs_inner", "x": 180, "y": 270, "uvlock": true }, "facing=west,half=top,shape=outer_left": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 180, "uvlock": true }, "facing=west,half=top,shape=outer_right": { - "model": "spectrum:block/pyrite_panneling_stairs_outer", + "model": "spectrum:block/pyrite_paneling_stairs_outer", "x": 180, "y": 270, "uvlock": true }, "facing=west,half=top,shape=straight": { - "model": "spectrum:block/pyrite_panneling_stairs", + "model": "spectrum:block/pyrite_paneling_stairs", "x": 180, "y": 180, "uvlock": true diff --git a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json similarity index 61% rename from src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json rename to src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json index 240a97287b..056d99464c 100644 --- a/src/main/resources/assets/spectrum/blockstates/pyrite_panneling_wall.json +++ b/src/main/resources/assets/spectrum/blockstates/pyrite_paneling_wall.json @@ -5,7 +5,7 @@ "up": "true" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_post" + "model": "spectrum:block/pyrite_paneling_wall_post" } }, { @@ -13,7 +13,7 @@ "north": "low" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side", + "model": "spectrum:block/pyrite_paneling_wall_side", "uvlock": true } }, @@ -22,7 +22,7 @@ "east": "low" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side", + "model": "spectrum:block/pyrite_paneling_wall_side", "y": 90, "uvlock": true } @@ -32,7 +32,7 @@ "south": "low" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side", + "model": "spectrum:block/pyrite_paneling_wall_side", "y": 180, "uvlock": true } @@ -42,7 +42,7 @@ "west": "low" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side", + "model": "spectrum:block/pyrite_paneling_wall_side", "y": 270, "uvlock": true } @@ -52,7 +52,7 @@ "north": "tall" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side_tall", + "model": "spectrum:block/pyrite_paneling_wall_side_tall", "uvlock": true } }, @@ -61,7 +61,7 @@ "east": "tall" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side_tall", + "model": "spectrum:block/pyrite_paneling_wall_side_tall", "y": 90, "uvlock": true } @@ -71,7 +71,7 @@ "south": "tall" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side_tall", + "model": "spectrum:block/pyrite_paneling_wall_side_tall", "y": 180, "uvlock": true } @@ -81,7 +81,7 @@ "west": "tall" }, "apply": { - "model": "spectrum:block/pyrite_panneling_wall_side_tall", + "model": "spectrum:block/pyrite_paneling_wall_side_tall", "y": 270, "uvlock": true } diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index d9367b6130..dd1d0a46d0 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1719,9 +1719,9 @@ "block.spectrum.pyrite_stairs": "Pyrite Stairs", "block.spectrum.pyrite_wall": "Pyrite Wall", "block.spectrum.pyrite_panneling": "Pyrite Paneling", - "block.spectrum.pyrite_panneling_slab": "Pyrite Paneling Slab", - "block.spectrum.pyrite_panneling_stairs": "Pyrite Paneling Stairs", - "block.spectrum.pyrite_panneling_wall": "Pyrite Paneling Wall", + "block.spectrum.pyrite_paneling_slab": "Pyrite Paneling Slab", + "block.spectrum.pyrite_paneling_stairs": "Pyrite Paneling Stairs", + "block.spectrum.pyrite_paneling_wall": "Pyrite Paneling Wall", "block.spectrum.pyrite_pile": "Pyrite Pile", "block.spectrum.pyrite_pile_slab": "Pyrite Pile Slab", "block.spectrum.pyrite_pile_stairs": "Pyrite Pile Stairs", diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab_top.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_slab_top.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_slab_top.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_inner.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_inner.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_inner.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_outer.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_stairs_outer.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_stairs_outer.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_inventory.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_inventory.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_inventory.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_post.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_post.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_post.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side.json diff --git a/src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side_tall.json b/src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json similarity index 100% rename from src/main/resources/assets/spectrum/models/block/pyrite_panneling_wall_side_tall.json rename to src/main/resources/assets/spectrum/models/block/pyrite_paneling_wall_side_tall.json diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json new file mode 100644 index 0000000000..ab7143980e --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_slab.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_slab" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json new file mode 100644 index 0000000000..f2140fd127 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_stairs.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_stairs" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json new file mode 100644 index 0000000000..3da43f3461 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pyrite_paneling_wall.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pyrite_paneling_wall_inventory" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json deleted file mode 100644 index b2cdd3b1f0..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_slab.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_panneling_slab" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json deleted file mode 100644 index d092051a55..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_stairs.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_panneling_stairs" -} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json b/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json deleted file mode 100644 index c83ebfdd32..0000000000 --- a/src/main/resources/assets/spectrum/models/item/pyrite_panneling_wall.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "spectrum:block/pyrite_panneling_wall_inventory" -} \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/slabs.json b/src/main/resources/data/minecraft/tags/blocks/slabs.json index 16ebe704fb..62d7e711c3 100644 --- a/src/main/resources/data/minecraft/tags/blocks/slabs.json +++ b/src/main/resources/data/minecraft/tags/blocks/slabs.json @@ -38,6 +38,6 @@ "spectrum:pyrite_pile_slab", "spectrum:pyrite_tiles_slab", "spectrum:pyrite_plating_slab", - "spectrum:pyrite_panneling_slab" + "spectrum:pyrite_paneling_slab" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/stairs.json b/src/main/resources/data/minecraft/tags/blocks/stairs.json index d2441916c8..4cc2e0e02b 100644 --- a/src/main/resources/data/minecraft/tags/blocks/stairs.json +++ b/src/main/resources/data/minecraft/tags/blocks/stairs.json @@ -38,6 +38,6 @@ "spectrum:pyrite_pile_stairs", "spectrum:pyrite_tiles_stairs", "spectrum:pyrite_plating_stairs", - "spectrum:pyrite_panneling_stairs" + "spectrum:pyrite_paneling_stairs" ] } \ No newline at end of file diff --git a/src/main/resources/data/minecraft/tags/blocks/walls.json b/src/main/resources/data/minecraft/tags/blocks/walls.json index 15d7ade4ad..504cf8e930 100644 --- a/src/main/resources/data/minecraft/tags/blocks/walls.json +++ b/src/main/resources/data/minecraft/tags/blocks/walls.json @@ -37,6 +37,6 @@ "spectrum:pyrite_pile_wall", "spectrum:pyrite_tiles_wall", "spectrum:pyrite_plating_wall", - "spectrum:pyrite_panneling_wall" + "spectrum:pyrite_paneling_wall" ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json index c864a04d21..37dddbd0b0 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_slab.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_panneling_slab", + "name": "spectrum:pyrite_paneling_slab", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json index 18df31154e..ef4c0c1f20 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_stairs.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_panneling_stairs", + "name": "spectrum:pyrite_paneling_stairs", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json index 9164fe71ad..24d669fd76 100644 --- a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json +++ b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling_wall.json @@ -7,7 +7,7 @@ "entries": [ { "type": "minecraft:item", - "name": "spectrum:pyrite_panneling_wall", + "name": "spectrum:pyrite_paneling_wall", "functions": [ { "function": "minecraft:explosion_decay" diff --git a/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json b/src/main/resources/data/spectrum/loot_tables/blocks/pyrite_panneling.json similarity index 100% rename from src/main/resources/data/spectrum/loot_tables/blocks/pyrite_paneling.json rename to src/main/resources/data/spectrum/loot_tables/blocks/pyrite_panneling.json diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json index 2671db1893..e5ff988201 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_slab.json @@ -9,7 +9,7 @@ } }, "result": { - "item": "spectrum:pyrite_panneling_slab", + "item": "spectrum:pyrite_paneling_slab", "count": 6 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json index c2488cea91..b6c3ad49aa 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_stairs.json @@ -11,7 +11,7 @@ } }, "result": { - "item": "spectrum:pyrite_panneling_stairs", + "item": "spectrum:pyrite_paneling_stairs", "count": 4 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json index 3935568b42..3ea784af7f 100644 --- a/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json +++ b/src/main/resources/data/spectrum/recipes/crafting_table/pyrite/pyrite_paneling_wall.json @@ -10,7 +10,7 @@ } }, "result": { - "item": "spectrum:pyrite_panneling_wall", + "item": "spectrum:pyrite_paneling_wall", "count": 6 } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json index c582e1e914..e63328b451 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_slab_from_pyrite_paneling.json @@ -3,6 +3,6 @@ "ingredient": { "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_panneling_slab", + "result": "spectrum:pyrite_paneling_slab", "count": 2 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json index deb57db935..28ac97d8d8 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_stairs_from_pyrite_paneling.json @@ -3,6 +3,6 @@ "ingredient": { "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_panneling_stairs", + "result": "spectrum:pyrite_paneling_stairs", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json index eaca405584..89cceb0aaa 100644 --- a/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json +++ b/src/main/resources/data/spectrum/recipes/stonecutting/pyrite/pyrite_paneling_wall_from_pyrite_paneling.json @@ -3,6 +3,6 @@ "ingredient": { "item": "spectrum:pyrite_panneling" }, - "result": "spectrum:pyrite_panneling_wall", + "result": "spectrum:pyrite_paneling_wall", "count": 1 } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/blocks/pyrite.json b/src/main/resources/data/spectrum/tags/blocks/pyrite.json index 50da1ddc4f..511fc15082 100644 --- a/src/main/resources/data/spectrum/tags/blocks/pyrite.json +++ b/src/main/resources/data/spectrum/tags/blocks/pyrite.json @@ -20,9 +20,9 @@ "spectrum:pyrite_relief", "spectrum:pyrite_stack", "spectrum:pyrite_panneling", - "spectrum:pyrite_panneling_slab", - "spectrum:pyrite_panneling_stairs", - "spectrum:pyrite_panneling_wall", + "spectrum:pyrite_paneling_slab", + "spectrum:pyrite_paneling_stairs", + "spectrum:pyrite_paneling_wall", "spectrum:pyrite_vent" ] } \ No newline at end of file From 38cc57f55cbdeab4eff9a41a1c70923a895805e0 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 09:32:47 +0200 Subject: [PATCH 09/50] do not try to craft fluid recipes using discarded item entities. Resolves #517 --- .../java/de/dafuqs/spectrum/blocks/fluid/SpectrumFluid.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/dafuqs/spectrum/blocks/fluid/SpectrumFluid.java b/src/main/java/de/dafuqs/spectrum/blocks/fluid/SpectrumFluid.java index 2ae9795d80..372c043817 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/fluid/SpectrumFluid.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/fluid/SpectrumFluid.java @@ -94,7 +94,7 @@ public Optional getBucketFillSound() { public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) { if (!world.isClient) { - if (entity instanceof ItemEntity itemEntity && !itemEntity.cannotPickup()) { + if (entity instanceof ItemEntity itemEntity && !itemEntity.cannotPickup() && !itemEntity.isRemoved()) { if (world.random.nextInt(100) == 0) { ItemStack itemStack = itemEntity.getStack(); FluidConvertingRecipe recipe = getConversionRecipeFor(getDippingRecipeType(), world, itemStack); From 0ee08fc35a6bed160cc6a0df13bc6f37a3bb2f86 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 10:58:06 +0200 Subject: [PATCH 10/50] Workstaff enchantment switching checks for enchantment conflicts --- .../enchanter/EnchanterBlockEntity.java | 8 +--- .../plugins/EnchantmentUpgradeDisplay.java | 4 +- .../EnchantmentUpgradeEmiRecipeGated.java | 4 +- .../spectrum/items/tools/WorkstaffItem.java | 38 ++++++++++++------- .../registries/SpectrumAdvancements.java | 11 ++++++ .../resources/assets/spectrum/lang/en_us.json | 2 + 6 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java diff --git a/src/main/java/de/dafuqs/spectrum/blocks/enchanter/EnchanterBlockEntity.java b/src/main/java/de/dafuqs/spectrum/blocks/enchanter/EnchanterBlockEntity.java index 7bd254e426..2ef63b0519 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/enchanter/EnchanterBlockEntity.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/enchanter/EnchanterBlockEntity.java @@ -35,7 +35,6 @@ import net.minecraft.server.world.*; import net.minecraft.sound.*; import net.minecraft.stat.*; -import net.minecraft.util.*; import net.minecraft.util.math.*; import net.minecraft.util.math.random.Random; import net.minecraft.world.*; @@ -57,9 +56,6 @@ public class EnchanterBlockEntity extends InWorldInteractionBlockEntity implemen }}; public static final int REQUIRED_TICKS_FOR_EACH_EXPERIENCE_POINT = 4; - public static final Identifier APPLY_CONFLICTING_ENCHANTMENTS_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("milestones/unlock_conflicted_enchanting_with_enchanter"); - public static final Identifier OVERENCHANTING_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("milestones/unlock_overenchanting_with_enchanter"); - public static final int INVENTORY_SIZE = 2; // 0: any itemstack, 1: Knowledge Gem protected UUID ownerUUID; @@ -809,8 +805,8 @@ public UUID getOwnerUUID() { @Override public void setOwner(PlayerEntity playerEntity) { this.ownerUUID = playerEntity.getUuid(); - this.canOwnerApplyConflictingEnchantments = AdvancementHelper.hasAdvancement(playerEntity, APPLY_CONFLICTING_ENCHANTMENTS_ADVANCEMENT_IDENTIFIER); - this.canOwnerOverenchant = AdvancementHelper.hasAdvancement(playerEntity, OVERENCHANTING_ADVANCEMENT_IDENTIFIER); + this.canOwnerApplyConflictingEnchantments = AdvancementHelper.hasAdvancement(playerEntity, SpectrumAdvancements.APPLY_CONFLICTING_ENCHANTMENTS); + this.canOwnerOverenchant = AdvancementHelper.hasAdvancement(playerEntity, SpectrumAdvancements.OVERENCHANTING); markDirty(); } diff --git a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/EnchantmentUpgradeDisplay.java b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/EnchantmentUpgradeDisplay.java index 607cd40e83..67a2e2b408 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/EnchantmentUpgradeDisplay.java +++ b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/EnchantmentUpgradeDisplay.java @@ -1,11 +1,11 @@ package de.dafuqs.spectrum.compat.REI.plugins; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.blocks.enchanter.*; import de.dafuqs.spectrum.compat.REI.*; import de.dafuqs.spectrum.items.magic_items.*; import de.dafuqs.spectrum.recipe.enchanter.*; import de.dafuqs.spectrum.recipe.enchantment_upgrade.*; +import de.dafuqs.spectrum.registries.*; import me.shedaniel.rei.api.common.category.*; import me.shedaniel.rei.api.common.display.basic.*; import me.shedaniel.rei.api.common.entry.*; @@ -59,7 +59,7 @@ public boolean isUnlocked() { return false; } if (enchantmentDestinationLevel > enchantment.getMaxLevel()) { - return AdvancementHelper.hasAdvancement(client.player, EnchanterBlockEntity.OVERENCHANTING_ADVANCEMENT_IDENTIFIER); + return AdvancementHelper.hasAdvancement(client.player, SpectrumAdvancements.OVERENCHANTING); } else { return true; } diff --git a/src/main/java/de/dafuqs/spectrum/compat/emi/recipes/EnchantmentUpgradeEmiRecipeGated.java b/src/main/java/de/dafuqs/spectrum/compat/emi/recipes/EnchantmentUpgradeEmiRecipeGated.java index dd4689e54c..33afa0d0d6 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/emi/recipes/EnchantmentUpgradeEmiRecipeGated.java +++ b/src/main/java/de/dafuqs/spectrum/compat/emi/recipes/EnchantmentUpgradeEmiRecipeGated.java @@ -1,8 +1,8 @@ package de.dafuqs.spectrum.compat.emi.recipes; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.blocks.enchanter.*; import de.dafuqs.spectrum.recipe.enchantment_upgrade.*; +import de.dafuqs.spectrum.registries.*; import dev.emi.emi.api.recipe.*; import net.minecraft.client.*; @@ -22,7 +22,7 @@ public boolean isUnlocked() { return false; } if (requiresOverEnchanting) { - return AdvancementHelper.hasAdvancement(client.player, EnchanterBlockEntity.OVERENCHANTING_ADVANCEMENT_IDENTIFIER); + return AdvancementHelper.hasAdvancement(client.player, SpectrumAdvancements.OVERENCHANTING); } return true; } diff --git a/src/main/java/de/dafuqs/spectrum/items/tools/WorkstaffItem.java b/src/main/java/de/dafuqs/spectrum/items/tools/WorkstaffItem.java index 766c1c2b48..e321400821 100644 --- a/src/main/java/de/dafuqs/spectrum/items/tools/WorkstaffItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/tools/WorkstaffItem.java @@ -1,5 +1,6 @@ package de.dafuqs.spectrum.items.tools; +import de.dafuqs.revelationary.api.advancements.*; import de.dafuqs.spectrum.api.energy.*; import de.dafuqs.spectrum.api.energy.color.*; import de.dafuqs.spectrum.api.item.*; @@ -112,18 +113,18 @@ public boolean canUseAoE(PlayerEntity player, ItemStack stack) { } public static void applyToggle(PlayerEntity player, ItemStack stack, GUIToggle toggle) { - NbtCompound nbt = stack.getOrCreateNbt(); + switch (toggle) { case SELECT_1x1 -> { - nbt.remove(RANGE_NBT_STRING); + stack.getOrCreateNbt().remove(RANGE_NBT_STRING); player.sendMessage(toggle.getTriggerText(), true); } case SELECT_3x3 -> { - nbt.putInt(RANGE_NBT_STRING, 1); + stack.getOrCreateNbt().putInt(RANGE_NBT_STRING, 1); player.sendMessage(toggle.getTriggerText(), true); } case SELECT_5x5 -> { - nbt.putInt(RANGE_NBT_STRING, 2); + stack.getOrCreateNbt().putInt(RANGE_NBT_STRING, 2); player.sendMessage(toggle.getTriggerText(), true); } // switching to another enchantment @@ -139,28 +140,28 @@ public static void applyToggle(PlayerEntity player, ItemStack stack, GUIToggle t enchantAndRemoveOthers(player, stack, toggle.getTriggerText(), SpectrumEnchantments.RESONANCE); } case ENABLE_RIGHT_CLICK_ACTIONS -> { - nbt.remove(RIGHT_CLICK_DISABLED_NBT_STRING); + stack.getOrCreateNbt().remove(RIGHT_CLICK_DISABLED_NBT_STRING); player.sendMessage(toggle.getTriggerText(), true); } case DISABLE_RIGHT_CLICK_ACTIONS -> { - nbt.putBoolean(RIGHT_CLICK_DISABLED_NBT_STRING, true); + stack.getOrCreateNbt().putBoolean(RIGHT_CLICK_DISABLED_NBT_STRING, true); player.sendMessage(toggle.getTriggerText(), true); } case ENABLE_PROJECTILES -> { - nbt.remove(PROJECTILES_DISABLED_NBT_STRING); + stack.getOrCreateNbt().remove(PROJECTILES_DISABLED_NBT_STRING); player.sendMessage(toggle.getTriggerText(), true); } case DISABLE_PROJECTILES -> { - nbt.putBoolean(PROJECTILES_DISABLED_NBT_STRING, true); + stack.getOrCreateNbt().putBoolean(PROJECTILES_DISABLED_NBT_STRING, true); player.sendMessage(toggle.getTriggerText(), true); } } - stack.setNbt(nbt); } private static void enchantAndRemoveOthers(PlayerEntity player, ItemStack stack, Text message, Enchantment enchantment) { int existingLevel = EnchantmentHelper.getLevel(enchantment, stack); if (existingLevel > 0) { + player.sendMessage(Text.translatable("item.spectrum.workstaff.message.already_has_the_enchantment"), true); return; } @@ -179,11 +180,20 @@ private static void enchantAndRemoveOthers(PlayerEntity player, ItemStack stack, } } - if (SpectrumEnchantmentHelper.removeEnchantments(stack, Enchantments.SILK_TOUCH, SpectrumEnchantments.RESONANCE, Enchantments.FORTUNE).getRight() > 0) { - SpectrumEnchantmentHelper.addOrUpgradeEnchantment(stack, enchantment, level, true, true); - player.sendMessage(message, true); - } else if (player instanceof ServerPlayerEntity serverPlayerEntity) { - triggerUnenchantedWorkstaffAdvancement(serverPlayerEntity); + ItemStack newStack = stack.copy(); + var result = SpectrumEnchantmentHelper.removeEnchantments(newStack, Enchantments.SILK_TOUCH, SpectrumEnchantments.RESONANCE, Enchantments.FORTUNE); + if (result.getRight() == 0) { + if (player instanceof ServerPlayerEntity serverPlayerEntity) { + triggerUnenchantedWorkstaffAdvancement(serverPlayerEntity); + } + } else { + var result2 = SpectrumEnchantmentHelper.addOrUpgradeEnchantment(result.getLeft(), enchantment, level, false, AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.APPLY_CONFLICTING_ENCHANTMENTS)); + if (result2.getLeft()) { + stack.setNbt(result2.getRight().getNbt()); + player.sendMessage(message, true); + } else { + player.sendMessage(Text.translatable("item.spectrum.workstaff.message.would_result_in_conflicting_enchantments"), true); + } } } diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java new file mode 100644 index 0000000000..f4f8d97ae6 --- /dev/null +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java @@ -0,0 +1,11 @@ +package de.dafuqs.spectrum.registries; + +import de.dafuqs.spectrum.*; +import net.minecraft.util.*; + +public class SpectrumAdvancements { + + public static final Identifier APPLY_CONFLICTING_ENCHANTMENTS = SpectrumCommon.locate("milestones/unlock_conflicted_enchanting_with_enchanter"); + public static final Identifier OVERENCHANTING = SpectrumCommon.locate("milestones/unlock_overenchanting_with_enchanter"); + +} diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 671a9a00e5..4573fa4b96 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -4879,6 +4879,8 @@ "item.spectrum.workstaff.message.fortune": "Switched Enchantment to Fortune", "item.spectrum.workstaff.message.resonance": "Switched Enchantment to Resonance", "item.spectrum.workstaff.message.silk_touch": "Switched Enchantment to Silk Touch", + "item.spectrum.workstaff.message.would_result_in_conflicting_enchantments": "Switching enchantments would result in a conflict", + "item.spectrum.workstaff.message.already_has_the_enchantment": "Enchantment is already present", "item.spectrum.workstaff.tooltip.mining_range": "%dx%d area mining active (§fWhite Ink§r)", "item.spectrum.workstaff.tooltip.projectile": "Ranged mining active (§fWhite Ink§r)", "item.spectrum.workstaff.tooltip.projectiles_disabled": "Ranged Mining disabled", From b6daf4d4291625c208e0612221d256ec2165ab1c Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 11:53:35 +0200 Subject: [PATCH 11/50] add missing type --- .../progression/UnlockToastManager.java | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java index 494af93b4f..75b9cf19f0 100644 --- a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java +++ b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java @@ -21,7 +21,7 @@ @Environment(EnvType.CLIENT) public class UnlockToastManager { // Advancement Identifier + Recipe Type => Recipe - public static final Map, List>> gatedRecipes = new HashMap<>(); + public static final Map, List>>> gatedRecipes = new HashMap<>(); public static final HashMap> messageToasts = new HashMap<>() {{ put(SpectrumCommon.locate("milestones/unlock_shooting_stars"), new Pair<>(Items.SPYGLASS.getDefaultStack(), "shooting_stars_unlocked")); @@ -36,7 +36,7 @@ public class UnlockToastManager { put(PaintbrushItem.UNLOCK_INK_SLINGING_ADVANCEMENT_ID, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "paint_flinging_unlocked")); }}; - public static void registerGatedRecipe(RecipeType recipeType, GatedRecipe gatedRecipe) { + public static void registerGatedRecipe(RecipeType recipeType, GatedRecipe gatedRecipe) { Identifier requiredAdvancementIdentifier = gatedRecipe.getRequiredAdvancementIdentifier(); // secret recipes should not have a popup @@ -45,20 +45,20 @@ public static void registerGatedRecipe(RecipeType recipeType, GatedRecipe gat } if (gatedRecipes.containsKey(requiredAdvancementIdentifier)) { - Map, List> recipeTypeListMap = gatedRecipes.get(requiredAdvancementIdentifier); + Map, List>> recipeTypeListMap = gatedRecipes.get(requiredAdvancementIdentifier); if (recipeTypeListMap.containsKey(recipeType)) { - List existingList = recipeTypeListMap.get(recipeType); + List> existingList = recipeTypeListMap.get(recipeType); if (!existingList.contains(gatedRecipe)) { existingList.add(gatedRecipe); } } else { - List newList = new ArrayList<>(); + List> newList = new ArrayList<>(); newList.add(gatedRecipe); recipeTypeListMap.put(recipeType, newList); } } else { - Map, List> recipeTypeListMap = new HashMap<>(); - List newList = new ArrayList<>(); + Map, List>> recipeTypeListMap = new HashMap<>(); + List> newList = new ArrayList<>(); newList.add(gatedRecipe); recipeTypeListMap.put(recipeType, newList); gatedRecipes.put(requiredAdvancementIdentifier, recipeTypeListMap); @@ -70,22 +70,22 @@ public static void processAdvancements(Set doneAdvancements) { DynamicRegistryManager registryManager = client.world.getRegistryManager(); int unlockedRecipeCount = 0; - HashMap, List> unlockedRecipesByType = new HashMap<>(); + HashMap, List>> unlockedRecipesByType = new HashMap<>(); List> specialToasts = new ArrayList<>(); for (Identifier doneAdvancement : doneAdvancements) { if (gatedRecipes.containsKey(doneAdvancement)) { - Map, List> recipesGatedByAdvancement = gatedRecipes.get(doneAdvancement); + Map, List>> recipesGatedByAdvancement = gatedRecipes.get(doneAdvancement); - for (Map.Entry, List> recipesByType : recipesGatedByAdvancement.entrySet()) { - List newRecipes; + for (Map.Entry, List>> recipesByType : recipesGatedByAdvancement.entrySet()) { + List> newRecipes; if (unlockedRecipesByType.containsKey(recipesByType.getKey())) { newRecipes = unlockedRecipesByType.get(recipesByType.getKey()); } else { newRecipes = new ArrayList<>(); } - for (GatedRecipe unlockedRecipe : recipesByType.getValue()) { + for (GatedRecipe unlockedRecipe : recipesByType.getValue()) { if (unlockedRecipe.canPlayerCraft(client.player)) { if (!newRecipes.contains((unlockedRecipe))) { newRecipes.add(unlockedRecipe); @@ -99,14 +99,14 @@ public static void processAdvancements(Set doneAdvancements) { Optional newlyUnlockedRecipeTier = PedestalRecipeTier.hasJustUnlockedANewRecipeTier(doneAdvancement); if (newlyUnlockedRecipeTier.isPresent()) { - List unlockedPedestalRecipes; + List> unlockedPedestalRecipes; if (unlockedRecipesByType.containsKey(SpectrumRecipeTypes.PEDESTAL)) { unlockedPedestalRecipes = unlockedRecipesByType.get(SpectrumRecipeTypes.PEDESTAL); } else { unlockedPedestalRecipes = new ArrayList<>(); } - List pedestalRecipes = new ArrayList<>(); - for (Map, List> recipesByType : gatedRecipes.values()) { + List> pedestalRecipes = new ArrayList<>(); + for (Map, List>> recipesByType : gatedRecipes.values()) { if (recipesByType.containsKey(SpectrumRecipeTypes.PEDESTAL)) { pedestalRecipes.addAll(recipesByType.get(SpectrumRecipeTypes.PEDESTAL)); } @@ -129,14 +129,14 @@ public static void processAdvancements(Set doneAdvancements) { // => show a single toast. Nobody's going to remember all that stuff. // At that point it would be overwhelming / annoying List allStacks = new ArrayList<>(); - for (List recipes : unlockedRecipesByType.values()) { - for (GatedRecipe recipe : recipes) { + for (List> recipes : unlockedRecipesByType.values()) { + for (GatedRecipe recipe : recipes) { allStacks.add(recipe.getOutput(client.world.getRegistryManager())); } } UnlockedRecipeToast.showLotsOfRecipesToast(MinecraftClient.getInstance(), allStacks); } else { - for (List unlockedRecipeList : unlockedRecipesByType.values()) { + for (List> unlockedRecipeList : unlockedRecipesByType.values()) { showGroupedRecipeUnlockToasts(registryManager, unlockedRecipeList); } } @@ -146,7 +146,7 @@ public static void processAdvancements(Set doneAdvancements) { } } - private static void showGroupedRecipeUnlockToasts(DynamicRegistryManager registryManager, List unlockedRecipes) { + private static void showGroupedRecipeUnlockToasts(DynamicRegistryManager registryManager, List> unlockedRecipes) { if (unlockedRecipes.isEmpty()) { return; } @@ -157,8 +157,8 @@ private static void showGroupedRecipeUnlockToasts(DynamicRegistryManager registr List singleRecipes = new ArrayList<>(); HashMap> groupedRecipes = new HashMap<>(); - - for (GatedRecipe recipe : unlockedRecipes) { + + for (GatedRecipe recipe : unlockedRecipes) { if (!recipe.getOutput(registryManager).isEmpty()) { // weather recipes if (recipe.getGroup() == null) { SpectrumCommon.logWarning("Found a recipe with null group: " + recipe.getId().toString() + " Please report this. If you are Dafuqs and you are reading this: you messed up big time."); @@ -202,12 +202,12 @@ private static void showGroupedRecipeUnlockToasts(DynamicRegistryManager registr * * @param pedestalRecipeTier The new pedestal recipe tier the player unlocked */ - private static @NotNull List getRecipesForTierWithAllConditionsMet(PedestalRecipeTier pedestalRecipeTier, List pedestalRecipes) { + private static @NotNull List getRecipesForTierWithAllConditionsMet(PedestalRecipeTier pedestalRecipeTier, List> pedestalRecipes) { MinecraftClient client = MinecraftClient.getInstance(); PlayerEntity player = client.player; List alreadyUnlockedRecipesAtNewTier = new ArrayList<>(); - for (GatedRecipe recipe : pedestalRecipes) { + for (GatedRecipe recipe : pedestalRecipes) { PedestalRecipe pedestalRecipe = (PedestalRecipe) recipe; if (pedestalRecipe.getTier() == pedestalRecipeTier && !alreadyUnlockedRecipesAtNewTier.contains(recipe) && recipe.canPlayerCraft(player)) { alreadyUnlockedRecipesAtNewTier.add(pedestalRecipe); From 874a18078138ae09c24da16ba2d5ff3729e8c582 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 12:14:33 +0200 Subject: [PATCH 12/50] Extract loot tables & advancements into static classes --- .../conditional/FourLeafCloverBlock.java | 3 +- .../conditional/MermaidsBrushBlock.java | 5 +- .../conditional/QuitoxicReedsBlock.java | 3 +- .../conditional/RadiatingEnderBlock.java | 3 +- .../conditional/StuckStormStoneBlock.java | 3 +- .../amaranth/AmaranthBushelBlock.java | 3 +- .../amaranth/AmaranthCropBlock.java | 6 +- .../amaranth/PottedAmaranthBushelBlock.java | 3 +- .../conditional/colored_tree/ColoredTree.java | 13 +-- .../blocks/deeper_down/DragonboneBlock.java | 3 +- .../WeepingGalaFrondsTipBlock.java | 48 ++++------ .../deeper_down/flora/NightdewBlock.java | 37 +++----- .../flora/SawbladeHollyBushBlock.java | 8 +- .../spectrum/blocks/jade_vines/JadeVine.java | 7 +- .../blocks/jade_vines/JadeVinePlantBlock.java | 4 +- .../PotionWorkshopBlockEntity.java | 4 +- .../blocks/shooting_star/ShootingStar.java | 46 +++------ .../shooting_star/ShootingStarBlock.java | 5 - .../SpiritInstillerBlock.java | 3 - .../compat/REI/plugins/FreezingDisplay.java | 7 +- .../compat/REI/plugins/HeatingDisplay.java | 7 +- .../NaturesStaffConversionsDisplay.java | 5 +- .../compat/emi/SpectrumEmiPlugin.java | 8 +- .../compat/farmersdelight/FDCompat.java | 3 +- .../entity/EggLayingWoolyPigEntity.java | 4 +- .../entity/entity/MonstrosityEntity.java | 6 +- .../entity/entity/ShootingStarEntity.java | 2 +- .../entity/SpectrumFishingBobberEntity.java | 6 +- .../entity/variants/KindlingVariant.java | 3 +- .../inventories/PotionWorkshopScreen.java | 4 +- .../PotionWorkshopScreenHandler.java | 2 +- .../spectrum/items/MysteriousCompassItem.java | 6 +- .../items/magic_items/PaintbrushItem.java | 8 +- .../magic_items/StaffOfRemembranceItem.java | 5 +- .../loot/SpectrumLootPoolModifiers.java | 12 +-- .../spectrum/mixin/GlassBottleItemMixin.java | 8 +- .../mixin/ShearsDispenserBehaviorMixin.java | 4 +- .../progression/UnlockToastManager.java | 23 +++-- .../recipe/pedestal/PedestalRecipeTier.java | 11 +-- .../SpiritInstillerRecipe.java | 4 +- .../SpawnerChangeRecipe.java | 3 +- .../SpawnerCreatureChangeRecipe.java | 3 +- .../registries/SpectrumAdvancements.java | 93 ++++++++++++++++++- .../spectrum/registries/SpectrumBlocks.java | 50 +++++----- .../registries/SpectrumEnchantments.java | 40 ++++---- .../spectrum/registries/SpectrumItems.java | 57 ++++++------ .../registries/SpectrumLootTables.java | 45 +++++++++ 47 files changed, 335 insertions(+), 301 deletions(-) create mode 100644 src/main/java/de/dafuqs/spectrum/registries/SpectrumLootTables.java diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/FourLeafCloverBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/FourLeafCloverBlock.java index cf832bf9de..ff04473087 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/FourLeafCloverBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/FourLeafCloverBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.conditional; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.decoration.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -19,7 +18,7 @@ public FourLeafCloverBlock(Settings settings) { @Override public Identifier getCloakAdvancementIdentifier() { - return SpectrumCommon.locate("milestones/reveal_four_leaf_clover"); + return SpectrumAdvancements.REVEAL_FOUR_LEAF_CLOVER; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/MermaidsBrushBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/MermaidsBrushBlock.java index 0f223facbc..71a45af713 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/MermaidsBrushBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/MermaidsBrushBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.conditional; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -26,8 +25,6 @@ public class MermaidsBrushBlock extends PlantBlock implements Fertilizable, Reve private static final VoxelShape SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); - public static final Identifier UNLOCK_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_mermaids_brush"); - public static final EnumProperty LOGGED = FluidLogging.ANY_EXCLUDING_NONE; public static final IntProperty AGE = Properties.AGE_7; @@ -56,7 +53,7 @@ public void onEntityCollision(BlockState state, World world, BlockPos pos, Entit @Override public Identifier getCloakAdvancementIdentifier() { - return UNLOCK_IDENTIFIER; + return SpectrumAdvancements.REVEAL_MERMAIDS_BRUSH; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/QuitoxicReedsBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/QuitoxicReedsBlock.java index 8635546020..c3d16b0e82 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/QuitoxicReedsBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/QuitoxicReedsBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.conditional; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -46,7 +45,7 @@ public QuitoxicReedsBlock(Settings settings) { @Override public Identifier getCloakAdvancementIdentifier() { - return SpectrumCommon.locate("milestones/reveal_quitoxic_reeds"); + return SpectrumAdvancements.REVEAL_QUITOXIC_REEDS; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/RadiatingEnderBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/RadiatingEnderBlock.java index 438b5f6b1a..f2d6543b03 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/RadiatingEnderBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/RadiatingEnderBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.conditional; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; import net.minecraft.entity.*; @@ -21,7 +20,7 @@ public RadiatingEnderBlock(Settings settings) { @Override public Identifier getCloakAdvancementIdentifier() { - return SpectrumCommon.locate("milestones/reveal_radiating_ender"); + return SpectrumAdvancements.REVEAL_RADIATING_ENDER; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/StuckStormStoneBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/StuckStormStoneBlock.java index ecb30a8141..3ff9cea8bc 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/StuckStormStoneBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/StuckStormStoneBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.conditional; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; import net.minecraft.entity.*; @@ -86,7 +85,7 @@ public void onDestroyedByExplosion(World world, BlockPos pos, Explosion explosio @Override public Identifier getCloakAdvancementIdentifier() { - return SpectrumCommon.locate("milestones/reveal_storm_stones"); + return SpectrumAdvancements.REVEAL_STORM_STONES; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthBushelBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthBushelBlock.java index 300c53246f..c5b57d4e13 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthBushelBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthBushelBlock.java @@ -1,6 +1,7 @@ package de.dafuqs.spectrum.blocks.conditional.amaranth; import de.dafuqs.revelationary.api.revelations.*; +import de.dafuqs.spectrum.registries.*; import de.dafuqs.spectrum.registries.client.*; import net.minecraft.block.*; import net.minecraft.entity.effect.*; @@ -19,7 +20,7 @@ public AmaranthBushelBlock(StatusEffect suspiciousStewEffect, int effectDuration @Override public Identifier getCloakAdvancementIdentifier() { - return AmaranthCropBlock.ADVANCEMENT_IDENTIFIER; + return SpectrumAdvancements.REVEAL_AMARANTH; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java index ca331fb9a7..ae425250d0 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java @@ -1,10 +1,9 @@ package de.dafuqs.spectrum.blocks.conditional.amaranth; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.blocks.*; import de.dafuqs.spectrum.registries.*; import de.dafuqs.spectrum.registries.client.*; -import de.dafuqs.spectrum.blocks.*; import net.minecraft.block.*; import net.minecraft.block.enums.*; import net.minecraft.item.*; @@ -18,7 +17,6 @@ public class AmaranthCropBlock extends TallCropBlock implements RevelationAware { - public static final Identifier ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_amaranth"); protected static final int LAST_SINGLE_BLOCK_AGE = 2; protected static final int MAX_AGE = 7; @@ -50,7 +48,7 @@ protected ItemConvertible getSeedsItem() { @Override public Identifier getCloakAdvancementIdentifier() { - return ADVANCEMENT_IDENTIFIER; + return SpectrumAdvancements.REVEAL_AMARANTH; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/PottedAmaranthBushelBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/PottedAmaranthBushelBlock.java index f4413c4940..32610b67a8 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/PottedAmaranthBushelBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/PottedAmaranthBushelBlock.java @@ -1,6 +1,7 @@ package de.dafuqs.spectrum.blocks.conditional.amaranth; import de.dafuqs.revelationary.api.revelations.*; +import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; import net.minecraft.item.*; import net.minecraft.util.*; @@ -17,7 +18,7 @@ public PottedAmaranthBushelBlock(Block content, Settings settings) { @Override public Identifier getCloakAdvancementIdentifier() { - return AmaranthCropBlock.ADVANCEMENT_IDENTIFIER; + return SpectrumAdvancements.REVEAL_AMARANTH; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/colored_tree/ColoredTree.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/colored_tree/ColoredTree.java index ab2cb8c7d7..ea66145dcb 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/colored_tree/ColoredTree.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/colored_tree/ColoredTree.java @@ -1,15 +1,10 @@ package de.dafuqs.spectrum.blocks.conditional.colored_tree; -import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.registries.*; import net.minecraft.util.*; public interface ColoredTree { - Identifier SAPLING_CMY_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_colored_saplings_cmy"); - Identifier TREES_CMY_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_colored_trees_cmy"); - Identifier TREES_B_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_colored_trees_k"); - Identifier TREES_W_IDENTIFIER = SpectrumCommon.locate("milestones/reveal_colored_trees_w"); - enum TreePart { SAPLING, LOG, @@ -22,13 +17,13 @@ enum TreePart { static Identifier getTreeCloakAdvancementIdentifier(TreePart treePart, DyeColor color) { switch (color) { case WHITE, LIGHT_GRAY, GRAY -> { - return TREES_W_IDENTIFIER; + return SpectrumAdvancements.REVEAL_COLORED_TREES_WHITE; } case BLACK, BROWN -> { - return TREES_B_IDENTIFIER; + return SpectrumAdvancements.REVEAL_COLORED_TREES_BLACK; } default -> { - return treePart == TreePart.SAPLING ? SAPLING_CMY_ADVANCEMENT_IDENTIFIER : TREES_CMY_IDENTIFIER; + return treePart == TreePart.SAPLING ? SpectrumAdvancements.REVEAL_COLORED_SAPLINGS_CMY : SpectrumAdvancements.REVEAL_COLORED_TREES_CMY; } } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/DragonboneBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/DragonboneBlock.java index 60ba687e6c..a0621c6070 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/DragonboneBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/DragonboneBlock.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.blocks.deeper_down; import de.dafuqs.revelationary.api.revelations.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.block.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -48,7 +47,7 @@ public BlockState getStateForExplosion(World world, BlockPos blockPos, BlockStat @Override public Identifier getCloakAdvancementIdentifier() { - return SpectrumCommon.locate("milestones/reveal_dragonbone"); + return SpectrumAdvancements.REVEAL_DRAGONBONE; } @Override diff --git a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/WeepingGalaFrondsTipBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/WeepingGalaFrondsTipBlock.java index dfd44d5740..f24e279e24 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/WeepingGalaFrondsTipBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/WeepingGalaFrondsTipBlock.java @@ -1,37 +1,27 @@ package de.dafuqs.spectrum.blocks.deeper_down; -import de.dafuqs.spectrum.SpectrumCommon; -import de.dafuqs.spectrum.blocks.deeper_down.flora.WeepingGalaFrondsBlock; -import de.dafuqs.spectrum.helpers.BlockReference; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.loot.LootTable; -import net.minecraft.loot.context.LootContextParameterSet; -import net.minecraft.loot.context.LootContextParameters; -import net.minecraft.loot.context.LootContextTypes; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.sound.SoundCategory; -import net.minecraft.sound.SoundEvents; -import net.minecraft.state.StateManager; -import net.minecraft.state.property.EnumProperty; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.Identifier; -import net.minecraft.util.StringIdentifiable; -import net.minecraft.util.hit.BlockHitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3d; +import de.dafuqs.spectrum.blocks.deeper_down.flora.*; +import de.dafuqs.spectrum.helpers.*; +import de.dafuqs.spectrum.registries.*; +import net.minecraft.block.*; +import net.minecraft.entity.player.*; +import net.minecraft.item.*; +import net.minecraft.loot.*; +import net.minecraft.loot.context.*; +import net.minecraft.server.world.*; +import net.minecraft.sound.*; +import net.minecraft.state.*; +import net.minecraft.state.property.*; +import net.minecraft.util.*; +import net.minecraft.util.hit.*; +import net.minecraft.util.math.*; import net.minecraft.util.math.random.Random; -import net.minecraft.world.World; +import net.minecraft.world.*; -import java.util.List; +import java.util.*; public class WeepingGalaFrondsTipBlock extends WeepingGalaFrondsBlock { - public static final Identifier SPRIG_LOOT_TABLE = SpectrumCommon.locate("gameplay/weeping_gala_sprig_resin"); - public static final EnumProperty
FORM = EnumProperty.of("form", Form.class); public WeepingGalaFrondsTipBlock(Settings settings) { @@ -55,7 +45,7 @@ public void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random reference.update(world); } else { - for (ItemStack rareStack : getResinStacks(state, world, pos, ItemStack.EMPTY, SPRIG_LOOT_TABLE)) { + for (ItemStack rareStack : getResinStacks(state, world, pos, ItemStack.EMPTY, SpectrumLootTables.WEEPING_GALA_SPRIG_RESIN)) { dropStack(world, pos, rareStack); } world.playSound(null, pos, SoundEvents.BLOCK_BEEHIVE_DRIP, SoundCategory.BLOCKS, 1, 0.9F + random.nextFloat() * 0.2F); @@ -70,7 +60,7 @@ public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEnt var reference = BlockReference.of(state, pos); if (reference.getProperty(FORM) == Form.RESIN) { if (!world.isClient()) { - for (ItemStack rareStack : getResinStacks(state, (ServerWorld) world, pos, player.getMainHandStack(), SPRIG_LOOT_TABLE)) { + for (ItemStack rareStack : getResinStacks(state, (ServerWorld) world, pos, player.getMainHandStack(), SpectrumLootTables.WEEPING_GALA_SPRIG_RESIN)) { dropStack(world, pos, rareStack); } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/NightdewBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/NightdewBlock.java index 87e8316699..82a0f5509d 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/NightdewBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/NightdewBlock.java @@ -1,31 +1,20 @@ package de.dafuqs.spectrum.blocks.deeper_down.flora; -import de.dafuqs.spectrum.SpectrumCommon; -import de.dafuqs.spectrum.registries.SpectrumBlockTags; -import de.dafuqs.spectrum.registries.SpectrumItems; -import net.minecraft.block.BlockState; -import net.minecraft.block.entity.BlockEntity; -import net.minecraft.entity.Entity; -import net.minecraft.entity.LivingEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.loot.LootTable; -import net.minecraft.loot.context.LootContextParameterSet; -import net.minecraft.loot.context.LootContextParameters; -import net.minecraft.loot.context.LootContextTypes; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Box; -import net.minecraft.util.math.MathHelper; -import net.minecraft.util.math.Vec3d; -import net.minecraft.world.BlockView; -import org.jetbrains.annotations.Nullable; - -import java.util.List; +import de.dafuqs.spectrum.registries.*; +import net.minecraft.block.*; +import net.minecraft.entity.*; +import net.minecraft.item.*; +import net.minecraft.loot.*; +import net.minecraft.loot.context.*; +import net.minecraft.server.world.*; +import net.minecraft.util.*; +import net.minecraft.util.math.*; +import net.minecraft.world.*; + +import java.util.*; public class NightdewBlock extends TriStateVineBlock { - public static final Identifier BURGEON_LOOT_TABLE = SpectrumCommon.locate("gameplay/nightdew_vine_rare_drop"); public static final float BASE_BURGEON_CHANCE = 10000; public static final float MAX_BURGEON_CHANCE = 1000; @@ -52,7 +41,7 @@ public void onStacksDropped(BlockState state, ServerWorld world, BlockPos pos, I var dropChance = MathHelper.clampedLerp(BASE_BURGEON_CHANCE, MAX_BURGEON_CHANCE, sleepingEntities); if (random.nextFloat() < 1 / dropChance) - for (ItemStack rareStack : getRareStacks(state, world, pos, tool, BURGEON_LOOT_TABLE)) { + for (ItemStack rareStack : getRareStacks(state, world, pos, tool, SpectrumLootTables.NIGHTDEW_VINE_RARE_DROP)) { dropStack(world, pos, rareStack); } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/SawbladeHollyBushBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/SawbladeHollyBushBlock.java index 32deec752e..13bea9e188 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/SawbladeHollyBushBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/deeper_down/flora/SawbladeHollyBushBlock.java @@ -1,6 +1,5 @@ package de.dafuqs.spectrum.blocks.deeper_down.flora; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.jade_vines.*; import de.dafuqs.spectrum.registries.*; import net.fabricmc.fabric.api.tag.convention.v1.*; @@ -31,9 +30,6 @@ public class SawbladeHollyBushBlock extends PlantBlock implements Fertilizable { private static final VoxelShape SMALL_SHAPE = Block.createCuboidShape(3.0, 0.0, 3.0, 13.0, 8.0, 13.0); private static final VoxelShape LARGE_SHAPE = Block.createCuboidShape(1.0, 0.0, 1.0, 15.0, 16.0, 15.0); - public static final Identifier HARVESTING_LOOT_TABLE_ID = SpectrumCommon.locate("gameplay/sawblade_holly_harvesting"); - public static final Identifier SHEARING_LOOT_TABLE_ID = SpectrumCommon.locate("gameplay/sawblade_holly_shearing"); - public SawbladeHollyBushBlock(Settings settings) { super(settings); this.setDefaultState(this.stateManager.getDefaultState().with(AGE, 0)); @@ -105,7 +101,7 @@ public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEnt ItemStack handStack = player.getStackInHand(hand); if (canBeSheared(age) && handStack.isIn(ConventionalItemTags.SHEARS)) { if (!world.isClient) { - for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), SHEARING_LOOT_TABLE_ID)) { + for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), SpectrumLootTables.SAWBLADE_HOLLY_SHEARING)) { dropStack(world, pos, stack); } handStack.damage(1, player, (p) -> p.sendToolBreakStatus(hand)); @@ -119,7 +115,7 @@ public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEnt return ActionResult.success(world.isClient); } else if (age == MAX_AGE) { if (!world.isClient) { - for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), HARVESTING_LOOT_TABLE_ID)) { + for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), SpectrumLootTables.SAWBLADE_HOLLY_HARVESTING)) { dropStack(world, pos, stack); } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVine.java b/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVine.java index ce8e09918f..e5182135b6 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVine.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVine.java @@ -1,14 +1,12 @@ package de.dafuqs.spectrum.blocks.jade_vines; -import de.dafuqs.spectrum.*; -import de.dafuqs.spectrum.helpers.TimeHelper; +import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.networking.*; import de.dafuqs.spectrum.particle.*; import net.minecraft.block.*; import net.minecraft.particle.*; import net.minecraft.server.world.*; import net.minecraft.state.property.*; -import net.minecraft.util.*; import net.minecraft.util.math.*; import net.minecraft.util.math.random.*; import net.minecraft.util.shape.*; @@ -22,9 +20,6 @@ public interface JadeVine { VoxelShape SHAPE = Block.createCuboidShape(2.0D, 0.0D, 2.0D, 14.0D, 16.0D, 14.0D); VoxelShape TIP_SHAPE = Block.createCuboidShape(2.0D, 2.0D, 2.0D, 14.0D, 16.0D, 14.0D); - Identifier PETAL_HARVESTING_LOOT_IDENTIFIER = SpectrumCommon.locate("gameplay/jade_vine_petal_harvesting"); - Identifier NECTAR_HARVESTING_LOOT_IDENTIFIER = SpectrumCommon.locate("gameplay/jade_vine_nectar_harvesting"); - static void spawnBloomParticlesClient(World world, BlockPos blockPos) { spawnParticlesClient(world, blockPos, SpectrumParticleTypes.JADE_VINES_BLOOM); diff --git a/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVinePlantBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVinePlantBlock.java index 559df70905..595526e3a7 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVinePlantBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/jade_vines/JadeVinePlantBlock.java @@ -114,7 +114,7 @@ public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEnt handStack.decrement(1); setHarvested(state, (ServerWorld) world, pos); - List harvestedStacks = getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, handStack, NECTAR_HARVESTING_LOOT_IDENTIFIER); + List harvestedStacks = getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, handStack, SpectrumLootTables.JADE_VINE_HARVESTING_NECTAR); for (ItemStack harvestedStack : harvestedStacks) { player.getInventory().offerOrDrop(harvestedStack); } @@ -133,7 +133,7 @@ public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEnt if (!world.isClient) { setHarvested(state, (ServerWorld) world, pos); - List harvestedStacks = getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), PETAL_HARVESTING_LOOT_IDENTIFIER); + List harvestedStacks = getHarvestedStacks(state, (ServerWorld) world, pos, world.getBlockEntity(pos), player, player.getMainHandStack(), SpectrumLootTables.JADE_VINE_HARVESTING_PETALS); for (ItemStack harvestedStack : harvestedStacks) { player.getInventory().offerOrDrop(harvestedStack); } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/potion_workshop/PotionWorkshopBlockEntity.java b/src/main/java/de/dafuqs/spectrum/blocks/potion_workshop/PotionWorkshopBlockEntity.java index 2084a314fc..d79a485db6 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/potion_workshop/PotionWorkshopBlockEntity.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/potion_workshop/PotionWorkshopBlockEntity.java @@ -55,8 +55,6 @@ public class PotionWorkshopBlockEntity extends BlockEntity implements NamedScree private static final int[] ACCESSIBLE_SLOTS_SIDE_WITH_UNLOCK = {5, 6, 7, 8}; private static final int[] ACCESSIBLE_SLOTS_DOWN = {9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}; - public static final Identifier FOURTH_BREWING_SLOT_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("milestones/unlock_fourth_potion_workshop_reagent_slot"); - protected final PropertyDelegate propertyDelegate; protected DefaultedList inventory; protected boolean inventoryChanged; @@ -544,7 +542,7 @@ private boolean hasFourthReagentSlotUnlocked(PlayerEntity playerEntity) { if (playerEntity == null) { return false; } else { - return AdvancementHelper.hasAdvancement(playerEntity, FOURTH_BREWING_SLOT_ADVANCEMENT_IDENTIFIER); + return AdvancementHelper.hasAdvancement(playerEntity, SpectrumAdvancements.FOURTH_BREWING_SLOT); } } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStar.java b/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStar.java index cb2ad86a54..e94d01730b 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStar.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStar.java @@ -1,6 +1,5 @@ package de.dafuqs.spectrum.blocks.shooting_star; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -11,21 +10,19 @@ public interface ShootingStar { - ShootingStar.Type getShootingStarType(); - enum Type { - GLISTERING("glistering"), - FIERY("fiery"), - COLORFUL("colorful"), - PRISTINE("pristine"), - GEMSTONE("gemstone"); - - public static final Identifier BOUNCE_LOOT_TABLE = SpectrumCommon.locate("entity/shooting_star/shooting_star_bounce"); + GLISTERING("glistering", SpectrumLootTables.GLISTERING_SHOOTING_STAR), + FIERY("fiery", SpectrumLootTables.FIERY_SHOOTING_STAR), + COLORFUL("colorful", SpectrumLootTables.COLORFUL_SHOOTING_STAR), + PRISTINE("pristine", SpectrumLootTables.PRISTINE_SHOOTING_STAR), + GEMSTONE("gemstone", SpectrumLootTables.GEMSTONE_SHOOTING_STAR); private final String name; - - Type(String name) { + private final Identifier lootTable; + + Type(String name, Identifier lootTable) { this.name = name; + this.lootTable = lootTable; } public static Type getWeightedRandomType(@NotNull Random random) { @@ -66,28 +63,11 @@ public static Type getType(String name) { @Contract("_ -> new") public static @NotNull Identifier getLootTableIdentifier(int index) { - return getLootTableIdentifier(values()[index]); + return values()[index].getLootTableIdentifier(); } - - @Contract("_ -> new") - public static @NotNull Identifier getLootTableIdentifier(@NotNull ShootingStar.Type type) { - switch (type) { - case FIERY -> { - return SpectrumCommon.locate("entity/shooting_star/fiery_shooting_star"); - } - case COLORFUL -> { - return SpectrumCommon.locate("entity/shooting_star/colorful_shooting_star"); - } - case GEMSTONE -> { - return SpectrumCommon.locate("entity/shooting_star/gemstone_shooting_star"); - } - case PRISTINE -> { - return SpectrumCommon.locate("entity/shooting_star/pristine_shooting_star"); - } - default -> { - return SpectrumCommon.locate("entity/shooting_star/glistering_shooting_star"); - } - } + + public @NotNull Identifier getLootTableIdentifier() { + return this.lootTable; } public String getName() { diff --git a/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStarBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStarBlock.java index bebcdd1ba7..bdd31adf18 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStarBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/shooting_star/ShootingStarBlock.java @@ -27,9 +27,4 @@ public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos po return SHAPE; } - @Override - public ShootingStar.Type getShootingStarType() { - return this.shootingStarType; - } - } diff --git a/src/main/java/de/dafuqs/spectrum/blocks/spirit_instiller/SpiritInstillerBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/spirit_instiller/SpiritInstillerBlock.java index b5176f1816..99b477fb48 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/spirit_instiller/SpiritInstillerBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/spirit_instiller/SpiritInstillerBlock.java @@ -2,7 +2,6 @@ import com.klikli_dev.modonomicon.api.multiblock.*; import com.klikli_dev.modonomicon.client.render.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.*; import de.dafuqs.spectrum.compat.modonomicon.*; import de.dafuqs.spectrum.helpers.*; @@ -21,8 +20,6 @@ import org.jetbrains.annotations.*; public class SpiritInstillerBlock extends InWorldInteractionBlock { - - public static final Identifier UNLOCK_IDENTIFIER = SpectrumCommon.locate("midgame/build_spirit_instiller_structure"); protected static final VoxelShape SHAPE = Block.createCuboidShape(0.0D, 0.0D, 0.0D, 16.0D, 15.0D, 16.0D); public SpiritInstillerBlock(Settings settings) { diff --git a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/FreezingDisplay.java b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/FreezingDisplay.java index 45ee13333d..75f34ce241 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/FreezingDisplay.java +++ b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/FreezingDisplay.java @@ -1,19 +1,16 @@ package de.dafuqs.spectrum.compat.REI.plugins; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.compat.REI.*; +import de.dafuqs.spectrum.registries.*; import me.shedaniel.rei.api.common.category.*; import me.shedaniel.rei.api.common.entry.*; import net.minecraft.client.*; -import net.minecraft.util.*; import java.util.*; public class FreezingDisplay extends BlockToBlockWithChanceDisplay { - public static final Identifier UNLOCK_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("unlocks/blocks/idols"); - public FreezingDisplay(EntryStack in, EntryStack out, float chance) { super(Collections.singletonList(EntryIngredient.of(in)), Collections.singletonList(EntryIngredient.of(out)), chance); } @@ -26,7 +23,7 @@ public CategoryIdentifier getCategoryIdentifier() { @Override public boolean isUnlocked() { MinecraftClient client = MinecraftClient.getInstance(); - return AdvancementHelper.hasAdvancement(client.player, UNLOCK_ADVANCEMENT_IDENTIFIER); + return AdvancementHelper.hasAdvancement(client.player, SpectrumAdvancements.UNLOCK_IDOLS); } } diff --git a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/HeatingDisplay.java b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/HeatingDisplay.java index 6c95fda68c..7cdbc3c0fa 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/HeatingDisplay.java +++ b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/HeatingDisplay.java @@ -1,19 +1,16 @@ package de.dafuqs.spectrum.compat.REI.plugins; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.compat.REI.*; +import de.dafuqs.spectrum.registries.*; import me.shedaniel.rei.api.common.category.*; import me.shedaniel.rei.api.common.entry.*; import net.minecraft.client.*; -import net.minecraft.util.*; import java.util.*; public class HeatingDisplay extends BlockToBlockWithChanceDisplay { - public static final Identifier UNLOCK_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("unlocks/blocks/idols"); - public HeatingDisplay(EntryStack in, EntryStack out, float chance) { super(Collections.singletonList(EntryIngredient.of(in)), Collections.singletonList(EntryIngredient.of(out)), chance); } @@ -26,7 +23,7 @@ public CategoryIdentifier getCategoryIdentifier() { @Override public boolean isUnlocked() { MinecraftClient client = MinecraftClient.getInstance(); - return AdvancementHelper.hasAdvancement(client.player, UNLOCK_ADVANCEMENT_IDENTIFIER); + return AdvancementHelper.hasAdvancement(client.player, SpectrumAdvancements.UNLOCK_IDOLS); } } diff --git a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/NaturesStaffConversionsDisplay.java b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/NaturesStaffConversionsDisplay.java index 777e344560..624a2b037d 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/NaturesStaffConversionsDisplay.java +++ b/src/main/java/de/dafuqs/spectrum/compat/REI/plugins/NaturesStaffConversionsDisplay.java @@ -1,8 +1,8 @@ package de.dafuqs.spectrum.compat.REI.plugins; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.compat.REI.*; +import de.dafuqs.spectrum.registries.*; import me.shedaniel.rei.api.common.category.*; import me.shedaniel.rei.api.common.display.basic.*; import me.shedaniel.rei.api.common.entry.*; @@ -15,7 +15,6 @@ public class NaturesStaffConversionsDisplay extends BasicDisplay implements GatedRecipeDisplay { - public static final Identifier UNLOCK_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("unlocks/items/natures_staff"); private final @Nullable Identifier requiredAdvancementIdentifier; public NaturesStaffConversionsDisplay(EntryStack in, EntryStack out, @Nullable Identifier requiredAdvancementIdentifier) { @@ -32,7 +31,7 @@ public CategoryIdentifier getCategoryIdentifier() { public boolean isUnlocked() { MinecraftClient client = MinecraftClient.getInstance(); return AdvancementHelper.hasAdvancement(client.player, this.requiredAdvancementIdentifier) - && AdvancementHelper.hasAdvancement(client.player, UNLOCK_ADVANCEMENT_IDENTIFIER); + && AdvancementHelper.hasAdvancement(client.player, SpectrumAdvancements.UNLOCK_NATURES_STAFF); } @Override diff --git a/src/main/java/de/dafuqs/spectrum/compat/emi/SpectrumEmiPlugin.java b/src/main/java/de/dafuqs/spectrum/compat/emi/SpectrumEmiPlugin.java index 000cd5e9fc..c472f6d8f1 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/emi/SpectrumEmiPlugin.java +++ b/src/main/java/de/dafuqs/spectrum/compat/emi/SpectrumEmiPlugin.java @@ -149,7 +149,7 @@ public void registerRecipes(EmiRegistry registry) { return; } Identifier id = syntheticId("freezing", key.getBlock()); // The synthetic IDs generated here assume there will never be multiple conversions of the same block with different states - registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.FREEZING, id, in, out, SpectrumCommon.locate("unlocks/blocks/idols"))); + registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.FREEZING, id, in, out, SpectrumAdvancements.UNLOCK_IDOLS)); }); FreezingIdolBlock.FREEZING_MAP.forEach((key, value) -> { EmiStack in = EmiStack.of(key); @@ -158,7 +158,7 @@ public void registerRecipes(EmiRegistry registry) { return; } Identifier id = syntheticId("freezing", key); - registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.FREEZING, id, in, out, SpectrumCommon.locate("unlocks/blocks/idols"))); + registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.FREEZING, id, in, out, SpectrumAdvancements.UNLOCK_IDOLS)); }); FirestarterIdolBlock.BURNING_MAP.forEach((key, value) -> { EmiStack in = EmiStack.of(key); @@ -167,7 +167,7 @@ public void registerRecipes(EmiRegistry registry) { return; } Identifier id = syntheticId("heating", key); - registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.HEATING, id, in, out, SpectrumCommon.locate("unlocks/blocks/idols"))); + registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.HEATING, id, in, out, SpectrumAdvancements.UNLOCK_IDOLS)); }); NaturesStaffConversionDataLoader.CONVERSIONS.forEach((key, value) -> { EmiStack in = EmiStack.of(key); @@ -176,7 +176,7 @@ public void registerRecipes(EmiRegistry registry) { return; } Identifier id = syntheticId("natures_staff", key); - registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.NATURES_STAFF, id, in, out, SpectrumCommon.locate("unlocks/items/natures_staff"))); + registry.addRecipe(new BlockToBlockWithChanceEmiRecipe(SpectrumEmiRecipeCategories.NATURES_STAFF, id, in, out, SpectrumAdvancements.UNLOCK_NATURES_STAFF)); }); } diff --git a/src/main/java/de/dafuqs/spectrum/compat/farmersdelight/FDCompat.java b/src/main/java/de/dafuqs/spectrum/compat/farmersdelight/FDCompat.java index 36154e3335..537cd6d66d 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/farmersdelight/FDCompat.java +++ b/src/main/java/de/dafuqs/spectrum/compat/farmersdelight/FDCompat.java @@ -9,11 +9,12 @@ public class FDCompat extends SpectrumIntegrationPacks.ModIntegrationPack { private static final Identifier AMARANTH_LOOT_TABLE_ID = SpectrumCommon.locate("blocks/amaranth"); + private static final Identifier FD_AMARANTH_LOOT_TABLE_ID = SpectrumCommon.locate("mod_integration/farmers_delight/amaranth"); public void register() { LootTableEvents.REPLACE.register((resourceManager, lootManager, id, original, source) -> { if (AMARANTH_LOOT_TABLE_ID.equals(id)) { - return lootManager.getLootTable(SpectrumCommon.locate("mod_integration/farmers_delight/amaranth")); + return lootManager.getLootTable(FD_AMARANTH_LOOT_TABLE_ID); } return original; }); diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/EggLayingWoolyPigEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/EggLayingWoolyPigEntity.java index 728991f504..846f440c0e 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/EggLayingWoolyPigEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/EggLayingWoolyPigEntity.java @@ -1,6 +1,5 @@ package de.dafuqs.spectrum.entity.entity; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.entity.*; import de.dafuqs.spectrum.helpers.ColorHelper; import de.dafuqs.spectrum.registries.*; @@ -41,7 +40,6 @@ public class EggLayingWoolyPigEntity extends AnimalEntity implements Shearable { private static final TrackedData COLOR_AND_SHEARED = DataTracker.registerData(EggLayingWoolyPigEntity.class, TrackedDataHandlerRegistry.BYTE); private static final TrackedData HATLESS = DataTracker.registerData(EggLayingWoolyPigEntity.class, TrackedDataHandlerRegistry.BOOLEAN); private static final Map COLORS = new EnumMap<>(ColorHelper.VANILLA_DYE_COLORS.stream().collect(Collectors.toMap(Function.identity(), EggLayingWoolyPigEntity::getDyedColor))); - private static final Identifier SHEARING_LOOT_TABLE_ID = SpectrumCommon.locate("entities/egg_laying_wooly_pig_shearing"); private int eatGrassTimer; private EatGrassGoal eatGrassGoal; @@ -250,7 +248,7 @@ public List getShearedStacks(ServerWorld world) { .add(LootContextParameters.THIS_ENTITY, this) .add(LootContextParameters.ORIGIN, this.getPos()); - LootTable lootTable = world.getServer().getLootManager().getLootTable(SHEARING_LOOT_TABLE_ID); + LootTable lootTable = world.getServer().getLootManager().getLootTable(SpectrumLootTables.EGG_LAYING_WOOLY_PIG_SHEARING); return lootTable.generateLoot(builder.build(LootContextTypes.GIFT)); } diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/MonstrosityEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/MonstrosityEntity.java index e71c690d5d..8ddd51f004 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/MonstrosityEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/MonstrosityEntity.java @@ -3,7 +3,6 @@ import com.google.common.collect.*; import de.dafuqs.additionalentityattributes.*; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.entity.ai.*; import de.dafuqs.spectrum.networking.*; import de.dafuqs.spectrum.particle.*; @@ -24,7 +23,6 @@ import net.minecraft.particle.*; import net.minecraft.server.world.*; import net.minecraft.text.*; -import net.minecraft.util.*; import net.minecraft.util.math.*; import net.minecraft.util.math.intprovider.*; import net.minecraft.world.*; @@ -38,14 +36,12 @@ public class MonstrosityEntity extends SpectrumBossEntity implements RangedAttac public static final UUID BONUS_DAMAGE_UUID = UUID.fromString("4425979b-f987-4937-875a-1e26d727c67f"); public static @Nullable MonstrosityEntity theOneAndOnly = null; - - public static final Identifier KILLED_MONSTROSITY_ADVANCEMENT_IDENTIFIER = SpectrumCommon.locate("lategame/killed_monstrosity"); public static final Predicate ENTITY_TARGETS = (entity) -> { if (entity instanceof PlayerEntity player) { if (player.isSpectator() || player.isCreative()) { return false; } - return !AdvancementHelper.hasAdvancement(player, KILLED_MONSTROSITY_ADVANCEMENT_IDENTIFIER); + return !AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.KILLED_MONSTROSITY); } return false; }; diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/ShootingStarEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/ShootingStarEntity.java index 86c7cc065c..c4c440cabd 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/ShootingStarEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/ShootingStarEntity.java @@ -229,7 +229,7 @@ public void tick() { this.discard(); } else { // spawn loot - List loot = getLoot((ServerWorld) this.getWorld(), ShootingStar.Type.BOUNCE_LOOT_TABLE); + List loot = getLoot((ServerWorld) this.getWorld(), SpectrumLootTables.SHOOTING_STAR_BOUNCE); for (ItemStack itemStack : loot) { ItemEntity itemEntity = new ItemEntity(this.getWorld(), this.getX(), this.getY(), this.getZ(), itemStack); this.getWorld().spawnEntity(itemEntity); diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/SpectrumFishingBobberEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/SpectrumFishingBobberEntity.java index af06980385..8d736ce8f8 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/SpectrumFishingBobberEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/SpectrumFishingBobberEntity.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.entity.entity; import com.mojang.logging.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.entity.*; import de.dafuqs.spectrum.blocks.fluid.*; import de.dafuqs.spectrum.data_loaders.*; @@ -10,6 +9,7 @@ import de.dafuqs.spectrum.items.tools.*; import de.dafuqs.spectrum.particle.*; import de.dafuqs.spectrum.progression.*; +import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; import net.minecraft.entity.*; import net.minecraft.entity.data.*; @@ -66,8 +66,6 @@ public abstract class SpectrumFishingBobberEntity extends ProjectileEntity { protected final int bigCatchLevel; protected final int serendipityReelLevel; protected final boolean inventoryInsertion; - - public static final Identifier LOOT_IDENTIFIER = SpectrumCommon.locate("gameplay/universal_fishing"); public SpectrumFishingBobberEntity(EntityType type, World world, int luckOfTheSeaLevel, int lureLevel, int exuberanceLevel, int bigCatchLevel, @@ -557,7 +555,7 @@ protected void catchLoot(ItemStack usedItem, PlayerEntity playerEntity) { .luck((float) this.luckOfTheSeaLevel + playerEntity.getLuck()) .build(LootContextTypes.FISHING); - LootTable lootTable = this.getWorld().getServer().getLootManager().getLootTable(LOOT_IDENTIFIER); + LootTable lootTable = this.getWorld().getServer().getLootManager().getLootTable(SpectrumLootTables.UNIVERSAL_FISHING); List list = lootTable.generateLoot(lootContextParameterSet); SpectrumAdvancementCriteria.FISHING_ROD_HOOKED.trigger((ServerPlayerEntity) playerEntity, usedItem, this, null, list); diff --git a/src/main/java/de/dafuqs/spectrum/entity/variants/KindlingVariant.java b/src/main/java/de/dafuqs/spectrum/entity/variants/KindlingVariant.java index de8fa518c9..72e189d73a 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/variants/KindlingVariant.java +++ b/src/main/java/de/dafuqs/spectrum/entity/variants/KindlingVariant.java @@ -9,8 +9,7 @@ public record KindlingVariant(Identifier defaultTexture, Identifier blinkingText Identifier clippedTexture, Identifier blinkingClippedTexture, Identifier angryClippedTexture, Identifier clippingLootTable) { - public static final Identifier DEFAULT_CLIPPING_LOOT_TABLE = SpectrumCommon.locate("gameplay/kindling_clipping"); - public static final KindlingVariant DEFAULT = register("default", "textures/entity/kindling/kindling.png", "textures/entity/kindling/kindling_blink.png", "textures/entity/kindling/kindling_angry.png", "textures/entity/kindling/kindling_clipped.png", "textures/entity/kindling/kindling_blink_clipped.png", "textures/entity/kindling/kindling_angry_clipped.png", DEFAULT_CLIPPING_LOOT_TABLE); + public static final KindlingVariant DEFAULT = register("default", "textures/entity/kindling/kindling.png", "textures/entity/kindling/kindling_blink.png", "textures/entity/kindling/kindling_angry.png", "textures/entity/kindling/kindling_clipped.png", "textures/entity/kindling/kindling_blink_clipped.png", "textures/entity/kindling/kindling_angry_clipped.png", SpectrumLootTables.KINDLING_CLIPPING); private static KindlingVariant register(String name, String defaultTexture, String blinkingTexture, String angryTexture, String clippedTexture, String blinkingClippedTexture, String angryClippedTexture, Identifier clippingLootTable) { return Registry.register(SpectrumRegistries.KINDLING_VARIANT, SpectrumCommon.locate(name), new KindlingVariant(SpectrumCommon.locate(defaultTexture), SpectrumCommon.locate(blinkingTexture), SpectrumCommon.locate(angryTexture), SpectrumCommon.locate(clippedTexture), SpectrumCommon.locate(blinkingClippedTexture), SpectrumCommon.locate(angryClippedTexture), clippingLootTable)); diff --git a/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreen.java b/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreen.java index c41f86881b..2b0f0b31dd 100644 --- a/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreen.java +++ b/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreen.java @@ -3,8 +3,8 @@ import com.mojang.blaze3d.systems.*; import de.dafuqs.revelationary.api.advancements.*; import de.dafuqs.spectrum.*; -import de.dafuqs.spectrum.blocks.potion_workshop.*; import de.dafuqs.spectrum.helpers.*; +import de.dafuqs.spectrum.registries.*; import net.minecraft.client.gui.*; import net.minecraft.client.gui.screen.ingame.*; import net.minecraft.entity.player.*; @@ -25,7 +25,7 @@ public PotionWorkshopScreen(PotionWorkshopScreenHandler handler, PlayerInventory super(handler, playerInventory, title); this.backgroundHeight = 202; - if (AdvancementHelper.hasAdvancement(playerInventory.player, PotionWorkshopBlockEntity.FOURTH_BREWING_SLOT_ADVANCEMENT_IDENTIFIER)) { + if (AdvancementHelper.hasAdvancement(playerInventory.player, SpectrumAdvancements.FOURTH_BREWING_SLOT)) { background = BACKGROUND_4_SLOTS; } else { background = BACKGROUND_3_SLOTS; diff --git a/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreenHandler.java b/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreenHandler.java index 78adae222b..4becd3ec1d 100644 --- a/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreenHandler.java +++ b/src/main/java/de/dafuqs/spectrum/inventories/PotionWorkshopScreenHandler.java @@ -53,7 +53,7 @@ protected PotionWorkshopScreenHandler(ScreenHandlerType type, int syncId, Pla this.addSlot(new Slot(inventory, 4, 41, 42)); // reagent slots - if (AdvancementHelper.hasAdvancement(playerInventory.player, PotionWorkshopBlockEntity.FOURTH_BREWING_SLOT_ADVANCEMENT_IDENTIFIER)) { + if (AdvancementHelper.hasAdvancement(playerInventory.player, SpectrumAdvancements.FOURTH_BREWING_SLOT)) { this.addSlot(new ReagentSlot(inventory, 5, 51, 19)); this.addSlot(new ReagentSlot(inventory, 6, 74, 19)); this.addSlot(new ReagentSlot(inventory, 7, 97, 19)); diff --git a/src/main/java/de/dafuqs/spectrum/items/MysteriousCompassItem.java b/src/main/java/de/dafuqs/spectrum/items/MysteriousCompassItem.java index 63388babb4..17987a8515 100644 --- a/src/main/java/de/dafuqs/spectrum/items/MysteriousCompassItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/MysteriousCompassItem.java @@ -1,21 +1,17 @@ package de.dafuqs.spectrum.items; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.render.*; import de.dafuqs.spectrum.items.magic_items.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.entity.*; import net.minecraft.entity.player.*; import net.minecraft.item.*; -import net.minecraft.util.*; import net.minecraft.world.*; import org.jetbrains.annotations.*; public class MysteriousCompassItem extends StructureCompassItem implements SlotBackgroundEffectProvider { - private static final Identifier REQUIRED_ADVANCEMENT = SpectrumCommon.locate("unlocks/mysterious_locket_socketing"); - public MysteriousCompassItem(Settings settings) { super(settings, SpectrumStructureTags.MYSTERIOUS_COMPASS_LOCATED); } @@ -23,7 +19,7 @@ public MysteriousCompassItem(Settings settings) { @Override public void inventoryTick(@NotNull ItemStack stack, @NotNull World world, Entity entity, int slot, boolean selected) { if (!world.isClient && world.getTime() % 200 == 0 && entity instanceof PlayerEntity player) - if(AdvancementHelper.hasAdvancement(player, REQUIRED_ADVANCEMENT)) { + if (AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.MYSTERIOUS_LOCKET_SOCKETING)) { locateStructure(stack, world, entity); } else { removeStructurePos(stack); diff --git a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java index 2369eba411..a58e2fdbd6 100644 --- a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.items.magic_items; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.block.*; import de.dafuqs.spectrum.api.energy.*; import de.dafuqs.spectrum.api.energy.color.*; @@ -33,9 +32,6 @@ public class PaintbrushItem extends Item implements SignChangingItem { - public static final Identifier UNLOCK_COLORING_ADVANCEMENT_ID = SpectrumCommon.locate("collect_pigment"); - public static final Identifier UNLOCK_INK_SLINGING_ADVANCEMENT_ID = SpectrumCommon.locate("midgame/fill_ink_container"); - public static final int COOLDOWN_DURATION_TICKS = 10; public static final int BLOCK_COLOR_COST = 25; public static final int INK_FLING_COST = 100; @@ -52,8 +48,8 @@ public void appendTooltip(ItemStack stack, @Nullable World world, List too super.appendTooltip(stack, world, tooltip, context); Optional color = getColor(stack); - boolean unlockedColoring = AdvancementHelper.hasAdvancementClient(UNLOCK_COLORING_ADVANCEMENT_ID); - boolean unlockedSlinging = AdvancementHelper.hasAdvancementClient(UNLOCK_INK_SLINGING_ADVANCEMENT_ID); + boolean unlockedColoring = AdvancementHelper.hasAdvancementClient(SpectrumAdvancements.PAINTBRUSH_COLORING); + boolean unlockedSlinging = AdvancementHelper.hasAdvancementClient(SpectrumAdvancements.PAINTBRUSH_INK_FLINGING); if (unlockedColoring || unlockedSlinging) { if (color.isPresent()) { diff --git a/src/main/java/de/dafuqs/spectrum/items/magic_items/StaffOfRemembranceItem.java b/src/main/java/de/dafuqs/spectrum/items/magic_items/StaffOfRemembranceItem.java index 86853783fe..fdb3da579c 100644 --- a/src/main/java/de/dafuqs/spectrum/items/magic_items/StaffOfRemembranceItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/magic_items/StaffOfRemembranceItem.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.items.magic_items; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.energy.*; import de.dafuqs.spectrum.api.energy.color.*; import de.dafuqs.spectrum.api.item.*; @@ -31,8 +30,6 @@ public class StaffOfRemembranceItem extends Item implements InkPowered, Prioriti public static final InkCost TURN_NEUTRAL_TO_MEMORY_COST = new InkCost(USED_COLOR, 1000); public static final InkCost TURN_HOSTILE_TO_MEMORY_COST = new InkCost(USED_COLOR, 10000); - public static final Identifier UNLOCK_HOSTILE_MEMORIZING_ID = SpectrumCommon.locate("milestones/unlock_hostile_memorizing"); - public StaffOfRemembranceItem(Settings settings) { super(settings); } @@ -76,7 +73,7 @@ private boolean turnEntityToMemory(PlayerEntity user, MobEntity entity) { } SpawnGroup spawnGroup = entity.getType().getSpawnGroup(); - if (spawnGroup == SpawnGroup.MONSTER && (user.isCreative() || AdvancementHelper.hasAdvancement(user, UNLOCK_HOSTILE_MEMORIZING_ID))) { + if (spawnGroup == SpawnGroup.MONSTER && (user.isCreative() || AdvancementHelper.hasAdvancement(user, SpectrumAdvancements.HOSTILE_MEMORIZING))) { if (!InkPowered.tryDrainEnergy(user, TURN_HOSTILE_TO_MEMORY_COST)) { return false; } diff --git a/src/main/java/de/dafuqs/spectrum/loot/SpectrumLootPoolModifiers.java b/src/main/java/de/dafuqs/spectrum/loot/SpectrumLootPoolModifiers.java index 51db3ac656..9c97236257 100644 --- a/src/main/java/de/dafuqs/spectrum/loot/SpectrumLootPoolModifiers.java +++ b/src/main/java/de/dafuqs/spectrum/loot/SpectrumLootPoolModifiers.java @@ -189,19 +189,19 @@ else if (id.equals(new Identifier("gameplay/sniffer_digging"))) { tableBuilder.pool(getFrogLootPool(FrogVariant.WARM, SpectrumSkullBlock.getBlock(SpectrumSkullType.FROG_WARM).get().asItem(), 0.02F)); } else if (GoFishCompat.isLoaded()) { //Go-Fish compat: fishing of crates & go-fish fishies - if (id.equals(SpectrumCommon.locate("gameplay/fishing/lava/fishing"))) { + if (id.equals(SpectrumLootTables.LAVA_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.NETHER_FISH_LOOT_TABLE_ID).weight(80).quality(-1).build())); tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.NETHER_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); - } else if (id.equals(SpectrumCommon.locate("gameplay/fishing/end/fishing"))) { + } else if (id.equals(SpectrumLootTables.END_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.END_FISH_LOOT_TABLE_ID).weight(90).quality(-1).build())); tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.END_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); - } else if (id.equals(SpectrumCommon.locate("gameplay/fishing/deeper_down/fishing"))) { + } else if (id.equals(SpectrumLootTables.DEEPER_DOWN_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.DEFAULT_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); - } else if (id.equals(SpectrumCommon.locate("gameplay/fishing/mud/fishing"))) { + } else if (id.equals(SpectrumLootTables.MUD_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.DEFAULT_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); - } else if (id.equals(SpectrumCommon.locate("gameplay/fishing/liquid_crystal/fishing"))) { + } else if (id.equals(SpectrumLootTables.LIQUID_CRYSTAL_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.DEFAULT_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); - } else if (id.equals(SpectrumCommon.locate("gameplay/fishing/midnight_solution/fishing"))) { + } else if (id.equals(SpectrumLootTables.MIDNIGHT_SOLUTION_FISHING)) { tableBuilder.modifyPools(builder -> builder.with(LootTableEntry.builder(GoFishCompat.DEFAULT_CRATES_LOOT_TABLE_ID).weight(5).quality(2).conditionally(EntityPropertiesLootCondition.builder(LootContext.EntityTarget.THIS, new EntityPredicate.Builder().typeSpecific(FishingHookPredicate.of(true)).build())))); } } diff --git a/src/main/java/de/dafuqs/spectrum/mixin/GlassBottleItemMixin.java b/src/main/java/de/dafuqs/spectrum/mixin/GlassBottleItemMixin.java index 45f507512d..2b387b8e65 100644 --- a/src/main/java/de/dafuqs/spectrum/mixin/GlassBottleItemMixin.java +++ b/src/main/java/de/dafuqs/spectrum/mixin/GlassBottleItemMixin.java @@ -33,7 +33,7 @@ public void onUse(World world, PlayerEntity user, Hand hand, CallbackInfoReturna if (blockState.isOf(SpectrumBlocks.FADING) && SpectrumCommon.CONFIG.CanBottleUpFading - && AdvancementHelper.hasAdvancement(user, SpectrumCommon.locate("unlocks/items/bottle_of_fading"))) { + && AdvancementHelper.hasAdvancement(user, SpectrumAdvancements.UNLOCK_BOTTLE_OF_FADING)) { world.setBlockState(blockPos, Blocks.AIR.getDefaultState()); world.playSound(null, user.getX(), user.getY(), user.getZ(), SoundEvents.ITEM_BOTTLE_FILL_DRAGONBREATH, SoundCategory.NEUTRAL, 1.0F, 1.0F); @@ -41,7 +41,7 @@ public void onUse(World world, PlayerEntity user, Hand hand, CallbackInfoReturna } else if (blockState.isOf(SpectrumBlocks.FAILING) && SpectrumCommon.CONFIG.CanBottleUpFailing - && AdvancementHelper.hasAdvancement(user, SpectrumCommon.locate("unlocks/items/bottle_of_failing"))) { + && AdvancementHelper.hasAdvancement(user, SpectrumAdvancements.UNLOCK_BOTTLE_OF_FAILING)) { world.setBlockState(blockPos, Blocks.AIR.getDefaultState()); world.playSound(null, user.getX(), user.getY(), user.getZ(), SoundEvents.ITEM_BOTTLE_FILL_DRAGONBREATH, SoundCategory.NEUTRAL, 1.0F, 1.0F); @@ -49,7 +49,7 @@ public void onUse(World world, PlayerEntity user, Hand hand, CallbackInfoReturna } else if (blockState.isOf(SpectrumBlocks.RUIN) && SpectrumCommon.CONFIG.CanBottleUpRuin - && AdvancementHelper.hasAdvancement(user, SpectrumCommon.locate("unlocks/items/bottle_of_ruin"))) { + && AdvancementHelper.hasAdvancement(user, SpectrumAdvancements.UNLOCK_BOTTLE_OF_RUIN)) { world.setBlockState(blockPos, Blocks.AIR.getDefaultState()); world.playSound(null, user.getX(), user.getY(), user.getZ(), SoundEvents.ITEM_BOTTLE_FILL_DRAGONBREATH, SoundCategory.NEUTRAL, 1.0F, 1.0F); @@ -57,7 +57,7 @@ public void onUse(World world, PlayerEntity user, Hand hand, CallbackInfoReturna } else if (blockState.isOf(SpectrumBlocks.FORFEITURE) && SpectrumCommon.CONFIG.CanBottleUpForfeiture - && AdvancementHelper.hasAdvancement(user, SpectrumCommon.locate("unlocks/items/bottle_of_forfeiture"))) { + && AdvancementHelper.hasAdvancement(user, SpectrumAdvancements.UNLOCK_BOTTLE_OF_FORFEITURE)) { world.setBlockState(blockPos, Blocks.AIR.getDefaultState()); world.playSound(null, user.getX(), user.getY(), user.getZ(), SoundEvents.ITEM_BOTTLE_FILL_DRAGONBREATH, SoundCategory.NEUTRAL, 1.0F, 1.0F); diff --git a/src/main/java/de/dafuqs/spectrum/mixin/ShearsDispenserBehaviorMixin.java b/src/main/java/de/dafuqs/spectrum/mixin/ShearsDispenserBehaviorMixin.java index 706f09cdbd..ec7bfaff2a 100644 --- a/src/main/java/de/dafuqs/spectrum/mixin/ShearsDispenserBehaviorMixin.java +++ b/src/main/java/de/dafuqs/spectrum/mixin/ShearsDispenserBehaviorMixin.java @@ -1,6 +1,6 @@ package de.dafuqs.spectrum.mixin; -import de.dafuqs.spectrum.blocks.deeper_down.flora.SawbladeHollyBushBlock; +import de.dafuqs.spectrum.blocks.deeper_down.flora.*; import de.dafuqs.spectrum.blocks.jade_vines.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.block.*; @@ -24,7 +24,7 @@ public class ShearsDispenserBehaviorMixin { int age = blockState.get(SawbladeHollyBushBlock.AGE); if (SawbladeHollyBushBlock.canBeSheared(age)) { // we do not have the real shears item used in the dispenser here, but for the default loot table that does not make much of a difference - for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(blockState, world, pos, world.getBlockEntity(pos), null, Items.SHEARS.getDefaultStack(), SawbladeHollyBushBlock.SHEARING_LOOT_TABLE_ID)) { + for (ItemStack stack : JadeVinePlantBlock.getHarvestedStacks(blockState, world, pos, world.getBlockEntity(pos), null, Items.SHEARS.getDefaultStack(), SpectrumLootTables.SAWBLADE_HOLLY_SHEARING)) { SawbladeHollyBushBlock.dropStack(world, pos, stack); } diff --git a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java index 75b9cf19f0..6f9ed4cc77 100644 --- a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java +++ b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java @@ -2,7 +2,6 @@ import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.recipe.*; -import de.dafuqs.spectrum.items.magic_items.*; import de.dafuqs.spectrum.progression.toast.*; import de.dafuqs.spectrum.recipe.pedestal.*; import de.dafuqs.spectrum.registries.*; @@ -23,17 +22,17 @@ public class UnlockToastManager { // Advancement Identifier + Recipe Type => Recipe public static final Map, List>>> gatedRecipes = new HashMap<>(); - public static final HashMap> messageToasts = new HashMap<>() {{ - put(SpectrumCommon.locate("milestones/unlock_shooting_stars"), new Pair<>(Items.SPYGLASS.getDefaultStack(), "shooting_stars_unlocked")); - put(SpectrumCommon.locate("milestones/unlock_overenchanting_with_enchanter"), new Pair<>(SpectrumBlocks.ENCHANTER.asItem().getDefaultStack(), "overchanting_unlocked")); - put(SpectrumCommon.locate("milestones/unlock_conflicted_enchanting_with_enchanter"), new Pair<>(SpectrumBlocks.ENCHANTER.asItem().getDefaultStack(), "enchant_conflicting_enchantments_unlocked")); - put(SpectrumCommon.locate("milestones/unlock_fourth_potion_workshop_reagent_slot"), new Pair<>(SpectrumBlocks.POTION_WORKSHOP.asItem().getDefaultStack(), "fourth_potion_reagent_unlocked")); - put(SpectrumCommon.locate("midgame/spectrum_midgame"), new Pair<>(SpectrumBlocks.PEDESTAL_ONYX.asItem().getDefaultStack(), "second_advancement_tree_unlocked")); - put(SpectrumCommon.locate("lategame/spectrum_lategame"), new Pair<>(SpectrumBlocks.PEDESTAL_MOONSTONE.asItem().getDefaultStack(), "third_advancement_tree_unlocked")); - put(SpectrumCommon.locate("ascend_kindling"), new Pair<>(SpectrumBlocks.PEDESTAL_MOONSTONE.asItem().getDefaultStack(), "ascend_kindling")); - put(SpectrumCommon.locate("mod_integration/neepmeat/vivisect_kindling"), new Pair<>(SpectrumItems.DIVINATION_HEART.getDefaultStack(), "vivisect_kindling")); - put(PaintbrushItem.UNLOCK_COLORING_ADVANCEMENT_ID, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "block_coloring_unlocked")); - put(PaintbrushItem.UNLOCK_INK_SLINGING_ADVANCEMENT_ID, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "paint_flinging_unlocked")); + public static final Map> messageToasts = new HashMap<>() {{ + put(SpectrumAdvancements.UNLOCK_SHOOTING_STARS, new Pair<>(Items.SPYGLASS.getDefaultStack(), "shooting_stars_unlocked")); + put(SpectrumAdvancements.OVERENCHANTING, new Pair<>(SpectrumBlocks.ENCHANTER.asItem().getDefaultStack(), "overchanting_unlocked")); + put(SpectrumAdvancements.APPLY_CONFLICTING_ENCHANTMENTS, new Pair<>(SpectrumBlocks.ENCHANTER.asItem().getDefaultStack(), "enchant_conflicting_enchantments_unlocked")); + put(SpectrumAdvancements.FOURTH_BREWING_SLOT, new Pair<>(SpectrumBlocks.POTION_WORKSHOP.asItem().getDefaultStack(), "fourth_potion_reagent_unlocked")); + put(SpectrumAdvancements.MIDGAME, new Pair<>(SpectrumBlocks.PEDESTAL_ONYX.asItem().getDefaultStack(), "second_advancement_tree_unlocked")); + put(SpectrumAdvancements.LATEGAME, new Pair<>(SpectrumBlocks.PEDESTAL_MOONSTONE.asItem().getDefaultStack(), "third_advancement_tree_unlocked")); + put(SpectrumAdvancements.ASCEND_KINDLING, new Pair<>(SpectrumBlocks.PEDESTAL_MOONSTONE.asItem().getDefaultStack(), "ascend_kindling")); + put(SpectrumAdvancements.VIVISECT_KINDLING, new Pair<>(SpectrumItems.DIVINATION_HEART.getDefaultStack(), "vivisect_kindling")); + put(SpectrumAdvancements.PAINTBRUSH_COLORING, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "block_coloring_unlocked")); + put(SpectrumAdvancements.PAINTBRUSH_INK_FLINGING, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "paint_flinging_unlocked")); }}; public static void registerGatedRecipe(RecipeType recipeType, GatedRecipe gatedRecipe) { diff --git a/src/main/java/de/dafuqs/spectrum/recipe/pedestal/PedestalRecipeTier.java b/src/main/java/de/dafuqs/spectrum/recipe/pedestal/PedestalRecipeTier.java index 9a9aace21e..10358e88d3 100644 --- a/src/main/java/de/dafuqs/spectrum/recipe/pedestal/PedestalRecipeTier.java +++ b/src/main/java/de/dafuqs/spectrum/recipe/pedestal/PedestalRecipeTier.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.recipe.pedestal; import de.dafuqs.revelationary.api.advancements.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.item.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.entity.player.*; @@ -12,10 +11,10 @@ import java.util.*; public enum PedestalRecipeTier { - BASIC(SpectrumCommon.locate("place_pedestal"), new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW}), - SIMPLE(SpectrumCommon.locate("build_basic_pedestal_structure"), new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW}), - ADVANCED(SpectrumCommon.locate("midgame/build_advanced_pedestal_structure"), new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW, BuiltinGemstoneColor.BLACK}), - COMPLEX(SpectrumCommon.locate("lategame/build_complex_pedestal_structure"), BuiltinGemstoneColor.values()); + BASIC(SpectrumAdvancements.PLACED_PEDESTAL, new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW}), + SIMPLE(SpectrumAdvancements.BUILD_BASIC_PEDESTAL_STRUCTURE, new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW}), + ADVANCED(SpectrumAdvancements.BUILD_ADVANCED_PEDESTAL_STRUCTURE, new GemstoneColor[]{BuiltinGemstoneColor.CYAN, BuiltinGemstoneColor.MAGENTA, BuiltinGemstoneColor.YELLOW, BuiltinGemstoneColor.BLACK}), + COMPLEX(SpectrumAdvancements.BUILD_COMPLEX_PEDESTAL_STRUCTURE, BuiltinGemstoneColor.values()); private final Identifier unlockAdvancementId; private final GemstoneColor[] gemstoneColors; @@ -71,7 +70,7 @@ public static Optional hasJustUnlockedANewRecipeTier(@NotNul public @Nullable Identifier getStructureID(PlayerEntity player) { switch (this) { case COMPLEX -> { - if (AdvancementHelper.hasAdvancement(player, SpectrumCommon.locate("lategame/build_complex_pedestal_structure_without_moonstone"))) { + if (AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.BUILD_COMPLEX_PEDESTAL_STRUCTURE_WITHOUT_MOONSTONE)) { return SpectrumMultiblocks.PEDESTAL_COMPLEX; } else { return SpectrumMultiblocks.PEDESTAL_COMPLEX_WITHOUT_MOONSTONE; diff --git a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/SpiritInstillerRecipe.java b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/SpiritInstillerRecipe.java index b0cbc4de70..74afcd60a3 100644 --- a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/SpiritInstillerRecipe.java +++ b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/SpiritInstillerRecipe.java @@ -26,11 +26,11 @@ public class SpiritInstillerRecipe extends GatedStackSpectrumRecipe { - public static final Identifier UNLOCK_IDENTIFIER = SpectrumCommon.locate("midgame/build_spirit_instiller_structure"); - public static final int CENTER_INGREDIENT = 0; public static final int FIRST_INGREDIENT = 1; public static final int SECOND_INGREDIENT = 2; + public static final Identifier UNLOCK_IDENTIFIER = SpectrumCommon.locate("midgame/build_spirit_instiller_structure"); + ; protected final IngredientStack centerIngredient; protected final IngredientStack bowlIngredient1; diff --git a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerChangeRecipe.java b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerChangeRecipe.java index 0321a2ef74..1da0257f1a 100644 --- a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerChangeRecipe.java +++ b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerChangeRecipe.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.recipe.spirit_instiller.dynamic.spawner_manipulation; import de.dafuqs.matchbooks.recipe.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.item_bowl.*; import de.dafuqs.spectrum.blocks.spirit_instiller.*; import de.dafuqs.spectrum.recipe.spirit_instiller.*; @@ -26,7 +25,7 @@ public SpawnerChangeRecipe(Identifier identifier, IngredientStack ingredient, In } public SpawnerChangeRecipe(Identifier identifier, IngredientStack ingredient) { - super(identifier, "spawner_manipulation", false, SpectrumCommon.locate("milestones/unlock_spawner_manipulation"), + super(identifier, "spawner_manipulation", false, SpectrumAdvancements.SPAWNER_MANIPULATION, IngredientStack.ofItems(Items.SPAWNER), ingredient, IngredientStack.ofItems(4, SpectrumItems.VEGETAL), Items.SPAWNER.getDefaultStack(), 200, 0, true); } diff --git a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerCreatureChangeRecipe.java b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerCreatureChangeRecipe.java index 3a509de374..e5ccf6bb34 100644 --- a/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerCreatureChangeRecipe.java +++ b/src/main/java/de/dafuqs/spectrum/recipe/spirit_instiller/dynamic/spawner_manipulation/SpawnerCreatureChangeRecipe.java @@ -1,7 +1,6 @@ package de.dafuqs.spectrum.recipe.spirit_instiller.dynamic.spawner_manipulation; import de.dafuqs.matchbooks.recipe.*; -import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.blocks.mob_head.*; import de.dafuqs.spectrum.recipe.*; import de.dafuqs.spectrum.registries.*; @@ -20,7 +19,7 @@ public class SpawnerCreatureChangeRecipe extends SpawnerChangeRecipe { public static final RecipeSerializer SERIALIZER = new EmptyRecipeSerializer<>(SpawnerCreatureChangeRecipe::new); public SpawnerCreatureChangeRecipe(Identifier identifier) { - super(identifier, IngredientStack.of(Ingredient.fromTag(SpectrumItemTags.SKULLS)), IngredientStack.ofItems(4, SpectrumItems.DOWNSTONE_FRAGMENTS), SpectrumCommon.locate("milestones/unlock_spawner_creature_change")); + super(identifier, IngredientStack.of(Ingredient.fromTag(SpectrumItemTags.SKULLS)), IngredientStack.ofItems(4, SpectrumItems.DOWNSTONE_FRAGMENTS), SpectrumAdvancements.SPAWNER_CREATURE_CHANGE); } @Override diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java index f4f8d97ae6..ca018f66b2 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java @@ -3,9 +3,100 @@ import de.dafuqs.spectrum.*; import net.minecraft.util.*; +import static de.dafuqs.spectrum.SpectrumCommon.*; + public class SpectrumAdvancements { + // Revelations + public static final Identifier REVEAL_AMARANTH = SpectrumCommon.locate("milestones/reveal_amaranth"); + public static final Identifier REVEAL_AZURITE = locate("milestones/reveal_azurite"); + public static final Identifier REVEAL_COLORED_SAPLINGS_CMY = SpectrumCommon.locate("milestones/reveal_colored_saplings_cmy"); + public static final Identifier REVEAL_COLORED_TREES_BLACK = SpectrumCommon.locate("milestones/reveal_colored_trees_k"); + public static final Identifier REVEAL_COLORED_TREES_CMY = SpectrumCommon.locate("milestones/reveal_colored_trees_cmy"); + public static final Identifier REVEAL_COLORED_TREES_WHITE = SpectrumCommon.locate("milestones/reveal_colored_trees_w"); + public static final Identifier REVEAL_DRAGONBONE = SpectrumCommon.locate("milestones/reveal_dragonbone"); + public static final Identifier REVEAL_FOUR_LEAF_CLOVER = SpectrumCommon.locate("milestones/reveal_four_leaf_clover"); + public static final Identifier REVEAL_MALACHITE = SpectrumCommon.locate("milestones/reveal_malachite"); + public static final Identifier REVEAL_MERMAIDS_BRUSH = SpectrumCommon.locate("milestones/reveal_mermaids_brush"); + public static final Identifier REVEAL_PALTAERIA = locate("milestones/reveal_paltaeria"); + public static final Identifier REVEAL_QUITOXIC_REEDS = SpectrumCommon.locate("milestones/reveal_quitoxic_reeds"); + public static final Identifier REVEAL_RADIATING_ENDER = SpectrumCommon.locate("milestones/reveal_radiating_ender"); + public static final Identifier REVEAL_SHIMMERSTONE = locate("milestones/reveal_shimmerstone"); + public static final Identifier REVEAL_STORM_STONES = SpectrumCommon.locate("milestones/reveal_storm_stones"); + public static final Identifier REVEAL_STRATINE = locate("milestones/reveal_stratine"); + + // Milestones with unlocks public static final Identifier APPLY_CONFLICTING_ENCHANTMENTS = SpectrumCommon.locate("milestones/unlock_conflicted_enchanting_with_enchanter"); + public static final Identifier FOURTH_BREWING_SLOT = SpectrumCommon.locate("milestones/unlock_fourth_potion_workshop_reagent_slot"); + public static final Identifier HOSTILE_MEMORIZING = SpectrumCommon.locate("milestones/unlock_hostile_memorizing"); public static final Identifier OVERENCHANTING = SpectrumCommon.locate("milestones/unlock_overenchanting_with_enchanter"); + public static final Identifier SPAWNER_CREATURE_CHANGE = SpectrumCommon.locate("milestones/unlock_spawner_creature_change"); + public static final Identifier SPAWNER_MANIPULATION = SpectrumCommon.locate("milestones/unlock_spawner_manipulation"); + public static final Identifier UNLOCK_SHOOTING_STARS = SpectrumCommon.locate("milestones/unlock_shooting_stars"); + + // Paintbrush Abilities + public static final Identifier PAINTBRUSH_COLORING = SpectrumCommon.locate("collect_pigment"); + public static final Identifier PAINTBRUSH_INK_FLINGING = SpectrumCommon.locate("midgame/fill_ink_container"); + + // Enchantments + public static final Identifier ENCHANTMENTS_BIG_CATCH = SpectrumCommon.locate("unlocks/enchantments/big_catch"); + public static final Identifier ENCHANTMENTS_CLOVERS_FAVOR = SpectrumCommon.locate("unlocks/enchantments/clovers_favor"); + public static final Identifier ENCHANTMENTS_DISARMING = SpectrumCommon.locate("unlocks/enchantments/disarming"); + public static final Identifier ENCHANTMENTS_EXUBERANCE = SpectrumCommon.locate("unlocks/enchantments/exuberance"); + public static final Identifier ENCHANTMENTS_FIRST_STRIKE = SpectrumCommon.locate("unlocks/enchantments/first_strike"); + public static final Identifier ENCHANTMENTS_FOUNDRY = SpectrumCommon.locate("unlocks/enchantments/autosmelt"); + public static final Identifier ENCHANTMENTS_IMPROVED_CRITICAL = SpectrumCommon.locate("unlocks/enchantments/improved_critical"); + public static final Identifier ENCHANTMENTS_INDESTRUCTIBLE = SpectrumCommon.locate("unlocks/enchantments/indestructible"); + public static final Identifier ENCHANTMENTS_INERTIA = SpectrumCommon.locate("unlocks/enchantments/inertia"); + public static final Identifier ENCHANTMENTS_INEXORABLE = SpectrumCommon.locate("unlocks/enchantments/inexorable"); + public static final Identifier ENCHANTMENTS_INVENTORY_INSERTION = SpectrumCommon.locate("unlocks/enchantments/inventory_insertion"); + public static final Identifier ENCHANTMENTS_PEST_CONTROL = SpectrumCommon.locate("unlocks/enchantments/pest_control"); + public static final Identifier ENCHANTMENTS_RAZING = SpectrumCommon.locate("unlocks/enchantments/razing_usage"); + public static final Identifier ENCHANTMENTS_RESONANCE_USAGE = SpectrumCommon.locate("unlocks/enchantments/resonance_usage"); + public static final Identifier ENCHANTMENTS_SERENDIPITY_REEL = SpectrumCommon.locate("unlocks/enchantments/serendipity_reel"); + public static final Identifier ENCHANTMENTS_SNIPER = SpectrumCommon.locate("unlocks/enchantments/sniper"); + public static final Identifier ENCHANTMENTS_STEADFAST = SpectrumCommon.locate("unlocks/enchantments/steadfast"); + public static final Identifier ENCHANTMENTS_TIGHT_GRIP = SpectrumCommon.locate("unlocks/enchantments/tight_grip"); + public static final Identifier ENCHANTMENTS_TREASURE_HUNTER = SpectrumCommon.locate("unlocks/enchantments/treasure_hunter"); + public static final Identifier ENCHANTMENTS_VOIDING_USAGE = SpectrumCommon.locate("unlocks/enchantments/voiding_usage"); + + // Pedestal + public static final Identifier PLACED_PEDESTAL = SpectrumCommon.locate("place_pedestal"); + public static final Identifier BUILD_BASIC_PEDESTAL_STRUCTURE = SpectrumCommon.locate("build_basic_pedestal_structure"); + public static final Identifier BUILD_ADVANCED_PEDESTAL_STRUCTURE = SpectrumCommon.locate("midgame/build_advanced_pedestal_structure"); + public static final Identifier BUILD_COMPLEX_PEDESTAL_STRUCTURE = SpectrumCommon.locate("lategame/build_complex_pedestal_structure"); + public static final Identifier BUILD_COMPLEX_PEDESTAL_STRUCTURE_WITHOUT_MOONSTONE = SpectrumCommon.locate("lategame/build_complex_pedestal_structure_without_moonstone"); + + // Misc + public static final Identifier KILLED_MONSTROSITY = SpectrumCommon.locate("lategame/killed_monstrosity"); + + // Unlocks + public static final Identifier UNLOCK_BOTTLE_OF_FADING = SpectrumCommon.locate("unlocks/items/bottle_of_fading"); + public static final Identifier UNLOCK_BOTTLE_OF_FAILING = SpectrumCommon.locate("unlocks/items/bottle_of_failing"); + public static final Identifier UNLOCK_BOTTLE_OF_FORFEITURE = SpectrumCommon.locate("unlocks/items/bottle_of_forfeiture"); + public static final Identifier UNLOCK_BOTTLE_OF_RUIN = SpectrumCommon.locate("unlocks/items/bottle_of_ruin"); + public static final Identifier UNLOCK_GREATER_POTION_PENDANT = SpectrumCommon.locate("unlocks/trinkets/greater_potion_pendant"); + public static final Identifier UNLOCK_IDOLS = SpectrumCommon.locate("unlocks/items/idols"); + public static final Identifier UNLOCK_LESSER_POTION_PENDANT = SpectrumCommon.locate("unlocks/trinkets/lesser_potion_pendant"); + public static final Identifier UNLOCK_NATURES_STAFF = SpectrumCommon.locate("unlocks/items/natures_staff"); + + // Misc + public static final Identifier ASCEND_KINDLING = SpectrumCommon.locate("ascend_kindling"); + public static final Identifier BREAK_CRACKED_DRAGONBONE = SpectrumCommon.locate("break_cracked_dragonbone"); + public static final Identifier COLLECT_HIBERNATING_JADE_VINE_BULB = SpectrumCommon.locate("hidden/collect_hibernating_jade_vine_bulb"); + public static final Identifier COLLECT_NECTARDEW = SpectrumCommon.locate("lategame/collect_nectardew"); + public static final Identifier CRAFT_BOTTLE_OF_FADING = SpectrumCommon.locate("craft_bottle_of_fading"); + public static final Identifier CRAFT_BOTTLE_OF_FAILING = SpectrumCommon.locate("midgame/craft_bottle_of_failing"); + public static final Identifier CREATE_MIDNIGHT_ABERRATION = SpectrumCommon.locate("midgame/create_midnight_aberration"); + public static final Identifier ENTER_DIMENSION = SpectrumCommon.locate("midgame/enter_dimension"); + public static final Identifier FIND_EXCAVATION_SITE = SpectrumCommon.locate("lategame/find_excavation_site"); + public static final Identifier LATEGAME = SpectrumCommon.locate("lategame/spectrum_lategame"); + public static final Identifier MIDGAME = SpectrumCommon.locate("midgame/spectrum_midgame"); + public static final Identifier MYSTERIOUS_LOCKET_SOCKETING = SpectrumCommon.locate("unlocks/mysterious_locket_socketing"); + public static final Identifier PLUCK_EFFULGENT_FEATHER = SpectrumCommon.locate("pluck_effulgent_feather"); + public static final Identifier SOLVE_WIRELESS_REDSTONE_PRESERVATION_RUIN = SpectrumCommon.locate("solve_wireless_redstone_preservation_ruin"); + public static final Identifier STRIKE_UP_HUMMINGSTONE_HYMN = SpectrumCommon.locate("lategame/strike_up_hummingstone_hymn"); + public static final Identifier VIVISECT_KINDLING = SpectrumCommon.locate("mod_integration/neepmeat/vivisect_kindling"); + -} +} \ No newline at end of file diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index ecb9f6d6ac..09628a681b 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -92,7 +92,7 @@ import static net.minecraft.block.Blocks.*; public class SpectrumBlocks { - + private static Settings settings(MapColor mapColor, BlockSoundGroup blockSoundGroup, float strength) { return FabricBlockSettings.create().mapColor(mapColor).sounds(blockSoundGroup).strength(strength); } @@ -640,9 +640,9 @@ public static Settings noxcap(MapColor color) { private static final int NOXCAP_BUTTON_BLOCK_PRESS_TIME_TICKS = 30; public static final PillarBlock STRIPPED_SLATE_NOXCAP_STEM = new PillarBlock(noxcap(MapColor.GRAY)); - public static final PillarBlock SLATE_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.GRAY), STRIPPED_SLATE_NOXCAP_STEM, SpectrumCommon.locate("gameplay/stripping/slate_noxcap_stripping")); + public static final PillarBlock SLATE_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.GRAY), STRIPPED_SLATE_NOXCAP_STEM, SpectrumLootTables.SLATE_NOXCAP_STRIPPING); public static final Block STRIPPED_SLATE_NOXCAP_HYPHAE = new PillarBlock(noxcap(MapColor.GRAY)); - public static final Block SLATE_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.GRAY), STRIPPED_SLATE_NOXCAP_HYPHAE, SpectrumCommon.locate("gameplay/stripping/slate_noxcap_stripping")); + public static final Block SLATE_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.GRAY), STRIPPED_SLATE_NOXCAP_HYPHAE, SpectrumLootTables.SLATE_NOXCAP_STRIPPING); public static final Block SLATE_NOXCAP_BLOCK = new Block(noxcap(MapColor.GRAY)); public static final PillarBlock SLATE_NOXCAP_GILLS = new PillarBlock(noxcap(MapColor.DIAMOND_BLUE).luminance(state -> 9).emissiveLighting(SpectrumBlocks::always).postProcess(SpectrumBlocks::always)); public static final Block SLATE_NOXWOOD_PLANKS = new Block(noxcap(MapColor.GRAY)); @@ -661,9 +661,9 @@ public static Settings noxcap(MapColor color) { public static final Block SLATE_NOXWOOD_LAMP = new FlexLanternBlock(FabricBlockSettings.copyOf(Blocks.LANTERN).luminance(13).pistonBehavior(PistonBehavior.DESTROY)); public static final PillarBlock STRIPPED_EBONY_NOXCAP_STEM = new PillarBlock(noxcap(MapColor.TERRACOTTA_BLACK)); - public static final PillarBlock EBONY_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.TERRACOTTA_BLACK), STRIPPED_EBONY_NOXCAP_STEM, SpectrumCommon.locate("gameplay/stripping/ebony_noxcap_stripping")); + public static final PillarBlock EBONY_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.TERRACOTTA_BLACK), STRIPPED_EBONY_NOXCAP_STEM, SpectrumLootTables.EBONY_NOXCAP_STRIPPING); public static final Block STRIPPED_EBONY_NOXCAP_HYPHAE = new PillarBlock(noxcap(MapColor.TERRACOTTA_BLACK)); - public static final Block EBONY_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.TERRACOTTA_BLACK), STRIPPED_EBONY_NOXCAP_HYPHAE, SpectrumCommon.locate("gameplay/stripping/ebony_noxcap_stripping")); + public static final Block EBONY_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.TERRACOTTA_BLACK), STRIPPED_EBONY_NOXCAP_HYPHAE, SpectrumLootTables.EBONY_NOXCAP_STRIPPING); public static final Block EBONY_NOXCAP_BLOCK = new Block(noxcap(MapColor.TERRACOTTA_BLACK)); public static final PillarBlock EBONY_NOXCAP_GILLS = new PillarBlock(noxcap(MapColor.DIAMOND_BLUE).luminance(state -> 9).emissiveLighting(SpectrumBlocks::always).postProcess(SpectrumBlocks::always)); public static final Block EBONY_NOXWOOD_PLANKS = new Block(noxcap(MapColor.TERRACOTTA_BLACK)); @@ -682,9 +682,9 @@ public static Settings noxcap(MapColor color) { public static final Block EBONY_NOXWOOD_LAMP = new FlexLanternBlock(FabricBlockSettings.copyOf(Blocks.LANTERN).luminance(13).pistonBehavior(PistonBehavior.DESTROY)); public static final PillarBlock STRIPPED_IVORY_NOXCAP_STEM = new PillarBlock(noxcap(MapColor.OFF_WHITE)); - public static final PillarBlock IVORY_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_IVORY_NOXCAP_STEM, SpectrumCommon.locate("gameplay/stripping/ivory_noxcap_stripping")); + public static final PillarBlock IVORY_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_IVORY_NOXCAP_STEM, SpectrumLootTables.IVORY_NOXCAP_STRIPPING); public static final Block STRIPPED_IVORY_NOXCAP_HYPHAE = new PillarBlock(noxcap(MapColor.OFF_WHITE)); - public static final Block IVORY_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_IVORY_NOXCAP_HYPHAE, SpectrumCommon.locate("gameplay/stripping/ivory_noxcap_stripping")); + public static final Block IVORY_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_IVORY_NOXCAP_HYPHAE, SpectrumLootTables.IVORY_NOXCAP_STRIPPING); public static final Block IVORY_NOXCAP_BLOCK = new Block(noxcap(MapColor.OFF_WHITE)); public static final PillarBlock IVORY_NOXCAP_GILLS = new PillarBlock(noxcap(MapColor.DIAMOND_BLUE).luminance(state -> 9).emissiveLighting(SpectrumBlocks::always).postProcess(SpectrumBlocks::always)); public static final Block IVORY_NOXWOOD_PLANKS = new Block(noxcap(MapColor.OFF_WHITE)); @@ -703,9 +703,9 @@ public static Settings noxcap(MapColor color) { public static final Block IVORY_NOXWOOD_LAMP = new FlexLanternBlock(FabricBlockSettings.copyOf(Blocks.LANTERN).luminance(13).pistonBehavior(PistonBehavior.DESTROY)); public static final PillarBlock STRIPPED_CHESTNUT_NOXCAP_STEM = new PillarBlock(noxcap(MapColor.DULL_RED)); - public static final PillarBlock CHESTNUT_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.DULL_RED), STRIPPED_CHESTNUT_NOXCAP_STEM, SpectrumCommon.locate("gameplay/stripping/chestnut_noxcap_stripping")); + public static final PillarBlock CHESTNUT_NOXCAP_STEM = new StrippingLootPillarBlock(noxcap(MapColor.DULL_RED), STRIPPED_CHESTNUT_NOXCAP_STEM, SpectrumLootTables.CHESTNUT_NOXCAP_STRIPPING); public static final Block STRIPPED_CHESTNUT_NOXCAP_HYPHAE = new PillarBlock(noxcap(MapColor.OFF_WHITE)); - public static final Block CHESTNUT_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_CHESTNUT_NOXCAP_HYPHAE, SpectrumCommon.locate("gameplay/stripping/chestnut_noxcap_stripping")); + public static final Block CHESTNUT_NOXCAP_HYPHAE = new StrippingLootPillarBlock(noxcap(MapColor.OFF_WHITE), STRIPPED_CHESTNUT_NOXCAP_HYPHAE, SpectrumLootTables.CHESTNUT_NOXCAP_STRIPPING); public static final Block CHESTNUT_NOXCAP_BLOCK = new Block(noxcap(MapColor.DULL_RED)); public static final PillarBlock CHESTNUT_NOXCAP_GILLS = new PillarBlock(noxcap(MapColor.DIAMOND_BLUE).luminance(state -> 9).emissiveLighting(SpectrumBlocks::always).postProcess(SpectrumBlocks::always)); public static final Block CHESTNUT_NOXWOOD_PLANKS = new Block(noxcap(MapColor.DULL_RED)); @@ -867,23 +867,23 @@ private static Settings netherrackOre() { private static Settings endstoneOre() { return FabricBlockSettings.copyOf(Blocks.END_STONE).strength(3.0F, 3.0F).requiresTool(); } - - public static final Block SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(ore().ticksRandomly(), UniformIntProvider.create(2, 4), locate("milestones/reveal_shimmerstone"), Blocks.STONE.getDefaultState()); - public static final Block DEEPSLATE_SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(deepslateOre().ticksRandomly(), UniformIntProvider.create(2, 4), locate("milestones/reveal_shimmerstone"), Blocks.DEEPSLATE.getDefaultState()); - public static final Block BLACKSLAG_SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(blackslagOre().ticksRandomly(), UniformIntProvider.create(2, 4), locate("milestones/reveal_shimmerstone"), BLACKSLAG.getDefaultState()); + + public static final Block SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(ore().ticksRandomly(), UniformIntProvider.create(2, 4), SpectrumAdvancements.REVEAL_SHIMMERSTONE, Blocks.STONE.getDefaultState()); + public static final Block DEEPSLATE_SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(deepslateOre().ticksRandomly(), UniformIntProvider.create(2, 4), SpectrumAdvancements.REVEAL_SHIMMERSTONE, Blocks.DEEPSLATE.getDefaultState()); + public static final Block BLACKSLAG_SHIMMERSTONE_ORE = new ShimmerstoneOreBlock(blackslagOre().ticksRandomly(), UniformIntProvider.create(2, 4), SpectrumAdvancements.REVEAL_SHIMMERSTONE, BLACKSLAG.getDefaultState()); public static final Block SHIMMERSTONE_BLOCK = new ShimmerstoneBlock(settings(MapColor.YELLOW, BlockSoundGroup.GLASS, 2.0F).luminance((state) -> 15)); - - public static final AzuriteOreBlock AZURITE_ORE = new AzuriteOreBlock(ore().ticksRandomly(), UniformIntProvider.create(4, 7), locate("milestones/reveal_azurite"), Blocks.STONE.getDefaultState()); - public static final Block DEEPSLATE_AZURITE_ORE = new AzuriteOreBlock(deepslateOre().ticksRandomly(), UniformIntProvider.create(4, 7), locate("milestones/reveal_azurite"), Blocks.DEEPSLATE.getDefaultState()); - public static final Block BLACKSLAG_AZURITE_ORE = new AzuriteOreBlock(blackslagOre().ticksRandomly(), UniformIntProvider.create(4, 7), locate("milestones/reveal_azurite"), SpectrumBlocks.BLACKSLAG.getDefaultState()); + + public static final AzuriteOreBlock AZURITE_ORE = new AzuriteOreBlock(ore().ticksRandomly(), UniformIntProvider.create(4, 7), SpectrumAdvancements.REVEAL_AZURITE, Blocks.STONE.getDefaultState()); + public static final Block DEEPSLATE_AZURITE_ORE = new AzuriteOreBlock(deepslateOre().ticksRandomly(), UniformIntProvider.create(4, 7), SpectrumAdvancements.REVEAL_AZURITE, Blocks.DEEPSLATE.getDefaultState()); + public static final Block BLACKSLAG_AZURITE_ORE = new AzuriteOreBlock(blackslagOre().ticksRandomly(), UniformIntProvider.create(4, 7), SpectrumAdvancements.REVEAL_AZURITE, SpectrumBlocks.BLACKSLAG.getDefaultState()); public static final Block AZURITE_BLOCK = new SpectrumFacingBlock(FabricBlockSettings.copyOf(Blocks.LAPIS_BLOCK).mapColor(MapColor.BLUE)); public static final Block AZURITE_CLUSTER = new AmethystClusterBlock(7, 3, gemstone(MapColor.BLUE, SpectrumBlockSoundGroups.SMALL_ONYX_BUD, 2)); public static final Block LARGE_AZURITE_BUD = new AmethystClusterBlock(5, 3, gemstone(MapColor.BLUE, SpectrumBlockSoundGroups.LARGE_ONYX_BUD, 3)); public static final Block SMALL_AZURITE_BUD = new AmethystClusterBlock(3, 4, gemstone(MapColor.BLUE, SpectrumBlockSoundGroups.ONYX_CLUSTER, 5)); - - public static final Block MALACHITE_ORE = new CloakedOreBlock(ore(), UniformIntProvider.create(7, 11), locate("milestones/reveal_malachite"), Blocks.STONE.getDefaultState()); - public static final Block DEEPSLATE_MALACHITE_ORE = new CloakedOreBlock(deepslateOre(), UniformIntProvider.create(7, 11), locate("milestones/reveal_malachite"), Blocks.DEEPSLATE.getDefaultState()); - public static final Block BLACKSLAG_MALACHITE_ORE = new CloakedOreBlock(blackslagOre(), UniformIntProvider.create(7, 11), locate("milestones/reveal_malachite"), BLACKSLAG.getDefaultState()); + + public static final Block MALACHITE_ORE = new CloakedOreBlock(ore(), UniformIntProvider.create(7, 11), SpectrumAdvancements.REVEAL_MALACHITE, Blocks.STONE.getDefaultState()); + public static final Block DEEPSLATE_MALACHITE_ORE = new CloakedOreBlock(deepslateOre(), UniformIntProvider.create(7, 11), SpectrumAdvancements.REVEAL_MALACHITE, Blocks.DEEPSLATE.getDefaultState()); + public static final Block BLACKSLAG_MALACHITE_ORE = new CloakedOreBlock(blackslagOre(), UniformIntProvider.create(7, 11), SpectrumAdvancements.REVEAL_MALACHITE, BLACKSLAG.getDefaultState()); public static final Block MALACHITE_BLOCK = new SpectrumFacingBlock(gemstoneBlock(MapColor.EMERALD_GREEN, BlockSoundGroup.CHAIN)); public static final Block MALACHITE_CLUSTER = new AmethystClusterBlock(7, 3, gemstone(MapColor.EMERALD_GREEN, BlockSoundGroup.CHAIN, 9)); public static final Block LARGE_MALACHITE_BUD = new AmethystClusterBlock(5, 3, gemstone(MapColor.EMERALD_GREEN, BlockSoundGroup.CHAIN, 7)); @@ -893,9 +893,9 @@ private static Settings endstoneOre() { public static final Block BLOODSTONE_CLUSTER = new AmethystClusterBlock(7, 3, gemstone(MapColor.RED, SpectrumBlockSoundGroups.SMALL_ONYX_BUD, 6)); public static final Block LARGE_BLOODSTONE_BUD = new AmethystClusterBlock(5, 3, gemstone(MapColor.RED, SpectrumBlockSoundGroups.SMALL_ONYX_BUD, 4)); public static final Block SMALL_BLOODSTONE_BUD = new AmethystClusterBlock(3, 4, gemstone(MapColor.RED, SpectrumBlockSoundGroups.ONYX_CLUSTER, 3)); - - public static final Block STRATINE_ORE = new CloakedOreBlock(netherrackOre(), UniformIntProvider.create(3, 5), locate("milestones/reveal_stratine"), Blocks.NETHERRACK.getDefaultState()); - public static final Block PALTAERIA_ORE = new CloakedOreBlock(endstoneOre(), UniformIntProvider.create(2, 4), locate("milestones/reveal_paltaeria"), Blocks.END_STONE.getDefaultState()); + + public static final Block STRATINE_ORE = new CloakedOreBlock(netherrackOre(), UniformIntProvider.create(3, 5), SpectrumAdvancements.REVEAL_STRATINE, Blocks.NETHERRACK.getDefaultState()); + public static final Block PALTAERIA_ORE = new CloakedOreBlock(endstoneOre(), UniformIntProvider.create(2, 4), SpectrumAdvancements.REVEAL_PALTAERIA, Blocks.END_STONE.getDefaultState()); private static Settings gravityBlock(MapColor mapColor) { return settings(mapColor, BlockSoundGroup.METAL, 4.0F, 6.0F).instrument(Instrument.BASEDRUM).requiresTool(); @@ -1598,7 +1598,7 @@ public static void register() { registerBlockWithItem("blazing_crystal", BLAZING_CRYSTAL, IS.of(), DyeColor.ORANGE); registerBlockWithItem("resonant_lily", RESONANT_LILY, IS.of(), DyeColor.GREEN); registerBlockWithItem("clover", CLOVER, IS.of(), DyeColor.LIME); - registerBlockWithItem("four_leaf_clover", FOUR_LEAF_CLOVER, new FourLeafCloverItem(FOUR_LEAF_CLOVER, IS.of(), locate("milestones/reveal_four_leaf_clover"), CLOVER.asItem()), DyeColor.LIME); + registerBlockWithItem("four_leaf_clover", FOUR_LEAF_CLOVER, new FourLeafCloverItem(FOUR_LEAF_CLOVER, IS.of(), SpectrumAdvancements.REVEAL_FOUR_LEAF_CLOVER, CLOVER.asItem()), DyeColor.LIME); registerBlockWithItem("incandescent_amalgam", INCANDESCENT_AMALGAM, new IncandescentAmalgamItem(INCANDESCENT_AMALGAM, IS.of(16).food(SpectrumFoodComponents.INCANDESCENT_AMALGAM)), DyeColor.RED); registerBlockWithItem("blood_orchid", BLOOD_ORCHID, IS.of(), DyeColor.RED); diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumEnchantments.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumEnchantments.java index b47d2d9eea..f352ee6020 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumEnchantments.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumEnchantments.java @@ -8,26 +8,26 @@ public class SpectrumEnchantments { - public static final SpectrumEnchantment RESONANCE = new ResonanceEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/resonance_usage"), EquipmentSlot.MAINHAND); // Silk Touch, just for different blocks - public static final SpectrumEnchantment VOIDING = new VoidingEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/voiding_usage"), EquipmentSlot.MAINHAND); // Voids all items mined - public static final SpectrumEnchantment PEST_CONTROL = new PestControlEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/pest_control"), EquipmentSlot.MAINHAND); // Kills silverfish when mining infested blocks - public static final SpectrumEnchantment FOUNDRY = new FoundryEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/autosmelt"), EquipmentSlot.MAINHAND); // applies smelting recipe before dropping items after mining - public static final SpectrumEnchantment INVENTORY_INSERTION = new InventoryInsertionEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/inventory_insertion"), EquipmentSlot.MAINHAND); // don't drop items into the world, add to inv instead - public static final SpectrumEnchantment EXUBERANCE = new ExuberanceEnchantment(Enchantment.Rarity.UNCOMMON, SpectrumCommon.locate("unlocks/enchantments/exuberance"), EquipmentSlot.MAINHAND); // Drops more XP on kill - public static final SpectrumEnchantment TREASURE_HUNTER = new TreasureHunterEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/treasure_hunter"), EquipmentSlot.MAINHAND); // Drops mob heads - public static final SpectrumEnchantment DISARMING = new DisarmingEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/disarming"), EquipmentSlot.MAINHAND); // Drops mob equipment on hit (and players, but way less often) - public static final SpectrumEnchantment FIRST_STRIKE = new FirstStrikeEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/first_strike"), EquipmentSlot.MAINHAND); // Increased damage if enemy has full health - public static final SpectrumEnchantment IMPROVED_CRITICAL = new ImprovedCriticalEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/improved_critical"), EquipmentSlot.MAINHAND); // Increased damage when landing a critical hit - public static final SpectrumEnchantment INERTIA = new InertiaEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/inertia"), EquipmentSlot.MAINHAND); // Decreases mining speed, but increases with each mined block of the same type - public static final SpectrumEnchantment CLOVERS_FAVOR = new CloversFavorEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/clovers_favor"), EquipmentSlot.MAINHAND); // Increases drop chance of <1 loot drops - public static final SpectrumEnchantment SNIPER = new SniperEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/sniper"), EquipmentSlot.MAINHAND); // Increases projectile speed => increased damage + range - public static final SpectrumEnchantment TIGHT_GRIP = new TightGripEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/tight_grip"), EquipmentSlot.MAINHAND); // Increases attack speed - public static final SpectrumEnchantment STEADFAST = new SteadfastEnchantment(Enchantment.Rarity.COMMON, SpectrumCommon.locate("unlocks/enchantments/steadfast"), EquipmentSlot.MAINHAND); // ItemStacks with this enchantment are not destroyed by cactus, fire, lava, ... - public static final SpectrumEnchantment INDESTRUCTIBLE = new IndestructibleEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/indestructible"), EquipmentSlot.MAINHAND); // Make tools not use up durability - public static final SpectrumEnchantment BIG_CATCH = new BigCatchEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/big_catch"), EquipmentSlot.MAINHAND); // Increase the chance to reel in entities instead of fishing loot - public static final SpectrumEnchantment SERENDIPITY_REEL = new SerendipityReelEnchantment(Enchantment.Rarity.RARE, SpectrumCommon.locate("unlocks/enchantments/serendipity_reel"), EquipmentSlot.MAINHAND); // Increase luck when fishing - public static final SpectrumEnchantment RAZING = new RazingEnchantment(Enchantment.Rarity.UNCOMMON, SpectrumCommon.locate("unlocks/enchantments/razing_usage"), EquipmentSlot.MAINHAND); // increased mining speed for very hard blocks - public static final SpectrumEnchantment INEXORABLE = new InexorableEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumCommon.locate("unlocks/enchantments/inexorable"), EquipmentSlot.MAINHAND, EquipmentSlot.CHEST, EquipmentSlot.OFFHAND); // prevents mining & movement slowdowns + public static final SpectrumEnchantment RESONANCE = new ResonanceEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_RESONANCE_USAGE, EquipmentSlot.MAINHAND); // Silk Touch, just for different blocks + public static final SpectrumEnchantment VOIDING = new VoidingEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_VOIDING_USAGE, EquipmentSlot.MAINHAND); // Voids all items mined + public static final SpectrumEnchantment PEST_CONTROL = new PestControlEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_PEST_CONTROL, EquipmentSlot.MAINHAND); // Kills silverfish when mining infested blocks + public static final SpectrumEnchantment FOUNDRY = new FoundryEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_FOUNDRY, EquipmentSlot.MAINHAND); // applies smelting recipe before dropping items after mining + public static final SpectrumEnchantment INVENTORY_INSERTION = new InventoryInsertionEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_INVENTORY_INSERTION, EquipmentSlot.MAINHAND); // don't drop items into the world, add to inv instead + public static final SpectrumEnchantment EXUBERANCE = new ExuberanceEnchantment(Enchantment.Rarity.UNCOMMON, SpectrumAdvancements.ENCHANTMENTS_EXUBERANCE, EquipmentSlot.MAINHAND); // Drops more XP on kill + public static final SpectrumEnchantment TREASURE_HUNTER = new TreasureHunterEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_TREASURE_HUNTER, EquipmentSlot.MAINHAND); // Drops mob heads + public static final SpectrumEnchantment DISARMING = new DisarmingEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_DISARMING, EquipmentSlot.MAINHAND); // Drops mob equipment on hit (and players, but way less often) + public static final SpectrumEnchantment FIRST_STRIKE = new FirstStrikeEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_FIRST_STRIKE, EquipmentSlot.MAINHAND); // Increased damage if enemy has full health + public static final SpectrumEnchantment IMPROVED_CRITICAL = new ImprovedCriticalEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_IMPROVED_CRITICAL, EquipmentSlot.MAINHAND); // Increased damage when landing a critical hit + public static final SpectrumEnchantment INERTIA = new InertiaEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_INERTIA, EquipmentSlot.MAINHAND); // Decreases mining speed, but increases with each mined block of the same type + public static final SpectrumEnchantment CLOVERS_FAVOR = new CloversFavorEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_CLOVERS_FAVOR, EquipmentSlot.MAINHAND); // Increases drop chance of <1 loot drops + public static final SpectrumEnchantment SNIPER = new SniperEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_SNIPER, EquipmentSlot.MAINHAND); // Increases projectile speed => increased damage + range + public static final SpectrumEnchantment TIGHT_GRIP = new TightGripEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_TIGHT_GRIP, EquipmentSlot.MAINHAND); // Increases attack speed + public static final SpectrumEnchantment STEADFAST = new SteadfastEnchantment(Enchantment.Rarity.COMMON, SpectrumAdvancements.ENCHANTMENTS_STEADFAST, EquipmentSlot.MAINHAND); // ItemStacks with this enchantment are not destroyed by cactus, fire, lava, ... + public static final SpectrumEnchantment INDESTRUCTIBLE = new IndestructibleEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_INDESTRUCTIBLE, EquipmentSlot.MAINHAND); // Make tools not use up durability + public static final SpectrumEnchantment BIG_CATCH = new BigCatchEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_BIG_CATCH, EquipmentSlot.MAINHAND); // Increase the chance to reel in entities instead of fishing loot + public static final SpectrumEnchantment SERENDIPITY_REEL = new SerendipityReelEnchantment(Enchantment.Rarity.RARE, SpectrumAdvancements.ENCHANTMENTS_SERENDIPITY_REEL, EquipmentSlot.MAINHAND); // Increase luck when fishing + public static final SpectrumEnchantment RAZING = new RazingEnchantment(Enchantment.Rarity.UNCOMMON, SpectrumAdvancements.ENCHANTMENTS_RAZING, EquipmentSlot.MAINHAND); // increased mining speed for very hard blocks + public static final SpectrumEnchantment INEXORABLE = new InexorableEnchantment(Enchantment.Rarity.VERY_RARE, SpectrumAdvancements.ENCHANTMENTS_INEXORABLE, EquipmentSlot.MAINHAND, EquipmentSlot.CHEST, EquipmentSlot.OFFHAND); // prevents mining & movement slowdowns public static void register() { register("resonance", RESONANCE); diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java index c4c3d7a769..81d1480026 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java @@ -80,7 +80,8 @@ public static FabricItemSettings of(int maxCount, Rarity rarity) { public static final Item TOPAZ_SHARD = new Item(IS.of()); public static final Item CITRINE_SHARD = new Item(IS.of()); public static final Item ONYX_SHARD = new CloakedItem(IS.of(), SpectrumCommon.locate("collect_all_basic_pigments_besides_brown"), Items.BLACK_DYE); - public static final Item MOONSTONE_SHARD = new CloakedItem(IS.of(), SpectrumCommon.locate("midgame/break_decayed_bedrock"), Items.WHITE_DYE); + public static final Identifier BREA_DECAYED_BEDROCK = SpectrumCommon.locate("midgame/break_decayed_bedrock"); + public static final Item MOONSTONE_SHARD = new CloakedItem(IS.of(), BREA_DECAYED_BEDROCK, Items.WHITE_DYE); public static final Item SPECTRAL_SHARD = new Item(IS.of(Rarity.RARE)); public static final Item TOPAZ_POWDER = new GemstonePowderItem(IS.of(), SpectrumCommon.locate("hidden/collect_shards/topaz"), BuiltinGemstoneColor.CYAN); @@ -219,17 +220,17 @@ public Map getDefaultEnchantments() { public static final Item OREAD_BOOTS = new GemstoneArmorItem(SpectrumArmorMaterials.GEMSTONE, ArmorItem.Type.BOOTS, IS.of(Rarity.UNCOMMON).maxDamage(SpectrumArmorMaterials.GEMSTONE.getDurability(ArmorItem.Type.BOOTS))); // Decay drops - public static final Item VEGETAL = new CloakedItemWithLoomPattern(IS.of(), SpectrumCommon.locate("craft_bottle_of_fading"), Items.GUNPOWDER, SpectrumBannerPatterns.VEGETAL); - public static final Item NEOLITH = new CloakedItemWithLoomPattern(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/craft_bottle_of_failing"), Items.GUNPOWDER, SpectrumBannerPatterns.NEOLITH); - public static final Item BEDROCK_DUST = new CloakedItemWithLoomPattern(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/break_decayed_bedrock"), Items.GUNPOWDER, SpectrumBannerPatterns.BEDROCK_DUST); + public static final Item VEGETAL = new CloakedItemWithLoomPattern(IS.of(), SpectrumAdvancements.CRAFT_BOTTLE_OF_FADING, Items.GUNPOWDER, SpectrumBannerPatterns.VEGETAL); + public static final Item NEOLITH = new CloakedItemWithLoomPattern(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.CRAFT_BOTTLE_OF_FAILING, Items.GUNPOWDER, SpectrumBannerPatterns.NEOLITH); + public static final Item BEDROCK_DUST = new CloakedItemWithLoomPattern(IS.of(Rarity.UNCOMMON), BREA_DECAYED_BEDROCK, Items.GUNPOWDER, SpectrumBannerPatterns.BEDROCK_DUST); - public static final MidnightAberrationItem MIDNIGHT_ABERRATION = new MidnightAberrationItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/create_midnight_aberration"), SpectrumItems.SPECTRAL_SHARD); - public static final Item MIDNIGHT_CHIP = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/create_midnight_aberration"), Items.GRAY_DYE); + public static final MidnightAberrationItem MIDNIGHT_ABERRATION = new MidnightAberrationItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.CREATE_MIDNIGHT_ABERRATION, SpectrumItems.SPECTRAL_SHARD); + public static final Item MIDNIGHT_CHIP = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.CREATE_MIDNIGHT_ABERRATION, Items.GRAY_DYE); - public static final Item BISMUTH_FLAKE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/enter_dimension"), Items.CYAN_DYE); - public static final Item BISMUTH_CRYSTAL = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("midgame/enter_dimension"), Items.CYAN_DYE); - public static final Item RAW_MALACHITE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("milestones/reveal_malachite"), Items.GREEN_DYE); - public static final Item REFINED_MALACHITE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("milestones/reveal_malachite"), Items.GREEN_DYE); + public static final Item BISMUTH_FLAKE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.ENTER_DIMENSION, Items.CYAN_DYE); + public static final Item BISMUTH_CRYSTAL = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.ENTER_DIMENSION, Items.CYAN_DYE); + public static final Item RAW_MALACHITE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.REVEAL_MALACHITE, Items.GREEN_DYE); + public static final Item REFINED_MALACHITE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.REVEAL_MALACHITE, Items.GREEN_DYE); // Fluid Buckets public static final Item LIQUID_CRYSTAL_BUCKET = new BucketItem(LIQUID_CRYSTAL, IS.of(1).recipeRemainder(Items.BUCKET)); @@ -253,29 +254,29 @@ public Map getDefaultEnchantments() { public static final CloakedFloatItem PALTAERIA_FRAGMENTS = new CloakedFloatItem(IS.of(), 0.00125F, ((RevelationAware) SpectrumBlocks.PALTAERIA_ORE).getCloakAdvancementIdentifier(), Items.CYAN_DYE); public static final CloakedFloatItem PALTAERIA_GEM = new CloakedFloatItem(IS.of(16), 0.01F, ((RevelationAware) SpectrumBlocks.PALTAERIA_ORE).getCloakAdvancementIdentifier(), Items.CYAN_DYE); public static final Item PYRITE_CHUNK = new Item(IS.of()); - public static final Item DRAGONBONE_CHUNK = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("break_cracked_dragonbone"), Items.GRAY_DYE); - public static final Item BONE_ASH = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("break_cracked_dragonbone"), Items.GRAY_DYE); - public static final Item EFFULGENT_FEATHER = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("pluck_effulgent_feather"), Items.RED_DYE); - public static final Item RAW_BLOODSTONE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("pluck_effulgent_feather"), Items.RED_DYE); - public static final Item REFINED_BLOODSTONE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumCommon.locate("pluck_effulgent_feather"), Items.RED_DYE); - public static final Item DOWNSTONE_FRAGMENTS = new CloakedItem(IS.of(16, Rarity.UNCOMMON), SpectrumCommon.locate("lategame/find_excavation_site"), Items.LIGHT_GRAY_DYE); - public static final Item RESONANCE_SHARD = new CloakedItem(IS.of(16, Rarity.UNCOMMON), SpectrumCommon.locate("lategame/strike_up_hummingstone_hymn"), Items.LIGHT_BLUE_DYE); + public static final Item DRAGONBONE_CHUNK = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.BREAK_CRACKED_DRAGONBONE, Items.GRAY_DYE); + public static final Item BONE_ASH = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.BREAK_CRACKED_DRAGONBONE, Items.GRAY_DYE); + public static final Item EFFULGENT_FEATHER = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.PLUCK_EFFULGENT_FEATHER, Items.RED_DYE); + public static final Item RAW_BLOODSTONE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.PLUCK_EFFULGENT_FEATHER, Items.RED_DYE); + public static final Item REFINED_BLOODSTONE = new CloakedItem(IS.of(Rarity.UNCOMMON), SpectrumAdvancements.PLUCK_EFFULGENT_FEATHER, Items.RED_DYE); + public static final Item DOWNSTONE_FRAGMENTS = new CloakedItem(IS.of(16, Rarity.UNCOMMON), SpectrumAdvancements.FIND_EXCAVATION_SITE, Items.LIGHT_GRAY_DYE); + public static final Item RESONANCE_SHARD = new CloakedItem(IS.of(16, Rarity.UNCOMMON), SpectrumAdvancements.STRIKE_UP_HUMMINGSTONE_HYMN, Items.LIGHT_BLUE_DYE); public static final Item AETHER_VESTIGES = new AetherVestigesItem(IS.of(1, Rarity.EPIC).fireproof(), "item.spectrum.aether_vestiges.tooltip"); - - public static final Item QUITOXIC_POWDER = new CloakedItem(IS.of(), ((RevelationAware) SpectrumBlocks.QUITOXIC_REEDS).getCloakAdvancementIdentifier(), Items.PURPLE_DYE); - public static final Item STORM_STONE = new StormStoneItem(IS.of(), ((RevelationAware) SpectrumBlocks.STUCK_STORM_STONE).getCloakAdvancementIdentifier(), Items.YELLOW_DYE); + + public static final Item QUITOXIC_POWDER = new CloakedItem(IS.of(), SpectrumAdvancements.REVEAL_QUITOXIC_REEDS, Items.PURPLE_DYE); + public static final Item STORM_STONE = new StormStoneItem(IS.of(), SpectrumAdvancements.REVEAL_STORM_STONES, Items.YELLOW_DYE); public static final Item MERMAIDS_GEM = new MermaidsGemItem(SpectrumBlocks.MERMAIDS_BRUSH, IS.of()); - public static final CloakedItem STAR_FRAGMENT = new CloakedItem(IS.of(16), SpectrumCommon.locate("milestones/unlock_shooting_stars"), Items.PURPLE_DYE); - public static final Item STARDUST = new CloakedItemWithLoomPattern(IS.of(), SpectrumCommon.locate("milestones/unlock_shooting_stars"), Items.PURPLE_DYE, SpectrumBannerPatterns.SHIMMER); + public static final CloakedItem STAR_FRAGMENT = new CloakedItem(IS.of(16), SpectrumAdvancements.UNLOCK_SHOOTING_STARS, Items.PURPLE_DYE); + public static final Item STARDUST = new CloakedItemWithLoomPattern(IS.of(), SpectrumAdvancements.UNLOCK_SHOOTING_STARS, Items.PURPLE_DYE, SpectrumBannerPatterns.SHIMMER); public static final Item ASH_FLAKES = new AshItem(IS.of(), "item.spectrum.ash_flakes.tooltip"); public static final Item HIBERNATING_JADE_VINE_BULB = new ItemWithTooltip(IS.of(16), "item.spectrum.hibernating_jade_vine_bulb.tooltip"); - public static final Item GERMINATED_JADE_VINE_BULB = new GerminatedJadeVineBulbItem(IS.of(16), SpectrumCommon.locate("hidden/collect_hibernating_jade_vine_bulb"), Items.LIME_DYE); - public static final Item JADE_VINE_PETALS = new CloakedItemWithLoomPattern(IS.of(), SpectrumCommon.locate("midgame/build_spirit_instiller_structure"), Items.LIME_DYE, SpectrumBannerPatterns.JADE_VINE); + public static final Item GERMINATED_JADE_VINE_BULB = new GerminatedJadeVineBulbItem(IS.of(16), SpectrumAdvancements.COLLECT_HIBERNATING_JADE_VINE_BULB, Items.LIME_DYE); + public static final Item JADE_VINE_PETALS = new CloakedItemWithLoomPattern(IS.of(), SpectrumCommon.locate("midgame/build_spirit_instiller_structure"), Items.LIME_DYE, SpectrumBannerPatterns.JADE_VINE); // TODO: Funky unlock? public static final Item JADEITE_PETALS = new Item(IS.of(Rarity.UNCOMMON)); - public static final Item BLOOD_ORCHID_PETAL = new CloakedItem(IS.of(), SpectrumCommon.locate("solve_wireless_redstone_preservation_ruin"), Items.RED_DYE); + public static final Item BLOOD_ORCHID_PETAL = new CloakedItem(IS.of(), SpectrumAdvancements.SOLVE_WIRELESS_REDSTONE_PRESERVATION_RUIN, Items.RED_DYE); public static final Item ROCK_CANDY = new RockCandyItem(IS.of().food(SpectrumFoodComponents.ROCK_CANDY), RockCandy.RockCandyVariant.SUGAR); public static final Item TOPAZ_ROCK_CANDY = new RockCandyItem(IS.of().food(SpectrumFoodComponents.TOPAZ_ROCK_CANDY), RockCandy.RockCandyVariant.TOPAZ); @@ -293,7 +294,7 @@ public Map getDefaultEnchantments() { public static final Item GLASS_PEACH = new ItemWithTooltip(IS.of().food(SpectrumFoodComponents.GLASS_PEACH), "item.spectrum.glass_peach.tooltip"); public static final Item FISSURE_PLUM = new AliasedTooltipItem(SpectrumBlocks.ABYSSAL_VINES, IS.of().food(SpectrumFoodComponents.FISSURE_PLUM), "item.spectrum.fissure_plum.tooltip"); public static final Item NIGHTDEW_SPROUT = new AliasedTooltipItem(SpectrumBlocks.NIGHTDEW, IS.of().food(SpectrumFoodComponents.NIGHTDEW_SPROUT), "item.spectrum.nightdew_sprout.tooltip"); - public static final Item NECTARDEW_BURGEON = new NectardewBurgeonItem(IS.of().food(SpectrumFoodComponents.NECTARDEW_BURGEON), "item.spectrum.nectardew_burgeon.tooltip", SpectrumCommon.locate("lategame/collect_nectardew"), SpectrumItems.NIGHTDEW_SPROUT); + public static final Item NECTARDEW_BURGEON = new NectardewBurgeonItem(IS.of().food(SpectrumFoodComponents.NECTARDEW_BURGEON), "item.spectrum.nectardew_burgeon.tooltip", SpectrumAdvancements.COLLECT_NECTARDEW, SpectrumItems.NIGHTDEW_SPROUT); public static final Item RESTORATION_TEA = new RestorationTeaItem(IS.of(16).food(SpectrumFoodComponents.RESTORATION_TEA).recipeRemainder(Items.GLASS_BOTTLE), SpectrumFoodComponents.RESTORATION_TEA_SCONE_BONUS); public static final Item KIMCHI = new KimchiItem(IS.of().food(SpectrumFoodComponents.KIMCHI)); public static final Item CLOTTED_CREAM = new ClottedCreamItem(IS.of().food(SpectrumFoodComponents.CLOTTED_CREAM), new String[]{"item.spectrum.clotted_cream.tooltip", "item.spectrum.clotted_cream.tooltip2"}); @@ -492,8 +493,8 @@ public Map getDefaultEnchantments() { public static final CreativeInkAssortmentItem CREATIVE_INK_ASSORTMENT = new CreativeInkAssortmentItem(IS.of(1, Rarity.EPIC)); public static final GleamingPinItem GLEAMING_PIN = new GleamingPinItem(IS.of(1, Rarity.UNCOMMON)); - public static final Item LESSER_POTION_PENDANT = new PotionPendantItem(IS.of(1, Rarity.UNCOMMON), 1, SpectrumCommon.CONFIG.MaxLevelForEffectsInLesserPotionPendant - 1, SpectrumCommon.locate("unlocks/trinkets/lesser_potion_pendant")); - public static final Item GREATER_POTION_PENDANT = new PotionPendantItem(IS.of(1, Rarity.UNCOMMON), 3, SpectrumCommon.CONFIG.MaxLevelForEffectsInGreaterPotionPendant - 1, SpectrumCommon.locate("unlocks/trinkets/greater_potion_pendant")); + public static final Item LESSER_POTION_PENDANT = new PotionPendantItem(IS.of(1, Rarity.UNCOMMON), 1, SpectrumCommon.CONFIG.MaxLevelForEffectsInLesserPotionPendant - 1, SpectrumAdvancements.UNLOCK_LESSER_POTION_PENDANT); + public static final Item GREATER_POTION_PENDANT = new PotionPendantItem(IS.of(1, Rarity.UNCOMMON), 3, SpectrumCommon.CONFIG.MaxLevelForEffectsInGreaterPotionPendant - 1, SpectrumAdvancements.UNLOCK_GREATER_POTION_PENDANT); public static final Item ASHEN_CIRCLET = new AshenCircletItem(IS.of(1, Rarity.UNCOMMON).fireproof()); public static final Item WEEPING_CIRCLET = new WeepingCircletItem(IS.of(1, Rarity.UNCOMMON)); public static final Item PUFF_CIRCLET = new PuffCircletItem(IS.of(1, Rarity.UNCOMMON)); diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumLootTables.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumLootTables.java new file mode 100644 index 0000000000..bc4d5c9475 --- /dev/null +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumLootTables.java @@ -0,0 +1,45 @@ +package de.dafuqs.spectrum.registries; + +import de.dafuqs.spectrum.*; +import net.minecraft.util.*; + +public class SpectrumLootTables { + + // Shooting Stars + public static final Identifier SHOOTING_STAR_BOUNCE = SpectrumCommon.locate("entity/shooting_star/shooting_star_bounce"); + public static final Identifier COLORFUL_SHOOTING_STAR = SpectrumCommon.locate("entity/shooting_star/colorful_shooting_star"); + public static final Identifier FIERY_SHOOTING_STAR = SpectrumCommon.locate("entity/shooting_star/fiery_shooting_star"); + public static final Identifier GEMSTONE_SHOOTING_STAR = SpectrumCommon.locate("entity/shooting_star/gemstone_shooting_star"); + public static final Identifier GLISTERING_SHOOTING_STAR = SpectrumCommon.locate("entity/shooting_star/glistering_shooting_star"); + public static final Identifier PRISTINE_SHOOTING_STAR = SpectrumCommon.locate("entity/shooting_star/pristine_shooting_star"); + + // Fishing + public static final Identifier UNIVERSAL_FISHING = SpectrumCommon.locate("gameplay/universal_fishing"); + + public static final Identifier LAVA_FISHING = SpectrumCommon.locate("gameplay/fishing/lava/fishing"); + public static final Identifier END_FISHING = SpectrumCommon.locate("gameplay/fishing/end/fishing"); + public static final Identifier DEEPER_DOWN_FISHING = SpectrumCommon.locate("gameplay/fishing/deeper_down/fishing"); + public static final Identifier MUD_FISHING = SpectrumCommon.locate("gameplay/fishing/mud/fishing"); + public static final Identifier LIQUID_CRYSTAL_FISHING = SpectrumCommon.locate("gameplay/fishing/liquid_crystal/fishing"); + public static final Identifier MIDNIGHT_SOLUTION_FISHING = SpectrumCommon.locate("gameplay/fishing/midnight_solution/fishing"); + + // Entities + public static final Identifier KINDLING_CLIPPING = SpectrumCommon.locate("gameplay/kindling_clipping"); + public static final Identifier EGG_LAYING_WOOLY_PIG_SHEARING = SpectrumCommon.locate("entities/egg_laying_wooly_pig_shearing"); + + // Blocks + public static final Identifier WEEPING_GALA_SPRIG_RESIN = SpectrumCommon.locate("gameplay/weeping_gala_sprig_resin"); + public static final Identifier NIGHTDEW_VINE_RARE_DROP = SpectrumCommon.locate("gameplay/nightdew_vine_rare_drop"); + + public static final Identifier SAWBLADE_HOLLY_HARVESTING = SpectrumCommon.locate("gameplay/sawblade_holly_harvesting"); + public static final Identifier SAWBLADE_HOLLY_SHEARING = SpectrumCommon.locate("gameplay/sawblade_holly_shearing"); + + public static final Identifier JADE_VINE_HARVESTING_PETALS = SpectrumCommon.locate("gameplay/jade_vine_petal_harvesting"); + public static final Identifier JADE_VINE_HARVESTING_NECTAR = SpectrumCommon.locate("gameplay/jade_vine_nectar_harvesting"); + + public static final Identifier SLATE_NOXCAP_STRIPPING = SpectrumCommon.locate("gameplay/stripping/slate_noxcap_stripping"); + public static final Identifier EBONY_NOXCAP_STRIPPING = SpectrumCommon.locate("gameplay/stripping/ebony_noxcap_stripping"); + public static final Identifier IVORY_NOXCAP_STRIPPING = SpectrumCommon.locate("gameplay/stripping/ivory_noxcap_stripping"); + public static final Identifier CHESTNUT_NOXCAP_STRIPPING = SpectrumCommon.locate("gameplay/stripping/chestnut_noxcap_stripping"); + +} From d80b8a9142b65ce1515d1d26923f7b402c73b8b7 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 12:18:56 +0200 Subject: [PATCH 13/50] unified slinging/flinging use --- .../spectrum/items/magic_items/PaintbrushItem.java | 10 +++++----- .../spectrum/progression/UnlockToastManager.java | 2 +- .../spectrum/registries/SpectrumAdvancements.java | 2 +- src/main/resources/assets/spectrum/lang/en_us.json | 8 ++++---- src/main/resources/assets/spectrum/lang/pt_br.json | 8 ++++---- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java index a58e2fdbd6..0051cc01ba 100644 --- a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java @@ -34,7 +34,7 @@ public class PaintbrushItem extends Item implements SignChangingItem { public static final int COOLDOWN_DURATION_TICKS = 10; public static final int BLOCK_COLOR_COST = 25; - public static final int INK_FLING_COST = 100; + public static final int INK_SLING_COST = 100; public static final String COLOR_NBT_STRING = "Color"; @@ -49,7 +49,7 @@ public void appendTooltip(ItemStack stack, @Nullable World world, List too Optional color = getColor(stack); boolean unlockedColoring = AdvancementHelper.hasAdvancementClient(SpectrumAdvancements.PAINTBRUSH_COLORING); - boolean unlockedSlinging = AdvancementHelper.hasAdvancementClient(SpectrumAdvancements.PAINTBRUSH_INK_FLINGING); + boolean unlockedSlinging = AdvancementHelper.hasAdvancementClient(SpectrumAdvancements.PAINTBRUSH_INK_SLINGING); if (unlockedColoring || unlockedSlinging) { if (color.isPresent()) { @@ -70,11 +70,11 @@ public void appendTooltip(ItemStack stack, @Nullable World world, List too } public static boolean canColor(PlayerEntity player) { - return AdvancementHelper.hasAdvancement(player, UNLOCK_COLORING_ADVANCEMENT_ID); + return AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.PAINTBRUSH_COLORING); } public static boolean canInkSling(PlayerEntity player) { - return AdvancementHelper.hasAdvancement(player, UNLOCK_INK_SLINGING_ADVANCEMENT_ID); + return AdvancementHelper.hasAdvancement(player, SpectrumAdvancements.PAINTBRUSH_INK_SLINGING); } public NamedScreenHandlerFactory createScreenHandlerFactory(ItemStack itemStack) { @@ -191,7 +191,7 @@ public TypedActionResult use(World world, PlayerEntity user, Hand han if (optionalInkColor.isPresent()) { InkColor inkColor = optionalInkColor.get(); - if (user.isCreative() || InkPowered.tryDrainEnergy(user, inkColor, INK_FLING_COST)) { + if (user.isCreative() || InkPowered.tryDrainEnergy(user, inkColor, INK_SLING_COST)) { user.getItemCooldownManager().set(this, COOLDOWN_DURATION_TICKS); if (!world.isClient) { diff --git a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java index 6f9ed4cc77..4a1121677c 100644 --- a/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java +++ b/src/main/java/de/dafuqs/spectrum/progression/UnlockToastManager.java @@ -32,7 +32,7 @@ public class UnlockToastManager { put(SpectrumAdvancements.ASCEND_KINDLING, new Pair<>(SpectrumBlocks.PEDESTAL_MOONSTONE.asItem().getDefaultStack(), "ascend_kindling")); put(SpectrumAdvancements.VIVISECT_KINDLING, new Pair<>(SpectrumItems.DIVINATION_HEART.getDefaultStack(), "vivisect_kindling")); put(SpectrumAdvancements.PAINTBRUSH_COLORING, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "block_coloring_unlocked")); - put(SpectrumAdvancements.PAINTBRUSH_INK_FLINGING, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "paint_flinging_unlocked")); + put(SpectrumAdvancements.PAINTBRUSH_INK_SLINGING, new Pair<>(SpectrumItems.PAINTBRUSH.getDefaultStack(), "ink_slinging_unlocked")); }}; public static void registerGatedRecipe(RecipeType recipeType, GatedRecipe gatedRecipe) { diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java index ca018f66b2..18a7330d14 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumAdvancements.java @@ -36,7 +36,7 @@ public class SpectrumAdvancements { // Paintbrush Abilities public static final Identifier PAINTBRUSH_COLORING = SpectrumCommon.locate("collect_pigment"); - public static final Identifier PAINTBRUSH_INK_FLINGING = SpectrumCommon.locate("midgame/fill_ink_container"); + public static final Identifier PAINTBRUSH_INK_SLINGING = SpectrumCommon.locate("midgame/fill_ink_container"); // Enchantments public static final Identifier ENCHANTMENTS_BIG_CATCH = SpectrumCommon.locate("unlocks/enchantments/big_catch"); diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 4573fa4b96..ad960a9b64 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -349,7 +349,7 @@ "advancements.spectrum.hurt_by_monstrosity.title": "An Attentive Guard awakens", "advancements.spectrum.kill_a_mob_with_frenzy3.description": "Kill a mob while having the Frenzy III effect or higher. Instead of extending the duration, getting the effect a second time will upgrade it's level instead", "advancements.spectrum.kill_a_mob_with_frenzy3.title": "Dark Passion Play", - "advancements.spectrum.kill_entity_with_ink_projectile.description": "Kill a creature by using your Paintbrush's Ink Flinging ability. Sneak-Use to select a color.", + "advancements.spectrum.kill_entity_with_ink_projectile.description": "Kill a creature by using your Paintbrush's Ink Slinging ability. Sneak-Use to select a color.", "advancements.spectrum.kill_entity_with_ink_projectile.title": "Painbrush", "advancements.spectrum.kill_entity_with_jeopardant_and_half_a_heart.description": "Equip a Jeopardant and deal a killing blow while having only half a heart left", "advancements.spectrum.kill_entity_with_jeopardant_and_half_a_heart.title": "Living on the Edge", @@ -3349,7 +3349,7 @@ "book.spectrum.guidebook.paintbrush.page1.title": "Crafting Recipe", "book.spectrum.guidebook.paintbrush.page2.text": "What better use is there for [Pigment](entry://general/pigment) than to color with it?\\\n\\\nIf I [#](449900)crouch with my Paintbrush equipped I can bring up the color selection menu[#]().\\\n\\\nAfter choosing a color all I have to do is slightly touch a colorable block I want to color and the [Pigment](entry://general/pigment) will flow into it and change it to that new color.", "book.spectrum.guidebook.paintbrush.page2.title": "Block Recoloring", - "book.spectrum.guidebook.paintbrush.page3.text": "I can use my brush to bundle up Ink and fling it as a projectile.\\\n\\\nThe surface (or creature!) the projectile hits will be painted as long as it can be recolored, plus dealing a good amount of knockback.", + "book.spectrum.guidebook.paintbrush.page3.text": "I can use my brush to bundle up Ink and sling it as a projectile.\\\n\\\nThe surface (or creature!) the projectile hits will be painted as long as it can be recolored, plus dealing a good amount of knockback.", "book.spectrum.guidebook.paintbrush.page3.title": "Paint Slinging", "book.spectrum.guidebook.paltaeria.name": "Paltaeria", "book.spectrum.guidebook.paltaeria.page0.text": "The pale blue color is the hallmark of this ore, found exclusively in small clusters in the End.\\\n\\\nLike the End itself, the curious properties of this material are not to be overlooked.", @@ -5251,8 +5251,8 @@ "spectrum.toast.message.fourth_potion_reagent_unlocked.title": "Brewing Mastery", "spectrum.toast.message.overchanting_unlocked.text": "Upgrades Enchantment even higher", "spectrum.toast.message.overchanting_unlocked.title": "Studied Enchanter", - "spectrum.toast.message.paint_flinging_unlocked.text": "Ink Slinging", - "spectrum.toast.message.paint_flinging_unlocked.title": "New Paintbrush Ability:", + "spectrum.toast.message.ink_slinging_unlocked.text": "Ink Slinging", + "spectrum.toast.message.ink_slinging_unlocked.title": "New Paintbrush Ability:", "spectrum.toast.message.second_advancement_tree_unlocked.text": "You unlocked a new Advancement Tree", "spectrum.toast.message.second_advancement_tree_unlocked.title": "Chapter 2: Fall from Grace", "spectrum.toast.message.shooting_stars_unlocked.text": "You received the grace of the night sky", diff --git a/src/main/resources/assets/spectrum/lang/pt_br.json b/src/main/resources/assets/spectrum/lang/pt_br.json index fad1c2f8cc..124d7d5d1f 100644 --- a/src/main/resources/assets/spectrum/lang/pt_br.json +++ b/src/main/resources/assets/spectrum/lang/pt_br.json @@ -1907,7 +1907,7 @@ "advancements.spectrum.hurt_by_monstrosity.title": "An Attentive Guard awakens", "advancements.spectrum.kill_a_mob_with_frenzy3.description": "Kill a mob while having the Frenzy III effect or higher. Instead of extending the duration, getting the effect a second time will upgrade it's level instead", "advancements.spectrum.kill_a_mob_with_frenzy3.title": "Dark Passion Play", - "advancements.spectrum.kill_entity_with_ink_projectile.description": "Kill a creature by using your Paintbrush's Ink Flinging ability. Sneak-Use to select a color.", + "advancements.spectrum.kill_entity_with_ink_projectile.description": "Kill a creature by using your Paintbrush's Ink Slinging ability. Sneak-Use to select a color.", "advancements.spectrum.kill_entity_with_ink_projectile.title": "Painbrush", "advancements.spectrum.killed_monstrosity.description": "Fight off a great danger", "advancements.spectrum.killed_monstrosity.title": "Safe... for now", @@ -3949,7 +3949,7 @@ "book.spectrum.guidebook.paintbrush.page1.title": "Crafting Recipe", "book.spectrum.guidebook.paintbrush.page2.text": "What better use is there for [Pigment](entry://general/pigment) than to color with it?\\\nIf I [#](449900)crouch with my Paintbrush equipped I can bring up the color selection menu[#](). All I have to do is slightly touch a block I want to color and the [Pigment](entry://general/pigment) will to flow into it and change it to that new color.", "book.spectrum.guidebook.paintbrush.page2.title": "Block Recoloring", - "book.spectrum.guidebook.paintbrush.page3.text": "I can use my brush to bundle up Ink and fling it as a projectile.\\\nThe surface (or creature!) the projectile hits will be painted as long as it can be recolored, plus dealing a good amount of knockback.", + "book.spectrum.guidebook.paintbrush.page3.text": "I can use my brush to bundle up Ink and sling it as a projectile.\\\nThe surface (or creature!) the projectile hits will be painted as long as it can be recolored, plus dealing a good amount of knockback.", "book.spectrum.guidebook.paintbrush.page3.title": "Paint Slinging", "book.spectrum.guidebook.paltaeria.name": "Paltaeria", "book.spectrum.guidebook.paltaeria.page0.text": "The pale blue color is the hallmark of this ore, found exclusively in small clusters in the End.\\\n\\\nLike the End itself, the curious properties of this material are not to be overlooked.", @@ -5052,8 +5052,8 @@ "spectrum.toast.lots_of_recipes_unlocked.title": "Many recipes unlocked:", "spectrum.toast.message.block_coloring_unlocked.text": "Block Recoloring", "spectrum.toast.message.block_coloring_unlocked.title": "New Paintbrush Ability:", - "spectrum.toast.message.paint_flinging_unlocked.text": "Ink Slinging", - "spectrum.toast.message.paint_flinging_unlocked.title": "New Paintbrush Ability:", + "spectrum.toast.message.ink_slinging_unlocked.text": "Ink Slinging", + "spectrum.toast.message.ink_slinging_unlocked.title": "New Paintbrush Ability:", "spectrum.toast.midnight_solution_converting_recipe_unlocked.title": "New Midnight Sol. recipe:", "spectrum.toast.midnight_solution_converting_recipes_unlocked.title": "New Midnight Sol. recipes:", "spectrum.toast.potion_workshop_brewing_recipe_unlocked.title": "New Potion W. brew:", From 6ec653774fe959d2d6191bf4b355d86de3db04f3 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 12:26:25 +0200 Subject: [PATCH 14/50] Updated ru_ru lang. Thank you lots, Osarikas! --- .../resources/assets/spectrum/lang/ru_ru.json | 1549 ++++++++++++++++- 1 file changed, 1532 insertions(+), 17 deletions(-) diff --git a/src/main/resources/assets/spectrum/lang/ru_ru.json b/src/main/resources/assets/spectrum/lang/ru_ru.json index 2b9e997fbb..a7f3422a57 100644 --- a/src/main/resources/assets/spectrum/lang/ru_ru.json +++ b/src/main/resources/assets/spectrum/lang/ru_ru.json @@ -13,11 +13,6 @@ "itemGroup.spectrum.energy": "Энергия", "itemGroup.spectrum.creative": "Творческие Ресурсы", - "recipeGroup.spectrum.topaz_runes": "Топазовые Руны", - "recipeGroup.spectrum.amethyst_runes": "Аметистовые Руны", - "recipeGroup.spectrum.citrine_runes": "Цитриновые Руны", - "recipeGroup.spectrum.onyx_runes": "Ониксовые Руны", - "recipeGroup.spectrum.moonstone_runes": "Лунокаменные Лампы", "recipeGroup.spectrum.colored_lamps": "Цветные Лампы", "recipeGroup.spectrum.gemstone_glass": "Самоцветные Лампы", "recipeGroup.spectrum.decostones": "Декоративные Камни", @@ -127,12 +122,9 @@ "spectrum.tooltip.coming_soon": "§4Пока не доступно в выживании", "container.spectrum.rei.pedestal_crafting.title": "Создание на пьедестале", - "container.spectrum.rei.crafting_time_one_second_and_xp": "%f секунд - %f опыта", - "container.spectrum.rei.crafting_time_one_second_and_xp": "%f секунда - %f опыта", "container.spectrum.rei.pedestal_crafting.recipe_not_unlocked_line_1": "Вы пока что не знаете", "container.spectrum.rei.pedestal_crafting.recipe_not_unlocked_line_2": "t данный рецепт", "container.spectrum.rei.enchanting.title": "Зачарования Spectrum", - "container.spectrum.rei.crafting_time": "%f секунд", "container.spectrum.rei.crafting_time_one_second": "%f секунд", "container.spectrum.rei.enchantment_upgrading.title": "Улучшение Зачарования", "container.spectrum.rei.enchantment_upgrade.required_item_count": "(%fx)", @@ -213,7 +205,7 @@ "spectrum.rei.potion_workshop_reacting.botania.black_lotus": "• +2 позитивных эффекта\n• +1 негативный эффект\n• Делает зелье неидентефицированным.\n\nАзарт растет!", "spectrum.rei.potion_workshop_reacting.botania.blacker_lotus": "• +3 позитивных эффекта\n• 50% шанс на негативный эффект\n• Делает зелье неидентефицированным.\n\nАзартнее!", - "multiblock.spectrum.pedestal.upgrade_available": "Доступное улучшение структуры!", + "multiblock.spectrum.pedestal.upgrade_available": "Доступно улучшение структуры!", "death.attack.spectrum_decay": "%1$s был съеден заживоe", "death.attack.spectrum_ink_projectile": "%2$s показал %1$s как правильно рисовать", "death.attack.spectrum_ink_projectile.item": "%2$s показал %1$s как правильно рисовать при помощи %3$s", @@ -378,7 +370,6 @@ "spectrum.subtitles.block.failing.place": "Пронзительный Визг", "spectrum.subtitles.block.ruin.place": "Пронзительный Визг", "spectrum.subtitles.spectrum_theme_plays": "Играет тема Спектрума", - "spectrum.subtitles.boss_theme_plays": "Играет тема Босса", "spectrum.subtitles.deeper_down_theme_plays": "Играет тема Глубоких Низин", "spectrum.subtitles.player_teleports": "Игрок Телепортируется", "spectrum.subtitles.puff_circlet": "Дымовой Обруч Пыхтит", @@ -497,8 +488,8 @@ "spectrum.toast.message.fourth_potion_reagent_unlocked.text": "+1 слот для Реагента в Мастерской Зельеварения", "spectrum.toast.message.block_coloring_unlocked.title": "Новая способность Кисточки:", "spectrum.toast.message.block_coloring_unlocked.text": "Окраска Блоков", - "spectrum.toast.message.paint_flinging_unlocked.title": "Новая способность Кисточки:", - "spectrum.toast.message.paint_flinging_unlocked.text": "Швыряние Краски", + "spectrum.toast.message.ink_slinging_unlocked.title": "Новая способность Кисточки:", + "spectrum.toast.message.ink_slinging_unlocked.text": "Швыряние Краски", "text.autoconfig.Spectrum.title": "Spectrum", "text.autoconfig.Spectrum.option.IntegrationPacksToSkipLoading": "Integration Packs to skip loading", @@ -1809,7 +1800,6 @@ "item.spectrum.perturbed_eye": "Беспокойное Око", "item.spectrum.perturbed_eye.tooltip": "Вставляется в рамку портала", "item.spectrum.guidebook": "Цветной Мир", - "item.spectrum.guidebook.landing_text": "$(br)В непроницаемых глубинах$(br)$(c_gray) таинственного мира возрождается энергия,$()$(br) Она переполняет вас до самой глубины души, разбудив в вас желание$(br)$(c_gray) окунуться в исследования$(br) данной непостижимой силы.", "item.spectrum.paintbrush": "Кисточка", "item.spectrum.paintbrush.tooltip.select_color": "Красться + пкм, чтобы выбрать цвет", "item.spectrum.paintbrush.ability.header": "Способности:", @@ -1905,7 +1895,6 @@ "item.spectrum.nectered_viognier": "Хрустальный Нектар", "item.spectrum.nectered_viognier.tooltip.preview": "Варите с помощью комбинации луковиц и персиков", "item.spectrum.nectered_viognier.tooltip.preview2": "Персики варятся медленнее луковиц, но понижают негативный эффект", - "item.spectrum.nectered_viognier.tooltip.preview3": "Можно подсластить", "item.spectrum.peaches_flambe": "Персиковое Фламбе", "item.spectrum.peach_cream": "Персиковые Сливки", "item.spectrum.peach_jam": "Персиковый Джем", @@ -2469,7 +2458,6 @@ "item.spectrum.artists_palette.tooltip": "§7Хранит до %d§7 элементарной краски", "item.spectrum.artists_palette.tooltip.mix_on_demand": "§7Смешивает краску в другие цвета по команде", "item.spectrum.ink_flask": "Колба для Краски", - "item.spectrum.ink_flask.tooltip": "§7Хранит до %d§7 краски одного типа", "item.spectrum.ink_assortment": "Ассортимент Краски", "item.spectrum.creative_ink_assortment": "Креативный Ассортимент Краски", "item.spectrum.creative_ink_assortment.tooltip": "§7Нескончаемый поток краски", @@ -2558,7 +2546,6 @@ "item.spectrum.jade_wine.tooltip.bloominess_sweetened": "%d %% Цветения - Подслащено", "item.spectrum.jade_wine.tooltip.preview": "Варите с помощью комбинации Луковиц и Лепестков", "item.spectrum.jade_wine.tooltip.preview2": "Лепестки маринуются медленнее луковиц, но снижают негативные эффекты", - "item.spectrum.jade_wine.tooltip.preview3": "Можно Подсластить", "item.spectrum.pure_alcohol": "Чистый Спирт", "item.spectrum.chrysocolla": "Хризоколла", "item.spectrum.reprise": "Реприз", @@ -3459,5 +3446,1533 @@ "advancements.spectrum.craft_energy_collector.description": "Соберите мощный сборщик, который может собирать энергию из жеод", "advancements.spectrum.place_energy_collector.title": "Новый Вид Энергии", "advancements.spectrum.place_energy_collector.description": "Поставьте сборщик в центре жеоды и наблюдайте за его работой", - "advancements.spectrum.unused2.title": "Having a Blast" + "advancements.spectrum.unused2.title": "Отрываюсь по полной", + + "attribute.name.spectrum.mental_presence": "Ментальное присутствие", + "attribute.name.spectrum.mental_presence.desc": "Воздействие на разум", + + "book.spectrum.guidebook.abyssal_vines.page0.text": "Змеевидные стебли и светящиеся плоды создают до ужаса знакомое зрелище. Хотя эти свисающие лианы более тусклые и покрытые листвой, легко понять, что они относятся к светящимся ягодам.\\\nУчитывая их бледность и кристальную ауру, я предполагаю, что столетия тьмы и питания [жидкими кристаллами](entry://general/liquid_crystal) превратили их в нечто, что чувствует себя как дома в прохладных сумерках бездны.", + "book.spectrum.guidebook.abyssal_vines.page1.text": "* При прикосновении к этому у вас кружится голова*", + "book.spectrum.guidebook.abyssal_vines.page1.title": "Пушистые листья", + "book.spectrum.guidebook.abyssal_vines.page2.text": "Естественно, эти лозы также приносят плоды, но это более странно, чем я ожидал. То, что сначала казалось двумя ягодами, оказалось одной единственной костянкой, разделенной на две большие, пухлые доли.\\\nИх вкус сложный, острый и ароматный; сильный сладковато-ореховый вкус подчеркнут нотами сосны и мускуса - мне кажется, я даже ощущаю некоторые цветочные нотки!", + "book.spectrum.guidebook.abyssal_vines.page2.title": "Потрескавшиеся сливы", + "book.spectrum.guidebook.abyssal_vines.page3.text": "Незрелые ягоды терпкие, но хороши для маринования.\\\n\\\n* Они перестали светиться после того, как их сняли с лозы. Очень грустно.*", + "book.spectrum.guidebook.abyssal_vines.page3.title": "Подземный косточковый фрукт", + "book.spectrum.guidebook.all_variants": "Все варианты", + "book.spectrum.guidebook.aloe.page0.text": "Эти засухолюбивые растения могут расти практически в любом месте. По иронии судьбы, столь выносливы, как они, они, кажется, не в состоянии справиться со слишком большим количеством света и богатой питательными веществами почвой.\\\n\\\n опущена, там просто нет причин подстраиваться, я думаю.", + "book.spectrum.guidebook.aloe.page1.text": "Я могу легко обрывать отдельные листья. Они сохраняют много влаги и достаточно питательны.\\\n\\\n Если их посадить, со временем из них вырастет полноценное новое растение.", + "book.spectrum.guidebook.amaranth.page0.text": "Несмотря на то, что они, кажется, пролежали в земле довольно долго, эти семена все еще выглядят очень живыми. Интересно, какими они станут, когда прорастут?", + "book.spectrum.guidebook.amaranth.page1.text": "Я никогда не видел ничего подобного. Такой насыщенный красный цвет. Такой выразительный! Они по-настоящему вдохновляют меня.\\\n\\\n Эти кусты можно измельчить, чтобы получить больше зерен, или посадить на траву в качестве декоративного элемента или в цветочный горшок.", + "book.spectrum.guidebook.amaranth.page2.text": "Вкус амаранта так же отличается от пшеницы, как и его внешний вид. В моей голове возникли совершенно новые идеи, как, например, вот эта вкуснятина.", + "book.spectrum.guidebook.amaranth.page3.text": "Небольшое, но изысканное печенье с начинкой из сливок.\\\n\\\n* Идеально подходит к чаю.*", + "book.spectrum.guidebook.amaranth.page3.title": "Лепешки", + "book.spectrum.guidebook.amaranth.page4.text": "Этот пир гарантированно наполнит мой желудок на долгое время.\\\n\\\n* Полный жира, мяса, вина и варенья!*", + "book.spectrum.guidebook.another_roll.page0.text": "Капли, зависящие от количества, например, при использовании зачарований [#](449900)Удача[#]() при копании руды, [#](449900)Добыча[#]() при убийстве монстров, получается больше\\\nКаждый следующий уровень Джекпота увеличивает шансы на получение максимально возможной суммы.", + "book.spectrum.guidebook.anvil_crushing.page0.text": "*\"Чтобы создать что-то новое, вы должны пойти по пути разрушения\"\\\n - кто-то, наверное*", + "book.spectrum.guidebook.anvil_crushing.page1.text": "До сих пор я в основном пользовался своей [](item://minecraft:anvil) для ремонта и улучшения инструментов. Но от такого тяжелого предмета, как наковальня, может быть гораздо больше пользы! Почему бы не использовать его для того, чтобы с силой разбивать предметы в пыль? Например, черепа моих врагов... хе-хе-хе! Или предметы быта. Да, наверное, так лучше.\\\n\\\nЯ могу использовать дробление предметов, чтобы раздавить [Gem Shards](entry://general/shards) до [Powder](entry://general/gemstone_powder).\\\n\\\n* Совет: Чем сильнее упадет наковальня, тем лучше.*", + "book.spectrum.guidebook.anvil_crushing.page2.text": "Падение [](item://minecraft:anvil) на некоторые предметы превратит их в совершенно другое.", + "book.spectrum.guidebook.anvil_crushing.page3.text": "Я способен раздавить [#](bb00bb)Цветы[#]() в [#](bb00bb)Краситель[#](), [#](bb00bb)Конскую броню[#]() в [#](bb00bb)Слитки[#](), или увеличить количество [#](bb00bb)Огненного порошка[#]() из [#](bb00bb)Огненных стержней[#]().", + "book.spectrum.guidebook.artisans_atlas.page0.text": "Эта карта перемещается и видоизменяется по мере того, как я двигаюсь, почти как живая, ощущая мои намерения\\\n\\\nЭтот атлас, выполненный в виде структуры, поможет мне пройти по опасной местности, через бурлящие реки и густые леса в поисках похожих структур.", + "book.spectrum.guidebook.artisans_atlas.page1.text": "*Я исследую кучу земель,\\nВдоль обойду их и по ширине.\\nСтруктуры лутая с картой в руке.\\nЛут собирая, сокрытый в сундуке*", + "book.spectrum.guidebook.ascension.page0.text": "Это было похоже на то, что я могу описать только как зов с небес. Великолепное накопление сил перед тем, как [#](449900)Божественность[#]() вступит в силу.", + "book.spectrum.guidebook.ashen_circlet.page0.text": "[Кристал стратина](entry://general/stratine) Я надеваю этот обруч, который сам по себе является творением Преисподней и с легкостью выдерживает высокие температуры.\\\n\\\nОн даже защищает меня от обжигающего жара лавы - пусть и ненадолго.\\В сочетании с [#](449900) огнестойкостью[#]() я могу плавать в лаве почти как в воде.", + "book.spectrum.guidebook.ashen_circlet.page1.text": "- Предотвращает все повреждения от огня и лавы\n- Значительно повышает мобильность и обзор при погружении в лаву\n- Обеспечивает кратковременную огнестойкость при воздействии сильного жара, но требует перезарядки", + "book.spectrum.guidebook.auto_harvesting": "Автоматический сбор урожая", + "book.spectrum.guidebook.azalea_tea.page0.text": "Эти эссенции [Ночной росы](entry://general/nightdew_sprout), по-моему, отлично подходят для того, чтобы подольше поспать. Если добавить в них цветы азалии, то получится сладко пахнущий настой, обладающий такими свойствами.\\\n\\\n* Есть что-то такое, из-за чего я просто не могу заснуть, это должно исправить ситуацию.*", + "book.spectrum.guidebook.azure_dike_equipment.name": "Эпикировка Азуритовой защиты", + "book.spectrum.guidebook.azure_dike_equipment.page0.text": "Это результат комбинирования [Азурита](entry://general/azurite) с защитными свойствами [Синего пигмента](entry://general/pigment@blue) и это действительно вызвало у меня интерес. Материал, казалось, окружал себя прозрачной аурой, сквозь которую мне потребовалось некоторое усилие, чтобы проникнуть, когда я снова потянулся за куском.\\\n\\\n*Это будет интересно...*", + "book.spectrum.guidebook.azure_dike_equipment.page1.text": "Магическая аура, окружающая мое тело, защищает меня от получаемого урона..\\\nМедленно, но неуклонно перезаряжается до определенного уровня.\\\n\\\nКаждый элемент Азуритовой защиты увеличивает максимальную степень защиты.", + "book.spectrum.guidebook.azure_dike_equipment.page1.title": "Азуритовая защита", + "book.spectrum.guidebook.azure_dike_equipment.page2.text": "- Дает [#](495b24)6[#]() единиц [#](2c2e8e)Азуритовая защита[#]()\n- Увеличивает заряд [#](2c2e8e)Азуритовой защиты[#]()", + "book.spectrum.guidebook.azure_dike_equipment.page3.text": "- Дает [#](495b24)8[#]() единиц [#](2c2e8e)Azure Dike[#]()\n- Увеличивает восстановление [#](2c2e8e)Азуритовой защиты[#]() после получения урона, ускоряющее его перезарядку", + "book.spectrum.guidebook.azure_dike_equipment.page4.text": "Добавление [Синей краски](entry://ink/ink) в [Сборщик краски](entry://ink/color_picker) увеличивает количество [#](2c2e8e)Азуритовой защиты[#]().\\\n\\\nПоначалу это дешево, но количество чернил, необходимых для каждого уровня, увеличивается в геометрической прогрессии.", + "book.spectrum.guidebook.azurite.name": "Азурит", + "book.spectrum.guidebook.azurite.page0.text": "Богатая голубая руда, которую я нашел глубоко под землей, на расстоянии я почти принял ее за [Лазурит](item://minecraft:lapis_lazuli) если бы не потрясающая аура, которая его окружала. В своем натуральном виде он содержит много примесей, которые я должен сначала удалить, прежде чем смогу использовать его для большинства целей.\\\n\\\nПо-видимому, он способен усиливать энергию пигмента.", + "book.spectrum.guidebook.azurite.page1.text": "Переработка азурита - дело недешевое.\\\nВ таком очищенном виде азурит можно использовать для многих других рецептов.", + "book.spectrum.guidebook.azurite.page1.title": "Очищение азурита", + "book.spectrum.guidebook.azurite.page2.title": "Выращивание азурита", + "book.spectrum.guidebook.bag_of_holding.page0.text": "Ставить [#](bb00bb)Эндер сундук[#](), открывать его, и ломать его зачарованной киркой, это не то, чего я бы хотел.\\\nВот почему я сделал эту штуку.", + "book.spectrum.guidebook.bag_of_holding.page1.text": "Все, что мне нужно сделать, это открыть его и ознакомиться с содержимым моего [#](bb00bb)Эндер сундука[#]()", + "book.spectrum.guidebook.banner_patterns.name": "Узоры для флага", + "book.spectrum.guidebook.banner_patterns.page0.text": "Я могу использовать различные ресурсы и инструменты, с которыми я непосредственно сталкиваюсь в качестве шаблонов в [](item://minecraft:loom).", + "book.spectrum.guidebook.banner_patterns.page1.title": "Ванильные Узоры", + "book.spectrum.guidebook.basal_marble.page0.text": "Метаморфический камень, мало чем отличающийся от мрамора, чаще всего встречающийся в [Воющих Пиках](entry://dimension/howling_spires).\\\n\\\nХотя во многом он напоминает мрамор, этот минерал, по-видимому, обладает некоторыми качествами, сходными с речными камнями. Мне ясно, что эти породы образовались под воздействием проливных дождей.", + "book.spectrum.guidebook.basal_marble.page1.text": "*...если они действительно образовались в водоносных слоях глубин, то как они сюда попали? Был ли этот покрытый серебристым пеплом ландшафт когда-то подземным морем?*", + "book.spectrum.guidebook.base_trinkets.name": "Базовые украшения", + "book.spectrum.guidebook.base_trinkets.page0.text": "Эти базовые аксессуары послужат мне хорошей отправной точкой для создания более продвинутых украшений.\\\nВсе окончательные украшения создаются в [Святыне Слияний](entry://general/fusion_shrine).", + "book.spectrum.guidebook.bedrock_anvil.page0.text": "Я часто пользовался своей наковальней (на самом деле, большим количеством наковален). [Разрушение предметов](entry://general/item_crushing), ремонт и зачаровывание прожигают дыру в моих запасах железа.\\\nДля того чтобы наковальня прослужила дольше - фактически, не поддаваясь разрушению, - идеально подходит бедрок.\\\n\\\nЭто позволяет мне переименовывать элементы бесплатно и не имеет максимального ограничения на восстановление.", + "book.spectrum.guidebook.bedrock_anvil.page1.text": "Это также позволяет мне добавлять описания к моим товарам.\\\n\\\n*Проффесиональная подсказка: \"\\n\" разделит текст на несколько строк.*", + "book.spectrum.guidebook.bedrock_armor.page0.text": "Самым прочным материалом, который я смог найти на данный момент, был незерит. Однако ремонт[#](bb00bb)Незеритовой брони[#]() был дороже, чем изготовление самой брони. Кроме того, защита снижалась с каждой царапиной. Все это не так уж и сложно, если броню просто невозможно повредить.\\\n\n\n*Никогда не увядай, каменный цветок.*", + "book.spectrum.guidebook.bedrock_armor.page1.text": "Бедроковый Шлем имеет зачарование **Защита от снарядов V**.", + "book.spectrum.guidebook.bedrock_armor.page2.text": "Бедроковый Нагрудник имеет зачарование **Защита V**.", + "book.spectrum.guidebook.bedrock_armor.page3.text": "Бедроковый Поножи имеет зачарование **Взрывоустойчивость V**.", + "book.spectrum.guidebook.bedrock_armor.page4.text": "Бедроковые Ботинки **Огнестойкость V**.", + "book.spectrum.guidebook.bedrock_dust.page0.text": "Даже скала оказалась недостаточно прочной, чтобы выдержать мою только что созданную \"жизнь\". Она прорвалась сквозь скалу, как одуванчики сквозь бетон.", + "book.spectrum.guidebook.bedrock_dust.page1.text": "Заметка для себя: если я буду читать свои старые записи здесь, пока что-то из [этого материала] (entry://general/ruin) все еще там, я должен изменить это как можно скорее, иначе я *могу* пожалеть об этом.\\\n\\\nК счастью, я уже изобрел [подходящий контрагент](entry://general/decay_away).", + "book.spectrum.guidebook.bedrock_dust.page1.title": "Дружеское напоминание", + "book.spectrum.guidebook.bedrock_dust.page2.text": "Куски породы настолько прочные, что обычный [](item://minecraft:crafting_table) с ними не справится. Но мой [Пьедестал для пигментов](entry://general/pedestal) справляется с ними без проблем.", + "book.spectrum.guidebook.bedrock_dust.page2.title": "Блоки Бедрока", + "book.spectrum.guidebook.bedrock_dust.page3.text": "Они кажутся такими прочными, что даже Сухостой не смог бы пробиться сквозь них.", + "book.spectrum.guidebook.bedrock_tools.name": "Бедроковые инструменты", + "book.spectrum.guidebook.bedrock_tools.page0.text": "Всякий раз, когда я попадаю в новый мир, я продолжаю бессмысленную многодневную работу по сбору жителей деревни вокруг себя, превращению их в зомби и исцелению, только для того, чтобы один из них в конце концов вручил мне книгу [#](449900)Починки[#](). Все это только для того, чтобы мне не приходилось чинить свои инструменты.\\\nЭто не вызывает ни восторга, ни соответствует биологическому виду. Теперь у меня есть гораздо более гуманное решение.", + "book.spectrum.guidebook.bedrock_tools.page1.text": "Бедроковая кирка имеет зачарование **Шёлковое касание**.", + "book.spectrum.guidebook.bedrock_tools.page2.text": "Бедроковый топор имеет зачарование **Эффективность VI**.", + "book.spectrum.guidebook.bedrock_tools.page3.text": "Бедроковая лопата имеет зачарование **Эффективность VI**.", + "book.spectrum.guidebook.bedrock_tools.page4.text": "Бедроковый меч имеет зачарование **Острота VI**.", + "book.spectrum.guidebook.bedrock_tools.page5.text": "Бедроковая мотыга имеет зачарование **Удача IV**.", + "book.spectrum.guidebook.bedrock_tools.page6.text": "Бедроковый луч имеет зачарование **Сила VI**.", + "book.spectrum.guidebook.bedrock_tools.page7.text": "Бедроковый луч имеет зачарование **Быстрая перезарядка IV**.", + "book.spectrum.guidebook.bedrock_tools.page8.text": "Бедроковые ножницы **Эффективность VI**.", + "book.spectrum.guidebook.bedrock_tools.page9.text": "Бедроковая удочка имеет зачарование **Везучий рыбак IV**.", + "book.spectrum.guidebook.big_catch.page0.text": "Мои новые магические удочки обладают интересным свойством привлекать даже живность. Почему мои удилища-бурильщики раньше этого не делали? Я не знаю.\\\n\\\nС помощью этого заклинания я могу еще больше увеличить свои шансы на поимку живых существ.", + "book.spectrum.guidebook.big_catch.page1.text": "Увеличивает вероятность поимки живых существ при рыбалке.\\\n\\\nМаксимальный уровень: 3\\\nПрименимо к удочкам Spectrum.", + "book.spectrum.guidebook.biomes.name": "Глубинные биомы", + "book.spectrum.guidebook.biomes.page0.text": "Я до сих пор не могу себе представить, насколько разнообразной может быть местность внизу. Я имею в виду... если солнечный свет никогда не проникает в эти места, что там может расти? Солнечный свет и вода - это основные требования для жизни, по крайней мере, для солнечной части...", + "book.spectrum.guidebook.biomes.page1.text": "Я был бы рад, если бы смог опровергнуть свое собственное утверждение.", + "book.spectrum.guidebook.bismuth.cluster_crushing.text": "Когда гроздь полностью подрастет, я смогу раздавить ее, чтобы получить больше хлопьев.\\\n Я просчитал все, и, похоже, процесс самоподдерживается!", + "book.spectrum.guidebook.bismuth.crystal_crushing.text": "* Ну, по крайней мере, если я не обращаю внимания на необходимые катализаторы и чернила...*", + "book.spectrum.guidebook.bismuth.name": "Висмут", + "book.spectrum.guidebook.bismuth.page0.text": "Металл, который переливается всеми цветами радуги.\\\nМаленькие саженцы, которые я собрала, слишком малы, чтобы их можно было использовать по назначению.\\\n\\\nКак мне вырастить их без блока для прорастания почек? Я заметила одну вещь: они реагируют на металлические блоки.", + "book.spectrum.guidebook.bismuth.page1.text": "Вместо того, чтобы жертвовать целыми металлическими блоками, [Кристалларийум] (entry://ink/crystallarieum) обеспечивает контролируемую подложку, которая служит более эффективным способом доставки питательных веществ.", + "book.spectrum.guidebook.bismuth.page1.title": "Выращивание Висмута", + "book.spectrum.guidebook.bismuth_trinkets.page0.text": "Висмут, этот материал сразу же вызвал у меня интерес! То, как он блестит, говорит о том, что он предназначен в качестве основы для ювелирных изделий, и благодаря моим наработанным навыкам я действительно смогла придать ему форму. Красивый.", + "book.spectrum.guidebook.bismuth_trinkets.page1.text": "Он всегда слегка теплый и даже мягко светится в темноте. Я лучше не буду спрашивать себя, почему.", + "book.spectrum.guidebook.black_hole_chest.page0.text": "Проблема с бункерами заключается не только в том, что они работают медленно, но и в том, что из-за недостаточного радиуса действия они не подходят для крупных ферм.\\\n\\\nБлагодаря небольшому количеству синего пигмента все предметы, находящиеся в пределах досягаемости этого механизма, похожего на сундук, могут быть легко доставлены в безопасное место.", + "book.spectrum.guidebook.black_hole_chest.page1.text": "Радиус действия - 12 блоков. Можно отключить, поместив сверху сплошной блок. Предлагает фильтры для определения того, какие элементы он засасывает.", + "book.spectrum.guidebook.black_hole_chest.page2.text": "Если поместить [Драгоценный камень знаний] (entry://enchanting/knowledge_gem) в сундук с Черной дырой, он сможет поглощать шары опыта, переводя полученный опыт в драгоценный камень.", + "book.spectrum.guidebook.black_hole_chest.page2.title": "Поглощение опытом", + "book.spectrum.guidebook.black_langast.page0.text": "[Полуночное решение](entry://general/midnight_solution) отовсюду.", + "book.spectrum.guidebook.black_langast.page1.text": "Что же здесь должно было произойти, чтобы превратить целые участки земли в эту мертвую пустошь? Наверняка какой-то ужасный несчастный случай. Что бы - или кто бы - ни был ответственен за это, возможно, у него был [опыт, похожий на мой](entry://общие сведения/полуночная аберрация)... только гораздо трагичнее.\\\n\\\nРастущие здесь *штуки* - назвать их растениями было бы оскорблением даже для [#](bb00bb) Мертвых кустов[#]() - выглядят какими угодно, только не здоровыми.", + "book.spectrum.guidebook.blackslag.page0.text": "Обычный, темный и крепкий камень, из которого состоит большая часть нижних уровней Глубоких Низин", + "book.spectrum.guidebook.blackslag.page1.text": "[](item://minecraft:blast_furnace) плавит эти камни быстрее, чем [](item://minecraft:furnace).", + "book.spectrum.guidebook.blackslag.page2.text": "Кирпичи и плитка могут треснуть.", + "book.spectrum.guidebook.block_breaker.page0.text": "Простой, но эффективный способ уничтожения блоков. Не самый сложный и не самый настраиваемый, но простой в установке и очень компактный.\\\n\\\nПо сигналу Redstone он уничтожает блок перед собой.", + "book.spectrum.guidebook.block_breaker.page1.text": "Может разбивать блоки вплоть до железа.", + "book.spectrum.guidebook.block_checklist": "Контрольный список блоков", + "book.spectrum.guidebook.block_detector.page0.text": "Аналогично [#](bb00bb)Observer[#](), но более конкретно.\\\nВыдает [#](449900)redstone импульс [#]() каждый раз, когда перед ним помещается блок, соответствующий блоку под ним (или над ним, если смотреть вниз).", + "book.spectrum.guidebook.block_flooder.page1.text": "Достаю подходящие блоки прямо из своего инвентаря, чтобы заполнить пробелы. Если у меня нет подходящих блоков, то выбирается [](item://minecraft:cobblestone).", + "book.spectrum.guidebook.block_placer.page0.text": "Автоматически разбивать блоки, взвешивать их, сортировать или складывать в один из моих сундуков очень просто. Но есть одна вещь, которую никогда не могли делать все мои предыдущие машины: размещать предметы. Теперь это осталось в прошлом.\\\n [Топаз](entry://general/shards@topaz), благодаря своему сродству к материи, позволяет ему материализовывать блоки из своего инвентаря.", + "book.spectrum.guidebook.block_placer.page1.text": "* Это делает свое дело!*", + "book.spectrum.guidebook.block_variants.name": "Базальт и кальцит", + "book.spectrum.guidebook.block_variants.page0.text": "Возможно, блоки, которые защищали мои драгоценные камни от внешних воздействий, также впитали в себя некоторые магические свойства самих жеод?\\\nКто знает. Они определенно выглядят красиво и из них получаются отличные строительные блоки.", + "book.spectrum.guidebook.block_variants.page1.text": "Ослепительно белый кальцит, пожалуй, один из самых ярких природных цветов, с которыми я сталкивался, - он выглядит очень чистым и излучает достоинство. Он прекрасно контрастирует с темными и благородными тонами базальта.", + "book.spectrum.guidebook.block_variants.page1.title": "Необработанные варианты", + "book.spectrum.guidebook.block_variants.page2.text": "Термическое воздействие еще больше подчеркивает их светлую и темную текстуру.\\\nПосле плавки базальт становится почти черным. Из него можно изготавливать самые разнообразные декоративные блоки, используя [](item://minecraft:crafting_table) или [](item://minecraft:stonecutter).", + "book.spectrum.guidebook.block_variants.page3.title": "Обзор вариантов", + "book.spectrum.guidebook.block_variants.page6.text": "[Разрушение предметов](entry://general/item_crushing) будут трескаться кирпичи и плитка.", + "book.spectrum.guidebook.blood_orchid_petal.page0.text": "Эти листья, кажется, принадлежат цветку, которого я никогда раньше не видел. Он цвел здесь когда-то? Выращивали ли его те, кто жил до меня? Возможно, это сувенир из мира, о существовании которого я даже не подозреваю?\\\nХотя он выглядит так, как будто его сорвали всего пять минут назад.", + "book.spectrum.guidebook.blood_orchid_petal.page1.text": "\\\n\\\n\\\n\\\nЯ что-то чувствую каждый раз, когда прикасаюсь к лепестку:\\\n*беспокойство*.", + "book.spectrum.guidebook.blood_orchid_products.name": "Продукты из кровавой орхидеи", + "book.spectrum.guidebook.blood_orchid_products.page0.text": "[Кровавая Архидея](entry://general/blood_orchid) экстракты оказывают интенсивное воздействие при употреблении в пищу: они могут привести существо в состояние [#](449900)Неистовства[#]().\\\nУрон, скорость атаки, скорость передвижения и устойчивость к отдаче улучшаются с каждым убийством. Чем выше уровень эффекта, тем больше эффект усиления. Если в течение 10 секунд не будет совершено убийство, вместо этого будет применен дебафф.", + "book.spectrum.guidebook.blood_orchid_products.page1.text": "Вместо того чтобы сбрасывать продолжительность, примените другое [#](449900)Неистовство[#]() эффект, напротив, повысит его эффективность.\\\n\\\nЧтобы получить максимальную отдачу от эффекта, я должен сначала нанести длительный эффект, а затем добавить более короткие, но более мощные.", + "book.spectrum.guidebook.blood_orchid_products.page1.title": "Стакание Неистовства", + "book.spectrum.guidebook.blood_orchid_products.page2.text": "Мне удалось получить густой раствор активного ингредиента из лепестков кровавой орхидеи. По запаху он почти как розовая вода, но его эффект определенно выше... *немного более шипучий*.", + "book.spectrum.guidebook.blood_orchid_products.page3.text": "[#](449900)Неистовство[#]() начинается с малого, но длится немного дольше.", + "book.spectrum.guidebook.blood_orchid_products.page4.text": "[#](449900)Неистовство[#]() эффект относительно непродолжительный, но начинается довольно сильно.", + "book.spectrum.guidebook.blood_orchid_products.page5.text": "Действительно отвратительный напиток. На вкус он именно такой, как вы и ожидали.", + "book.spectrum.guidebook.blood_orchids.page0.text": "[Лилия резонанса](entry://general/resonant_lily) Поистине неуловимый цветок - и, по-видимому, каким-то образом связан с Кровавой орхидеей (хотя энергия Кровавой орхидеи быстро берет верх).", + "book.spectrum.guidebook.blood_orchids.page1.text": "Что может случиться в худшем случае? Надеюсь, в итоге у меня появится еще одно растение, с которого я смогу обрывать лепестки.", + "book.spectrum.guidebook.bloodstone.page0.text": "Засохшие вкрапления крови из [Растопки перьев](entry://creating_life/effulgent_feathers), сияющий потрясающим алым цветом и истекающий своевольной магией!", + "book.spectrum.guidebook.bloodstone.page1.text": "Учитывая ***[#](ff3d71) незначительное [#]()*** количество [#](bb00bb) меди[#](), из нее получится великолепная плита из красного, яркого стекла.", + "book.spectrum.guidebook.bloodstone.page1.title": "Очищающий кровавик", + "book.spectrum.guidebook.bottomless_bundle.page0.text": "Во время своих путешествий по подземелью я собираю целую кучу обычных, одинаковых блоков, которые мне никогда не понадобятся, но дело не в этом! Я не скопидомка, *обещаю*.\\\n\\\n В этом бездонном пакете хранится практически неограниченное количество предметов, но только одного типа.", + "book.spectrum.guidebook.bottomless_bundle.page1.text": "Щелчок правой кнопкой мыши по стекам или пустым ячейкам в моем инвентаре заполнит / опустошит их.", + "book.spectrum.guidebook.bottomless_bundle.page2.text": "Shift позволяет автоматически наполнять / опорожнять его.", + "book.spectrum.guidebook.bottomless_bundle.page2.title": "Автоматизация", + "book.spectrum.guidebook.bottomless_bundle.page3.text": "Размещенный Бездонный Мешок будет помнить последний предмет, который я в него положил.\\\nДаже если он будет опустошен, в него будут приниматься только новые предметы, ранее хранившиеся в нем, что позволяет использовать его в качестве фильтра.\\\n\\\n*Примечание: Если он помещен пустым, он примет первый помещенный в него элемент и зафиксируется на нем.*", + "book.spectrum.guidebook.bottomless_bundle.page4.text": "Зачарование Сила увеличивает его емкость в десять раз за каждый уровень.\\\n\\\n*Это очень много ** для хранения. Могу ли я полностью заполнить его на Силу V?*", + "book.spectrum.guidebook.bottomless_bundle.page5.text": "Проклятие пустоты аннулирует все предметы, которые могли бы переполнить Бездонный сундук.\\\n\\\n* Больше никаких бесполезных блоков, загромождающих мой путь при добыче полезных ископаемых.*", + "book.spectrum.guidebook.brewers_handbook.page0.text": " *Отражение Луны*", + "book.spectrum.guidebook.brewers_handbook.page0.title": "Подготовка к Глубинам", + "book.spectrum.guidebook.brewers_handbook.page1.text": "Хайо! Нынешнее состояние отношений между Верхним миром и Глубинами довольно плачевное, и, к сожалению, оно, похоже, становится только хуже, и я мало что могу с этим поделать.\\\n\\\nИтак, я потратил немного времени на то, чтобы собрать несколько рецептов с поверхности, адаптируйте их с учетом ингредиентов, найденных в наших недрах, и опубликуйте это в качестве подарка всем вам в надежде, что это поможет вам.", + "book.spectrum.guidebook.brewers_handbook.page10.text": "*Обжигает не только по дороге, но и по прибытии.\\\n\\\nОтлично, если у вас есть кто-то, кого вы хотите разгорячить и побеспокоить.*", + "book.spectrum.guidebook.brewers_handbook.page13.text": "Привет. Мне жаль, что я не смог рассказать вам больше, это все, что мне удалось узнать - за всеми, кто проходит мимо входа в пещеры, пристально наблюдают, и я сам чувствую, как взгляды императоров поверхности обжигают мне спину. Я очень, очень хотел сделать больше, но тот факт, что я вынужден использовать псевдоним, должен показать, в каком я состоянии. Это все, что я могу сделать. Надеюсь, этого будет достаточно.", + "book.spectrum.guidebook.brewers_handbook.page13.title": "[Скрытая страница 1]", + "book.spectrum.guidebook.brewers_handbook.page14.text": "*Мне потребовалось немало усилий, чтобы приступить к работе. Благодаря этому вы сможете использовать экстракт кровавой орхидеи более активно. В худшем случае, это даст вам преимущество.*", + "book.spectrum.guidebook.brewers_handbook.page15.text": " ..Астерас\\\n, я надеюсь, что это сообщение дойдет до тебя. Со времени нашего последнего разговора ситуация только ухудшилась, дворяне по-прежнему нацелены на тебя, но это вызывает больше беспокойства.... Они готовятся к войне, это уже ясно. Они хотят заполучить Блумстоун и готовы многим пожертвовать ради этого. Дела идут плохо, пожалуйста, берегите себя.\\\n*...Я скучаю по тебе.*", + "book.spectrum.guidebook.brewers_handbook.page15.title": "[Скрытая страница 2]", + "book.spectrum.guidebook.brewers_handbook.page2.text": "\\\nЭй, стеклянные персики предназначены не только для императоров!\\\n\\\nМы тоже можем ими полакомиться! По этому быстрому и простому в приготовлении рецепту получается вкусное сливочное блюдо с персиковым вкусом - если у вас есть такие, а я понимаю, почему у вас их нет, сладкие ягоды станут отличным гарниром!", + "book.spectrum.guidebook.brewers_handbook.page2.title": "Розовые кружки", + "book.spectrum.guidebook.brewers_handbook.page3.text": "*Не меняйте ягоды на остролистные, они не годятся...*", + "book.spectrum.guidebook.brewers_handbook.page4.text": "\\\nЭти заросли пирита... Я думаю, что это мои любимые места в глубинах, в них есть что-то такое привлекательное, даже если учесть, насколько опасно просто находиться в них.\\\n\\\nПожалуйста! Хотя ягоды с растущих там кустов ядовиты, мы можем обойти это стороной...", + "book.spectrum.guidebook.brewers_handbook.page4.title": "Горячие напитки из остролиста", + "book.spectrum.guidebook.brewers_handbook.page5.text": "*Но если вы действительно хотите использовать эти ягоды остролиста для чего-то, то вот, пожалуйста.*", + "book.spectrum.guidebook.brewers_handbook.page6.text": "\\\nЭто не медовуха, вы не можете юридически называть это медовухой, я обязан уточнить, что это не медовуха.\\\n\\\n\\\n Итак, этот рецепт медовухи - мой любимый, потребовалось некоторое время, чтобы понять, как адаптировать медовое вино для места, где нет пчел, но, поверьте мне, оно действительно превосходит настоящее.", + "book.spectrum.guidebook.brewers_handbook.page6.title": "Не Медовое вино", + "book.spectrum.guidebook.brewers_handbook.page7.text": "*Только не медовуху, нет-нет-нет.*", + "book.spectrum.guidebook.brewers_handbook.page9.text": "\\\nГрибной цейлон, эта странная специя, напоминающая корицу, которая у вас там есть. Честно говоря, я очень люблю этот напиток, он напоминает мне о тех долгих, нежных ночах, которые я обычно проводил там. Хотя, как и у большинства людей, эта пряность ассоциируется у меня с теплом и комфортом, для меня в ней есть оттенок тоски...", + "book.spectrum.guidebook.brewers_handbook.page9.title": "Тепло для сердца", + "book.spectrum.guidebook.brown_is_weird.name": "Коричневая краска?", + "book.spectrum.guidebook.brown_is_weird.page0.text": "Я пытался и пытался, но безрезультатно. Я не могу представить, как создать [#](70400d)Коричневый[#]() путем смешивания [Порошка драгоценных камней](entry://general/gemstone_powder), даже если использовать саженцы. Самое лучшее, что у меня получилось, - это промытый апельсин.\\\nЭто не может быть так сложно. Нравиться... [#](70400d) Грязь коричневая[#]() и это самый распространенный материал, который у меня есть.\\\n\\\nДолжен быть способ... и я уверен, что **[#](000000)Черный[#]()** будет ответом.", + "book.spectrum.guidebook.brown_is_weird.page1.link_text": "Коричневый - странный", + "book.spectrum.guidebook.brown_is_weird.page1.text": "\\\n\\\n\\\n\\\n\\\n\\\n*Серьезно, я провел исследование! То, как мы воспринимаем коричневый цвет, просто завораживает!*", + "book.spectrum.guidebook.budding_onyx.page0.text": "Создание [Оникса](entry://general/onyx_shards) это всегда было очень сложно, так как зависело от текущей фазы Луны. Несмотря на то, что [Часы с полумесяцем](entry://equipment/crescent_clock) дело в том, что я часто упускал этот короткий промежуток времени.\\\nЕсли сделать оникс таким же пригодным для выращивания, как и другие драгоценные камни, это сэкономит мне массу времени.\\\n\\\n* Странно, но с другими камнями, похоже, та же процедура не работает?*", + "book.spectrum.guidebook.budding_onyx.page1.text": "Лучше всего создать большую партию [Полуночных Аберраций](entry://general/midnight_aberration) все сразу, так как кажется, что они быстро рассыпаются в моих руках.", + "book.spectrum.guidebook.buffer_node.name": "Буферный узел", + "book.spectrum.guidebook.buffer_node.page0.text": "Измененный узел сбора. Он будет запрашивать элементы из хранилища, откуда они будут доступны для других узлов сбора.\\\n\\\nУкажите элементы, которые будут собраны, в своем фильтре [#](449900)[#]().", + "book.spectrum.guidebook.buffer_node.page1.text": "Порядок сбора:\n1. [Узлы-отправители](entry://pastel_network/sender_node)\n2. [Узлы-поставщики](entry://pastel_network/provider_node)\n3. [Узлы хранения](entry://pastel_network/storage_node)", + "book.spectrum.guidebook.calming.page0.text": "Выпив это [#](449900), вы, похоже, уменьшите количество появлений врагов и их агрессию, [#]() увеличивающуюся в зависимости от уровня. Большинство существ даже будут нейтральны, если я подойду к ним поближе.", + "book.spectrum.guidebook.calming.page1.text": "Умиротворяющие свойства этого, кажется, делают меня значительно более восприимчивым ко сну, да.", + "book.spectrum.guidebook.calming.page1.title": "Снотворное (уязвимость)", + "book.spectrum.guidebook.category.brewing.name": "Приготовление и эффекты", + "book.spectrum.guidebook.category.creating_life.name": "Создание жизни", + "book.spectrum.guidebook.category.cuisine.name": "Кухня художника", + "book.spectrum.guidebook.category.decoration.name": "Декорации", + "book.spectrum.guidebook.category.dimension.name": "Под бедроком", + "book.spectrum.guidebook.category.enchanting.name": "Зачарование", + "book.spectrum.guidebook.category.equipment.name": "Эпикировка", + "book.spectrum.guidebook.category.general.name": "Мое приключение", + "book.spectrum.guidebook.category.ink.name": "Краска", + "book.spectrum.guidebook.category.magical_blocks.name": "Магические блоки", + "book.spectrum.guidebook.category.mod_integration.name": "Интеграция мода", + "book.spectrum.guidebook.category.pastel_network.name": "Пастельная сеть", + "book.spectrum.guidebook.celestial_pocketwatch.page0.text": "Проблема с [Осколками оникса](entry://general/onyx_shards) заключается в том, что их создание привязано к очень специфическим условиям. Новолуние случается не каждый день. И, конечно же, каждый раз, когда я смотрю на часы, мне кажется, что промежуток времени пролетел ровно на минуту.\\\n\\\nПришло время показать, что такое большое оружие: близость Magenta ко времени.", + "book.spectrum.guidebook.celestial_pocketwatch.page1.text": "*Какая замечательная у меня идея!*", + "book.spectrum.guidebook.checklist_complete": "Список(Выполнено)", + "book.spectrum.guidebook.checklist_upgrade": "Список(Улучшено)", + "book.spectrum.guidebook.cheong.page0.text": "На самом деле я подумал, что фрукты и так уже достаточно сладкие, так что больше ничего сладкого не нужно.\\\nНо при такой добавке сахара вкус фруктов становится еще лучше.", + "book.spectrum.guidebook.cheong.page1.text": "*Это мармелад... Это сироп... Это Чонг!*", + "book.spectrum.guidebook.chrysocolla.page0.text": "В результате моего последнего брожения вино получилось слишком крепким.\\\nОно обладает сильной горечью и слегка кисловатым вкусом.\\\nНесмотря на то, что оно сохраняет некоторые свойства, которые когда-то напоминало, мне кажется, что оно более полезно для медицины, чем для питья.", + "book.spectrum.guidebook.cinderhearth.page0.text": "Современная доменная печь, которая использует [#](e16201)Оранжевую краску[#]() для плавки руды и тому подобного.\\\n\\\nМожет еще больше усилить свои способности, используя [Улучшения](entry://magical_blocks/upgrades).", + "book.spectrum.guidebook.cinderhearth.page1.text": "Возьму [Жемчужину знаний](entry://enchanting/knowledge_gem) и буду вкладывать в него опыт, полученный при выплавке опыта XP", + "book.spectrum.guidebook.cinderhearth.page2.text": "Улучшения должны быть размещены на двух высеченных блоках.", + "book.spectrum.guidebook.cinderhearth.page3.text": "- 1 Пепельный Очаг\n- 21 Полированных блока\n- 6 Узорчатых блока\n- 5 Стеклянных блока\n- 2 Резных блока\n- 6 Ведер лавы\n\n\\\n*Действительно ли нужна была эта [#](bb00bb) Лава[#]() под ней, поскольку у меня уже есть [#](e16201)Краска[#]()*?\\\nНет, не совсем. Но это так выглядит. много. лучше.", + "book.spectrum.guidebook.cinderhearth.page4.text": "[Улучшения](entry://magical_blocks/upgrades) размещенный на [#](bb00bb)Полированных блоках[#]() требует дополнительный тип [Краски](entry://ink/ink), в зависимости от типа обновления. Чем выше уровень обновления, тем выше расход.", + "book.spectrum.guidebook.cinderhearth.page4.title": "Улучшения", + "book.spectrum.guidebook.cinderhearth.page5.text": "- Скоростные ([#](aa32a0)Пурпурная краска[#]()):\nускоряет плавление\n- ([#](258ac8)Голубые краски[#]()):\nувеличивает выход ресурсов\n- ([#](ff4ff6)Фиолетовая краска[#]()):\nувеличивает количество опыта\n- ([#](302951)Черная краска[#]()):\nзначительно уменьшен расход красок других типов, включая [#](e16201)Оранжевый[#]()", + "book.spectrum.guidebook.circlet_of_arrogance.page0.text": "Вот и все: Вознесение - непревзойденный бафф - в носимой форме.\\\n\\\nЕсли бы само мое существование не подвергалось опасности каждый раз, когда я получал слишком сильный удар - а это очень высокая цена, - я бы ни секунды не колебался, надев это.\\\nДолжен ли я действительно...?\\\n\\\nКонечно же да", + "book.spectrum.guidebook.circlet_of_arrogance.page1.text": "*Гордость предшествует падению.*", + "book.spectrum.guidebook.clover.clover.text": "Равнины и другие зеленые биомы являются домом для этого пышного зеленого клевера, который прорастает вместе с жизнью.\\\n\\\n*Сегодня у меня счастливый день?*", + "book.spectrum.guidebook.clover.clover_crushing.text": "Я могу раздавить его и получить [](item://minecraft:green_dye).", + "book.spectrum.guidebook.clover.four_leaf_clover.text": "Действительно, это так!\\\nЯ уверен, что этот крошечный знак удачи вам пригодится.", + "book.spectrum.guidebook.clover.four_leaf_clover_crushing.text": "Я могу измельчить его, чтобы получить *совсем немного* зеленой краски.\\\n\\\nЗачем так много краски?\\\nОчевидно, что у него больше листьев!", + "book.spectrum.guidebook.clovers_favor.page0.text": "Время от времени мне везет, и враг роняет какой-нибудь редкий предмет.\\\nСоединение [Клевера](entry://general/clover) с удачей позволит мне значительно увеличить эти шансы.", + "book.spectrum.guidebook.clovers_favor.page1.text": "Увеличивается шанс получения редких предметов добычи, таких как [#](bb00bb)Железные слитки[#]() от зомби.\\\n*Может ли это даже увеличить мои шансы на получение самого ценного из всех дропов?*\\\n\\\nМаксимальный уровень: 3\\\nПрименимо к оружию ближнего боя.\\\nВзаимоисключающие действия Добычей.", + "book.spectrum.guidebook.color_mixing_black.name": "Смешивание черного", + "book.spectrum.guidebook.color_mixing_black.page0.text": "*Здравствуй, тьма, мой старый друг.*", + "book.spectrum.guidebook.color_mixing_black.page1.text": "\\\n\\\n\\\nЧерный цвет Оникса позволяет мне использовать еще несколько комбинаций. Все еще не идеально, но фантастический прогресс!\\\n\\\nКак насчет серых тонов? Может быть, мне придет в голову другая идея...", + "book.spectrum.guidebook.color_mixing_cmy.description": "Как сочетать и не сочетать цвета?", + "book.spectrum.guidebook.color_mixing_cmy.name": "Перемешивание цветов", + "book.spectrum.guidebook.color_mixing_cmy.page0.text": "Я могу создать любой цвет, смешав основные цвета [#](157687)Бирюзовый[#](), [#](aa32a0)Пурпурный[#]() и [#](f0af15)Желтый[#]()!\\\n*...в теории*.", + "book.spectrum.guidebook.color_mixing_cmy.page1.text": "Мои попытки смешать [Кристальный Порошок](entry://general/gemstone_powder) напрямую они не были очень успешными. Просто соединить их вместе просто не получится.\\\n\\\nНо у меня есть другая идея\\\nБлизость моих драгоценных камней к природе наводит на мысль, что природа тоже может быть ответом!\\\n\\\n[Этот рецепт](entry://general/colored_trees) выглядит очень многообещающе и стоит попробовать! Я использовал [Порошок из драгоценных камней](entry://general/gemstone_powder) для преобразования [#](bb00bb)Саженцев[#]() вместо этого я выступаю в качестве посредника.", + "book.spectrum.guidebook.color_mixing_white.name": "Смешивание белого", + "book.spectrum.guidebook.color_mixing_white.page0.text": "*Весь цветовой спектр*", + "book.spectrum.guidebook.color_mixing_white.page1.text": "\\\n\\\n**Это невероятно!**\\\n\\\nУвидев всю цветовую гамму после такого долгого, трудного путешествия и многих неудач, я радуюсь на сердце. Мне не терпится увидеть, какие творческие новшества появятся на моей кисти в следующий раз.", + "book.spectrum.guidebook.color_picker.page0.text": "Преобразование [Пигмента](entry://general/pigment) в чистую [Краску](entry://ink/ink) таким образом, я могу перенести его в контейнеры, такие как [Баки для краски](entry://ink/ink_flask).\\\n\\\nК сожалению - [из-за способа переноса чернил](entry://ink/ink@transfer) - всегда что-то остается. Немного раздражает... хотя я вижу в этом и некоторую пользу: чем больше разница между контейнерами, тем быстрее происходит перенос!", + "book.spectrum.guidebook.color_picker.page1.text": "*Никогда не развивайте в себе страсть, которая вам не по карману. Она будет разъедать ваше сердце, как книжный червь.*", + "book.spectrum.guidebook.colored_lamps.name": "Цветные лампы", + "book.spectrum.guidebook.colored_lamps.page0.text": "Наконец-то мне удалось правильно смешать цвета! Что может быть естественнее, чем испытать свойства моих новых [Пигментов](entry://general/pigment) немедленно?\\\n\\\n*Мне уже надоели обычные лампы [#](bb00bb) из Редстоуна[#](). Пора добавить немного красок!*", + "book.spectrum.guidebook.colored_lamps.page1.text": "При включении они излучают яркий свет.", + "book.spectrum.guidebook.colored_spore_blossoms.name": "Разноцветные соцветия спор", + "book.spectrum.guidebook.colored_spore_blossoms.page0.text": "Однажды, бродя по заросшей листвой пещере, я заметил множество лепестков, плывущих по воздуху.\\\n\\\nЯ был так очарован этим зрелищем, что решил создать свои собственные красочные вариации. Красивые, не правда ли?", + "book.spectrum.guidebook.colored_spore_blossoms.page1.text": "Выбирая различные пигменты, я могу окрашивать лепестки в самые разные цвета.\\\n\\\nВ рецептах требуется определенное сочетание [Порошка драгоценных камней](entry://general/gemstone_powder) для каждого цвета, соответствующее [количеству, которое я указал для смешивания](entry://general/color_mixing_cmy).", + "book.spectrum.guidebook.colored_trees.crafting_colored_saplings.title": "Создание цветного саженца", + "book.spectrum.guidebook.colored_trees.name": "Цветные деревья", + "book.spectrum.guidebook.colored_trees.page0.text": "Мне нужно смешать мои пигменты с чем-нибудь органическим. В ходе экспериментов я обнаружил, что корни саженцев [#](bb00bb)[#]() легко впитывают цвет [Порошка драгоценных камней](entry://general/gemstone_powder). Их крошечные стебельки и первые листочки уже окрашены в яркие цвета.\\\n\\\nКак они будут выглядеть, когда вырастут?", + "book.spectrum.guidebook.colored_trees.page1.text": "В рецептах требуется определенное сочетание [Порошка драгоценных камней](entry://general/gemstone_powder) для каждого цвета, соответствующее [количеству, которое я указал для смешивания](entry://general/color_mixing_cmy).", + "book.spectrum.guidebook.colored_trees.page2.text": "Вау, эти деревья все время были вокруг меня, а я даже не подозревал об этом! Кто знает, что еще там есть.", + "book.spectrum.guidebook.colored_trees.page2.title": "Натуральная генерация", + "book.spectrum.guidebook.colored_trees.page3.text": "Как и их цветные, немагические аналоги, я могу распиливать бревна и использовать их древесину для изготовления досок, лестниц, плит, кнопок, нажимных пластин, заборов и калиток.", + "book.spectrum.guidebook.colored_trees.page3.title": "Цветная древесина", + "book.spectrum.guidebook.compacting_chest.page0.text": "Мне уже давно надоело создавать новые хранилища для угля, железа, меди и золота, скопившихся в моей кладовой. Кстати, я тоже устал собирать это добро в более компактные кучки...\\\n\\\nСжимающий комод избавляет меня от этой монотонной работы.", + "book.spectrum.guidebook.compacting_chest.page1.text": "Название говорит само за себя:\\\nсоздает все предметы в нем по шаблону 3х3, 2х2 или 1х1, который можно менять в инвентаре.", + "book.spectrum.guidebook.compression": "Сжатие", + "book.spectrum.guidebook.conflicting_enchantments.name": "Чарующее мастерство", + "book.spectrum.guidebook.conflicting_enchantments.page0.text": "Сегодня тот день, когда я решил проблемы, с которыми сталкивался раньше, наложив на свои предметы множество противоречивых чар.\\\nКак у мастера чародейства, у меня теперь нет ничего, что зависело бы от моих желаний.", + "book.spectrum.guidebook.conflicting_enchantments.page1.text": "Теперь я могу использовать Зачаровыватель для применения заклинаний, которые обычно являются взаимоисключающими.\\\n\\\n*Такие действия потребуют большого опыта*", + "book.spectrum.guidebook.connection_node.name": "Соединение узлов", + "book.spectrum.guidebook.connection_node.page0.text": "Как самый простой из узлов, узел соединения активно не используется.\\\n\\\nОни действуют исключительно как дешевый и ненавязчивый способ расширить охват моих сетей.", + "book.spectrum.guidebook.connection_node.page1.text": "Как и все другие узлы, узел подключения имеет диапазон из 12 блоков.", + "book.spectrum.guidebook.constructors_staff.page0.text": "Я трачу много времени на размещение блоков, настолько много, что почти готов поверить, что это главная причина моего существования. Но размещать много похожих блоков утомительно.\\\n\\\nИли, скорее, *был* утомительным.", + "book.spectrum.guidebook.constructors_staff.page1.text": "При приседании расширяется на основе всех блоков, а не только совпадающих.", + "book.spectrum.guidebook.cotton_cloud_boots.page0.text": "Уметь летать, как птицы, всегда было мечтой многих людей, в том числе и меня.\\\n\\\nЯ разработал эти ботинки, чтобы воплотить это в жизнь. Свобода почти ошеломляет! (*У меня получилось не совсем правильно, без небольшой загвоздки, но что поделаешь.*)", + "book.spectrum.guidebook.cotton_cloud_boots.page1.text": "Маленькие облачка начнут образовываться у меня под ногами, как только я начну бежать. Хотя они слишком расплывчатые, чтобы на них можно было запрыгнуть, их достаточно, чтобы я мог безопасно парить в воздухе.\\\n\\\nЕсть только одна загвоздка:\\\n*Мне лучше не останавливаться на достигнутом.*.", + "book.spectrum.guidebook.cracking": "Растрескивание", + "book.spectrum.guidebook.crafting": "Я могу наложить это заклятие на [#](bb00bb) обычную книгу[#](), окружив [Зачаровывателя](entry://enchanting/enchanter) [Пигментом](entry://general/pigment) и другие необходимые материалы.", + "book.spectrum.guidebook.crafting_tablet.page0.text": "Планшет для крафта - это гораздо больше, чем просто портативный [Верстак](item://minecraft:crafting_table). Он запоминает введенный мной рецепт и позволяет мне приготовить его позже по запросу.", + "book.spectrum.guidebook.crafting_tablet.page1.text": "Может наступить время, когда мне будет так часто нужен определенный материал, что я захочу автоматизировать его. Или, может быть, я стану одним из тех мазохистов, которые автоматизируют каждый отдельный элемент просто потому, что могут.\\\n\\\n[Пигментный пьедестал](entry://general/pedestal) имеет специальный слот для планшета для крафта. Если я добавлю планшет для крафта, а затем загружу в него предметы, они будут размещены так, как указано в сохраненном рецепте.", + "book.spectrum.guidebook.crafting_tablet.page1.title": "Автоматизация пьедестала", + "book.spectrum.guidebook.crawfish.page0.text": "Посмотрите, что принесла на берег моя последняя рыбалка! На самом деле это не рыба, а *ракообразное*.\\\n\\\nКажется, они процветают даже в [самых грязных прудах](entry://magical_blocks/mud).", + "book.spectrum.guidebook.creating_enchanted_books.name": "Книги зачарований", + "book.spectrum.guidebook.creating_enchanted_books.page0.text": "Использование [Пигмента](entry://general/pigment), выбранные ингредиенты и некоторый опыт [Зачарователя](entry://enchanting/enchanter) позволяет мне добавлять заклинания к [#](bb00bb) обычным книгам[#]().\\\n\\\nХотя этот процесс требует больше опыта, чем наложение чар в обычной Столе Зачарования, у вас есть полный контроль над тем, какие чары вы хотите создать.", + "book.spectrum.guidebook.creating_enchanted_books.page1.text": "Я также могу использовать этот процесс для зачаровывания своих магических инструментов.", + "book.spectrum.guidebook.creature_manipulation.axolotls.text": "Подходит для аксолотля любого цвета.", + "book.spectrum.guidebook.creature_manipulation.name": "Манипулирование существами", + "book.spectrum.guidebook.creature_manipulation.page0.text": "Пока что все мои попытки \"создать жизнь\" дали неоднозначные результаты. Но я начинаю чувствовать уверенность в том, что смогу чего-то достичь.\\\n\\\nСоздавать жизнь из ничего - дело сложное, но объединить существующие знания - это не так просто?\\\n\\\nЭто то, что чувствовал Франкенштейн? *Это делает меня плохим? Злым? Я совсем не уверен, но я очень хочу попробовать.*", + "book.spectrum.guidebook.creature_manipulation.parrots.text": "Подходит для попугаев любого цвета.", + "book.spectrum.guidebook.creature_manipulation.shulkers.text": "Подходит для шалкеров любого цвета", + "book.spectrum.guidebook.creatures.name": "Создания глубин", + "book.spectrum.guidebook.creatures.page0.text": "Я не ожидал так многого... жизнь здесь, внизу, в бесконечной тьме. Или что-то еще, если уж на то пошло.\\\n\\\nМне любопытно посмотреть, что там внизу снует.", + "book.spectrum.guidebook.creatures.page1.text": "Надеюсь, я не пожалею об этом любопытстве.", + "book.spectrum.guidebook.crescent_clock.page0.text": "Эти часы, состоящие из свидетелей времени, должны вести меня через этот нескончаемый поток начал и окончаний - фаз Луны.\\\n\\\n\\\n\\\n*Если мы, тени, обиделись, знайте, что это так, и все наладится.*", + "book.spectrum.guidebook.crescent_clock.page1.text": "*Что ты всего лишь дремал здесь, в то время как эти видения действительно появлялись.\\\nИ эта слабая и праздная тема, больше не приносящая результата, а мечта.*", + "book.spectrum.guidebook.crossbow": "Арбалет", + "book.spectrum.guidebook.crystal_apothecary.page0.text": "Помещается в [Жеодах](entry://general/geodes), он автоматически собирает полностью выращенный урожай [#](bb00bb)Кристальных кластеров[#]().\\\n\\\nОбычно, когда я нахожусь далеко, все мои постройки и даже посевы замерзают со временем, но это, похоже, исключение из этой нормы. Странный.", + "book.spectrum.guidebook.crystal_apothecary.page1.text": "Хотя это и не так эффективно, как разбивать кластеры вручную, простота использования является несомненным плюсом.", + "book.spectrum.guidebook.crystal_apothecary_harvesting": "[Хрустальный аптекарь](entry://ink/crystal_apothecary) может автоматически собирать кристаллы [#](bb00bb)[#]() - даже когда я нахожусь далеко от жеод!", + "book.spectrum.guidebook.crystal_flowers.name": "Кристальные цветы", + "book.spectrum.guidebook.crystal_flowers.page0.text": "Хрустальные сады глубин - это поистине захватывающее зрелище. Хотя я мог бы многое прокомментировать, но эти хрустальные цветы особенно привлекли мое внимание.\\\n\\\nИх лепестки из стекла, и они потрясающе переливаются... это очень милые маленькие создания.", + "book.spectrum.guidebook.crystal_flowers.page1.text": "Sweet and fragrant. I bet they'd taste like strawberry, as liquid crystal would if either of them were edible...", + "book.spectrum.guidebook.crystal_flowers.page2.text": "Очень травянистый и горький.\\\n\\\n*Они напоминают абрикосы только по цвету.*", + "book.spectrum.guidebook.crystal_flowers.page3.text": "С одной стороны, они являются отличным источником светящегося красителя.\\\n\\\n*С другой стороны, у меня от языка шумит в ушах.*", + "book.spectrum.guidebook.crystal_gardens.moss_balls.text": "Пушистые эти твари.\\\nОни очень напоминают мне существо, о котором я когда-то читал в легендах. Говорят, что оно давно вымерло.", + "book.spectrum.guidebook.crystal_gardens.moss_balls.title": "Моховые шарики", + "book.spectrum.guidebook.crystal_gardens.page0.text": "Озера из [Жидких кристаллов](entry://general/liquid_crystal) и гигантские [Кристаллические структуры](entry://dimension/hummingstone) определите его внешний вид.", + "book.spectrum.guidebook.crystal_gardens.page1.text": "Землю присыпают небольшим слоем грунта. Немного, но более чем достаточно, чтобы покрыть ее толстым ковром мха.\\\n\\\nВ отличие от большинства других биомов, множество естественных источников света в этом, по-видимому, способствуют росту растений, которые я также могу найти на поверхности.", + "book.spectrum.guidebook.crystallarieum.page0.text": "Имея в виду перспективные блоки, я разработал устройство, работающее на чернилах, которое способно превращать куски необработанной руды в сверкающие кристаллы.\\\n\\\nНесмотря на то, что все мои усилия по выращиванию [камешков](entry://general/shards) провалились, Я быстро понял, что он может выращивать всевозможные другие ресурсы, когда я направляю их на него.", + "book.spectrum.guidebook.crystallarieum.page1.text": "Для выращивания ресурсов требуется:\n- закваска, добавленная в почву \n- катализаторы, добавленные в почву \n - чернила определенного цвета, поставляемые через [Колбу](entry://ink/ink_flask)", + "book.spectrum.guidebook.crystallarieum.page10.title": "Золото", + "book.spectrum.guidebook.crystallarieum.page11.title": "Железо", + "book.spectrum.guidebook.crystallarieum.page12.title": "Лазурит", + "book.spectrum.guidebook.crystallarieum.page13.title": "Незерит", + "book.spectrum.guidebook.crystallarieum.page14.title": "Призмарин", + "book.spectrum.guidebook.crystallarieum.page15.title": "Кварц", + "book.spectrum.guidebook.crystallarieum.page16.title": "Редстоун", + "book.spectrum.guidebook.crystallarieum.page2.text": "Каждый катализатор по-разному влияет на рост бутонов:\\\n в то время как один катализатор может уменьшить количество необходимых чернил, другой может увеличить требуемое время.", + "book.spectrum.guidebook.crystallarieum.page2.title": "Катализаторы", + "book.spectrum.guidebook.crystallarieum.page3.text": "[#](449900)Металлы[#]() требуют нерафинированные материалы, такие как [#](bb00bb)Сырое железо[#](), приводящий к [#](bb00bb)Маленькому железному бутону[#]() он будет неуклонно расти до тех пор, пока его можно будет безопасно собирать.\\\n\\\nДля [#](449900)Кристаллов[#](), существующий кристалл можно использовать в качестве затравки для выращивания идентичных копий самого себя.", + "book.spectrum.guidebook.crystallarieum.page3.title": "Металлы и кристаллы", + "book.spectrum.guidebook.crystallarieum.page4.title": "Уголь", + "book.spectrum.guidebook.crystallarieum.page5.title": "Медь", + "book.spectrum.guidebook.crystallarieum.page6.title": "Алмазы", + "book.spectrum.guidebook.crystallarieum.page7.title": "Эхо", + "book.spectrum.guidebook.crystallarieum.page8.title": "Изумруды", + "book.spectrum.guidebook.crystallarieum.page9.title": "Светокамень", + "book.spectrum.guidebook.curse_of_the_void.page0.text": "Инструменты, обладающие этим волшебством, как будто растворяют в воздухе все, что они добывают. Измельчают до мельчайшего песка и развевают по ветру.\\\n\\\nКогда я захочу высечь полгорода из грубого камня, это может даже пригодиться. Некоторые вещи, вероятно, являются проклятием и благословением одновременно.", + "book.spectrum.guidebook.curse_of_the_void.page1.text": "Уничтожает капли всех разбитых блоков.\\\n\\\nМаксимальный уровень: 1\\\nПрименимо к инструментам для копания.", + "book.spectrum.guidebook.deadly_poison.page0.text": "Обычно мне приходилось остерегаться яда, но никогда не было случая, чтобы я увлекся им. С другой стороны, этот более сильнодействующий сорт, похоже, не подходит для моей жизни. Страшная штука!", + "book.spectrum.guidebook.decay_away.page0.text": "Мой последний эксперимент не только провалился, но и от него было довольно трудно избавиться.\\\nНа всякий случай, если ситуация снова выйдет из-под контроля, я создал эту модифицированную версию. На этот раз, однако, она предназначена для исцеления, а не для затопления моей базы.\\\nМне определенно не помешает иметь при себе бутылочку.", + "book.spectrum.guidebook.decay_away.page1.text": "Избавляет от 99% всех самовоспроизводящихся микроорганизмов.", + "book.spectrum.guidebook.decompression": "Декомпрессия", + "book.spectrum.guidebook.decostones.name": "Декоративные камни", + "book.spectrum.guidebook.decostones.page0.text": "Эти декоративные камни, которые можно складывать в стопку, станут прекрасным украшением моей драгоценной находки.\\\n\\\nОни производят довольно внушительное впечатление.", + "book.spectrum.guidebook.deep_barrens.page0.text": "Темная, каменистая пустошь.", + "book.spectrum.guidebook.deep_barrens.page1.text": "На первый взгляд, здесь не на что смотреть, но посетить его стоит: орки улыбаются мне из каждого уголка, насколько я могу видеть (а это, честно говоря, недалеко).\\\n\\\nВ некоторых местах этот биом пересекают гигантские рудные жилы. Одной такой жилы мне, вероятно, хватит на годы.", + "book.spectrum.guidebook.deep_dripstone_caves.page0.text": "Знакомый и в то же время другой.", + "book.spectrum.guidebook.deep_dripstone_caves.page1.text": "Судя по размерам каменных глыб, эти пещеры, должно быть, существовали с незапамятных времен.\\\nИнтересно, насколько большими могут быть гигантские сталактиты здесь. Я уже видел такие, которые простираются на сотни кварталов.\\\n Земля испещрена лужицами [#](bb00bb)Воды[#]().", + "book.spectrum.guidebook.delving_deeper_down.name": "Погружение все глубже и глубже", + "book.spectrum.guidebook.delving_deeper_down.page0.text": "Я бы и подумать не мог, что такое возможно. По мере того, как я погружался все глубже и глубже в скалу, открылся черный как смоль портал. Куда он ведет? Есть только один способ узнать.\\\n\\\n*И все же я не могу избавиться от комка в горле, когда смотрю вниз...*", + "book.spectrum.guidebook.delving_deeper_down.page1.text": "Место, которое веками не видело ни единого солнечного луча. Место, где никогда не светит солнце. Место, окутанное вечной тьмой.\\\n\\\nЧто ждет меня там, внизу?", + "book.spectrum.guidebook.delving_deeper_down.page1.title": "Глубины", + "book.spectrum.guidebook.density.page0.text": "[#](449900)Делает меня тяжелее[#]() с каждым уровнем я получаю все больше урона при падении. Я даже не мог больше совершать прыжки в длину.\\\n\\\n*Так ли я буду чувствовать себя каждый день через 30 лет?*", + "book.spectrum.guidebook.disarming.page0.text": "Зомби, с которыми я сталкиваюсь каждую ночь, носят много ценного снаряжения. Но когда они умирают, оно исчезает, и никто его больше не видит (как именно это работает, для меня загадка).\\\n\\\nНе проблема, если мне удастся вырвать это у них, пока они еще живы. Попался!", + "book.spectrum.guidebook.disarming.page1.text": "У мобов (и других игроков!) мало шансов сбросить свое снаряжение при каждом ударе.\\\n\\\nМаксимальный уровень: 2\\\nПрименимо к оружию ближнего боя.", + "book.spectrum.guidebook.discovered_geodes": "Разбросанные по всему миру, я обнаружил множество жеод, которые дают ценные ресурсы.", + "book.spectrum.guidebook.disinfect": "Скорее для дезинфекции, чем для питья.\\\n\\\n*Но, знаешь... кто-нибудь собирается меня остановить?*", + "book.spectrum.guidebook.divinity.page0.text": "Я получил значительные улучшения ко всем основным атрибутам.\\\n\\\nНо я боюсь ужасного, ([близкого к](entry://creating_life/hardcore_revival)) необратимой цене, если я все-таки умру.", + "book.spectrum.guidebook.doomblooms.name": "Смертоцветы", + "book.spectrum.guidebook.doomblooms.page0.text": "Это растение обладает довольно... необычный способ распространения его семян и отпугивания хищников: Его цветок содержит капсулу с взрывоопасным газом, которая лопается, если ее потревожить.\\\n\\\nЕсли я не буду осторожен с этим цветком, например, если я сделаю его слишком жестким, я рискую превратить свое окружение в огненный кратер.", + "book.spectrum.guidebook.doomblooms.page1.text": "Когда он полностью вырастет, я смогу собрать из него [#] (bb00bb) порох[#]().\\\n\\\nДля того, чтобы разбить его, не взрывая, потребуется [#] (bb00bb) Шелковое прикосновение[#]() или [#](bb00bb) Ножницы[#]().", + "book.spectrum.guidebook.downstone.page0.text": "В самых глубоких местах недр я нашел этот новый тип камня.\\\nНевероятно твердый, даже [#](bb00bb)Бедрок[#]() кажется смехотворным по сравнению с ним.", + "book.spectrum.guidebook.downstone_fragments.page0.text": "Похоже, кто бы ни был до меня, он умел добывать этот камень! Но только с помощью [колоссальных, внушительных дрелей](entry://dimension/excavation_sites).\\\n\\\nПохоже, что они использовали его для изготовления [#](bb00bb)Консервационного камня[#]()?", + "book.spectrum.guidebook.draconic_twinsword.page0.text": "То, что получилось в результате моих размышлений, - это не что иное, как шедевр универсальности.\\\nЭтот обоюдоострый меч превосходно сбалансирован, что позволяет наносить широкие и мощные размашистые удары. Изящный [Кровавик](entry://creating_life/bloodstone) конструкция оружия делает его восхитительно прочным и позволяет превосходно держать удар.\\\n\\\nНеприветливое, но в то же время завораживающее оружие.", + "book.spectrum.guidebook.draconic_twinsword.page1.text": "[#](f0af15)Желтая краска[#]() проходящая через меч, позволяет мне метать его на предельной скорости, ударяя по нему после подбрасывания вверх. Я ловлю его щелчком правой кнопки мыши - просто нужно следить за отскоком.\\\n\\\n* Я должен постараться не убить себя этим.*", + "book.spectrum.guidebook.draconic_twinsword.page2.text": "Динамичность этого оружия намного выше. Если я поменяю руки, держа его в то время, как другая моя рука пуста, я могу разрубить меч надвое, в результате чего получится пара кинжалов-близнецов. Быстрые и смертоносные, они также могут быть брошены, хотя их действие немного отличается. Те же самые трепещущие пучки одуванчика обеспечивают невероятную подвижность.", + "book.spectrum.guidebook.draconic_twinsword.page3.text": "Я могу вызывать кинжалы по желанию после того, как брошу их - бросаю себя вперед или, в качестве альтернативы, бросаю мобов, в которых они попадают, в мою сторону. Есть много вещей, которые влияют на то, как и кто двигается, поэтому я лучше немного поиграюсь с этим.", + "book.spectrum.guidebook.draconic_twinsword.page4.text": "As a footnote, the weapon has some unique enchantment interactions.\n- [Inertia](entry://enchanting/enchantments/inertia) boosts the Twinsword's strength each time it rebounds, while the talon's yoink on entities becomes stronger.\n- [Improved Critical](entry://enchanting/enchantments/improved_critical) improves hits against airborne targets.\n- Channeling improves sweeping and trades single-target ranged damage for AoE.\n- Piercing does exactly what I would expect.", + "book.spectrum.guidebook.dragonbone.page0.text": "Действительно ли эти гигантские останки принадлежат драконам?\\\nЧестно говоря, я не знаю. Но, судя по их размерам, это вполне могло быть так!\\\n\\\nДаже сейчас эти блоки окружены магической аурой, защищающей их от попыток несанкционированной добычи. Я испытал настоящий восторг, просто проведя пальцами по их шероховатой поверхности.", + "book.spectrum.guidebook.dragonbone.page1.text": "Нанесение урона Драконьей кости с помощью [#](449900)Взрывов[#](), похоже, разрушает магическую ауру, защищающую блоки, и, в конце концов, делает их пригодными для добычи.\\\nВыпавшие кусочки все еще сохраняют часть древней магии.", + "book.spectrum.guidebook.dragonbone.page2.text": "[Пепельный Очаг](entry://ink/cinderhearth) это единственное, что выделяет достаточно тепла, чтобы превратить эти кости в пепел.", + "book.spectrum.guidebook.dragonbone.page2.title": "Превращение в пепел", + "book.spectrum.guidebook.dragonbone.page6.text": "Большинству блоков можно вернуть их отполированную форму с помощью [Пепельного очага](entry://ink/cinderhearth).", + "book.spectrum.guidebook.dragonjags.name": "Драконьи зубцы", + "book.spectrum.guidebook.dragonjags.page0.text": "Эти неприхотливые растения могут расти практически где угодно, даже на простых камнях.", + "book.spectrum.guidebook.dragonjags.page1.text": "[#](bb00bb)Костная мука[#]() ускоряет их рост.", + "book.spectrum.guidebook.dragonrot.page0.text": "Он выглядит раскаленным докрасна, как жидкий огонь. Хотя при прикосновении к нему адски жжет (мне пришлось удовлетворить свое любопытство...), он совсем не выделяет тепла.\\\n\\\nВ то время как [Полуночное решение](entry://general/midnight_solution) кажется, что Драгонрот разрушителен ради перемен, но мне кажется, что его целью является только чистое и тотальное разрушение.", + "book.spectrum.guidebook.dragonrot.page1.text": "Добавление некоторых предметов, по-видимому, портит их до такой степени, что они превращаются во что-то совершенно другое.", + "book.spectrum.guidebook.dragonrot_swamp.page0.text": "Озера [Драконрот](entry://dimension/dragonrot) ронизывают здешние болотистые заросли.\\\nВ воздухе витает неприятный кислый запах.", + "book.spectrum.guidebook.dragonrot_swamp.page1.text": "Эти маленькие растения стелются по земле, как плющ. Они растут небольшими гроздьями в зеленом кустарнике. Когда я их удобряю, они разрастаются еще больше.", + "book.spectrum.guidebook.dragonrot_swamp.page2.text": "Это не грязь, это не слякоть, это... что-то, я не знаю, что именно. В любом случае, я немного проваливаюсь, когда наступаю на это.", + "book.spectrum.guidebook.dreamflayer.page0.text": "Поистине исключительное оружие, оно воплощает в себе определение \"лучшая защита это нападение\".\\\nЭто в природе ловца снов баланс сил:\\\nЧем больше брони у моего противника по сравнению со мной, тем больше урона он нанесет.[#]()\\\n\\\n Используйте скрытность для расширения своих возможностей, что позволяет ему пробивать даже самую прочную броню, расходуя [#](8f2121)Красные чернила[#]() с огромной скоростью.", + "book.spectrum.guidebook.dreamflayer.page1.text": "Требует полнолуния\\\n\\\n*Если мне когда-нибудь и нужна была причина, чтобы разгуляться в легкой одежде, то вот она.*", + "book.spectrum.guidebook.effect_prolonging.name": "Пролонгирующий эффект (Стакабельный)", + "book.spectrum.guidebook.effect_prolonging.page0.text": "Когда я получаю другие эффекты, пока этот активен, они работают дольше.", + "book.spectrum.guidebook.effect_prolonging.page1.text": "Вместо этого, когда я получаю уровень продления эффекта, дополнительные уровни накладываются поверх существующих, увеличивая силу эффекта, а не сбрасывая его продолжительность.", + "book.spectrum.guidebook.effulgent_deco.name": "Лучезарный декор", + "book.spectrum.guidebook.effulgent_deco.page0.text": "Я искренне завидую своим [Растопкам](entry://creating_life/kindlings), проводят свои дни, покрытые этими пушистыми перьями. Они невероятно мягкие и роскошные как на ощупь, так и по цвету, несмотря на [#](f0af15) Золотистое сияние [#](), струящееся сквозь них.\\\n\\\nЯ вижу, как засыпаю на подушке, сделанной из них.", + "book.spectrum.guidebook.effulgent_deco.page1.text": "Могут быть переделаны в [#](bb00bb)Перья[#]().", + "book.spectrum.guidebook.effulgent_feathers.page0.text": "Сияющие перья [Растопки](entry://creating_life/kindlings) довольно примечательны, настолько, что я вынужден регулярно подравнивать шерсть этих маленьких деревенщин.\\\\nОднако я заметил, что на перьях часто появляются капли крови.\\\n*Могу ли я позволить этому [как-то кристаллизоваться](entry://general/liquid_crystal)*?", + "book.spectrum.guidebook.effulgent_feathers.page1.text": "Погруженный в [Жидкий кристалл](entry://general/liquid_crystal), перья оставляют блестящий кристаллический осадок.", + "book.spectrum.guidebook.effulgent_feathers.page1.title": "Кристаллизация крови", + "book.spectrum.guidebook.egg_laying_wooly_pig.name": "Мохнатые свиньи, несущие яйца", + "book.spectrum.guidebook.egg_laying_wooly_pig.page0.text": "Мы были во Франкенштейне верно? У меня есть безумная идея... но разве они не всегда самые лучшие?", + "book.spectrum.guidebook.egg_laying_wooly_pig.page1.text": "Что бы хотелось съесть моему новому творению? Это актуально, потому что... [причины](entry://creating_life/memories).", + "book.spectrum.guidebook.egg_laying_wooly_pig.page1.title": "О какой безумной идее идет речь", + "book.spectrum.guidebook.egg_laying_wooly_pig.page2.text": "[Амарант](entry://cuisine/amaranth)[#]() добился своего!", + "book.spectrum.guidebook.egg_laying_wooly_pig.page3.text": "Какое удивительное создание! Способно [#](449900)Давать шерсть[#]() и [#](449900)Молоко[#](), а также [#](449900)Яйца[#]().", + "book.spectrum.guidebook.enchanted_food.name": "Зачарованная еда", + "book.spectrum.guidebook.enchanted_food.page0.text": "Почти такая же тяжелая, как моя жизнь.", + "book.spectrum.guidebook.enchanted_food.page1.text": "Конечно, эффект значительно слабее, чем у [#](bb00bb)Зачарованных золотых яблок[#](), но из них все равно получается удобный перекус для небольших приключений", + "book.spectrum.guidebook.enchanter.name": "Зачаровыватель", + "book.spectrum.guidebook.enchanter.page0.text": "В поисках идеального инструмента я обнаружил, что [#](bb00bb)Стол зачарований[#]() часто не соответствует моим требованиям. Этот сильно измененный стол зачарования должен решить большинство проблем, которые были у меня с оригинальным столом.[#]()\\\n\\\nЭто позволяет мне:\n- [создавать новые зачарованные книги](entry://enchanting/creating_enchanted_books)\n- [обновлять старые](entry://enchanting/upgrading_enchanted_books)\n- [зачаровывайте предметы, не потребляя Зачарованные Книги](entry://enchanting/enchanting_items)", + "book.spectrum.guidebook.enchanter.page1.text": "Для работы зачаровывателя нужна фокусирующая структура", + "book.spectrum.guidebook.enchanter.page2.text": "Размеры: 11x11x5 блоков\\\nМожет быть улучшен путем размещения [Улучшений](entry://magical_blocks/upgrades) на блоки драгоценных камней.", + "book.spectrum.guidebook.enchanter.page3.text": "- 1 Зачаровыватель\n- 8 Предметных чашей\n- 4+ Ведер жидких кристаллов\n- 4 Полированных кристальных блока\n- 8 Кристального света\n- 12 Полированных колонн\n- 24 Полированных плит\n- 159 Полированных блока\n\n\\\n*Улучшайте заклинателя с помощью улучшений, размещая их на драгоценных блоках.*", + "book.spectrum.guidebook.enchanting_items.page0.text": "Использовать Заклинатель для зачаровывания предметов довольно просто:\\nМне нужно поместить [#](bb00bb)Зачарованные книги[#]() в [Чаши для предметов](entry://decoration/item_bowl) и предмет, который я хочу зачаровать, должен лежать в самом Заклинателе.\\\n\\\nВ отличие от обычного зачаровывания, на это не уйдут мои книги, но взамен потребуется гораздо больше опыта.", + "book.spectrum.guidebook.enchanting_items.page1.text": "Я могу обеспечить постоянный поток опыта с помощью [Жемчужины знаний](entry://enchanting/knowledge_gem).", + "book.spectrum.guidebook.enchanting_items.page2.text": "Чтобы создать новые [#](bb00bb)Зачарованные книги[#](), мне нужно поместить старые [#](bb00bb) Зачарованные книги[#](), которые я хочу скопировать, в [Чаши для предметов](entry://decoration/item_bowl) и [#](bb00bb)обычную книшу[#]() в [Заклинатель](entry://enchanting/enchanter).\\\n\\\nОднако из-за обыденного характера книг для этого потребуется большой опыт.", + "book.spectrum.guidebook.enchanting_items.page2.title": "Копирование зачарованных книг", + "book.spectrum.guidebook.enchanting_items.page3.text": "В большинстве случаев, по моим оценкам, стоимость каждого заклинания составляет ** от 50 до 200 единиц опыта **.\\\nНа это также влияют другие факторы: насколько редким является заклинание, его уровень и насколько хорошо целевой предмет может поглощать чары.\\\nДополнительные расходы, такие как заклинания, которые не соответствуют моей цели, увеличат эту стоимость.", + "book.spectrum.guidebook.enchanting_items.page3.title": "Необходимый опыт", + "book.spectrum.guidebook.enchantment_canvas.page0.text": "Моя кирка, зачарование которой стоило немыслимых денег? Она почти сломана, и каждый сломанный брусок теперь вредит моим нервам больше, чем сам инструмент.\\\n\\\nДаже если я не могу спасти инструмент, по крайней мере, я могу сохранить чары! Этот холст не передает цвет: при использовании с инструментом наложенные чары меняются местами.", + "book.spectrum.guidebook.enchantment_canvas.page1.text": "После использования изображение элемента, на котором оно было использовано, отобразится на холсте, привязывая его к этому типу элемента.", + "book.spectrum.guidebook.enchantment_characteristics": "Характеристики", + "book.spectrum.guidebook.ender_dropper.page0.text": "Эндер Раздатчик является аналогом [Эндер воронки](entry://magical_blocks/ender_hopper). При [#](449900)сигнале редстоуна[#]() она извлекает элемент из моего [#](bb00bb)Эндер сунлука[#]().\\\n\\\nБудьте осторожны: кто помешает кому-то разместить кнопку рядом с ним и полностью его опустошить?", + "book.spectrum.guidebook.ender_glass.page0.text": "С того самого момента, как я изложил рецепт на бумаге, я почувствовал, что это творение будет чем-то особенным.\\\n\\\n Комбинация [#](449900)Энда[#](), [#](449900)Редстоуна[#]() и [#](449900)Магии[#]() придают ему очень странные свойства.", + "book.spectrum.guidebook.ender_glass.page1.text": "В зависимости от силы [#](449900)сигнала редстоуна[#]() этот блок приобретает различные свойства: \n- без редстоуна он полностью твердый\n- сигнал [#](449900) редстоуна[#]() делает его прозрачным, почти подобно стеклу, однако, оно достигает своего самого необычного состояния при полной силе сигналов редстоуна...", + "book.spectrum.guidebook.ender_glass.page2.text": "Что еще более странно, материал, похоже, реагирует на последний поданный сигнал, а не на самый сильный.\\\n\\\nНастоящая диковинка Энда.", + "book.spectrum.guidebook.ender_hopper.page0.text": "Разработана таким образом, чтобы она напоминала обычную воронку по форме и функциям, Эндер воронка обладает особой способностью помещать продукты непосредственно в мой [#](bb00bb)Эндер сундук[#]().", + "book.spectrum.guidebook.ender_splice.page0.text": "Я довольно успешно воспроизвел способность Эндермена к телепортации! Однако, чтобы определить пункт назначения, мне сначала нужно сделать снимок местоположения. Кажется, эндерменам не нужно этого делать - почему? Или *они* это делают?\\\nПервое использование привязывает меня к моему текущему местоположению, второе использование телепортирует меня обратно.", + "book.spectrum.guidebook.ender_splice.page1.text": " - Может быть использован на других игроках \n- Не может телепортироваться через измерения", + "book.spectrum.guidebook.ender_splice.page2.text": "Снижает вероятность его поломки при использовании.", + "book.spectrum.guidebook.ender_splice.page3.text": "Позволяет осуществлять межпространственную телепортацию.", + "book.spectrum.guidebook.enemy_tears": "Классика. Единственное, что сделало бы это блюдо еще более вкусным, - это слезы моих врагов.", + "book.spectrum.guidebook.entity_detector.name": "Детектор сущностей", + "book.spectrum.guidebook.entity_detector.page0.text": "Драгоценный камень, встроенный в детектор сущностей, реагирует на микровибрации земли.\\\nЭто дает ему возможность измерять количество существ поблизости.", + "book.spectrum.guidebook.entity_detector.page1.text": "Увеличивает суммарную силу на 1 для каждого существа в радиусе 10 блоков.", + "book.spectrum.guidebook.erasers.name": "Cтиратели", + "book.spectrum.guidebook.erasers.page0.text": "*Записка от меня для себя: не позволяй им подавлять тебя!*", + "book.spectrum.guidebook.erasers.page1.text": "Крошечные, неприступные паучки, которые охотятся стаями и причиняют множество неприятных последствий, когда кусают меня.\\\n\\\nП Эти чертовы твари - настоящая помеха здесь, внизу. Я бы не удивился, если бы оказалось, что ОНИ ответственны за гибель цивилизаций.\\\n\\\n Мой обычный прием - меч или лук - не очень помогает против них, так как они слишком быстры для этого. То, что наносит урон по площади, скорее всего, поможет.", + "book.spectrum.guidebook.eternal_slumber.page0.text": "Я даже не знаю, чего я здесь ожидал. Это [#](449900) более сильный и часто бесконечный [#]() аналог [Сонливости](entry://brewing/effects/somnolence). Это ударяет гораздо сильнее и не закончится само по себе, за исключением самых стойких психически существ (то есть, не меня!). Хотя это не похоже на способность спать весь день - у меня просто возникает ощущение, что я погружен в сон...", + "book.spectrum.guidebook.ethereal_platform.page0.text": "В поисках блока, который был бы для меня проходимым, но не портил бы внешний вид моих зданий, [Упавшая звезда](entry://general/stargazing) дала мне ответ.\\\n\\\nИспользуя усиливающую силу [Оникса](entry://general/onyx_shards), Я смог уплотнить простые частицы до такой степени, что они стали твердыми.", + "book.spectrum.guidebook.ethereal_platform.page1.text": "Another handy feature of them is that they only react to living creatures. Objects, such as items, will simply pass through.", + "book.spectrum.guidebook.everpromise_ribbon.page0.text": "A ribbon given to pets as an everlasting promise to watch over and care for them.\\\nI can name it and pin it on a creature. Should it ever die it will drop a [#](bb00bb)Broken Promise[#]().\\\n\\\nMy pet will immediately start to trust me, if it does not already.", + "book.spectrum.guidebook.everpromise_ribbon.page1.text": "After naming it, I can use a [](item://minecraft:crafting_table) to add [Pigment](entry://general/pigment) to the [#](bb00bb)Ribbon[#]() to color the pets name.", + "book.spectrum.guidebook.excavation_sites.name": "Места раскопок", + "book.spectrum.guidebook.excavation_sites.page0.text": "*Рабочее место?*", + "book.spectrum.guidebook.excavation_sites.page1.text": "Глубоко под землей - самое глубокое подземелье между слоями [Низшего камня](entry://dimension/downstone), если быть точным, я обнаружил странную, механически выглядящую конструкцию.", + "book.spectrum.guidebook.exchanging_staff.page0.text": "Для тех из вас, кто не живет в простом [#](bb00bb)доме из булыжника[#]() или вообще не имеет стен - я, конечно, пишу не о себе - я придумал Посох Обмена, с помощью которого можно менять местами целую кучу соединенных блоков в мгновение ока. Идеально подходит для косметического ремонта!", + "book.spectrum.guidebook.exchanging_staff.page1.text": "*Копание также стало намного интереснее*", + "book.spectrum.guidebook.exchanging_staff.page2.text": "Увеличивает количество добытой руды при обмене аналогично использованию Удачи на инструмент для копания.", + "book.spectrum.guidebook.exchanging_staff.page3.text": "Получается блок в точности таким, каким он появился на свет, без разрушения более хрупких блоков, таких как стекло или руда.", + "book.spectrum.guidebook.exchanging_staff.page4.text": "Дает ему возможность собирать некоторые специальные блоки такими, какие они есть.", + "book.spectrum.guidebook.extra_salty": "*Очень соленый*", + "book.spectrum.guidebook.exuberance.page0.text": "Этот мой навороченный книжный столик, хотя и полезен, более или менее поглощает все мои впечатления, как только я их приобретаю. Удовлетворить его нескончаемый голод и пополнить мой постоянно расширяющийся список зачарованных инструментов - грандиозная задача.\\\n\\\nПв значительной степени поможет выжать последние крупицы опыта из моих противников.", + "book.spectrum.guidebook.exuberance.page1.text": "Увеличивает количество очков опыта, получаемых за действия, выполняемые с помощью этого инструмента, такие как убийство мобов, добыча руды и рыбалка.\\\n\\\nМаксимальный уровень: 5\\\nПрименяется к оружию ближнего боя, инструментам для добычи полезных ископаемых и удочкам Спектрума.", + "book.spectrum.guidebook.fabrication_chest.page0.text": "Пигментный пьедестал - отличное решение для автоматического создания предметов, но очень громоздкое.\\\n\\\nСегодня я нашел более чем подходящее решение! В этом сундуке отсутствует структура фокуса, которая есть в подставке для пигментов, и поэтому он может автоматизировать только обычные рецепты.", + "book.spectrum.guidebook.fabrication_chest.page1.text": "Содержит четыре отделения для [Планшета создания] (entry://equipment/crafting_tablet). Рецепты, которые я описал в них, всегда хранятся на складе, если позволяют ингредиенты в сундуке.", + "book.spectrum.guidebook.fading.name": "Эксперимент №1: Угасание.", + "book.spectrum.guidebook.fading.page0.text": "Я хотел посмотреть, насколько далеко я смогу раздвинуть границы своего нового ремесла. Прошло совсем немного времени, прежде чем мне пришла в голову идея биологического плана.\\\n\\\n Организм, который у меня получился, слаб, но мои планы по созданию новой жизни увенчались успехом, по крайней мере, в принципе! Конечно, это всего лишь скопление микроорганизмов, но они живые!", + "book.spectrum.guidebook.fading.page1.text": "У всех живых существ одни и те же цели: есть и размножаться. Итак... что они едят для размножения? Другие продукты? Определенно что-то легко усваиваемое.", + "book.spectrum.guidebook.failing.name": "Эксперимент №2: Неудача", + "book.spectrum.guidebook.failing.page0.text": "Я бы солгал, если бы сказал, что меня не обуревали амбиции. Это мой первый большой шаг к изменению мира, я это чувствую!\\\nНаделенный силой могущественного [Оникса](entry://general/onyx_shards)[#]() и [Стратина](entry://general/stratine), этот второй организм, который я создал, явно... более активен, чем предыдущее творение.\\\n**И определенно более голодный.\\\nНАМНОГО голоднее", + "book.spectrum.guidebook.failing.page1.text": "Может быть, один из самых прочных материалов, которые я знаю, утолит их голод?", + "book.spectrum.guidebook.fatal_slumber.page0.text": "[#](449900)Вызывает мгновенную смерть, если позволить эффекту действовать своим чередом.[#]() Когда я был на грани того, чтобы уйти, я кое-что увидел. Бездонное море, бездонный сон; слабые отблески света мерцали среди бархата - почти серебряная нить, заманивающая меня глубже.... Я знал, что лучше не следовать за ней.", + "book.spectrum.guidebook.fatal_slumber.page1.text": "Это великое произведение ночной алхимии, в котором скрыта фундаментальная бархатная магия. Таким образом, оно влияет на психическое состояние и устойчивость ко сну.\\\n\\\nХотя только существа, обладающие огромной силой, могут противостоять спокойным водам.", + "book.spectrum.guidebook.first_strike.page0.text": "Все, что для этого нужно, - это один хорошо продуманный удар... по крайней мере, так, должно быть, гласит пословица.\\\n\\\nЧто угодно.\\\nКстати, я придумал Первый удар! Я уверен, что это очень поможет, особенно в борьбе со многими слабыми противниками.", + "book.spectrum.guidebook.first_strike.page1.text": "Значительно увеличенный урон, если у цели полная жизнь.\\\n\\\nМаксимальный Уровень: 2\\\nПрименимо к оружию ближнего боя.", + "book.spectrum.guidebook.forgotten_cities.name": "Забытые города", + "book.spectrum.guidebook.forgotten_cities.page0.text": "*Активное место, ставшее заброшенным*", + "book.spectrum.guidebook.forgotten_cities.page1.text": "Значит, там, внизу, есть разумная жизнь! Или... была.\\\nХотя город выглядит абсолютно населенным, я не нашел ни единого признака его присутствия.\\\n\\\nГде они сейчас?\\\nКуда они делись?", + "book.spectrum.guidebook.forsaken_cathedral.page0.text": "*Последний ориентир*", + "book.spectrum.guidebook.forsaken_cathedral.page1.text": "На данный момент это конец моего путешествия.\\\n\\\nВременами это было трудное путешествие, но я многому научился.\\\n\\\\nКогда-нибудь я увижу тебя, мой *Красочный мир*.", + "book.spectrum.guidebook.foundry.page0.text": "Я до сих пор помню свои первые дни в этом мире, когда я старательно выбивал уголь из камня, чтобы расплавить руду. Но те дни сочтены - будущее уже наступило, старина.\\\n\\\nНо за это придется заплатить определенную цену: я потеряю опыт, который мог бы получить от плавки.", + "book.spectrum.guidebook.foundry.page1.text": "Автоматически расплавляет сломанные блоки. При использовании на удочке [#](bb00bb)[#]() крючок поджигается.\\\n\\\nМаксимальный уровень: 1\\\nПрименимо к инструментам для добычи полезных ископаемых и удилищам [#] (bb00bb)Spectrum[#]().\\\nЭксклюзивный дизайн Шёлкового касания.", + "book.spectrum.guidebook.four_upgrade_slots": "4 слота для улучшений", + "book.spectrum.guidebook.freigeist.page0.text": "Как только первая капля коснулась моих губ, она уже наполнила мое тело огромной силой. Одно воспоминание об этом заставляет мою руку снова дрожать от напряжения. Это нехорошо.\\\nИ все же я никогда не чувствовал себя таким сильным и живым, как в этот самый момент.\\\n\\\nДействительно ли стоит опустошать этот пузырек? Если я умру, несмотря ни на что, цена будет огромной, я это чувствую.", + "book.spectrum.guidebook.freigeist.page1.text": "*Приласкай единственного,\\\nникогда не угасающую боль в твоем сердце,\\\nслезы белоснежной печали,\\\nПриласкай единственного, прячущегося\\\nамаранта в стране рассвета.*", + "book.spectrum.guidebook.frenzy.page0.text": "Мой урон, скорость атаки, скорость передвижения и устойчивость к нокдауну увеличивались с каждым убийством. Чем выше уровень эффекта, тем выше эффект усиления.\\\nЕсли мне не удается убить человека в течение 10 секунд, я получаю вместо этого дебафф", + "book.spectrum.guidebook.frenzy.page1.text": "Вместо этого, когда я получаю уровень безумия, дополнительные уровни накладываются поверх существующих, увеличивая силу эффекта, а не уменьшая его продолжительность.", + "book.spectrum.guidebook.fusion_shrine.page0.text": "Чтобы создать [Черные осколки](entry://general/onyx_shards) Я разработал специальную конструкцию.\\\nЯ могу либо щелкать по нему, либо бросать на него предметы и корзины. Я даже могу обрабатывать целые наборы ингредиентов одновременно, что делает процесс приготовления намного эффективнее, чем приготовление одного предмета за цикл. Очень полезно для рецептов, требующих правильного выбора времени.", + "book.spectrum.guidebook.fusion_shrine.page1.text": "Подойдет либо [#](bb00bb)Кальцит[#](), либо [#](bb00bb)Базальт[#]().\\\nТребуется четкая структура фокусировки и четкий обзор неба.", + "book.spectrum.guidebook.fusion_shrine.page2.text": "Размеры: 9x9x5 блоков.", + "book.spectrum.guidebook.fusion_shrine.page3.text": "- 1 Святыня слияний\n- 4 Полированных драгоценных блока\n- 4 Резных блока\n- 8 Полированных колонн\n- 12 Полированных ступенек\n- 77 Полированных блока\n\n\\\nЯ могу заменить [#](bb00bb)Базальт[#]() на [#](bb00bb)Кальцит[#]() и, как всегда, выбрать [Блоки драгоценных камней](entry://decoration/gemstone_storage_blocks) как всегда, мне понравилось.", + "book.spectrum.guidebook.gather_node.name": "Узел сбора", + "book.spectrum.guidebook.gather_node.page0.text": "Узел сбора будет активно запрашивать товары у других узлов и помещать их в подключенный инвентарь.\\\n\\nУкажите товары, которые будут собраны, в своем [#](449900)фильтре[#]().", + "book.spectrum.guidebook.gather_node.page1.text": "Порядок сбора:\n1. [Буферные узлы](entry://pastel_network/buffer_node)\n2. [Узлы отправителя](entry://pastel_network/sender_node)\n3. [Узлы провайдера](entry://pastel_network/provider_node)\n4. [Узлы хранения](entry://pastel_network/storage_node)", + "book.spectrum.guidebook.gemstone_armor.checklist.boots": "Ботинки: Источник кошмаров", + "book.spectrum.guidebook.gemstone_armor.checklist.chestplate": "Нагрудник: Золотое сечение", + "book.spectrum.guidebook.gemstone_armor.checklist.helmet": "Шлем: когда пустота встречается с преисподней", + "book.spectrum.guidebook.gemstone_armor.checklist.leggings": "Поножи: Траур по Преисподней", + "book.spectrum.guidebook.gemstone_armor.name": "Броня из драгоценных камней", + "book.spectrum.guidebook.gemstone_armor.page0.text": "У меня было более чем достаточно времени, чтобы выработать свой собственный индивидуальный стиль ведения боя.\\\nЧтобы наилучшим образом поддержать его, я разработал ряд подходящего снаряжения.\\\n\\\nНедостаток: Ингредиенты, используемые для его приготовления, очень хрупкие. Поэтому долговечность этого оборудования относительно невелика.", + "book.spectrum.guidebook.gemstone_armor.page1.text": "\\\nИх можно починить с помощью [Наковальни](item://minecraft:anvil) используя [Осколки драгоценных камней](entry://general/shards).\\\n\\\nЧтобы воспользоваться их уникальными способностями, мне понадобятся некоторые специальные материалы:", + "book.spectrum.guidebook.gemstone_armor.page2.text": "Делает нападающих слабыми и медлительными, когда они бьют меня, позволяя мне ускользать из их когтей, как тень.", + "book.spectrum.guidebook.gemstone_armor.page3.text": "Дает мне Поглощение и Сопротивление, делая меня практически неуязвимым.", + "book.spectrum.guidebook.gemstone_armor.page4.text": "При получения урона я получаю эффект Регенерации, так что я могу сразу же подняться и дать отпор.", + "book.spectrum.guidebook.gemstone_armor.page5.text": "При попадании в цель я на короткое время увеличиваю скорость и становлюсь невидимым, что позволяет мне отступить. Идеально подходит для дальнего боя.", + "book.spectrum.guidebook.gemstone_chimes.name": "Колокольчики из драгоценных камней", + "book.spectrum.guidebook.gemstone_chimes.page0.text": "Поработав с драгоценными камнями достаточно долго, я обнаружил, что могу придать этим хрупким материалам наилучшую форму. Медленно колышущиеся на ветру звуки колокольчиков напоминают мне о начале моего путешествия - о том, как я впервые ступил на жеоду. Я хорошо это помню. Какое это было время!\\\nКаждый колокольчик издает успокаивающий звук соответствующего драгоценного камня.", + "book.spectrum.guidebook.gemstone_glass.name": "Стекло из драгоценных камней", + "book.spectrum.guidebook.gemstone_glass.page0.text": "Драгоценные камни по своей природе уже слегка прозрачны. Что может быть естественнее, чем использовать их для изготовления стекла?\\\nМы также можем изготовить из них соответствующие стеклянные панели.", + "book.spectrum.guidebook.gemstone_glass.page1.text": "I can build them out of every gemstone I found.", + "book.spectrum.guidebook.gemstone_lights.name": "Gemstone Lights", + "book.spectrum.guidebook.gemstone_lights.page0.text": "When I set foot in the first geode, I was greeted by a pleasant, cozy glow.\\\n\\\nWith the help of [Shimmerstone](entry://general/shimmerstone), it was easy to amplify this light to create fancy lights.", + "book.spectrum.guidebook.gemstone_lights.page1.text": "Я могу сделать их из любого драгоценного камня, который найду.\\\nВ качестве основы подойдут как [Резной кальцит так и Резной базальт](entry://decoration/block_variants@chiseled_and_notched).", + "book.spectrum.guidebook.gemstone_powder.name": "Порошок из драгоценных камней", + "book.spectrum.guidebook.gemstone_powder.page0.text": "Для большинства рецептов в Пьедестале потребуется определенное количество порошка драгоценных камней в качестве катализатора.\\\n\\\nЕсли я не найду немного, я могу получить его, измельчив [Осколки драгоценных камней](entry://general/shards) используя [Дробление предметов](entry://general/item_crushing).", + "book.spectrum.guidebook.gemstone_powder.page1.text": "Для начинающего художника нет ничего важнее, чем правильно подобрать цвет.\\\nК сожалению, я обнаружил, что в случае с порошком из драгоценных камней это не так просто, как казалось на первый взгляд. * Порошки плохо перемешиваются*, в результате всегда получается однородная разноцветная масса.\\\n\\\nМожет быть, я смогу придумать что-нибудь позже?", + "book.spectrum.guidebook.gemstone_powder.page1.title": "Перемешивание цветов", + "book.spectrum.guidebook.gemstone_powder.page2.text": "Порошок из драгоценных камней можно спрессовать для хранения или украшения", + "book.spectrum.guidebook.gemstone_runes.name": "Руны из драгоценных камней", + "book.spectrum.guidebook.gemstone_runes.page0.text": "[#](bb00bb)Кальцит[#]() и [#](bb00bb)Базальт[#]() сдерживают энергию драгоценных камней до тех пор, пока они полностью окружают жеоду, в этом можно быть уверенным. Однако иногда энергия, накапливавшаяся веками, оказывается настолько сильной, что буквально проделывает дыру в жеоде.\\\n\\\n Я воссоздал все это в миниатюре.", + "book.spectrum.guidebook.gemstone_runes.page1.text": "Я могу изготовить их из любого драгоценного камня, который я нашел. Как из [Резного кальцита, так и из Резного базальта](entry://decoration/block_variants@chiseled_and_notched) я могу сделать оправу", + "book.spectrum.guidebook.gemstone_runes.page2.text": "Эти вещи гораздо эффективнее создавать, если я смогу получить нетронутую группу драгоценных камней.", + "book.spectrum.guidebook.gemstone_runes.page2.title": "Альтернативный рецепт", + "book.spectrum.guidebook.gemstone_storage_blocks.name": "Блоки из драгоценных камней", + "book.spectrum.guidebook.gemstone_storage_blocks.page0.text": "Драгоценные камни имеют исключительно красивый внешний вид.\\\nОднако внешний вид необработанных кластеров, каким я их знаю по жеодам, кажется мне слишком естественным для моих более сложных построений. Однако, как полноценный блок, они тоже красивы и прекрасно вписываются в общую композицию.\\\n\\\nЕсли в какой-то момент у меня закончатся драгоценные камни, я могу легко разделить их снова.", + "book.spectrum.guidebook.geodes.name": "Жеоды", + "book.spectrum.guidebook.geodes.page0.text": "Мне рассказали о странном происшествии под землей, но эта фотография - единственная зацепка, которая у меня есть на данный момент.", + "book.spectrum.guidebook.geodes.page0.title": "Жеоды из драгоценных камней", + "book.spectrum.guidebook.geodes.page1.text": "Разбивая кластеры, я получаю осколки драгоценных камней, которые, по-видимому, наследуют большинство первоначальных свойств.\\\nКажется, что каждый тип драгоценных камней обладает разными фундаментальными свойствами.\\\n\\\nПохоже, что разная высота способствует формированию определенных типов. Чтобы найти их все, имеет смысл поискать в разных местах.", + "book.spectrum.guidebook.geodes.page2.text": "Драгоценные камни защищены слоями [#](bb00bb)Кальцита[#]() и [#](bb00bb)Базальта[#]().", + "book.spectrum.guidebook.geodes.page3.text": "Теперь, когда я обратил внимание, я повсюду замечаю небольшие вкрапления драгоценных камней в скале.\\\nЕсли я увижу такую руду, то жеода, несомненно, недалеко!\\\n\\\nНесмотря на то, что она не возобновляема, как скопления драгоценных камней, из нее получается много осколков и немного порошка, особенно если ее разбивать с помощью инструмента на Удачу", + "book.spectrum.guidebook.geodes.page3.title": "Руды драгоценных камней", + "book.spectrum.guidebook.geodes.page4.text": "Топазовые жеоды гигантские по сравнению с другими, что вполне уместно, учитывая их элемент **[#](5bffed)МАТЕРИИ.[#]()**. Они встречаются исключительно высоко в горах и на массивных холмах.", + "book.spectrum.guidebook.geodes.page4.title": "Топазовые жеоды", + "book.spectrum.guidebook.geodes.page5.text": "Являясь элементами **[#](ff4ff6) ВРЕМЕНИ[#]()**, аметистовые жеоды, как правило, сохраняют свое существование в самых глубоких слоях мира, незаметно изолированные от всех других событий.\\Неприхотливые, но впечатляющие.", + "book.spectrum.guidebook.geodes.page5.title": "Аметистовые жеоды", + "book.spectrum.guidebook.geodes.page6.text": "Цитриновые жеоды встречаются в средних слоях земного шара, иногда их можно найти даже на поверхности. Эти жеоды небольшие, но обладают огромной **[#](eded00)ЭНЕРГИЕЙ[#]()**. Неудивительно, что я обнаружил, что они особенно подвержены образованию трещин.", + "book.spectrum.guidebook.geodes.page6.title": "Цитриновые жеоды", + "book.spectrum.guidebook.geodes.page7.text": "В Глубинах я наткнулся на жеоды из лунного камня! Я всегда подозревал, что этот вариант должен существовать в какой-то форме.\\\n\\\n Эти величественные жеоды сияют ярчайшим белым светом. Когда привыкаешь к темноте Глубин, они почти ослепляют.", + "book.spectrum.guidebook.geodes.page7.title": "Жеоды из лунного камня", + "book.spectrum.guidebook.gilded_book.page0.text": "Какая находка! Книги с позолотой послужат мне хорошей альтернативой обычным [#](bb00bb)книгам[#]() в [Заклинателе](entry://enchanting/enchanter).\\\n\\\nНо и многое другое!", + "book.spectrum.guidebook.gilded_book.page1.text": "- будучи гораздо более восприимчивым, процесс зачаровывания будет проходить быстрее и дешевле\n- может использоваться для [#] (bb00bb) копирования заклинаний со всех видов предметов[#]() в чашах с предметами вокруг Заклинателя на себя!\n\n\\n* Не все золото блестит.\\\nОднако эти книги таковы.*", + "book.spectrum.guidebook.glass_ampoules.name": "Стеклянные ампулы", + "book.spectrum.guidebook.glass_ampoules.page0.text": "Фиалки сделаны из тонкого, как вафля, стекла, такого хрупкого, что они почти разбиваются при одном взгляде на них. Содержимое... эффектное, если не заострять на этом внимание. Если я разобью их, содержимое немедленно испарится и развеется в воздухе. Только для того, чтобы обрушиться дождем на моих врагов.", + "book.spectrum.guidebook.glass_ampoules.page1.text": "Эти штуки определенно можно использовать для какой-нибудь дурацкой ерунды - будь то защита или нападение.\\\nОни работают даже в диспенсерах.", + "book.spectrum.guidebook.glass_arrows.name": "Стеклянные стрелы", + "book.spectrum.guidebook.glass_arrows.page0.text": "Эти острые как бритва стрелы наносят повышенный урон, могут быть выпущены под водой и пробивать полупрозрачные блоки.\\\nДобавление драгоценных камней придает им еще больший эффект.", + "book.spectrum.guidebook.glass_arrows.page1.text": "Подтягивает цель ко мне, готовясь к смертельному удару в ближнем бою.", + "book.spectrum.guidebook.glass_arrows.page2.text": "Замораживает цель, замедляя ее движение и нанося урон от замораживания с течением времени.", + "book.spectrum.guidebook.glass_arrows.page3.text": "Бьет моего врага с огромной силой, отбрасывая его далеко в сторону.", + "book.spectrum.guidebook.glass_arrows.page4.text": "Наносит урон независимо от уровней неуязвимости цели и восстанавливает их. Наносит дополнительный урон щитам.", + "book.spectrum.guidebook.glass_arrows.page5.text": "Взорвитесь шаром чистой энергии, нанося урон всем находящимся поблизости существам.", + "book.spectrum.guidebook.glass_crest_tools.name": "Инструменты для изготовления стеклянных гребней", + "book.spectrum.guidebook.glass_crest_tools.page0.text": "Изготовление [Малахитовых инструментов](entry://dimension/malachite_tools)с [Ядрами из лунного камня](entry://dimension/moonstone_cores) наделяет их новыми мощными способностями.", + "book.spectrum.guidebook.glass_crest_tools.page1.text": "Выбрасывает [#](d0d6d7)Белые чернила[#](), которые разрушают блоки при ударе. При переключении заклинаний я также могу выбрать [Резонанс](entry://enchanting/enchantments/resonance).", + "book.spectrum.guidebook.glass_crest_tools.page2.text": "Наносит часть урона с помощью [#](449900)Магии[#](), которая пробивает броню. Я также могу нанести [#](449900)Удар по земле[#](), который отбрасывает все вокруг меня. Эта способность масштабируется с помощью уровня [#](449900)Разящего Клинка[#]().", + "book.spectrum.guidebook.glass_crest_tools.page2.title": "Ультра-большой меч", + "book.spectrum.guidebook.glass_crest_tools.page3.text": "После того, как стрела заряжена, я могу перезарядить патрон, удерживая нажатой клавишу sneak+use, чтобы еще больше увеличить точность, скорость и урон при выстреле.", + "book.spectrum.guidebook.glass_crest_tools.page4.text": "Результат сочетания двухсторонней и карманной грозы. Я могу взмыть в воздух и разрушить все на своем пути даже в самой сухой пустыне! ...если только у меня не закончатся чернила. Эта способность изменяется в зависимости от уровня [#](449900)Тягуна[#](). * Полет - это не проблема. Проблема - это приземление*", + "book.spectrum.guidebook.glass_crest_tools.page4.title": "Причудливый Двузубец Хрустального Герба", + "book.spectrum.guidebook.glass_crest_tools.page5.text": "Осколки эха [#](bb00bb)[#]() заставляют этот двузубец при броске отбрасывать собственное эхо, разбиваясь при ударе.\\\n\\\n*Эта способность увеличивает [#](449900)Эффективность[#]() и [#](449900)Силу[#](), повышая отдачу и урон.*", + "book.spectrum.guidebook.glass_crest_tools.page5.title": "Фрактальный Двузубец Хрустального Герба", + "book.spectrum.guidebook.glass_panes.text": "Я также могу изготовить из них соответствующие стеклянные панели.", + "book.spectrum.guidebook.gleaming_pin.page0.text": "Во время одной из моих недавних экспедиций в меня снова и снова попадали стрелы, но я в панике оглядывался по сторонам и совершенно не замечал своего врага - он уже исчез за следующим углом.\\\n\\\nКогда я получаю удар, сверкающая булавка испускает магическую волну, которая проникает даже сквозь стены и прикрепляется к ближайшим существам, что облегчает их отслеживание.", + "book.spectrum.guidebook.gleaming_pin.page1.text": "*Не могу убежать, не могу спрятаться*", + "book.spectrum.guidebook.gleaming_pin.page2.text": "Снайперская стрельба позволяет удару пронзать еще большее количество материи, увеличивая дальность его действия.", + "book.spectrum.guidebook.glistering_jelly_tea.page0.text": "Я познакомился с [Нефритовыми лозами](entry://general/jade_vines) благодаря своим регенерирующим свойствам, они схожи с [#](bb00bb)Блестящими дынями[#](). Так совпало, что при смешивании их вместе получается изысканно гармоничный, сладкий вкус.\\\n\\\nпостоянно это дает небольшой положительный эффект для здоровья.", + "book.spectrum.guidebook.glistering_melons.name": "Блестящие дыни", + "book.spectrum.guidebook.glistering_melons.page0.text": "Мне [удалось преобразовать саженцы](entry://general/colored_trees), так что же мешает мне попробовать это на других растениях?\\\nНе потому, что я немного жадный или что-то в этом роде, конечно. Чистый интерес.", + "book.spectrum.guidebook.glistering_melons.page0.title": "Ростки блестящих дынь", + "book.spectrum.guidebook.gloves_of_dawns_grasp.page0.text": "Когда я спросил своего соседа, что это за \"[#](bb00bb)Гоббер[#]()\" о котором они всегда говорили, единственным ответом, который я получил, было то, что этот божественный материал \"недосягаем для тебя, маленький художник\".\\\nПрежде чем они успели объяснить мне, что \"вне досягаемости\" не следует понимать буквально, я уже разработал дизайн этих перчаток. Упс.", + "book.spectrum.guidebook.gloves_of_dawns_grasp.page1.text": "О, ну что ж, теперь, когда я их придумал, *я собираюсь ими воспользоваться*!\\\n\\\nНанесение на него [Cветло-Голубых Чернил](entry://ink/ink) увеличивает его доступность", + "book.spectrum.guidebook.glow_vision_goggles.page0.text": "Если бы проводилось голосование за моего любимого моба, я бы каждый раз выбирал Светящегося кальмара *! Мне нравится, как они освещают мне путь в темноте пещер. Какими бы красивыми они ни были, кажется, что их слишком часто выбрасывает на берег, и конец их печален.\\\nЯ почтил их неуклюжее светящееся наследие, создав очки, которые и впредь будут служить мне ориентиром.", + "book.spectrum.guidebook.glow_vision_goggles.page1.text": "Если я нахожусь в темном месте и на мне есть мешочки со светящимися чернилами, очки Светящегося зрения дают мне [#](449900) возможность ночного видения[#]().", + "book.spectrum.guidebook.glowblocks.name": "Светящиеся блоки", + "book.spectrum.guidebook.glowblocks.page0.text": "Теперь у меня есть пигменты настолько чистые, насколько это возможно. Так почему бы не сделать блоки с максимально чистым цветом!\\\n\\\nЯ думал назвать их [#](449900) Антиблоками[#](), но поскольку это действительно блоки, это было бы глупо, не так ли?", + "book.spectrum.guidebook.glowblocks.page1.text": "Светящиеся блоки светятся изнутри, поэтому они всегда выглядят одинаково, независимо от того, сколько света падает на их поверхность.", + "book.spectrum.guidebook.greater_potion_pendant.page0.text": "Работает очень похоже на своего [младшего брата](entry://brewing/lesser_potion_pendant).\\\nОднако в этой версии есть три камеры, каждая из которых может быть заполнена другим зельем, что означает, что она может поддерживать эффекты только первого уровня.", + "book.spectrum.guidebook.hardcore_revival.name": "Возрождение хардкора", + "book.spectrum.guidebook.hardcore_revival.page0.text": "Я сделал открытие. Вселенная, кажется, гораздо добрее ко мне, чем все остальное, что меня окружает. Всякий раз, когда я терял сознание от слишком сильных травм, я всегда просыпался здоровым и подтянутым, как будто мне дали новую жизнь.\\\nХотя, что, если я не всегда могу обмануть смерть? Я придумал средство защиты на случай, если что-то пойдет не так.", + "book.spectrum.guidebook.hardcore_revival.page0.title": "Возрождение хардкорного игрока", + "book.spectrum.guidebook.hardcore_revival.page1.text": "Чтобы оживить игрока, погибшего в [#](449900)Хардкоре[#](), мне понадобится [#](bb00bb) его голова[#](), крупная сумма ресурсов и немного времени.", + "book.spectrum.guidebook.harvesting_spawners": "Выращивание спавнеров", + "book.spectrum.guidebook.heartbound_chest.page0.text": "Я часто ловлю себя на том, что ставлю коробку для хранения своих вещей только для того, чтобы, вернувшись, обнаружить, что все разграблено.\\\n\\\nЭтот специальный сундук может даже помочь мне защитить мои вещи, а также поймать вора с поличным.", + "book.spectrum.guidebook.heartbound_chest.page1.text": "Может быть открыт только тем, кто его поместил, и занимает столько же места, сколько два обычных сундука.", + "book.spectrum.guidebook.heartbound_chest.page2.text": "Подобно сундуку ловушке, он подает сигнал [#](449900)редстоуна[#]().\\\nЕсли я, как владелец, открою его, сигнал будет полным; если незнакомец попытается залезть в мои вещи, то только наполовину.", + "book.spectrum.guidebook.heartbound_chest.page2.title": "Компонент из красного камня", + "book.spectrum.guidebook.heartsingers_reward.page0.text": "В этом изящном кольце есть все: с помощью небольшого количества (или большого количества!) [#] (d6658f)Розовых чернил[#]() оно укрепляет меня изнутри, даруя дополнительные сердечки.", + "book.spectrum.guidebook.heartsingers_reward.page1.text": "Пропитанное [Розовыми чернилами](entry://ink/ink) в [Сборщике краски](entry://ink/color_picker) увеличивает количество дополнительных сердечек.", + "book.spectrum.guidebook.hints.a_gemstone": "Драгоценный камень", + "book.spectrum.guidebook.hints.a_new_ore": "Новая руда", + "book.spectrum.guidebook.hints.a_new_resource": "Новый ресурс", + "book.spectrum.guidebook.hints.amethyst.page0.text": "Существует разновидность жеоды, найденная глубоко под землей.", + "book.spectrum.guidebook.hints.azurite.page0.text": "Появилась новая темно-синяя руда, которую можно найти во всех биомах Верхнего мира.", + "book.spectrum.guidebook.hints.azurite.page1.text": "Эта богатая голубая руда добывается на самых низких глубинах мира. Она залегает в горных породах редкими, но гигантскими скоплениями. О ее местонахождении свидетельствует поразительная голубая аура.", + "book.spectrum.guidebook.hints.citrine.page0.text": "Существует один тип жеоды, который обычно встречается вблизи поверхности. Чаще всего его можно найти в озерах или оврагах.", + "book.spectrum.guidebook.hints.clover.page0.text": "Ищите биом равнин. Возможно, вам повезет!", + "book.spectrum.guidebook.hints.clover.page1.text": "Клевер растет небольшими участками в биомах равнин, большинство из них с тремя листьями, но некоторые с четырьмя. Четырехлистный клевер можно отличить от трехлистного уже по его форме. Его можно вырастить с помощью костяной муки или Посохом Природы.", + "book.spectrum.guidebook.hints.concise_instructions": "Краткие инструкции", + "book.spectrum.guidebook.hints.downstone_fragments.page0.text": "Чем глубже вы будете погружаться в Глубины, тем чаще вы будете натыкаться на скалы, которые кажутся нерушимыми. На этом уровне есть структура, которую нужно обнаружить.", + "book.spectrum.guidebook.hints.downstone_fragments.page1.text": "На самых нижних уровнях Глубин вы иногда будете натыкаться на сооружения, которые использовались прежними обитателями для обработки камня. В одном из сундуков этого сооружения вы найдете новый ресурс.", + "book.spectrum.guidebook.hints.dragonbone.page0.text": "В болотах Драконрота вы можете найти останки гигантских существ. Эти блоки, похоже, невозможно добыть традиционным способом, поскольку они защищены магической аурой. Есть ли какой-нибудь нетрадиционный способ разрушить эту ауру, возможно, используя огромную силу?", + "book.spectrum.guidebook.hints.dragonbone.page1.text": "Магическую ауру блоков из драконьей кости можно разрушить с помощью мощных взрывов. Вам понадобится что-нибудь более мощное, чем тротил, например, раскаленная амальгама. Мощные магические взрывы имеют тот же эффект.", + "book.spectrum.guidebook.hints.fading.name": "Эксперимент №1", + "book.spectrum.guidebook.hints.fading.page0.text": "Увядающий - это маленький и слабый организм, который питается органическими блоками, расположенными рядом с ним. Щелкните правой кнопкой мыши на бутылке, чтобы поместить ее в качестве блока; вы можете снова разлить их по бутылкам, используя пустую бутылку.", + "book.spectrum.guidebook.hints.fading.page1.text": "Поместите органические блоки, такие как листья, тыквы или дыни, рядом с увядающим блоком и подождите некоторое время. Блок будет израсходован и заменен другим, выглядящим по-другому. Разбейте этот преобразованный блок, чтобы получить новый ресурс.", + "book.spectrum.guidebook.hints.failing.name": "Эксперимент №2", + "book.spectrum.guidebook.hints.failing.page0.text": "Как и в случае с Увяданием, они предпочитают, чтобы рядом с ними располагался определенный блок. На этот раз, правда, намного сильнее. \"Я ненавижу это копание\" - сильный, если быть точным.", + "book.spectrum.guidebook.hints.failing.page1.text": "Их любимое блюдо - обсидиан. Но остерегайтесь их ненасытного голода. Они съедят много, если им представится такая возможность...", + "book.spectrum.guidebook.hints.malachite.page0.text": "Есть новая руда, которую можно найти еще глубже в Глубинах.", + "book.spectrum.guidebook.hints.malachite.page1.text": "Он ярко-зеленый, и его можно найти в самых глубоких местах Глубин. Его нечасто можно найти на открытом воздухе, поэтому лучший способ добыть его - добывать в ручьях.", + "book.spectrum.guidebook.hints.mermaids_gems.page0.text": "Иногда в океанах можно найти блестящие драгоценные камни, плавающие на поверхности и подбрасываемые волнами. Если вы проведете некоторое время рядом с океаном или в воде, вы можете найти один из них сами!", + "book.spectrum.guidebook.hints.mermaids_gems.page1.text": "Источником этих драгоценных камней является растение, похожее на коралл, которое растет небольшими группами на морском дне, маскируясь под морскую траву. Подождите около него или измельчите его косточки, и оно выдаст свое драгоценное сокровище. После того, как вы соберете одно из них, вы сможете увидеть, что это за растение.", + "book.spectrum.guidebook.hints.midnight_chip.page0.text": "Эта жидкость, созданная во время создания \"Полуночной аберрации\"... она наносит вред каждому существу, к которому прикасается.", + "book.spectrum.guidebook.hints.midnight_chip.page0.title": "Маленькая подсказка", + "book.spectrum.guidebook.hints.midnight_chip.page1.text": "Полуночное решение имеет разные эффекты в зависимости от того, что в него попадает. Зачарованные предметы теряют свою магическую силу, некоторые предметы полностью меняются, а существа, убитые им, теряют небольшой таинственный фрагмент.", + "book.spectrum.guidebook.hints.moonstone_cores.page0.text": "Нижние равнины Глубин, по-видимому, когда-то были домом для высокоразвитой цивилизации.", + "book.spectrum.guidebook.hints.moonstone_cores.page1.text": "В некоторых из оставшихся позади городов есть хорошо охраняемые сооружения. Их защитники, по-видимому, механические и очень недружелюбные, работают на основе тонких магитехнологий.", + "book.spectrum.guidebook.hints.name": "Прогрессивные подсказки", + "book.spectrum.guidebook.hints.nightdew_sprout.page0.text": "В почве есть что-то ароматное, но вы не можете точно определить, где оно находится. Несомненно, здесь помогло бы более острое обоняние.", + "book.spectrum.guidebook.hints.nightdew_sprout.page1.text": "В почве у вас под ногами разбросаны спящие веточки необычной виноградной лозы. Хотя они слишком нежные и неуловимые, чтобы их можно было выкопать, для этой задачи, естественно, подойдет обнюхиватель.", + "book.spectrum.guidebook.hints.paltaeria.page0.text": "В Энде, можно найти руду Платерия", + "book.spectrum.guidebook.hints.paltaeria.page1.text": "Эту руду можно найти как на центральном острове, так и на окраинах Энда. Она образуется при контакте с воздухом очень редко. Ее можно добыть обычным способом. Поймайте ее, пока не стало слишком поздно!", + "book.spectrum.guidebook.hints.preservation_ruins.name": "3 Структуры", + "book.spectrum.guidebook.hints.preservation_ruins.page0.text": "В каждом биоме Верхнего мира есть три различных типа непроницаемых сооружений, скрытых в начале слоя глубокого сланца.\\\\n, что они сделаны из нерушимого камня.", + "book.spectrum.guidebook.hints.preservation_ruins.page1.text": "Вход, похоже, заблокирован мощным силовым полем. Однако тот, кто его построил, был настолько любезен, что оставил вам несколько подсказок! Сердечки по бокам силового поля указывают на то, что вам нужно активировать Азуритовую Защиту.", + "book.spectrum.guidebook.hints.preservation_ruins.page1.title": "Синие сердца", + "book.spectrum.guidebook.hints.preservation_ruins.page2.text": "Цветные соцветия спор на потолке и гравюры на стенах за ними намекают на решение проблемы. Порошковая гравюра и \"? + ?\". Вам нужно смешать порошок из драгоценных камней.", + "book.spectrum.guidebook.hints.preservation_ruins.page2.title": "Разноцветные соцветия спор", + "book.spectrum.guidebook.hints.preservation_ruins.page3.text": "Есть ли способ взломать фундамент? Как только вы окажетесь внутри, лучше всего посмотреть на соответствующих страницах вашей книги, какие блоки вы там найдете. Еще один совет: всегда полезно иметь при себе немного красителей.", + "book.spectrum.guidebook.hints.preservation_ruins.page3.title": "Уплотнение бедрока", + "book.spectrum.guidebook.hints.quitoxic_reeds.page0.text": "Самое время отправиться в увлекательное путешествие по поверхности. Посетите любое болото!", + "book.spectrum.guidebook.hints.quitoxic_reeds.page1.text": "Во всевозможных болотах можно увидеть растения странного вида, растущие на участках с глиной или илом. Чтобы расти, они потребляют глину/ил, размещенный вокруг них, превращая его в грязь.", + "book.spectrum.guidebook.hints.radiating_ender.page0.text": "Не каждый блок, который несет Эндермен, является тем, чем кажется на первый взгляд.", + "book.spectrum.guidebook.hints.radiating_ender.page1.text": "Некоторые эндермены будут появляться с блоками, которые вполне могут быть небольшими реликвиями Энда. Вы можете получить один из них, убив Эндермена, когда он несет что-то похожее на булыжник. Эндерменов с такими блоками также можно встретить в Энде, хотя и реже.", + "book.spectrum.guidebook.hints.resonance_shards.page0.text": "Между озерами из жидких кристаллов часто можно найти кристаллические структуры, состоящие из блоков, которые при взаимодействии приобретают интересные свойства.", + "book.spectrum.guidebook.hints.resonance_shards.page1.text": "Колибри, являющиеся частью кристаллических образований в биоме Хрустальных садов, начинают вибрировать, если их потревожить, заставляя вибрировать и другие близлежащие камни. Чем больше камней, тем сильнее будет эхо.", + "book.spectrum.guidebook.hints.resonant_lily.page0.text": "В [Хрустальных садах](entry://dimension/crystal_gardens), цветы, растущие рядом с [Жидким кристаллом](entry://general/liquid_crystal) обладают странными свойствами. Изменила ли их близость к жидкости?.", + "book.spectrum.guidebook.hints.resonant_lily.page1.text": "У меня не так много времени, чтобы вырастить такое новое растение. Но что, если я просто брошу в жидкость уже имеющееся растение, чтобы ускорить процесс?", + "book.spectrum.guidebook.hints.ruin.name": "Эксперимент №3", + "book.spectrum.guidebook.hints.ruin.page0.text": "Эта абсолютно агрессивная версия под названием Руины способна разрушать самые стойкие материалы, какие только существуют. Даже те, которые раньше были слишком стойкими, чтобы вы могли их сломать.", + "book.spectrum.guidebook.hints.ruin.page1.text": "Что может быть более устойчивым, чем сам по себе прочный каменный пол? Лучше иметь в запасе запасной план на случай, если ситуация выйдет из-под контроля.", + "book.spectrum.guidebook.hints.shimmerstone.page0.text": "В Верхнем мире на уровне поверхности и над ней есть руда.", + "book.spectrum.guidebook.hints.shimmerstone.page1.text": "Он образуется в больших количествах во всех биомах в средних и верхних слоях Верхнего мира. Чаще всего его можно найти в горах.", + "book.spectrum.guidebook.hints.small_clue": "Маленькая подсказка", + "book.spectrum.guidebook.hints.stargazing.page0.text": "Падающие звезды появляются только ночью. Если у вас есть что-то, что поможет вам разглядеть их в темноте, это, безусловно, поможет. Они оставляют заметный след из частиц.", + "book.spectrum.guidebook.hints.stargazing.page0.title": "На что обратить внимание", + "book.spectrum.guidebook.hints.stargazing.page1.text": "Лучший шанс увидеть падающую звезду - это поискать ее с помощью приборов ночного видения и подзорной трубы. Если вы увидите, как одна из них падает, попробуйте проследить за ее траекторией, чтобы выяснить, где она приземлилась. Они выбрасывают частицы в виде лучей.", + "book.spectrum.guidebook.hints.storm_stones.page0.text": "Грозы - это мощное проявление природы. Здесь задействованы огромные энергии.", + "book.spectrum.guidebook.hints.storm_stones.page1.text": "Иногда в местах, куда ударила молния, можно найти странные осколки. Существует даже простой способ сфокусировать молнию на определенном месте, чтобы сделать ее сбор еще более эффективным.", + "book.spectrum.guidebook.hints.stratine.page0.text": "В Незере есть красная руда.", + "book.spectrum.guidebook.hints.stratine.page1.text": "Его можно найти в нижних слоях Преисподней во всех биомах, расположенных ниже уровня лавы. У него есть общий и редкий уровни.", + "book.spectrum.guidebook.hints.topaz.page0.text": "Этот тип жеоды встречается на больших высотах, как правило, на вершинах холмов и заоблачных гор.", + "book.spectrum.guidebook.hints.where_to_find": "Где найти", + "book.spectrum.guidebook.hints.where_to_look": "Где смотреть", + "book.spectrum.guidebook.hoverblock.page0.text": "Создан в результате столкновения [Стратина](entry://general/stratine) и [Платерия](entry://general/paltaeria), этот блок просто... плавает вокруг, вибрирует.", + "book.spectrum.guidebook.hoverblock.page1.text": "... что ж, большинство других размещенных блоков, похоже, тоже могут парить в воздухе без поддержки по какой-либо причине, но этот особенный: [#](449900) он сохраняет любой импульс, который я ему придаю [#](), например, при использовании [#](bb00bb)Поршень[#](), даже если я встану на него.\\\n\\\nSneak+ Используйте, чтобы поднять его снова.", + "book.spectrum.guidebook.howling_spires.ashen_blackslag.text": "Сначала мне показалось, что идет снег, но теперь я вижу, что это место покрыто белым пеплом. Ветер ревет, принося с собой дождь из пепла, похожий на мягкий, нескончаемый снегопад.\\\n\\\nИнтересно, откуда он берется?", + "book.spectrum.guidebook.howling_spires.page0.text": "Серебристый туман окутывает землю белой пеленой; эти вырубленные ветром пещеры покрыты льдом, но в этом месте нет снега.", + "book.spectrum.guidebook.howling_spires.varia_sprout.text": "Светящиеся почвопокровные растения, которые мало чем отличаются от густых пучков травы. Изящные, но в то же время они кажутся мне потусторонними.", + "book.spectrum.guidebook.hummingstone.page0.text": "Среди кристаллических блоков я нашел несколько таких, которые издают приятный гул при включении. Мне кажется, что название \"Колибри\" вполне подходит.", + "book.spectrum.guidebook.hummingstone.page1.text": "Этот очень прочный, взрывостойкий кристалл разбросан по всему [Хрустальному саду](entry://dimension/crystal_gardens).", + "book.spectrum.guidebook.idols.name": "Идолы", + "book.spectrum.guidebook.idols.page0.text": "Проявления существа в виде блоков.\\\n\\\n Их использование, хождение по ним или попадание в них снарядом запускает действие, конкретно связанное с этим существом.", + "book.spectrum.guidebook.idols.page1.text": "Обеспечивает кратковременную регенерацию.", + "book.spectrum.guidebook.idols.page10.text": "Телепортирует в случайное место на расстоянии до 16 блоков.", + "book.spectrum.guidebook.idols.page11.text": "Телепортируется к другому зазубренному идолу по прямой на расстояние до 16 кварталов.", + "book.spectrum.guidebook.idols.page12.text": "Вызывает Вредину", + "book.spectrum.guidebook.idols.page13.text": "Обеспечивает короткий всплеск водного дыхания.", + "book.spectrum.guidebook.idols.page14.text": "Дает короткий эффект Спешки.", + "book.spectrum.guidebook.idols.page15.text": "Стреляет огненным шаром.", + "book.spectrum.guidebook.idols.page16.text": "Дает короткий эффект свечения.", + "book.spectrum.guidebook.idols.page17.text": "Отталкивает.", + "book.spectrum.guidebook.idols.page18.text": "Дает короткий эффект Спешки.", + "book.spectrum.guidebook.idols.page19.text": "Придает кратковременный прилив сил.", + "book.spectrum.guidebook.idols.page2.text": "Определяет местонахождение существ в радиусе 8 блоков.", + "book.spectrum.guidebook.idols.page20.text": "Дает кратковременный эффект Невидимости.", + "book.spectrum.guidebook.idols.page21.text": "GДает кратковременный эффект Ночного зрения.", + "book.spectrum.guidebook.idols.page22.text": "Дает кратковременный эффект Поглощения.", + "book.spectrum.guidebook.idols.page23.text": "Вызывает бессонницу.\\\nПри выходе на открытое небо игрока немедленно начинает преследовать [#](449900)Фантом[#]().", + "book.spectrum.guidebook.idols.page24.text": "Кормит животных в радиусе 6 блоков, используя пищу, лежащую вокруг.", + "book.spectrum.guidebook.idols.page25.text": "Торгует [#](bb00bb)Золотыми слитками[#]() со мной.", + "book.spectrum.guidebook.idols.page26.text": "Замораживает блоки вокруг себя (превращая [#] (bb00bb)Воду[#]() в [#](bb00bb)Лед[#](),Охлаждая [#] (bb00bb)Лаву[#]() в [#](bb00bb)Обсидиан[#](), ...).", + "book.spectrum.guidebook.idols.page27.text": "Вызывает короткий приступ тошноты", + "book.spectrum.guidebook.idols.page28.text": "Дает короткий эффект прыгучести.", + "book.spectrum.guidebook.idols.page29.text": "Уничтожает существ в радиусе 6 блоков.", + "book.spectrum.guidebook.idols.page3.text": "Удобряет растения рядом с собой.", + "book.spectrum.guidebook.idols.page30.text": "Дает короткий эффект левитации.", + "book.spectrum.guidebook.idols.page31.text": "Заражает блоки вокруг чешуйницами", + "book.spectrum.guidebook.idols.page32.text": "Выстреливает [#](bb00bb)Стрелой[#]().", + "book.spectrum.guidebook.idols.page33.text": "Увеличивает размер слаймов в радиусе 6 блоков", + "book.spectrum.guidebook.idols.page34.text": "Выстреливает [#](bb00bb)Снежком[#]().", + "book.spectrum.guidebook.idols.page35.text": "Выдает короткий эффект отравления.", + "book.spectrum.guidebook.idols.page36.text": "Выдает короткий эффект Слепоты.", + "book.spectrum.guidebook.idols.page37.text": "Выдает короткий эффект Замедления.", + "book.spectrum.guidebook.idols.page38.text": "Выдает короткий эффект Огнестойкости", + "book.spectrum.guidebook.idols.page39.text": "Выдает короткий эффект Сопротивления", + "book.spectrum.guidebook.idols.page4.text": "Расплавляет руду и другие блоки, например, блоки от [#](bb00bb)Незерака[#]() до [#](bb00bb)магмы[#](), ...)\\\nТакже поджигает существо, запустившее его, и все близлежащие блоки.", + "book.spectrum.guidebook.idols.page40.text": "Вызывает кратковременный приступ слабости.", + "book.spectrum.guidebook.idols.page41.text": "Вызывает большой взрыв.", + "book.spectrum.guidebook.idols.page42.text": "Вызывает кратковременный приступ Иссушения.", + "book.spectrum.guidebook.idols.page43.text": "Превращает жителей в ЗомбиЖителей.", + "book.spectrum.guidebook.idols.page5.text": "Сводит на нет весь урон от падения при приземлении. Также сбрасывает урон от падения при ударе.", + "book.spectrum.guidebook.idols.page6.text": "Дает небольшой эффект медленного падения", + "book.spectrum.guidebook.idols.page7.text": "Доит всех коров, коз и Мууухоморов в радиусе 6 кварталов.", + "book.spectrum.guidebook.idols.page8.text": "Вызывает небольшой взрыв.", + "book.spectrum.guidebook.idols.page9.text": "Стреляет драконьим снарядом.", + "book.spectrum.guidebook.imbrifer_cookbook.page0.text": " *Шеф-повар Лоррейн из Имбрифера*", + "book.spectrum.guidebook.imbrifer_cookbook.page0.title": "- Изысканная кухня \"Имбрифер\"", + "book.spectrum.guidebook.imbrifer_cookbook.page1.text": "Добро пожаловать. Давайте не будем вдаваться в подробности - вы здесь потому, что хотите научиться готовить, я могу вас научить. Я учился в кулинарном колледже Мерилу, лучшем кулинарном заведении в мире; Я тренировался под руководством имперского шеф-повара Эверстрона, обслуживая [#](ff3d71) родословную алой луны[#](); Я, с командой моих собственных учеников, представил Imbrifer свой первый полноценный ресторан.ресторан \"Лотос\". \\\n\\\n*Следуйте моему примеру, и я научу вас истинному вкусу.*", + "book.spectrum.guidebook.imbrifer_cookbook.page10.text": "\\\nЯ не пивовар и, следовательно, не могу назвать ничего, кроме ингредиентов для царской водки.\\\n\\\nНо могу отметить, что для хорошего шеф-повара важно понимать, какие ингредиенты вы используете и как они готовятся. Вы не можете судить о качестве, если не знаете, как оно создается.", + "book.spectrum.guidebook.imbrifer_cookbook.page10.title": "Незаменимое вино", + "book.spectrum.guidebook.imbrifer_cookbook.page11.text": "*Знайте свои ингредиенты, изучайте их, разбирайтесь в них.*", + "book.spectrum.guidebook.imbrifer_cookbook.page2.text": "\\\nКаждому приходится с чего-то начинать, и для моих учеников это как раз то, с чего нужно начинать. Коктейли из раков обманчивы, они кажутся простыми, но чтобы по-настоящему овладеть ими, требуется мастерство и практика. Можно обжарить персики и добавить специи, чтобы приготовить сладкий, сиропообразный, пряный соус, не готовя раков, но это требует особой осторожности. Я использую этот способ, чтобы отсеять новичков.", + "book.spectrum.guidebook.imbrifer_cookbook.page2.title": "Простое блюдо", + "book.spectrum.guidebook.imbrifer_cookbook.page3.text": "*Чтобы сделать это правильно с первого раза, могут потребоваться сотни попыток.\\\n\\\n Многие из них сломаются раньше.*", + "book.spectrum.guidebook.imbrifer_cookbook.page4.text": "\\\nБагнун - это классика кулинарной школы. Роскошный суп, приправленный специями и дополненный ложкой свежих сливок; контраст алого, перченого супа и освежающих жемчужных сливок доставляет удовольствие и глазам, и языку. Когда-то я знал одну женщину из мелохитов. Она любила суп, не слишком отличающийся от этого. Когда-то давно мы были хорошими друзьями, она называла меня эгоцентричным.", + "book.spectrum.guidebook.imbrifer_cookbook.page4.title": "MМеланхоличный суп-пюре", + "book.spectrum.guidebook.imbrifer_cookbook.page5.text": " *.....*", + "book.spectrum.guidebook.imbrifer_cookbook.page6.text": "\\\nКак правило, желательны различные растения из рода Нефрит.\\\n\\\nВ частности, их луковицы пользуются большим спросом, так как по текстуре они похожи на репчатый лук, но более нежные, сладкие и эфирные на вкус, за что их прозвали глубокими трюфелями. В этом рецепте используется современное скрещивание двух местных видов - поразительной [Нефритовой лозы] (entry://general/jade_vines).", + "book.spectrum.guidebook.imbrifer_cookbook.page6.title": "Ночной суп", + "book.spectrum.guidebook.imbrifer_cookbook.page7.text": "*Я слышал, что нектар нефритовой лозы обладает тонизирующими свойствами...\\\n\\\nКакой любопытный гибрид.*", + "book.spectrum.guidebook.imbrifer_cookbook.page8.text": "\\\nЕсли кто-то скажет вам, что рыбный пирог нужно готовить самостоятельно, то он не только не прав, но и глуп. Правильный способ приготовления рыбного пирога - сначала приправить рыбу специями и натереть на крупной терке, а затем дать ей побродить в ванне с нефритовым уксусом не менее 72 часов. Это не только уничтожит паразитов в рыбе, но и придаст пирогу его фирменный розовый цвет", + "book.spectrum.guidebook.imbrifer_cookbook.page8.title": "Мясное ассорти из Кои-кои", + "book.spectrum.guidebook.imbrifer_cookbook.page9.text": "*Самый вкусный рыбный пирог готовится месяцами, если не годами.*", + "book.spectrum.guidebook.immunity.page0.text": "[#](449900)Убирает все негативные эффекты[#]() и не дает получить новые пока иммунитет действует", + "book.spectrum.guidebook.immunity.page1.text": "Однако некоторые особые эффекты, по-видимому, достаточно сильны, чтобы обойти этот иммунитет.", + "book.spectrum.guidebook.imperial_cookbook.page0.text": " *Шеф-повар Эверстроун из ресторана\\\n \"Двор алой Луны\"*", + "book.spectrum.guidebook.imperial_cookbook.page0.title": "Чтобы прокормить Королевство", + "book.spectrum.guidebook.imperial_cookbook.page1.text": "Привет, малыш! Надеюсь, ты разделяешь любовь этого маленького старичка к кулинарии.\\\n\\\nПозвольте представиться, я уроженец Куривинды, и последние 80 лет я служил при дворе [#](ff3d71) алой луны[#]() в качестве главного имперского шеф-повара, хотя в настоящее время я в основном лично готовлю для императорской семьи. Прошу простить меня, если я немного отвлекусь на протяжении всей этой книги, но за более чем 170-летнюю историю вам есть о чем вспомнить!", + "book.spectrum.guidebook.imperial_cookbook.page10.text": "\\\nАх, вино, какой разнообразный и яркий мир. Этот рецепт был придуман еще до меня - я знаю, вас может удивить, что есть блюда и постарше меня, хех - это разновидность десертного вина, популярного при моем дворе и используемого во многих рецептах, которые вы, возможно, видели.\\\n\\\nЯ скажу вам, будьте полегче с этим, эта штука действует намного сильнее, чем вы ожидаете.", + "book.spectrum.guidebook.imperial_cookbook.page10.title": "Вино для пудинга", + "book.spectrum.guidebook.imperial_cookbook.page11.text": "*Напоминает медовуху, но ближе к алкогольному нектару.*", + "book.spectrum.guidebook.imperial_cookbook.page2.text": "\\\nИмператоры и персики - они практически неразделимы! Нефритовые деревья, растущие в этих краях, произрастают не здесь, скорее, они являются эндемиками земель, расположенных далеко за пределами нашей страны, далеко на востоке. Любовь моих императоров к стеклянным персикам настолько велика, что они привозят их с собой повсюду, куда бы ни отправились, - вы можете составить карту того места, где они правили, просто проследив за нефритовыми цветами!", + "book.spectrum.guidebook.imperial_cookbook.page2.title": "Путешествие на Запад", + "book.spectrum.guidebook.imperial_cookbook.page3.text": "* У Шуры золото, у неблагодарных людей - пурпур, а у нас? Королевский цвет - розовый! Ха-ха-ха!*", + "book.spectrum.guidebook.imperial_cookbook.page4.text": "\\\nTего блюдо из мяса ящерицы, тушенного в вине с лепестками, - настоящий деликатес, и я бы не стал винить вас, если бы вы неправильно приготовили его в первые 2 или 20 раз. По сей день оно остается одним из самых сложных блюд, которые я регулярно готовлю, это длительный процесс, в котором задействовано множество деликатных ингредиентов. Но результат получается поистине замечательным.", + "book.spectrum.guidebook.imperial_cookbook.page4.title": "Роскошное рагу", + "book.spectrum.guidebook.imperial_cookbook.page5.text": "*Честно говоря, я никогда не запоминал, как пишется его название.*", + "book.spectrum.guidebook.imperial_cookbook.page6.text": "\\\nСкромный джанкет - варианты этой сладкой, клейкой закуски существуют во всех видах, но этот вариант особенно эксцентричен! Честно говоря, мне не очень нравится их готовить, так как извлечение масел из лепестков - долгий и утомительный процесс, но дети двора всегда приходят в такой восторг, когда видят это блюдо, что мое старое сердце наполняется радостью.", + "book.spectrum.guidebook.imperial_cookbook.page6.title": "Необычные сладости", + "book.spectrum.guidebook.imperial_cookbook.page7.text": "*Императору Ааве это нравилось, когда он был маленьким зайчонком.\\\n\\\nЯ уверен, что губеру это нравится до сих пор.*", + "book.spectrum.guidebook.imperial_cookbook.page8.text": "\\\nУ меня есть забавная история, связанная с этим рецептом. Карпы - не только великолепные создания, но и основа некоторых из самых уникальных и потрясающих императорских рецептов. Однако для приготовления этих блюд часто требуются необычные и экзотические ингредиенты, и однажды вечером перед банкетом у нас не было ни одной тарелки. Быстро сообразив, я заменила закваску на [Мать мавра](entry://general/fading), в результате получается блюдо, похожее на цветок.", + "book.spectrum.guidebook.imperial_cookbook.page8.title": "Морской лотос", + "book.spectrum.guidebook.imperial_cookbook.page9.text": "*Не оставляйте смесь бродить слишком долго, иначе мать начнет поедать рыбу!*", + "book.spectrum.guidebook.improved_critical.page0.text": "Я заметил, что наношу значительно больше урона врагам, когда прыгаю во время атаки.\\\n\\\nДля дальнейшего улучшения этих атак в прыжке я применил это заклинание, которое еще больше увеличивает дополнительный урон.", + "book.spectrum.guidebook.improved_critical.page1.text": "Дополнительный урон при нанесении критов.\\\n\\\nМаксимальный уровень: 2\\\nПрименим к оружию ближнего боя.\\\nТакже исключителен по остроте.", + "book.spectrum.guidebook.incandescent_amalgam.page0.text": "*Солнце на моей ладони* в теории звучало гораздо лучше.\\\n\\\nПпризнать, что оно там находится... ну, оно обжигает. Сам факт его существования является почти чудом - на самом деле, он должен был взорваться в бочке - нестабильная, кипящая смесь этанола, смешанная с коктейлем из ускорителей, который не желает существовать.", + "book.spectrum.guidebook.incandescent_amalgam.page1.text": "Одно неверное движение может легко привести к тому, что он взорвется, унося с собой все, что находится поблизости, включая меня. И все же, по всем этим и многим другим причинам, мягкое, теплое свечение геля вызывает бесконечное любопытство. Все предметы притягиваются к пламени.\\\n\\\n Нет никаких сомнений в том, что то, что по сути является магическим взрывчатым веществом высокой мощности, обладает бесконечным потенциалом. Все, что мне нужно, - это немного заботы, небольшая доза этого вещества и немного безрассудной отдачи.", + "book.spectrum.guidebook.incandescent_amalgam.page2.text": "Чем дольше продолжается синтез, тем выше выход... Я действительно не могу винить ангелов за то, что они не хотят участвовать в этом.", + "book.spectrum.guidebook.incandescent_amalgam.page2.title": "Синтез титрования", + "book.spectrum.guidebook.incandescent_amalgam.page3.text": "*.....так сильно раскаляется добела!*", + "book.spectrum.guidebook.incandescent_amalgam.page3.title": "Чистый синтез", + "book.spectrum.guidebook.incandescent_amalgam.page4.title": "Простой синтез", + "book.spectrum.guidebook.incandescent_amalgam.page5.text": "Первозданный вкус амальгамы делает ее уникальной для дистилляции чистого спирта", + "book.spectrum.guidebook.incandescent_amalgam.page5.title": "Дистилляция", + "book.spectrum.guidebook.indestructible.page0.text": "Я зашел так далеко, и все же мне все еще приходится мириться с тем фактом, что мои обычные инструменты, такие как [#](bb00bb) огниво [#](), имеют тенденцию ломаться, если я использую их слишком часто. И у меня есть более чем достаточное количество снаряжения, которое раньше было слишком хрупким, чтобы им можно было долго пользоваться.\\\n\\\nИтак, вас вдохновила моя целая армада практически неразрушимых предметов? Без проблем.", + "book.spectrum.guidebook.indestructible.page1.text": "Делает инструмент полностью небьющимся.\\\n\\\nМаксимальный уровень: 1 \\\nПрименим ко всем инструментам, которые можно повредить, за некоторыми исключениями.\\\nЭксклюзивные функции: Неразрывность, Починка, эффективность, Бесконечность, Защита и проклятие Несъемности.", + "book.spectrum.guidebook.inertia.page0.text": "Я почти уверен, что это волшебство вдохнет немного жизни в мои инструменты.\\\n\\\nПодобно живому существу, инструмент постепенно привыкает к блоку, который я добываю, и специализируется на нем. Недостатком является то, что при переключении он медленнее добывает другие блоки.", + "book.spectrum.guidebook.inertia.page1.text": "Снижена скорость копания. Скорость увеличивается с каждым добытым блоком того же типа.\\\n\\\nMax Level: 3\\\nApplicable to mining tools.\\\nMutually exclusive with Efficiency.", + "book.spectrum.guidebook.inexorable.page0.text": "Я прошел долгий путь, и мало что еще может меня остановить, за исключением океанских храмов с усталостью от добычи полезных ископаемых, медлительности, добычи полезных ископаемых под водой, когда я летаю по воздуху и других неблагоприятных условий...\\\n\\\n*Хм, записано вот так, это было немного больше, чем ожидалось*.", + "book.spectrum.guidebook.inexorable.page1.text": "Предотвращает замедление скорости добычи (на инструментах) или передвижения (на нагрудных пластинах).\\\n\\\n Максимальный уровень: 1\\\nПрименимо к инструментам и нагрудным пластинам для добычи полезных ископаемых", + "book.spectrum.guidebook.infused_beverages.name": "Настоянные напитки", + "book.spectrum.guidebook.infused_beverages.page0.text": "Пивоварение - это искусство!\\\nЗдесь так много всего можно разнообразить и попробовать, что я, наверное, за всю свою жизнь не перепробую все возможные сочетания.\\\nОни отличаются не только по вкусу, но и по эффекту.", + "book.spectrum.guidebook.infused_beverages.page10.text": "Обладает сильным ароматом, усиленным оттенком древесины. Придает напитку [#](449900)Поглощение[#]() и [#](449900)Сопротивление[#]().", + "book.spectrum.guidebook.infused_beverages.page11.text": "Высокое содержание сахара в меде идеально подходит для ферментации. В результате получается крепкий, но в то же время сладкий напиток.", + "book.spectrum.guidebook.infused_beverages.page12.text": "Ферментированные яблоки, как правило, сладкие и игристые, с легкой кислинкой - если я не забуду их снять достаточно быстро.", + "book.spectrum.guidebook.infused_beverages.page13.text": "Намного крепче по сравнению с обычными аналогами. Со временем не портится и обладает великолепным вкусом.", + "book.spectrum.guidebook.infused_beverages.page14.text": "Этот сидр гораздо более фруктовый, чем яблочный. Сияющий сорт, кажется, бродит немного быстрее, но в то же время... заставляет меня сиять. Хм.", + "book.spectrum.guidebook.infused_beverages.page15.text": "Ягоды также можно использовать для приготовления ликера. Он получается более тягучим, сладким и крепким, но бродит дольше.", + "book.spectrum.guidebook.infused_beverages.page16.text": "*Жидкая удача*", + "book.spectrum.guidebook.infused_beverages.page19.text": "С возрастом становится только сильнее. Только один вопрос: насколько смертоносным я хочу, чтобы это было сегодня?", + "book.spectrum.guidebook.infused_beverages.page20.text": "С возрастом становится только сильнее. По вкусу напоминает драку в баре.", + "book.spectrum.guidebook.infused_beverages.page21.text": "Удивительно легкий во рту. Мягкое, сладкое послевкусие, которое позволяет мне ненадолго забыть о своих тревогах. В свою очередь, то, что меня беспокоит, тоже ненадолго забудет обо мне.\\\n\\\nНа вкус это как прогулка по Луне.*", + "book.spectrum.guidebook.infused_beverages.page22.text": "Более пикантный, чем кажется на первый взгляд.", + "book.spectrum.guidebook.infused_beverages.page23.text": "Интересное сочетание всего того, что находится в Глубинах. Лучше всего пить, пока оно еще горячее!", + "book.spectrum.guidebook.infused_beverages.page3.text": "Он сытный и имеет одновременно сладкий и пикантный вкус. Какое прекрасное сочетание.", + "book.spectrum.guidebook.infused_beverages.page4.text": "Сладкий с послевкусием корицы", + "book.spectrum.guidebook.infused_beverages.page6.text": "В дополнение к быстрому приготовлению, оно может придать немного насыщенности, в зависимости от того, как долго оно бродило.", + "book.spectrum.guidebook.infused_beverages.page7.text": "- Только... не варите их слишком долго, иначе они начнут портиться и станут ужасными на вкус.", + "book.spectrum.guidebook.infused_beverages.page8.text": "- Только... не варите их слишком долго, иначе они начнут портиться и станут ужасными на вкус.", + "book.spectrum.guidebook.infused_beverages.page9.text": "Сделано из [Амаранта](entry://cuisine/amaranth), и дает[#](449900)Удачу[#]() и [#](449900)Спешку[#]().", + "book.spectrum.guidebook.infused_beverages.poisonous_vodka.title": "... и специальный вариант", + "book.spectrum.guidebook.ink.name": "Чернила", + "book.spectrum.guidebook.ink.page0.text": "Теперь, когда я знаком с [Пигментом](entry://general/pigment), Я не вижу причин таскать его с собой, как в средние века. Я нашел способ преобразовать [Пигмент](entry://general/pigment) в более высокую форму энергии!\\\n\\\nЯ назвал это **[#](5bffed)Чер[#](aa32a0)Ни[#](eded00)Ла[#]()**.", + "book.spectrum.guidebook.ink.page1.text": "[Пигмент](entry://general/pigment) может быть преобразован в чернила с помощью [Сборщика краски](entry://ink/color_picker) а затем извлечен в контейнеры, такие как [Колба с чернилами](entry://ink/ink_flask).\\\n\\\nЕдинственный недостаток: лишенный своей физической формы, он не может обратить вспять это превращение.", + "book.spectrum.guidebook.ink.page1.title": "Производство и хранение", + "book.spectrum.guidebook.ink.page2.text": "Чернила немного напоминают газ. Они перетекают из тех мест, где их много, в те, где их мало.", + "book.spectrum.guidebook.ink.page2.title": "Передача", + "book.spectrum.guidebook.ink.page3.text": "\\\nКогда два объекта, в которых хранятся чернила, соединены - например, при помещении в [Колбу с чернилами](entry://ink/ink_flask) в [Сборщик краски](entry://ink/color_picker) - количество чернил между ними постепенно сравняется.\\\nЧем больше разница, тем быстрее будет заполняться колба.", + "book.spectrum.guidebook.ink_assortment.page0.text": "Эта коллекция маленьких флакончиков позволяет мне хранить все виды [чернил](entry://ink/ink), хотя и в небольших количествах.", + "book.spectrum.guidebook.ink_flask.page0.text": "Колба с чернилами вмещает значительное количество [Чернил](entry://ink/ink) каждого цвета.", + "book.spectrum.guidebook.ink_flask.page1.text": "Я могу заполнить его в [Сборщике краски](entry://ink/color_picker).", + "book.spectrum.guidebook.intro.description": "О моде и о том, как начать работу", + "book.spectrum.guidebook.intro.name": "Вступление", + "book.spectrum.guidebook.intro.page0.text": "Spectrum - это волшебный мод, ориентированный на развитие и исследование, в котором вы комбинируете цвета.", + "book.spectrum.guidebook.intro.page0.title": "Добро пожаловать в Spectrum!", + "book.spectrum.guidebook.intro.page1.text": "Вы будете экспериментировать со смешиванием цветов в цветовой системе (CMYK). Возможно, вы знакомы с субтрактивным смешиванием цветов по печати.\\\n\\\nОсновные цвета спектра представлены драгоценными камнями, которые вы можете найти в жеодах, разбросанных по всему миру", + "book.spectrum.guidebook.intro.page2.text": "В Spectrum реализована уникальная система прогрессирования, в которой вы открываете новые возможности по мере продвижения.\\\nПо мере того, как вы будете прогрессировать, вы заметите изменения в мире.\\\n\\\nВаша главная цель: узнать, что скрывается под непроницаемыми скалами.", + "book.spectrum.guidebook.intro.page2.title": "Система прогресса", + "book.spectrum.guidebook.intro.page3.link_text": "Дискорд Spectrum", + "book.spectrum.guidebook.intro.page3.text": "Не знаете, как продвигаться дальше? Ознакомьтесь с этой книгой или своими достижениями. В них содержатся советы по моду. ПКМ держа книгу в руке, чтобы начать!\\\n\\\nSpectrum находится в разработке. Если вы обнаружили ошибку или у вас есть предложения, посетите Дискорд Spectrum или сообщите на GitHub.\\\n Приятного прохождения! - DaFuqs", + "book.spectrum.guidebook.inventory_insertion.page0.text": "Если бы я получал [#] (bb00bb) Земляной блок[#]() всякий раз, когда я добывал руду, и он падал прямо в [#] (bb00bb)Лаву[#](), у меня было бы много [#] (bb00bb) Грязи[#]().Честно говоря, я понятия не имею, что бы я с этим делал. Отдашь это другу, который только что приехал сюда и нуждается в убежище на первую ночь?\\\n\\\n В любом случае, сбрасывание вещей в [#](bb00bb)Лаву[#]() должно прекратиться. Я не забыл о тебе, [#](bb00bb)Слезы ужаса[#]().", + "book.spectrum.guidebook.inventory_insertion.page1.text": "Кладет разбитые блоки и предметы, выпавшие из мобов, прямо в инвентарь, а не на землю.\\\n\\\nМаксимальный уровень: 1\\\nПрименим к инструментам для добычи полезных ископаемых, ножницам, оружию, лукам, арбалетам и удочкам Спектрума.", + "book.spectrum.guidebook.item_bowl.name": "Предметные чаши", + "book.spectrum.guidebook.item_bowl.page0.text": "Всегда есть что-то, что я забываю, когда покидаю свою базу... Возможно, если поместить это в эту декоративную чашу, это послужит мне хорошим напоминанием?\\\n*Скорее всего, нет *\\\n\\\nЯ сделал варианты из [#](bb00bb) Базальта[#]() и [#](bb00bb)Кальцита[#]() .", + "book.spectrum.guidebook.item_bowl.page1.text": "Отображает одну стопку, плавающую над ней.\\\nВ нее можно складывать или выбрасывать предметы.", + "book.spectrum.guidebook.item_conversion": "Item Conversion", + "book.spectrum.guidebook.item_detector.page0.text": "Детектор предметов используется для подсчета предметов, лежащих на земле в радиусе 10 блоков.\\\n\\\n Сила сигнала [#](449900)Редстоуна[#]() зависит от того, сколько предметов лежит вокруг.", + "book.spectrum.guidebook.item_detector.page1.text": "64 элемента дают сигнал максимальной мощности.", + "book.spectrum.guidebook.item_roundel.page0.text": "Мне сразу же понравились вращающиеся круги в этих древних сооружениях, настолько, что я скопировал их дизайн. Определенно, это отличный способ презентовать или хранить мои изделия.\\\n\\\n*Надеюсь, срок действия патентов уже истек.*", + "book.spectrum.guidebook.item_roundel.page1.text": "Разновидности базальта и кальцита, которые я собрал вместе, вмещают до шести стаков.", + "book.spectrum.guidebook.jade_vines.page0.text": "Энергия, оставшаяся от этого растения с незапамятных времен, едва ощутима. Такая легкая и хрупкая, что я чувствую, что любое неверное движение может лишить эту хрупкую луковицу последней капли жизни.\\\n\\\n*Неужели история этого растения навсегда останется для меня загадкой?*", + "book.spectrum.guidebook.jade_vines.page1.text": "Когда-то это было почти безнадежное дело, но теперь у меня есть козырь в рукаве:\\\n С помощью [Высекателя Душ](entry://creating_life/spirit_instiller) Я уверен, что смогу вдохнуть немного жизни в эту маленькую омертвелую луковицу..", + "book.spectrum.guidebook.jade_vines.page1.title": "Прорастающий", + "book.spectrum.guidebook.jade_vines.page2.text": "Бледные, хрупкие, но красивые висячие растения, обвивающие деревянные заборы с большим пространством под ними.\\\n[#](8f2121)Не привыкшие к интенсивному освещению после стольких веков, они погибнут, если будут подвергаться воздействию слишком большого количества солнечного света.\\\n[#](98ff37) Они вырастают только на одну стадию за ночь и только при воздействии гораздо более мягкого, непрямого лунного света.", + "book.spectrum.guidebook.jade_vines.page2.title": "Посадка и выращивание", + "book.spectrum.guidebook.jade_vines.page3.text": "Когда я выставил одно из растений на сильный солнечный свет, то обнаружил, что оно засохло. Этот увядший кустарник оставил мне не только новые луковицы, но и это желе!\\\n\\\n*Неожиданно вкусное*.", + "book.spectrum.guidebook.jade_vines.page4.text": "Когда нефритовое желе разогревается с невероятной скоростью, а затем снова остужается, в результате получается очень вязкая, но сладкая на вкус масса.\\\n\\\n*Не хотите сладкого?*", + "book.spectrum.guidebook.jade_vines.page5.text": "Блестящие лепестки можно срывать, когда они немного отрастут.\\\nИх можно использовать для украшения, и в редких случаях я могу найти [#](449900)другую луковицу[#](), просматривая лепестки.\\\n\\\nКак будут выглядеть нефритовые лозы, когда я позволю им расти дальше, крепкими?", + "book.spectrum.guidebook.jade_vines.page5.title": "Лепестки", + "book.spectrum.guidebook.jade_vines.page6.text": "После многих ночей полнолуния растения достигают полного цветения. Мне удалось собрать немного нектара с их цветков, используя [#](bb00bb)Cтеклянную Колбу[#](). \\\nОбладает прекрасными восстанавливающими свойствами: \\\n- может быть выпит для заживления; \\\n- способен восстанавливать любой поврежденный предмет.", + "book.spectrum.guidebook.jade_wine.page0.text": "Со времен [Нефритовых лоз](entry://general/jade_vines) они славятся своими тонизирующими свойствами, поэтому неудивительно, что при ферментации они прекрасно восстанавливаются.\\\nВ отличие от легкой горечи луковиц, добавление значительной части лепестков позволяет получить более цветочный и слегка терпкий вкус, дополненный землистыми оттенками, которые по своему характерному нефритовому цвету почти напоминают вино.", + "book.spectrum.guidebook.jade_wine.page1.text": "[#](bb00bb) 1 Луковица[#]() и [#](bb00bb)3 Kепестка[#]() c [#] (bb00bb) ведром с водой[#]() будет хорошей отправной точкой.\\\n Чем дольше продолжается ферментация, тем сильнее становится вкус.\\\n\\\n* [#](bb00bb)Немного сладости[#]()*, я уверен, пойдет на пользу.", + "book.spectrum.guidebook.jade_wine.page2.text": "Добавление капли [#](bb00bb)Лунного нектара[#]() значительно облегчило процесс брожения вина. Процесс ферментации ускоряется, а негативные последствия заметно смягчаются.", + "book.spectrum.guidebook.jade_wine.page2.title": "Подслащивание", + "book.spectrum.guidebook.jadeite.name": "Жадеит", + "book.spectrum.guidebook.jadeite.page0.text": "С высокого потолка свисают внушительные виноградные лозы, рассеивающие темноту своим светом. Они очень вкусные и могут быть использованы в качестве [Реагента для зелий](entry://brewing/potion_workshop_reagents).", + "book.spectrum.guidebook.jadeite.page0.title": "Цветки жадеита", + "book.spectrum.guidebook.jadeite.page1.text": "TОни очень вкусные и могут быть использованы в качестве [Реагента для зелий](entry://brewing/potion_workshop_reagents).", + "book.spectrum.guidebook.jadeite.page1.title": "Блок жадеита", + "book.spectrum.guidebook.jadeite.page2.title": "Жадеитовый ковер", + "book.spectrum.guidebook.jeopardant.page0.text": "Адреналин не обязательно должен быть единственным, что течет по моим венам в чрезвычайной ситуации.\\\nС каждым потерянным сердцем драгоценный камень [Стратин](entry://general/stratine) при этом кольцо светится все ярче и пульсирует синхронно с моим бешено бьющимся сердцем, увеличивая урон в геометрической прогрессии.", + "book.spectrum.guidebook.jeopardant.page1.text": "*Скажите мне, что вы думаете о своей ситуации\\\nОсложнении, усугублении*", + "book.spectrum.guidebook.karak_chai.page0.text": "В то время как его усыпляющие ноты привлекли больше всего моего внимания, умиротворяющие свойства [Ростков ночной росы](entry://general/nightdew_sprout) также требуют некоторой любви.\\\nОтваривание листьев усиливает их успокаивающее действие, но в итоге настой получается очень терпким. Однако, попробовав его на вкус, я решил смешать его со сгущенным молоком и смесью специй, чтобы полностью скрыть вкус!", + "book.spectrum.guidebook.karak_chai.page1.text": "*Чай со сливками? Думаю, есть вещи и похуже...*", + "book.spectrum.guidebook.kindlings.name": "Растопка", + "book.spectrum.guidebook.kindlings.page0.text": "Эти величественные скелеты, которые усеивают глубины... Даже после смерти драконы несут в себе столько мощи и жизни, что должен быть какой-то способ восстановить их великолепие с помощью этих [Кусков драконьей кости](entry://creating_life/dragonbone@dragonbone_chunks).\\\n\\\nМожет быть, я смогу стать тем, кто восстановит эпоху божественных драконов?", + "book.spectrum.guidebook.kindlings.page1.text": "*Мой личный свирепый дракон. Это будет здорово.*", + "book.spectrum.guidebook.kindlings.page2.text": "*Вот и все о моих планах по созданию персонального парка Юрского периода. Возможно, контактный зоопарк подошел бы больше?*\\\\n\\\nРезультат определенно не такой... жестокий... как я себе представлял. Обычно я бы сказал, что уже привык к неудачам, но при таком результате кто я такой, чтобы жаловаться?", + "book.spectrum.guidebook.kindlings.page2.title": "Небольшой сюрприз", + "book.spectrum.guidebook.kindlings.page3.text": "TИх пух выглядит более чем мягким. *Может быть, если я подкрадусь к одному из них с [Ножницами](item://minecraft:shears), Я могу отрезать одно-два перышка?*", + "book.spectrum.guidebook.kindlings.page4.text": "Этой ночью я открыл для себя алхимию... кажется, она странным образом взаимодействует с силой воли. Если драконы - существа с чистой волей, то, несомненно, что-то произойдет, если они будут взаимодействовать друг с другом.\\\n\\\nНе могу представить, что небольшой сон может им повредить. Но... учитывая их послужной список, возможно, мне следует сделать это подальше от всего, что меня волнует.*", + "book.spectrum.guidebook.kindlings.page4.title": "Странная мысль", + "book.spectrum.guidebook.knowledge_gem.page0.text": "Предположительно, если я возьму в руки один из тех маленьких зеленых шариков, которые появляются всякий раз, когда я убиваю врага, я становлюсь умнее.\\\n\\\nОднако неизбежная смерть из-за неуклюжести означает, что я всегда быстро теряю этот опыт снова. Однако, кристаллизованный и надежно хранящийся в моем сундуке, он будет настолько безопасен, насколько это возможно.", + "book.spectrum.guidebook.knowledge_gem.page1.text": "Содержит до 10 000 единиц опыта. [Зачарование](entry://enchanting/enchanting_items) [#](449900)Эффективность[#]() Увеличивает этот лимит, а [#](449900)Быстрая перезарядка[#]() ускоряет передачу Опыта.", + "book.spectrum.guidebook.knowledge_gem.page2.text": "Если поместить Драгоценный камень знаний в [Сундук с черной дырой](entry://magical_blocks/black_hole_chest) он сможет поглощать шары опыта и сохранять полученный опыт в драгоценном камне.", + "book.spectrum.guidebook.knowledge_gem.page2.title": "Поглощение сфер опыта", + "book.spectrum.guidebook.koi.page0.text": "Бледная, крупная и сытная рыба, которая чувствует себя как дома в лужицах [Жидких кристаллов](entry://general/liquid_crystal).", + "book.spectrum.guidebook.lagoon_rod.page0.text": "Проводя тихие дни у себя во внутреннем дворике, я заметил, что морских обитателей странным образом привлекают [Жемчужины русалки](entry://general/mermaids_brush) Я обнаружил это ранее. Поскольку они, естественно, плавают на воде, я решил использовать один из них в качестве поплавка.\\\n\\\nИ вот, это не только увеличивает мой успех, но и имеет ряд других интересных побочных эффектов...", + "book.spectrum.guidebook.lagoon_rod.page1.text": "*Интересно, что я могу вынести на поверхность.*", + "book.spectrum.guidebook.laurels_of_serenity.page0.text": "Мысль о том, что меня оставят в покое, великолепна! Что не так, так это то, что у меня немеет язык от того, что я пью сок листьев каждые пятнадцать минут. Решение моих проблем самоочевидно - просто наденьте ночную росу!.. и накачайте ее фиолетовыми чернилами.\\\n\\\n* Подождите - раз это сделано из цветов, значит ли это, что это леи?*", + "book.spectrum.guidebook.laurels_of_serenity.page1.text": "Добавьте в него [Фиолетовую краску] (entry://ink/ink) в [Сборщике краски](entry://ink/color_picker) чтобы увеличить скрытность.\\\n\\\n*~ Устойчивость ко сну является дополнительным фактором ~*", + "book.spectrum.guidebook.lava_gliding.page0.text": "[#](449900) С каждым уровнем я увеличивал скорость передвижения и видимость в Лаве[#]().", + "book.spectrum.guidebook.lava_gliding.page1.text": "Однако это **НЕ** защитило меня от повреждений огнем или лавой.\\\n\\\n*Когда-нибудь за мой счет можно будет сделать пародийный скетч, не так ли?*", + "book.spectrum.guidebook.lava_sponge.page0.text": "Когда я держу [Мокрую губку](item://minecraft:wet_sponge) в своей руке, я подумал, что должен быть ее аналог, но для лавы. Хотя я еще не наткнулся на него, это не помешало мне его изобрести.\\\n\\\nЭто должно значительно облегчить навигацию в глубинах мира и за пределами этого адского портала.", + "book.spectrum.guidebook.lava_sponge.page1.text": "..по крайней мере, я так думал, пока не понял, что пропитанная лавой губка также имеет неприятный побочный эффект.\\\nЯ должен был догадаться.", + "book.spectrum.guidebook.lava_sponge.page2.text": "Лавовую губку можно использовать в качестве высокоэффективного топлива в Печке, высушивая губку в процессе.", + "book.spectrum.guidebook.lava_sponge.page2.title": "Топливо для печки", + "book.spectrum.guidebook.lesser_potion_pendant.page0.text": "Зелья - это удобно. Однако, носить с собой половину их запасов не стоит..\\\nВ кулоне с зельем есть небольшая ячейка, которую можно заполнить зельем. Пока я ношу его и у меня есть чернила, я буду получать эффект от этого зелья.\\\n\\\nПоскольку зелья не принимаются внутрь, эффекты действуют только до третьего уровня.", + "book.spectrum.guidebook.life_drain.page0.text": "Утечка жизни - ужасная штука, от которой у меня в первый раз все перевернулось с ног на голову.\\\nПостепенно [#](449900) мои максимальные очки жизни снизились[#](), что сделало меня очень уязвимым даже для незначительных ударов по мне.", + "book.spectrum.guidebook.light_level_detector.page0.text": "[#](bb00bb)Датчики дневного света[#]() являются неточными, когда дело доходит до измерения освещенности: [](item://minecraft:quartz) tиспользуемый в них настолько грубо обработан, что только солнечный свет может надежно активировать его.\\\nАметист гораздо более чувствителен, когда дело доходит до измерения освещенности.\\\n\\\nДаже тусклого свечения [Факела](item://minecraft:torch) достаточно, чтобы получить точные показания.", + "book.spectrum.guidebook.light_level_detector.page1.text": "Детектор света реагирует не только на солнечный свет, но и на другие источники света, такие как светоизлучающие блоки.", + "book.spectrum.guidebook.lightweight.page0.text": "[#](449900)Мне становится немного легче[#]() с каждым уровнем это позволяет мне прыгать дальше и падать медленнее.\\\nВысокие уровни даже заставили меня больше не получать [#](449900) урона при падении[#]().", + "book.spectrum.guidebook.liquid_crystal.page0.text": "Чистая энергия драгоценных камней в жидкой форме. Обладает целебным эффектом.", + "book.spectrum.guidebook.liquid_crystal.page1.text": "В сочетании с различными другими жидкостями получается материал с интересными свойствами.", + "book.spectrum.guidebook.liquid_crystal.page2.text": "Столкновение жидкого кристалла с [Жидкой грязью](entry://magical_blocks/mud) привело к образованию [#](bb00bb) глины[#]()! Несомненно, есть еще много комбинаций, которые можно найти!\\\n\\\n*Томас никогда раньше не видел такого дисбаланса.*", + "book.spectrum.guidebook.liquid_crystal.page3.text": "Использование целого блока жидких кристаллов для поглощения огромного тепла лавы привело к этому.\\\nПо ощущениям почти как [](item://minecraft:magma_block), хотя и намного горячее.", + "book.spectrum.guidebook.liquid_crystal.page4.text": "Когда вода [#] (BB00BB) [#] () протекла в полный блок жидкого кристалла, кристалл затвердел.\\\nПоскольку даже малейшего прикосновения было достаточно, чтобы вызвать у меня холодную дрожь, я назвал его Кристал Фростбита.", + "book.spectrum.guidebook.liquid_crystal_essences.name": "Кристаллизация", + "book.spectrum.guidebook.liquid_crystal_essences.page0.text": "Позволяет использовать целый блок [Жидкого кристалла](entry://general/liquid_crystal) к этому привело поглощение огромного количества тепла [#](bb00bb)Лавы[#]().\\По ощущениям это больше всего похоже на [#](bb00bb)Блок магмы[#](), хотя и намного горячее.", + "book.spectrum.guidebook.liquid_crystal_essences.page1.text": "[Разрушение](entry://general/item_crushing) [#](bb00bb)Огненного кристалла[#]() дало мне эту обжигающе горячую эссенцию, от прикосновения к которой моя рука почти обжигается. Дробление [#](bb00bb) магматических блоков [#](), похоже, тоже работает, хотя и с гораздо меньшим результатом.", + "book.spectrum.guidebook.liquid_crystal_essences.page2.text": "Когда [#](bb00bb)Вода[#]() коснулась исходного блока Жидкого кристалла, кристалл стал твердым.\\\nПоскольку даже легкого прикосновения достаточно, чтобы вызвать у меня холодную дрожь, я вполне уместно назвала его Кристаллом обморожения.", + "book.spectrum.guidebook.liquid_crystal_essences.page3.text": "[Разрушение](entry://general/item_crushing) [#](bb00bb)Ледяного кристалла[#]() подарило мне эту ледяную эссенцию, от одного прикосновения к которой у меня почти замерзает рука. Измельчение [#](bb00bb) льда [#](), похоже, тоже работает, хотя и с гораздо меньшей отдачей.", + "book.spectrum.guidebook.lizards.name": "Притаившиеся ящерицы", + "book.spectrum.guidebook.lizards.page0.text": "*Не особенно приветливые сверстники.*", + "book.spectrum.guidebook.lizards.page1.text": "Сварливые твари, вечно ищущие неприятностей.\\\n\\\nНа самом деле, они были бы довольно милыми, если бы постоянно не пытались откусить мне конечности\\\n...может быть, мне лучше держать их за стеклянной панелью [#](bb00bb)Стеклянной панелью[#]() - мои конечности будут благодарны мне за это.", + "book.spectrum.guidebook.lizards.page2.text": "Не особенно вкусный и довольно тягучий, но когда я особенно голоден, он делает свое дело.", + "book.spectrum.guidebook.low_yield": "*Несмотря на все мои попытки, этот настой имеет естественно низкий выход.*", + "book.spectrum.guidebook.lucky_roll.page0.text": "Стану ли я кондитером в дополнение к своей основной работе художника? Они даже выглядят не так уж плохо (и на вкус тоже хороши!).\\\n\\\nВ составе [Амаранта](entry://cuisine/amaranth), [Сахара](item://minecraft:sugar), [Молока](item://minecraft:milk_bucket), и [Клевера](entry://general/clover), Я заметил совершенно особый эффект: я стал немного успешнее обращаться с инструментами для обогащения, грабежей и других случайных вещей.", + "book.spectrum.guidebook.lucky_roll.page1.text": "*Счастливый бросок, понял???*", + "book.spectrum.guidebook.magic_annulation.page0.text": "[#](449900)Уменьшен наносимый магический урон[#]() на 1 балл за уровень.\\\nВ то время как незначительные повреждения были для меня менее опасны, крупные попадания все еще представляли большую угрозу.", + "book.spectrum.guidebook.malachite.name": "Малахит", + "book.spectrum.guidebook.malachite.page0.text": "Первозданный материал, который переливается темно-зеленым оттенком. Кажется, он обладает сильными магическими свойствами, почти как более глубокий аналог [Азурита](entry://general/azurite). Еще одно сходство с Азуритомзаключается в том, что малахит также нуждается в обработке. Сначала мне нужно вырастить из найденных мною маленьких фрагментов полноценные, пригодные для использования кристаллы - хотя я не уверен, что увижу их полностью выращенными при жизни, поскольку я не нашел для них подходящего материала.", + "book.spectrum.guidebook.malachite.page1.text": "[Кристаллярий](entry://ink/crystallarieum) похоже, это единственный способ вырастить его, который может служить альтернативой растущим блокам. Я обнаружил что [Лунный камень](entry://general/moonstone_shards)является необходимым условием, поскольку он создает среду, имитирующую Глубины.", + "book.spectrum.guidebook.malachite.page1.title": "Очистка малахита", + "book.spectrum.guidebook.malachite_tools.name": "Малахитовые инструменты", + "book.spectrum.guidebook.malachite_tools.page0.text": "[Малахит](entry://dimension/malachite) это материал, который кажется идеальным для изготовления инструментов, его лучше всего сравнить с [#](bb00bb)Алмазом[#](), но его гораздо легче комбинировать с другими материалами.\\\n\\\nС этих комбинаций и начинается самое интересное, что позволяет создавать уникальные инструменты сложной формы.", + "book.spectrum.guidebook.malachite_tools.page1.text": "Я создал идеальный [Мультитул](entry://equipment/tools_and_armor/multitool)!\n- Sneak+Use чтобы переключаться между [#](449900)Шёлковым касанием[#]() и [#](449900)Удачей[#]()\n- Способен прокладывать большие туннели.", + "book.spectrum.guidebook.malachite_tools.page2.text": "Его огромные размеры позволяют мне с легкостью поражать врагов с большего расстояния.\\\n\\\n*Если бы не [Платерия](entry://general/paltaeria), Я, наверное, даже не смог бы его поднять.*", + "book.spectrum.guidebook.malachite_tools.page2.title": "Ультра-двуручный меч", + "book.spectrum.guidebook.malachite_tools.page3.text": "Настоящая находка для борьбы с водными обитателями.* У него всего два зубца по сравнению с [#](bb00bb)Трезубцем[#](), но я сделал их в два раза острее!*", + "book.spectrum.guidebook.malachite_tools.page4.text": "Стреляет снарядами с гораздо большей скоростью и точностью по сравнению с обычным [#](bb00bb)Арбалетом[#]().", + "book.spectrum.guidebook.memories.name": "Воспоминания", + "book.spectrum.guidebook.memories.page0.text": "Благодаря [Высекателю душ] я наконец-то смог вдохнуть новую жизнь в некогда мертвое существо! Сначала оно материализуется в эфирной форме, которую я назвал Воспоминания*.", + "book.spectrum.guidebook.memories.page1.text": "Чтобы сохранить память существа, мне нужна его голова), а также его самый любимый предмет и растение в качестве связующего вещества.\\\n Использование Неолита, по-видимому, полностью подавляет энергию существа, делая полученное воспоминание неузнаваемым, пока оно не проявится.", + "book.spectrum.guidebook.memories.page2.text": "Воспоминаниям требуется определенное время, чтобы проявиться, почти как яйцу: я должен положить его на дно и подождать. В зависимости от существа, это может произойти довольно быстро, а может занять целую вечность.\\\n\\\n* Размещение воспоминаний в определенных блоках, по-видимому, ускоряет процесс или полностью останавливает его.*", + "book.spectrum.guidebook.memories.page2.title": "Проявляющийся", + "book.spectrum.guidebook.memories.page3.text": "Благодаря моим обширным знаниям, теперь я могу воскрешать даже могущественных существ, таких как Эндер драконы, Визеры и Вардены.", + "book.spectrum.guidebook.memories.page3.title": "Воскрешение боссов", + "book.spectrum.guidebook.memory_to_head.name": "Головы мобов из воспоминаний", + "book.spectrum.guidebook.memory_to_head.page0.text": "Отрезать головы животным - это не совсем рациональный способ. И он не отличается особой жестокостью к животным. И не самый эффективный. Скажем так, он существует.\\\n Мне гораздо больше нравится этот новый метод. О чем я тогда думал?", + "book.spectrum.guidebook.memory_to_head.page1.text": "*Пацифизм, беги, уходи!*", + "book.spectrum.guidebook.mermaids_brush.name": "Русалочьи кисти", + "book.spectrum.guidebook.mermaids_brush.page0.text": "Русалочьи кисти - неприметное растение, которое я нашел в самых глубоких пучинах океана, навсегда не тронутое влиянием человека. \\\n\\\nна них вырастает один-единственный цветок, который постепенно превращается в зернышко жемчужной формы. Когда они полностью вырастают, эти полые семена всплывают на поверхность, где их уносят волны.", + "book.spectrum.guidebook.mermaids_brush.page0.title": "Русалочьи кисти", + "book.spectrum.guidebook.mermaids_brush.page1.text": "Эти семена можно посадить для выращивания другого растения.\\\n\\\nСамоцветы русалки имеют прочную связь с водой - это очевидно.", + "book.spectrum.guidebook.mermaids_jam.page0.text": "Особый вид Чонга сделано из драгоценных камней русалки.\\\n\\\nРецепт покорил меня не только своим вкусом, это точно (особенно если не попробовать что-нибудь с ним).\nНо он впечатляет дополнительным эффектом \"дыхания воды\".", + "book.spectrum.guidebook.mermaids_jam.page1.text": "*На вкус как океан* Не такой сладкий, как другие, но все равно очень вкусный. С легкой солоноватой ноткой.", + "book.spectrum.guidebook.mermaids_popcorn.page0.text": "Знаете, эти маленькие ростки русалочьих кисточек на самом деле очень вкусные. Конечно, я не могла их не попробовать.\\\nОднако доставать их из скорлупы всегда непросто (как и моих застенчивых друзей!).\\\nЗатем я очень сильно разогрела их, пока от давления изнутри оболочка не лопнула сама по себе.\\\n\\\n*Хрустящие*", + "book.spectrum.guidebook.mermaids_popcorn.page1.text": "*Я мог бы съесть целый пакет за один присест, наблюдая за работой своей фермы мобов.*", + "book.spectrum.guidebook.midnight_aberration.description": "Грандиозный провал", + "book.spectrum.guidebook.midnight_aberration.page0.text": "*Этот отвратительный драгоценный камень излучает жутковатую ауру.*\\\n\\\nВ лучшем случае он выглядит неплотно соединенным. Неудивительно, что он мгновенно разваливается в моих руках. Полный провал. Дневник, я одновременно *опустошен* и разочарован в себе.", + "book.spectrum.guidebook.midnight_aberration.page1.text": "Хотя последовавший за этим хаос был определенно не тем результатом, к которому я стремился, результат действительно обладает огромной силой.\\\n Настолько большой, что он рассыплется в прах, если его быстро не использовать.\\\n\\\nИ еще есть та агрессивная черноватая жидкость, которая проявилась в процессе нанесения. Из-за ее цвета я назвал ее Полуночным раствором", + "book.spectrum.guidebook.midnight_chip.page0.text": "Существа, погибающие в Полуночном растворе, выбрасывают маленький осколок, почти похожий на Полуночную аберрацию, только гораздо, гораздо меньшего размера, с острыми краями и злобный.\\\n\\\n Существа, не пострадавшие от этого ужасного процесса, также [#](449900) роняют предметы, как если бы они были убиты игроком[#]().", + "book.spectrum.guidebook.midnight_chip.page1.text": "Та капля, которую я получаю, убивая существ с помощью этой зловонной жидкости, позволяет мне использовать ее еще больше. Довольно болезненно, когда я думаю об этом.", + "book.spectrum.guidebook.midnight_solution.page0.text": "Эта необычная жидкость - прямой результат моего неудачного термоядерного эксперимента. Жаль, правда, но посмотрите, что у меня получилось.\\\n\\\nКажется, что из существ, которые прикасаются к ней, высасывают жизнь. Интересный...\\\nЛучше бы мне самому не попасться на этом.", + "book.spectrum.guidebook.midnight_solution.page3.text": "Кажущийся бесполезным блок, который образуется вокруг скоплений полуночного раствора", + "book.spectrum.guidebook.midnight_solution.page4.text": "Бросание некоторых предметов в жидкость, по-видимому, портит их до такой степени, что они превращаются во что-то совершенно другое.", + "book.spectrum.guidebook.midnight_solution.page5.text": "Когда я бросаю в него зачарованные предметы, они теряют свои особые способности. Все, что остается, - это обычный предмет и немного опыта.", + "book.spectrum.guidebook.midnight_solution.page5.title": "Снятий чар", + "book.spectrum.guidebook.milky_resin.page0.text": "Этот сок карамельного цвета обладает сладким ароматом и удивительно роскошным вкусом! Я могу использовать его так же, как и молоко, просто сначала его нужно немного перебродить.\\\n\\\n* Смола сама по себе тоже вкусная, но слишком липкая, чтобы пить ее отдельно.*", + "book.spectrum.guidebook.milky_resin.page1.text": "*~ Щепотка сахара и немного любви, и тада - [Взбитые сливки](entry://cuisine/titration_barrel#4)! ~*", + "book.spectrum.guidebook.milky_resin.page1.title": "Молоко на растительной основе", + "book.spectrum.guidebook.mob_heads.page0.text": "Используя заклинание \"Охотник за сокровищами\", я смог заполучить голову моба.\\\n\\\n Несмотря на то, что они прекрасно смотрятся на моей стене, они также передают небольшую искру существования этого существа.", + "book.spectrum.guidebook.modular_explosives.name": "Модульная взрывчатка", + "book.spectrum.guidebook.modular_explosives.page0.text": "Высокомодульная взрывчатка, состоящая из:\n- архетипа [#](449900)[#]() (наносит урон объектам, разрушает блоки, и то, и другое или просто чисто косметический)\n - и [#](449900) Модификаторов [#]() (изменяет тип урона, освещение огонь, увеличенный радиус поражения, урон и многое другое)", + "book.spectrum.guidebook.modular_explosives.page1.text": "Подставка для пигмента может сочетать модульное взрывчатое вещество с предметами, которые задают архетип и модификаторы.\\\n\\\nВы можете настроить целый набор взрывчатых веществ за один раз.", + "book.spectrum.guidebook.modular_explosives.page1.title": "Кастомизация", + "book.spectrum.guidebook.modular_explosives.page2.text": "Магическая мина, которая срабатывает через несколько секунд и взрывается при контакте, нанося огромный урон. Полуночный осколок обезвреживает ее.", + "book.spectrum.guidebook.modular_explosives.page3.text": "Универсальное взрывчатое вещество, которое можно размещать на стенах и взрывать, а также бросать. По умолчанию оно безвредно для живых существ.", + "book.spectrum.guidebook.modular_explosives.page4.text": "- Порох: Уничтожает блоки\n- Светопыль: наносит урон\n- Полуночное отклонение от нормы: Оба\\\n\\\nЯ также могу комбинировать и то, и другое по отдельности.", + "book.spectrum.guidebook.modular_explosives.page4.title": "Архетипы", + "book.spectrum.guidebook.modular_explosives.page5.text": "- Динамит: Увеличенный радиус действия \n- Хорусы: Звездные частицы \n- Мерцающий камень: Размещение невидимых огней", + "book.spectrum.guidebook.modular_explosives.page5.title": "Общий мод. (∞)", + "book.spectrum.guidebook.modular_explosives.page6.text": "- Огненный заряд: Огонь - Семя Смертоцвета: Изначальный огонь - Штормовой камень: Урон от молнии - Неолит: Магический урон - Раскаленная амальгама: Урон от раскаленного добела", + "book.spectrum.guidebook.modular_explosives.page6.title": "Тип повреждения Мод. (1)", + "book.spectrum.guidebook.modular_explosives.page7.text": "- Стержень энда: Значительно увеличивает урон, наносимый вблизи центра взрыва.", + "book.spectrum.guidebook.modular_explosives.page7.title": "Режим урона. (∞)", + "book.spectrum.guidebook.modular_explosives.page8.text": "- Фрагменты стратина: Квадратный блок ломающейся формы\n - Четырехлистный клевер: Удача\n - Драгоценный камень русалок: Шелковое касание\n - Жемчужина Эндера: Вставка в инвентарь", + "book.spectrum.guidebook.modular_explosives.page8.title": "Режим копания. (∞)", + "book.spectrum.guidebook.modular_explosives.page9.text": "Модульные взрывчатые вещества поставляются со встроенным подходящим архетипом. Однако, если я захочу изменить это, я могу использовать Пигментный пьедестал, чтобы [#](449900) очистить архетип и модификаторы [#]() и начать с чистого листа.", + "book.spectrum.guidebook.modular_explosives.page9.title": "Начинать с нуля", + "book.spectrum.guidebook.molten_rod.page0.text": "Оранжевый цвет, символизирующий тепло, можно использовать для самых интересных дел.\\\n\\\n В отличие от обычной удочки, эта намного прочнее и позволяет ловить рыбу там, где обычная удочка не справляется.", + "book.spectrum.guidebook.molten_rod.page1.text": "* Осторожно, горячо!*\\\n Горящий рыболовный крючок может обжечь не только мои пальцы...", + "book.spectrum.guidebook.monstrosity.name": "Ужасы Внизу?", + "book.spectrum.guidebook.monstrosity.page0.text": "Я уверен, что в темноте что-то скрывается для меня. Я схожу с ума? Это просто мои нервы?", + "book.spectrum.guidebook.moonstone_cores.name": "Ядра лунного камня", + "book.spectrum.guidebook.moonstone_cores.page0.text": "Этот мощный элемент способен с легкостью передавать огромное количество энергии [#](d0d6d7)Краски[#](). Может использоваться для расширения возможностей оборудования и устройств.\\\n\\\n * Пережиток давно минувших времен*.", + "book.spectrum.guidebook.moonstone_geodes.name": "Жеоды лунного камня", + "book.spectrum.guidebook.moonstone_geodes.page0.text": "*Чистота*", + "book.spectrum.guidebook.moonstone_geodes.page1.text": "Навстречу мне сиял яркий белый свет, почти ослепительный там, внизу. Я сразу понял, где нахожусь. Судьба ли привела меня сюда? Вряд ли это может быть простым совпадением, не так ли?\\\n\\\n Лунный камень, последний кусочек моей [большой головоломки](entry://general/color_mixing_white).", + "book.spectrum.guidebook.moonstone_shards.name": "Осколки лунного камня", + "book.spectrum.guidebook.moonstone_shards.page0.text": "Не так давно я был довольно простодушен, не так ли? Думал, что знаю все, но это всегда было лишь половиной правды.\\\n\\\nТеперь я знаю лучше. Этот белый, чистый драгоценный камень в моей руке, мерцающий мягким, теплым сиянием, является памятником моего личностного роста.", + "book.spectrum.guidebook.moonstone_shards.page1.text": "Я никогда даже отдаленно не был всемогущим и никогда не стану. Не обладаю всей магией мира. Никто не всемогущ. Но, проявив немного смирения, заботы и поддержки, я могу, по крайней мере, стать немного ближе.\\\n\\\n**[#](d0d6d)Чистота[#]().**", + "book.spectrum.guidebook.moving_budding_blocks": "Движущиеся многообещающие блоки", + "book.spectrum.guidebook.mud.page0.text": "Грязь. Это мокрая грязь. Само по себе это не особенно интересно.\\Что полезно, так это столкновение жидкой грязи с другими жидкостями, такими как [#](bb00bb)Вода[#]() или [#](bb00bb)Лава[#](). Это создаст [](item://minecraft:dirt) или [](item://minecraft:coarse_dirt), respectively.", + "book.spectrum.guidebook.mud.page1.text": "*Хотя грязевые ванны и кажутся оздоровительными, делать их не рекомендуется. Поверьте, я пробовал.*", + "book.spectrum.guidebook.mud.page2.text": "Некоторые предметы, соприкасающиеся с грязью, могут загореть.\\\n Например, [](item://minecraft:rotten_flesh) превратится в [укрытие](item://minecraft:rabbit_hide).", + "book.spectrum.guidebook.multitool.page0.text": "Всякий раз, выходя из дома, я беру с собой половину кладовки для инструментов. Учитывая, сколько тонн камня я могу таскать с собой, это почти ничтожно мало. Тем не менее, универсальный инструмент, сочетающий в себе возможности кирки, топора, лопаты и мотыги, мне бы очень подошел.", + "book.spectrum.guidebook.multitool.page1.text": "Не так эффективно для выполнения отдельных задач, но гораздо лучше, чем менять инструменты каждые три секунды..", + "book.spectrum.guidebook.mundane_items.name": "Обычные предметы", + "book.spectrum.guidebook.mundane_items.page0.text": "Существует несколько предметов, которые всегда было сложно или даже невозможно создать. Мои новые навыки делают это *намного* проще.", + "book.spectrum.guidebook.mundane_items.page4.text": "Взрывается при ударе.", + "book.spectrum.guidebook.mundane_items.page4.title": "Нестабильное TNT", + "book.spectrum.guidebook.myceylon.page0.text": "Используя [#](bb00bb)Топор[#]() или [Мультитул](entry://equipment/tools_and_armor/multitool) Мне удалось содрать небольшие, но неожиданно прочные кусочки коры с дерева [Мракогриб](entry://dimension/noxshroom_forest). И неожиданно крепкое для грибов, и... вкусное.\\\n\\\n Этот мицелий, как я его назвал, определенно придает выпечке и напиткам великолепный аромат.", + "book.spectrum.guidebook.mysterious_locket.name": "Таинственный медальон", + "book.spectrum.guidebook.mysterious_locket.page0.text": "Я нашла этот таинственный медальон в шкатулке для хранения. Он крепко заперт.\\\n\\\nНа нем есть странный орнамент, напоминающий выемку, мягко светящийся бледно-белым цветом, мерцающий, как луна.", + "book.spectrum.guidebook.mysterious_locket.page1.text": "There seems to be something inside. It also has an engraving on its back, but if it resembles a language it's not one I've ever seen.\\\n\\\nWhat is it for?\\\nWho did it belong to?\\\nWhy was it there?\\\n\\\nSo many questions.", + "book.spectrum.guidebook.mysterious_locket.page2.text": "I noticed that the notch seems to fit perfectly with a [Moonstone Core](entry://dimension/moonstone_cores).", + "book.spectrum.guidebook.mysterious_locket.page2.title": "Установка ядра", + "book.spectrum.guidebook.mysterious_locket.page3.text": "В медальоне был маленький кристалл, излучающий тусклое, но теплое сияние.\\\n\\\n Находясь под камнем, он мягко вибрирует, когда я поворачиваюсь", + "book.spectrum.guidebook.mysterious_locket.page4.text": "Там также была маленькая записка... кому она могла принадлежать?", + "book.spectrum.guidebook.mysterious_locket.page4.title": "Содержимое Медальона", + "book.spectrum.guidebook.mysterious_locket.page5.text": "Теперь, когда я понимаю язык Дрейтона, мне легко расшифровать надпись на обратной стороне:\\\n\\\n*Не будь глупым, Астерас — луна не может светить, она может лишь отражать свет солнца.*", + "book.spectrum.guidebook.mysterious_locket.page5.title": "Неопознанная Записка", + "book.spectrum.guidebook.natures_staff.page0.text": "Используя элементы [#](70400d) Природы[#]() и [#](98ff37)плодородия[#](), я придумал этот гениальный ход.\\\nПо сравнению с этим, костная мука - просто шутка - этот персонал работает над многими блоками, где [#](bb00bb)Костная мука[#]() меня подвела.", + "book.spectrum.guidebook.natures_staff.page1.text": "*Укажите на то, что вы хотите увидеть цветущим.*", + "book.spectrum.guidebook.natures_staff.page2.text": "Снижает вероятность употребления в пищу овощей.", + "book.spectrum.guidebook.neat_ring.page0.text": "*Я просто думаю, что это здорово.*", + "book.spectrum.guidebook.nectardew_burgeon.name": "Нектарные бургеры", + "book.spectrum.guidebook.nectardew_burgeon.page0.text": "Вполне естественно, что ночная роса может цвести. Однако я не ожидал, что ее цветок будет... таким *, как этот*. Успокаивающая эссенция веточек этого растения превратилась в волшебный букет для сна, глубокий, как море, в которое я, возможно, погружаюсь слишком глубоко. \\\n\\\nо, это не друг...*", + "book.spectrum.guidebook.nectardew_burgeon.page1.text": "Проблема заключается в редкости этих растений. Однако, есть решение этой проблемы. Растения гораздо охотнее цветут, когда рядом находятся спящие существа...\\\n Это неправильно, не так ли? Не сон, но... что-то подобное не может прийти само по себе. Корни этого волшебства уходят слишком глубоко, к вещам, скрытым под поверхностью воды.", + "book.spectrum.guidebook.nectardew_burgeon.page1.title": "Дополнение - Плоды сна", + "book.spectrum.guidebook.neolith.page0.text": "Обсидиан был буквально стерт в порошок. Вот это мощь!\\\n\\\n В результате получился этот мощный реагент.\\\n\\\nОчень мощный.\\\nБольшой успех\\\nНо я еще не достиг своего предела", + "book.spectrum.guidebook.nephrite.name": "Нефритовые цветы", + "book.spectrum.guidebook.nephrite.page0.text": "Маленькие деревца, такие же большие, как здесь, внизу. На самом деле, больше похоже на большой кустарник... или гигантскую заросль кустарника-гиганта.\\\n\\\n*Да, подробности.*", + "book.spectrum.guidebook.nephrite.page1.text": "Их плоды не сделаны из стекла, но переливаются, как будто они стеклянные. К тому же они очень вкусные\\\nЕсли их немного подогреть, они могут стать более крепкими.\\\nКроме того, их можно ферментировать и использовать для приготовления зелий.", + "book.spectrum.guidebook.night_salts.page0.text": "Как бы мне ни хотелось работать днем и ночью, сон, в конечном счете, является необходимостью, с которой я плохо справляюсь. Долгие ночи, сопровождающие открытия и разведку, могут быть очень тяжелыми для сознания.\\\n\\\n\\\n* Фантомы следят за тем, чтобы она также была грубой на теле.*", + "book.spectrum.guidebook.night_salts.page1.text": "Эти флаконы должны решить все мои проблемы. Один хороший вдох содержащихся в них солей должен вырубить меня за 10 секунд.\\\n\\\n* Вам не кажется, что это пахнет хлороформом?~*", + "book.spectrum.guidebook.night_salts.page1.title": "Синтез титрования", + "book.spectrum.guidebook.nightdew.page0.text": "Что ж, думаю, рано или поздно все меняется. Праматерь всех видов ночной росы открывает мне себя, скрытая прямо под корнями - это виноградная лоза с веерными листьями, серебристой древесиной и ароматом, похожим на чай...\\\n*...подожди, а где же цветы?*", + "book.spectrum.guidebook.nightdew.page1.text": "* Каждый раз, когда я оказываюсь рядом с ними, мне хочется прилечь и подремать подольше.\\nКаждый раз, когда я это делаю, мне снятся странные сны о бесплодных водах.\\\n\\\n...Клянусь, когда я это делаю, на лозе появляются бутоны, но они всегда исчезают.*", + "book.spectrum.guidebook.nightdew.page1.title": "Виноградная лоза мечты", + "book.spectrum.guidebook.nightdew_sprout.name": "Ростки ночной росы", + "book.spectrum.guidebook.nightdew_sprout.page0.text": "Любопытная маленькая веточка, напоминающая чайные листья! Ее экстракты приятно сладкие и спелые, обладают успокаивающими свойствами. Единственное, я никак не могу придумать, на чем его посадить.\\\n\\\n*~ Ароматный маленький друг ~*", + "book.spectrum.guidebook.nightdew_sprout.page1.text": "Ааааа. После долгих и тщательных наблюдений я наконец-то понял, как их выращивать. Эти лозы требовательны к почве и могут расти только на определенных природных участках, характерных для глубин", + "book.spectrum.guidebook.nightdew_sprout.page1.title": "Дополнение - Выращивание", + "book.spectrum.guidebook.nightfalls_blade.page0.text": "Это маленькое лезвие слишком тонкое, чтобы нанести серьезные раны, но у него много острых шипов, которые вонзятся в плоть моего противника.\\\n\\\n При использовании в Мастерской зелий на пораженного противника будет действовать эффект - при условии, что на мне достаточно чернил..", + "book.spectrum.guidebook.nightfalls_blade.page1.text": "*Жестоко, на самом деле. Но эффективно.*", + "book.spectrum.guidebook.no_milk_pls": "Примечание для себя:\\\n*Даже не думайте о том, чтобы пить чай с молоком*", + "book.spectrum.guidebook.noxshroom_forest.page0.text": "Над этим биомом возвышается странная смесь деревьев и грибов.", + "book.spectrum.guidebook.noxshroom_forest.page1.text": "Черный шлак, покрытый тонким слоем мицелия гриба.", + "book.spectrum.guidebook.noxwood.name": "Мракодерево", + "book.spectrum.guidebook.noxwood.page0.text": "Разновидность грибов - или, скорее, древесных? - которые можно найти по всему Мракодревесный лес. Они бывают самых разных цветов.\\\n\\\n Стволы твердые, как дерево, а шляпки почти мягкие и податливые. Биолюминесцентные жабры излучают приятное свечение, что делает их отличными источниками света.", + "book.spectrum.guidebook.noxwood.page1.text": "Так вкусно, что от каждого кусочка у меня кружится голова от радости.", + "book.spectrum.guidebook.noxwood.page2.title": "Так много места", + "book.spectrum.guidebook.noxwood.page3.title": "Для проведения мероприятий", + "book.spectrum.guidebook.noxwood.page4.text": "Как раздетые, так и не раздетые.", + "book.spectrum.guidebook.noxwood.page4.title": "Гифы", + "book.spectrum.guidebook.noxwood.page5.title": "Огни", + "book.spectrum.guidebook.noxwood.page6.text": "Может быть размещен как стоя, так и в подвешенном состоянии. Если я [#](449900)на шифте[#](), то размещу альтернативный вариант.", + "book.spectrum.guidebook.noxwood.page6.title": "Лампы", + "book.spectrum.guidebook.noxwood.page7.text": "Sort of like [#](bb00bb)Barrels[#](), but with twice the storage space.", + "book.spectrum.guidebook.noxwood.page7.title": "Амфоры", + "book.spectrum.guidebook.noxwood.page8.title": "Балки", + "book.spectrum.guidebook.noxwood.page9.title": "Фонари", + "book.spectrum.guidebook.omni_accelerator.page0.text": "Когда я придумывал название для этой игрушки, я действительно имел это в виду. \\\n\\\n Всеускоритель заряжается предметами или блоками и может стрелять ими на расстоянии - все, что для этого нужно, это мощный источник энергии в виде ядра из лунного камня.\\\n Устанавливаются блоки, и бедняжка, пораженный летящими предметами, получает свои эффекты.", + "book.spectrum.guidebook.omni_accelerator.page1.text": "Острый камешек - не единственное, что я нашел полезным в качестве снаряда. Есть несколько... *весело*... то, что я могу сделать с подходящими боеприпасами.", + "book.spectrum.guidebook.only_works_when_owner_online": "Работает только тогда, когда его владелец находится в Сети", + "book.spectrum.guidebook.onyx_shards.name": "Создание осколков оникса", + "book.spectrum.guidebook.onyx_shards.page0.text": "мне нужно затемнить оранжевый.\\\n*** ТЕМНЫЙ!***\\\n Теперь, когда я думаю об этом, это так логично! Три найденных мною драгоценных камня соответствуют трем основным цветам теории цвета!\\\nСмешав все три, я могу создать осколок, который будет настолько темным, что будет выглядеть почти нереально", + "book.spectrum.guidebook.onyx_shards.page1.text": "Я должен буду создать \"самую черную из черных\" в Храме слияния таким образом, чтобы абсолютно никакой нерегулируемый свет не мог загрязнить кристалл. *Итак, сейчас полночь в новолуние*!\\\n\\\nЛучше всего взять с собой часы.", + "book.spectrum.guidebook.onyx_shards.page2.text": "В зависимости от положения солнца и луны, луна отражает больше или меньше света.", + "book.spectrum.guidebook.onyx_shards.page2.title": "Фазы луны", + "book.spectrum.guidebook.onyx_shards.page3.text": "Они известны как [#](449900) Фазы Луны[#]().\\\n\\\n Когда Луна наиболее яркая, это называется [#](449900)Полнолунием[#](). В самый темный период это называется [#](449900)Новолунием[#]().\\\n\\\nВесь лунный фазовый цикл от одного новолуния до следующего также называется [#](449900)лунным периодом[#]().", + "book.spectrum.guidebook.overchanting.name": "Перехлестывающий", + "book.spectrum.guidebook.overchanting.page0.text": "Мой опыт как с магией, так и с [Зачаровывателем](entry://enchanting/enchanter) привел меня к еще одному новому открытию:\\\n[#](449900)Перехлестывание[#]().\\\n\\\nУпаковка такого количества магической энергии в одну [#](bb00bb)Зачарованную Книгу[#]() будет дорогой. *Очень дорогой*.", + "book.spectrum.guidebook.overchanting.page1.text": "- Удача Клевер: 3 → 6\n- Разоружение: 2 → 4\n- Восторг: 5 → 10\n- Первый Удар: 2 → 5\n- Улучшенный Критический: 2 → 4\n- Инерция: 2 → 5\n- Плотный Захват: 2 → 4\n- Охотник за Сокровищами: 3 → 5\n- Снайпер: 2 → 4", + "book.spectrum.guidebook.overchanting.page1.title": "Спектр Чар", + "book.spectrum.guidebook.overchanting.page2.text": "- Убийца Червей: 5 → 8\n- Защита от Взрывов: 4 → 8\n- Глубокий Странник: 3 → 3\n- Эффективность: 5 → 8\n- Падение Перо: 4 → 6\n- Огненный Аспект: 2 → 4\n- Защита от Огня: 4 → 8\n- Удача: 3 → 5\n- Ледяной Ходок: 2 → 4\n- Пронзающий: 5 → 8\n- Отталкивание: 2 → 5\n- Добыча: 3 → 6\n- Верность: 3 → 4", + "book.spectrum.guidebook.overchanting.page3.text": "- Удача Моря: 3 → 5\n- Приманка: 3 → 5\n- Пронзающий Удар: 4 → 8\n- Сила: 5 → 8\n- Защита от Проекций: 4 → 8\n- Защита: 4 → 8\n- Удар: 2 → 5\n- Быстрая Зарядка: 3 → 5\n- Дыхание: 3 → 6\n- Вихрь: 3 → 4\n- Острота: 5 → 8\n- Уничтожение: 5 → 8\n- Скорость Души: 3 → 4\n- Рассекающий Край: 3 → 7\n- Шипы: 3 → 6\n- Неизменность: 3 → 6", + "book.spectrum.guidebook.paintbrush.page0.text": "Почему *кисть*, из всех вещей?\\\n\\\nХороший вопрос, я сам задавался этим, когда придумал это. В основном это была интуиция. Есть что-то в ярком Пьедестале и ярких цветах кристаллов, что пробудило во мне то, что я теперь называю своим внутренним художником.", + "book.spectrum.guidebook.paintbrush.page1.text": "Если хорошенько ударить [Пигментный Пьедестал](entry://general/pedestal) этой кистью, он начнет крафтить.", + "book.spectrum.guidebook.paintbrush.page1.title": "Рецепт Крафта", + "book.spectrum.guidebook.paintbrush.page2.text": "Какое лучшее применение [Пигмента](entry://general/pigment), чем раскрашивание?\\\n\\\nЕсли я [#](449900)приседаю с кистью в руках, я могу открыть меню выбора цвета[#]().\\\n\\\nПосле выбора цвета мне нужно лишь слегка прикоснуться к блоку, который хочу покрасить, и [Пигмент](entry://general/pigment) потечет в него, изменяя его на новый цвет.", + "book.spectrum.guidebook.paintbrush.page2.title": "Перекраска Блоков", + "book.spectrum.guidebook.paintbrush.page3.text": "Я могу использовать свою кисть, чтобы собрать Чернила и запустить их как снаряд.\\\n\\\nПоверхность (или существо!), по которому попадает снаряд, будет раскрашена, если она может быть перекрашена, плюс нанесение хорошего количества отталкивания.", + "book.spectrum.guidebook.paintbrush.page3.title": "Запуск Красок", + "book.spectrum.guidebook.paltaeria.name": "Палтаерия", + "book.spectrum.guidebook.paltaeria.page0.text": "Бледно-голубой цвет — это отличительная черта этой руды, найденной исключительно в небольших скоплениях в Краю.\\\n\\\nКак и сам Край, любопытные свойства этого материала нельзя игнорировать.", + "book.spectrum.guidebook.paltaeria.page2.text": "Из моего предыдущего опыта с Палтаерией, я уже могу предположить, что не стоит размещать этот блок на улице — мой будущий я скажет мне спасибо.", + "book.spectrum.guidebook.paltaeria.page3.text": "\\\n *~ Лети далеко ~*", + "book.spectrum.guidebook.particle_spawner.page0.text": "Сияющая звезда, которую я видел, оставила красивый дождь частиц на своем пути. Очарованный этим зрелищем, я создал высоконастраиваемый Спавнер Частиц.[#]()\\\nДымоход? Запуск частиц ракет? Атмосферный дождь частиц для моего Пьедестала? Спавнер Частиц имеет всё.\\\n*Может быть, я даже смогу вдохновиться новыми частицами по мере продвижения!*", + "book.spectrum.guidebook.particle_spawner.page1.text": "Я могу использовать его интерфейс для настройки частиц по своему вкусу и применить [#](449900)сигнал редстоуна[#](), чтобы запустить фантастическое шоу.", + "book.spectrum.guidebook.pastel_network.name": "Пастельная Сеть", + "book.spectrum.guidebook.pastel_network.page0.text": "[#](449900)Хопперы, вагонетки, трубы[#]() и другие подобные обыденные методы транспортировки хороши, но *недостаточны*. Эти узлы, работающие на Азурите — которые я назвал [#](449900)Пастельной Сетью[#]() — являются более элегантным и гораздо более превосходным решением для логистических задач.\\\n\\\nПо некоторым причинам узлы могут передавать предметы без прямой видимости. Еще один признак моего природного гения!", + "book.spectrum.guidebook.pastel_network.page2.text": "Хотя я могу быть ужасно умным, мои узлы, к сожалению, не таковы. На самом деле, они довольно глупы, что является проблемой, когда требуется более гибкое поведение.\\\nК счастью, я могу использовать тот факт, что у этих кристаллов ровно 0 нейронов. Написав [#](449900)Тег Предмета[#]() на полоске пергамента, я могу обмануть узлы, заставив их принимать все предметы с этим тегом!", + "book.spectrum.guidebook.pastel_network.page2.title": "Фильтрация по Тегам", + "book.spectrum.guidebook.pastel_network.page3.text": "С помощью описаний я могу заставить узлы фильтровать по полям nbt. Некоторые дополнительные ключевые слова доступны в некоторых случаях.\\\n*Числа: выше, ниже*\\\n*Текст: (не) пустой*\\\n*Зачарования: с {id} + уровень (по желанию)*\\\n*Прочность: (не) поврежденный*\\\n*Например: Прочность, Возраст выше 100, Зачарования с minecraft:sharpness выше 3*", + "book.spectrum.guidebook.pastel_network.page3.title": "Фильтрация NBT", + "book.spectrum.guidebook.pastel_upgrades.name": "Обновление пастельных узлов", + "book.spectrum.guidebook.pastel_upgrades.page0.text": "О, как жестоко, как ужасно жестоко — что мое творение *недостаточно хорошее!* Такая неполноценная система ниже моего уровня, это не может продолжаться.\\\n\\\nПосле некоторого размышления решение очевидно. Я могу использовать кольца света вокруг узлов для их улучшения (что, конечно, было частью моих дизайнов), все, что нужно — это правильный материал...", + "book.spectrum.guidebook.pastel_upgrades.page1.text": "Каждый узел, который может предоставлять предметы, имеет два слота для улучшений. Эти кольца могут иметь улучшения, примененные по правому клику, и удаляться с помощью shift+правого клика. Улучшения одного типа будут накладываться друг на друга, хотя часто не линейно.\\\n\\\n*Улучшения всегда применяются к исходному узлу.*", + "book.spectrum.guidebook.pastel_upgrades.page1.title": "Улучшение Узлов", + "book.spectrum.guidebook.pastel_upgrades.page2.text": "Задержка может быть проблемой иногда.\\\n\\\n• Одно Кольцо: *Немного уменьшает [#](449900)время путешествия[#]()*\\\n• Два Кольца: *Умеренно уменьшает [#](449900)время путешествия[#]()*", + "book.spectrum.guidebook.pastel_upgrades.page3.text": "Время путешествия? Никогда не слышал об этом.\\\n\\\n• Одно Кольцо: *Значительно уменьшает [#](449900)время путешествия[#]()*\\\n• Два Кольца: *Снижает [#](449900)время путешествия[#]() до предела*", + "book.spectrum.guidebook.pastel_upgrades.page4.text": "Драконы так же мощны?\\\n\\\n• Одно Кольцо: *Максимальный [#](449900)размер передачи[#]() 4*\\\n• Два Кольца: *Удваивает [#](449900)предыдущее увеличение[#]()*", + "book.spectrum.guidebook.pastel_upgrades.page5.text": "Все вещи, сразу!\\\n\\\n• Одно Кольцо: *Максимальный [#](449900)размер передачи[#]() 16*\\\n• Два Кольца: *Учетверяет [#](449900)предыдущее увеличение[#]() - вау.*", + "book.spectrum.guidebook.pastel_upgrades.page6.text": "Устойчиво? Нет. Медленно? Тоже нет!\\\n\\\n• Одно Кольцо: *Значительно увеличивает [#](449900)скорость передачи[#]()*\\\n• Два Кольца: *Увеличивает [#](449900)скорость передачи[#]() до предела*", + "book.spectrum.guidebook.pastel_upgrades.page7.text": "Это не имеет практического применения, но оно *красивое*.\\\n\\\n• Одно Кольцо: *Заставляет узел [#](449900)ярко светиться[#]()*\\\n• Два Кольца: Без эффекта", + "book.spectrum.guidebook.pastel_upgrades.strong_azurite.text": "...не то чтобы мне это не нравилось. <- *странно*\\\n\\\n• Каждое Кольцо: *+2 ряда [#](449900)слотов фильтра[#]()*\\\n• Примечание: *[Собирательные Узлы](entry://pastel_network/gather_node) получают вдвое больше рядов.*", + "book.spectrum.guidebook.pastel_upgrades.weak_azurite.text": "Фильтр? Я едва ли знаю ее!\\\n\\\n• Каждое Кольцо: *+1 ряд [#](449900)слотов фильтра[#]()*\\\n• Примечание: *[Собирательные Узлы](entry://pastel_network/gather_node) получают вдвое больше рядов.*", + "book.spectrum.guidebook.pedestal.amethyst_pedestal.text": "Магента красиво контрастирует с деревом.", + "book.spectrum.guidebook.pedestal.automation.title": "Автоматизация Пьедестала", + "book.spectrum.guidebook.pedestal.citrine_pedestal.text": "Яркий желтый цвет полон жизни.", + "book.spectrum.guidebook.pedestal.page0.text": "Я вдохновился [драгоценным камнем, который нашел](entry://general/shards). Посмотрите на эту красоту! Дизайн отлично сочетается с любым выбранным камнем.\\\n\\\nОн напоминает [](item://minecraft:crafting_table), так что я могу крафтить обычные рецепты в нем, но этот улучшенный дизайн также может позволить мне создавать совершенно новые блоки, которые никогда не видели раньше!", + "book.spectrum.guidebook.pedestal.page2.text": "Я поставил его и он... ничего особенного не сделал.\\\n\\\nНо я быстро понял, чего мне не хватает: [Драгоценный Порошок](entry://general/gemstone_powder) для дополнительного эффекта, триггер для начала крафта, такой как [Кисть](entry://general/paintbrush) или [#](449900)сигнал редстоуна[#]() и воздух или инвентарь над ним.", + "book.spectrum.guidebook.pedestal.page2.title": "Требования к Крафту", + "book.spectrum.guidebook.pedestal.topaz_pedestal.text": "Яркий циан выглядит очень благородно.", + "book.spectrum.guidebook.pigment.page10.text": "Этот сочный лайм почти пахнет теплым весенним утром. Или это всего лишь мое воображение?\\\n\\\n[#](98ff37)Лайм[#]() символизирует *Счастье* и *Плодородие*.", + "book.spectrum.guidebook.pigment.page11.text": "Мягкий магента всегда вызывает у меня спокойное и удовлетворённое, почти безмятежное настроение.\\\n\\\n[#](ff4ff6)Магента[#]() символизирует *Время*, *Доброту* и *Терпимость*.", + "book.spectrum.guidebook.pigment.page12.text": "Этот оранжевый цвет напоминает мне об осени. Заставляет меня чувствовать себя так, будто я сижу в удобном кресле у камина.\\\n\\\n[#](f97b2d)Оранжевый[#]() символизирует *Тепло* и *Уют*.", + "book.spectrum.guidebook.pigment.page13.text": "Этот яркий, насыщенный цвет сахарной ваты заставляет меня светиться от радости.\\\n\\\n[#](ff9fc6)Розовый[#]() символизирует *Здоровье* и *Восхищение*.", + "book.spectrum.guidebook.pigment.page14.text": "Это зрелище заставляет мой разум работать. Оно не только пробуждает жажду знаний, но и вдохновляет на креативные идеи.\\\n\\\n[#](802bc4)Фиолетовый[#]() символизирует *Мудрость* и *Креативность*.", + "book.spectrum.guidebook.pigment.page15.text": "Я чувствую порыв и желание создать что-то красивое.\\\n\\\n[#](f12a34)Красный[#]() символизирует *Страсть* и *Волю*.", + "book.spectrum.guidebook.pigment.page16.text": "Я не могу точно выразить это словами. Ошеломляюще, подавляюще, но в хорошем смысле. В этом пигменте есть что-то неописуемо замечательное.\\\n\\\n[#](d0d6d7)Белый[#]() символизирует *ЖИЗНЬ*, *Свет* и *Чистоту*.", + "book.spectrum.guidebook.pigment.page17.text": "Яркий желтый почти переполнен энергией.\\\n\\\n[#](eded00)Желтый[#]() символизирует *Энергию* и *Радость*.", + "book.spectrum.guidebook.pigment.page18.text": "Я всегда могу снова превратить их в пигмент.", + "book.spectrum.guidebook.pigment.page18.title": "Пигментные Блоки", + "book.spectrum.guidebook.pigment.page2.text": "Самый темный материал, который я когда-либо держал в руках. Он выглядит почти сюрреалистично.\\\n\\\n[#](302951)Черный[#]() символизирует ничто из *Пустоты*, *Силу* и *Тайну*.", + "book.spectrum.guidebook.pigment.page3.text": "Держать его в руке придаёт мне чувство безопасности. Все это, конечно, чепуха, ведь это всего лишь цвет. Но все же...\\\n\\\n[#](2432ff)Синий[#]() символизирует *Безопасность* и *Постоянство*.", + "book.spectrum.guidebook.pigment.page4.text": "Этот насыщенный коричневый заставляет меня тосковать по матушке-природе.\\\n\\\n[#](70400d)Коричневый[#]() символизирует *Природу* и *Стабильность*.", + "book.spectrum.guidebook.pigment.page5.text": "Заставляет меня чувствовать, что я сижу на вершине горы, наслаждаясь бесконечной широтой этого мира.\\\n\\\n[#](5bffed)Циан[#]() символизирует *Материю* и *Целостность*.", + "book.spectrum.guidebook.pigment.page6.text": "Этот цвет выглядит для меня как побеждённый старший брат светло-серого. Смотреть на него немного грустно, но я не уверен, почему именно.\\\n\\\n[#](464646)Серый[#]() символизирует *Ускользание*.", + "book.spectrum.guidebook.pigment.page7.text": "Этот пигмент мягко излучает внутренний покой.\\\n\\\n[#](526b0f)Зеленый[#]() символизирует *Баланс* и *Гармонию*.", + "book.spectrum.guidebook.pigment.page8.text": "Я чувствую оптимизм, но также и желание уйти.\\\n\\\n[#](7a9eff)Светло-голубой[#]() символизирует *Удачу* и *Мир*.", + "book.spectrum.guidebook.pigment.page9.text": "Ты знаешь ощущение, когда спокойно сидишь, смотришь на пейзаж, чувствуешь, как жизнь проходит мимо, и всё в порядке?\\\n\\\n[#](adadad)Светло-серый[#]() символизирует *Изменения*, но также и *Тишину*.", + "book.spectrum.guidebook.pigment_palette.page1.text": "Способна хранить значительные объемы [Чернил](entry://ink/ink), идеально подходит для питания всего моего магического оборудования. Однако не может питать машины.", + "book.spectrum.guidebook.pipe_bomb.page0.text": "[Лунные Ядра](entry://dimension/moonstone_cores) взрываются энергией. Это звучит как очень плохая идея — разрядить одно за миллисекунды.\\\n\\\n*...но иногда худшие идеи оказываются лучшими, не так ли?*\\\n\\\nИх взрыв не повреждает блоки, но вызывает [чрезвычайно агрессивный огонь](entry://dimension/primordial_fire).", + "book.spectrum.guidebook.pipe_bomb.page1.text": "*Они отлично подходят в качестве подарков!*", + "book.spectrum.guidebook.player_detector.page0.text": "Я знаю людей, которые строят гигантские конструкции из [#](bb00bb)Редстоуна[#]() просто чтобы открыть oversized дверь. А затем они активируют её с помощью некрасивой [#](bb00bb)Давленой Плиты[#]().\\\nДетектор Игроков, с другой стороны, способен чувствовать моё присутствие — или присутствие других игроков — на расстоянии и отправляет соответствующий [#](449900)редстоун сигнал[#]().\\\n\\\n*Гораздо красивее*.", + "book.spectrum.guidebook.player_detector.page1.text": "Радиус 10 блоков.\\\nВыдает сигнал полной силы, если обнаружен игрок, который его установил, в противном случае 8.", + "book.spectrum.guidebook.polishing": "Полировка", + "book.spectrum.guidebook.potion_reagent": "Новый Реагент для Зелья", + "book.spectrum.guidebook.potion_workshop.page0.text": "Мастерская Зельев это не просто [#](bb00bb)Стойка для Зельев[#](): моё главное изменение заключалось в использовании жидкости, которую я нашел в [Жемчужинах Русалки](entry://general/mermaids_brush) вместо [#](bb00bb)Порошка Блейза[#](), что позволило мне [использовать магические предметы в качестве дополнительных реагентов](entry://brewing/potion_workshop_reagents).\\\n\\\nЕще один замечательный побочный эффект заключается в том, что мне не нужно заранее заполнять бутылки водой.", + "book.spectrum.guidebook.potion_workshop.page1.text": "", + "book.spectrum.guidebook.potion_workshop_brewing.name": "Приготовление Зельев", + "book.spectrum.guidebook.potion_workshop_brewing.page0.text": "\\\nМне удалось воспроизвести все зелья, которые я мог сделать со Стойкой для Зельев и даже больше! (хотя некоторые из них легче или сложнее получить с улучшенными эффектами). Я могу использовать [Реагенты](entry://brewing/potion_workshop_reagents), чтобы поиграть с их эффектами.", + "book.spectrum.guidebook.potion_workshop_brewing.page1.text": "Я могу делать их, используя те же ингредиенты, что и в [#](bb00bb)Стойке для Зельев[#]().", + "book.spectrum.guidebook.potion_workshop_brewing.page1.title": "Ранее Известные Зелья", + "book.spectrum.guidebook.potion_workshop_brewing.page2.strong.text": "Использование Молочного Смолы дает более сильный состав за счет продолжительности.", + "book.spectrum.guidebook.potion_workshop_brewing.page4.text": "Добавление Ферментированного Паучьего Глаза изменит эффект на **Усталость от Добычи**.", + "book.spectrum.guidebook.potion_workshop_brewing.page5.text": "Добавление Ферментированного Паучьего Глаза изменит эффект на **Голод**.", + "book.spectrum.guidebook.potion_workshop_brewing.page7.text": "Добавление Ферментированного Паучьего Глаза изменит эффект на **Плохую Удачу**.", + "book.spectrum.guidebook.potion_workshop_crafting": "Создание в Мастерской", + "book.spectrum.guidebook.potion_workshop_crafting.page0.text": "Как следует из названия, я разработал [Мастерскую Зельев](entry://brewing/potion_workshop) для создания мощных зелий.\\\nНо с помощью всей филигранной и гранулярной регулировки переключателей и клапанов я нашел большую полезность в создании других вещей с её помощью!\\\n\\\nВсе эти рецепты не требуют [Реагентов](entry://brewing/potion_workshop_reagents).", + "book.spectrum.guidebook.potion_workshop_crafting.page1.title": "Вода", + "book.spectrum.guidebook.potion_workshop_crafting.page10.text": "Потребует 100 XP из [#](bb00bb)Камня Знаний[#]().", + "book.spectrum.guidebook.potion_workshop_crafting.page2.text": "[Лавовый Губка](entry://magical_blocks/lava_sponge) не будет использован.", + "book.spectrum.guidebook.potion_workshop_crafting.page2.title": "Лава", + "book.spectrum.guidebook.potion_workshop_crafting.page7.title": "Ликвидация Медa", + "book.spectrum.guidebook.potion_workshop_crafting.page8.title": "Порошок Снега", + "book.spectrum.guidebook.potion_workshop_crafting.page9.text": "Потребует 10 XP из [#](bb00bb)Камня Знаний[#]().", + "book.spectrum.guidebook.potion_workshop_crafting.page9.title": "Бутылки Очарования", + "book.spectrum.guidebook.potion_workshop_reagents.ash_flakes.text": "- -120с продолжительности для негативных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.bitter_oils.text": "- делает эффекты (почти) неизлечимыми\n- -4 выход", + "book.spectrum.guidebook.potion_workshop_reagents.echo_shard.text": "- +50%% шанс добавить основной эффект зелья, которое было приготовлено ранее", + "book.spectrum.guidebook.potion_workshop_reagents.fissure_plum.text": "- 50%% шанс на +1 продолжительность\n- 50%% шанс на +1 силу\n- 50%% шанс на +1 выход\n- Модификаторы характеристик инвертированы для негативных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.lapis_lazuli.text": "- 50%% шанс добавить +1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.name": "Использование Реагентов", + "book.spectrum.guidebook.potion_workshop_reagents.nectardew_burgeon.text": "- +100%% сила\n- +100%% продолжительность\n- -3 выход\n- придаёт напитку снотворные качества", + "book.spectrum.guidebook.potion_workshop_reagents.nightdew_sprout.text": "- +1 сила\n- +50%% продолжительность\n- -1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.page0.name": "Реагенты", + "book.spectrum.guidebook.potion_workshop_reagents.page0.text": "Вместо того чтобы добавлять ингредиенты в зелье по одному, как в [#](bb00bb)Зельеварне[#](), я экспериментировал с растворением всех ингредиентов в жидкости, содержащейся в [Сокровищах Русалки](entry://general/mermaids_brush), сразу и добавлением некоторых моих магических коллекционных предметов в качестве реагентов.\\\n**Прорыв!**\\\n\\\nКаждый реагент будет иметь уникальный эффект на [#](bb00bb)Зелье[#]().", + "book.spectrum.guidebook.potion_workshop_reagents.page1.text": "- порядок, в котором я располагаю реагенты, не имеет значения.\n- плоские бонусы применяются первыми, процентные бонусы модифицируют это значение позже\n- один и тот же реагент нельзя складывать.", + "book.spectrum.guidebook.potion_workshop_reagents.page1.title": "Правила Применения", + "book.spectrum.guidebook.potion_workshop_reagents.page10.text": "- преобразует негативные эффекты в эквивалентные положительные", + "book.spectrum.guidebook.potion_workshop_reagents.page11.text": "- +20%% сила\n- +20%% продолжительность", + "book.spectrum.guidebook.potion_workshop_reagents.page12.text": "- +1 сила для негативных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.page13.text": "- +1 сила\n- +1 негативный эффект\n- -1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.page14.text": "- +1 случайный положительный эффект", + "book.spectrum.guidebook.potion_workshop_reagents.page15.text": "- +50%% сила +50%% продолжительность к основному эффекту предыдущего зелья, если унаследовано", + "book.spectrum.guidebook.potion_workshop_reagents.page16.text": "- +50%% шанс добавить основной эффект ранее приготовленного зелья\n+100%% сила -33%% продолжительность к основному эффекту предыдущего зелья, если унаследовано", + "book.spectrum.guidebook.potion_workshop_reagents.page17.text": "- значительно увеличивает силу в начале, но делает силу быстро угасать со временем - не будет работать для мгновенных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.page18.text": "- отменяет штраф к продолжительности для Зелий Долговечности, а также для Стрел с Эффектами", + "book.spectrum.guidebook.potion_workshop_reagents.page19.text": "- большой прирост к случайной характеристике", + "book.spectrum.guidebook.potion_workshop_reagents.page2.text": "- +100%% продолжительность", + "book.spectrum.guidebook.potion_workshop_reagents.page20.text": "- +200%% продолжительность\n- -25%% сила", + "book.spectrum.guidebook.potion_workshop_reagents.page21.text": "- +2 выход", + "book.spectrum.guidebook.potion_workshop_reagents.page22.text": "- +1 сила\n- +30с продолжительность\n- -2 выход", + "book.spectrum.guidebook.potion_workshop_reagents.page23.text": "- делает зелье намного более гладким, что позволяет быстрее его пить", + "book.spectrum.guidebook.potion_workshop_reagents.page24.text": "- +50%% сила\n- -75%% продолжительность\n- -1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.page25.text": "- +1 potency for positive effects\n- colors the potion in a random color", + "book.spectrum.guidebook.potion_workshop_reagents.page28.text": "- -2 потенции для негативных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.page29.text": "- +120 секунд длительности для позитивных эффектов", + "book.spectrum.guidebook.potion_workshop_reagents.page3.text": "- +1 потенция", + "book.spectrum.guidebook.potion_workshop_reagents.page30.text": "- +100% потенции и длительности основного эффекта предыдущего зелья, если оно унаследовано", + "book.spectrum.guidebook.potion_workshop_reagents.page4.text": "- создает зелья-расплески", + "book.spectrum.guidebook.potion_workshop_reagents.page5.text": "- создает зелья-долгого действия - также требует порох в качестве реагента\n- позволяет создавать стрелы с эффектами, если я предоставлю стрелы вместо бутылок", + "book.spectrum.guidebook.potion_workshop_reagents.page6.text": "- делает эффекты невидимыми (без частиц)", + "book.spectrum.guidebook.potion_workshop_reagents.page7.text": "- +60 секунд длительности", + "book.spectrum.guidebook.potion_workshop_reagents.page8.text": "- +25% потенции", + "book.spectrum.guidebook.potion_workshop_reagents.page9.text": "- добавляет очень странный вкус и запах зелью, делая его неузнаваемым. Также полностью окрашивает его в черный цвет", + "book.spectrum.guidebook.potion_workshop_reagents.pure_echo.text": "- всегда добавляет основной эффект ранее приготовленного зелья", + "book.spectrum.guidebook.potion_workshop_reagents.pure_glowstone.text": "- +2 сила\n- -50%% продолжительность\n- -1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.pure_lapis.text": "- +1 выход", + "book.spectrum.guidebook.potion_workshop_reagents.pure_redstone.text": "- +200%% продолжительность\n- -50%% сила\n- -1 выход", + "book.spectrum.guidebook.preenchanted_tools.name": "Предварительно зачарованные инструменты", + "book.spectrum.guidebook.preenchanted_tools.page0.text": "Этот тупой обсидиановый стол снова упрямится, когда дело доходит до получения нужных мне чар. *Да, я зол.*\\\n\\\nКроме этого, у меня есть выбор: убить целое стадо коров или ограбить книги десятка деревень (неудивительно, что жители там такие глупые и только рады быть съеденными зомби).", + "book.spectrum.guidebook.preenchanted_tools.page1.text": "Преимущество того, что я точно знаю, чего хочу, дает мне возможность формировать инструменты так, чтобы они изначально имели определенные качества. Цветочная магия делает это возможным.\\\n\\\nК сожалению, эти особенности делают большинство из этих инструментов очень хрупкими.", + "book.spectrum.guidebook.preenchanted_tools.page2.text": "Этот кирка усыпана топазом, чтобы вырезать даже самый тонкий материал из камня.\\\nПредварительно зачарована с **[#](5bffed)Шелковое прикосновение[#]()**.", + "book.spectrum.guidebook.preenchanted_tools.page3.text": "Созданная с использованием цитрина, она позволяет мне извлекать каждую последнюю крупицу руды из каждой жилы.\\\nПредварительно зачарована с **[#](eded00)Удача III[#]()**.", + "book.spectrum.guidebook.preenchanted_tools.page4.text": "Короткий, остро заточенный каменный лезвие делает его смертоносным оружием.\\\nПредварительно зачарована с **[#](ff4ff6)Грабеж III[#]()**.", + "book.spectrum.guidebook.preenchanted_tools.page5.text": "Выдающийся в группе, кирка Забвения обладает высокой прочностью и скоростью добычи. Однако все добытые блоки [разрушаются](entry://enchanting/enchantments/curse_of_the_void).", + "book.spectrum.guidebook.preenchanted_tools.page6.text": "[Позволяет мне сохранять блоки целыми](entry://enchanting/enchantments/resonance), которые иначе были бы безвозвратно уничтожены с помощью легких вибраций.", + "book.spectrum.guidebook.preenchanted_tools.page7.text": "Настоящая сила кирки, когда я хочу сломать твердые блоки.\\\nПредварительно зачарована с [Разрушение III](entry://enchanting/enchantments/razing).", + "book.spectrum.guidebook.present.page0.text": "Люди вокруг меня помогли мне в трудные времена. Пора вернуть долг. Щепотка [Сияющего камня](entry://general/shimmerstone) вызывает взрыв пакета в цветном shower частиц.\\\n\\\nПосле того как я кликну на Подарок по предметам, которые хочу подарить, мне нужно завернуть его и затем положить так, чтобы получатель мог открыть его, и я мог наблюдать за его радостью.", + "book.spectrum.guidebook.present.page1.text": "*(Или, знаете, я всегда могу подарить своему будущему Я!)*\\\n\\\nНекоторые предметы имеют особое поведение при распаковке.", + "book.spectrum.guidebook.present.page2.text": "- Поместите заполненный Подарок в верстак для упаковки\n- Дополнительно: добавьте [Пигмент](entry://general/pigment) для цветного shower частиц\n- Дополнительно: добавьте специальный предмет для выбора оберточной бумаги (справа)", + "book.spectrum.guidebook.present.page2.title": "Упаковка и Настройка", + "book.spectrum.guidebook.present.page3.text": "- Красный краситель: Красный\n- Синий краситель: Синий\n- Циановый краситель: Циановый\n- Зеленый краситель: Зеленый\n- Фиолетовый краситель: Фиолетовый\n- Торт: Торт\n- Цветок: Полоски\n- Звезда фейерверка: Звездный\n- Снежок: Зимний\n- Споровый цветок: Радужный", + "book.spectrum.guidebook.present.page3.title": "Упаковочная Бумага", + "book.spectrum.guidebook.preservation_ruins.name": "Руины Сохранения", + "book.spectrum.guidebook.preservation_ruins.page0.text": "Глубоко под землей я нашел эту экзотическую структуру, которая, похоже, сделана из невероятно прочного камня. Тот, кто ее построил, обладает знаниями, которые выходят за пределы моего понимания.\\\nДолжен быть способ попасть внутрь! Если не сейчас, то позже... лучше запомнить это место.", + "book.spectrum.guidebook.preservation_ruins.page1.text": "До сих пор я думал, что один в своих творческих начинаниях. Похоже, я был неправ. Так очень, очень неправ.\\\nКто бы ни построил эти структуры, очевидно, следовал похожему пути, но был на много миль впереди.\\\nТем не менее, я принимаю вызов, конечно. У меня есть одно огромное преимущество:\\\n*Я все еще жив.*", + "book.spectrum.guidebook.preservation_ruins.page1.title": "Вызов?", + "book.spectrum.guidebook.preservation_ruins.page2.checklist.entry0": "Руины Сохранения #1", + "book.spectrum.guidebook.preservation_ruins.page2.checklist.entry1": "Руины Сохранения #2", + "book.spectrum.guidebook.preservation_ruins.page2.checklist.entry2": "Руины Сохранения #3", + "book.spectrum.guidebook.preservation_ruins.page2.text": "Эти структуры, похоже, бывают разных вариаций. В каждой из них я сталкиваюсь с разным вызовом.", + "book.spectrum.guidebook.preservation_ruins.page2.title": "Сколько их?", + "book.spectrum.guidebook.preservation_ruins.page3.text": "Мощное магическое силовое поле. Ношение [оборудования Голубой Дамбы](entry://equipment/trinkets/azure_dike_equipment) позволило мне войти.", + "book.spectrum.guidebook.preservation_ruins.page3.title": "Защищенный Вход", + "book.spectrum.guidebook.preservation_ruins.page4.text": "В конце концов все стало так очевидно! Я уже [все это понял](entry://general/color_mixing_cmy).", + "book.spectrum.guidebook.preservation_ruins.page4.title": "Комбинации Цветов", + "book.spectrum.guidebook.preservation_ruins.page5.text": "Действительно странный момент. Наличие некоторых цветов под рукой очень помогло.", + "book.spectrum.guidebook.preservation_turrets.name": "Башни Сохранения", + "book.spectrum.guidebook.preservation_turrets.page0.text": "*Истинное инженерное совершенство. Но, черт возьми, это совершенство больно.*", + "book.spectrum.guidebook.preservation_turrets.page1.text": "Высокотехнологичные машины, состоящие из усиленной оболочки из базальта и кальцита, питающиеся неизвестным источником энергии, который нежно пульсирует в сердце этих механизмов.\\\n\\\nГотовы пронзить меня, как только я заявлю о своем присутствии.", + "book.spectrum.guidebook.primordial_fire.page0.text": "Гораздо более агрессивный, чем обычный [#](bb00bb)Огонь[#](), зажженный [#](bb00bb)Угольком и Сталью[#](), [#](bb00bb)Первобытный Огонь[#]() высвобожденный Ужасными Цветами кажется горит с ненасытным, жгучим теплом. Почти как будто поглощает материю и душу одновременно. Ужасно.", + "book.spectrum.guidebook.primordial_fire.page1.text": "Первобытный Огонь, похоже, не черпает свою энергию в первую очередь из материи, а скорее сжигает душу.", + "book.spectrum.guidebook.primordial_fire.primordial_torch.text": "*Фиолетовый свет в темноте.*", + "book.spectrum.guidebook.primordial_lighter.page0.text": "[Первобытный Огонь](entry://dimension/primordial_fire) - это дьявольская вещь. Неудивительно, что он поглощает твою душу.\\\n\\\nБез этой перчатки я бы чувствовал себя очень некомфортно - *мне на самом деле довольно нравится моя душа*.", + "book.spectrum.guidebook.primordial_lighter.page1.text": "*ни одной души на горизонте*", + "book.spectrum.guidebook.projectile_rebound.page0.text": "Каждый уровень давал мне небольшой шанс [#](449900)отразить incoming projectiles[#]().", + "book.spectrum.guidebook.provider_node.name": "Узел Поставщика", + "book.spectrum.guidebook.provider_node.page0.text": "Сделайте предметы в подключенном инвентаре доступными в их [Пастельной Сети](entry://pastel_network/pastel_network).\\\n\\\nПредметы не отправляются автоматически, но могут быть запрошены от [Узлов Сбора](entry://pastel_network/gather_node) и [Буферных Узлов](entry://pastel_network/buffer_node).", + "book.spectrum.guidebook.puff_circlet.page0.text": "Этот блестящий обруч создает защитную пленку воздуха вокруг меня.\\\n\\\nПредоставляет [#](495b24)4[#]() единицы [#](2c2e8e)Голубой Дамбы[#](). Защищает меня от снарядов и может смягчить падение с высоты, используя некоторые из этих зарядов.\\\nОбруч Пух также предотвращает [#](bb00bb)Тракторные земли[#]() от повреждений.", + "book.spectrum.guidebook.puff_circlet.page1.text": "*Ушли те времена, когда меня подстреливали сзади скелеты.*", + "book.spectrum.guidebook.pure_alcohol.page0.text": "Моя память, похоже, не всегда работает. Как-то я оказался с этой бутылкой. Определенно стал *немного* сильнее, чем планировалось...", + "book.spectrum.guidebook.pure_resources.name": "Чистые Ресурсы", + "book.spectrum.guidebook.pure_resources.page0.text": "Выращивание материалов в [Кристаллариуме](entry://ink/crystallarieum) дало мне это: гораздо более чистый, кристаллический вариант по сравнению с [#](bb00bb)Сырой Рудой[#]().\\\n\\\nПри более близком рассмотрении они почти кажутся окруженными почти невидимым блеском, который нежно защищает их от воздействия окружающей среды. Этот покров, похоже, защищает [#](bb00bb)Чистую Медь[#]() от окисления.", + "book.spectrum.guidebook.pure_resources.page1.text": "Иронично, но я обнаружил, что этот самый блеск также позволяет им выдерживать высокие температуры [Печей](item://minecraft:furnace). [Взрывная печь](item://minecraft:blast_furnace) справилась с задачей (плохо, но справилась!).", + "book.spectrum.guidebook.pure_resources.page1.title": "Взрыв", + "book.spectrum.guidebook.pure_resources.page2.text": "Переплавка этих материалов в [Пепельном Очаге](entry://ink/cinderhearth) даст мне гораздо более достойный выход.", + "book.spectrum.guidebook.pure_resources.page2.title": "Переплавка в Пепельном Очаге", + "book.spectrum.guidebook.pure_resources.page3.text": "Может быть переработано обратно в соответствующий [#](bb00bb)Чистый Ресурс[#]().", + "book.spectrum.guidebook.pure_resources.page3.title": "Компактирование", + "book.spectrum.guidebook.pure_resources.page4.text": "Это не может быть более эффективно или безопасно.", + "book.spectrum.guidebook.pure_resources.page4.title": "Создание Нетерита", + "book.spectrum.guidebook.pyrite.page0.text": "Твердый, острый и при этом удивительно хрупкий. Я нашел Пирит повсюду на [Резком Краю](entry://dimension/razor_edge).", + "book.spectrum.guidebook.pyrite.page1.text": "Если не использовать [#](449900)шелковое прикосновение[#](), Пирит разбивается на предметы, требуя повторного соединения.", + "book.spectrum.guidebook.pyrite.page1.title": "Плиты и Лестницы", + "book.spectrum.guidebook.pyrite.page2.text": "Вдохновленный их свойствами, я разработал множество декоративных блоков. Я могу [#](bb00bb)сделать[#]() их или использовать [#](bb00bb)Камнерез[#]().", + "book.spectrum.guidebook.pyrite.page3.text": "*Эти острые вещи разрывают меня на части.*\\\n\\\nНу, в основном, мою одежду. Но все равно, суть остается.", + "book.spectrum.guidebook.pyrite.page3.title": "Пиритовые Рвители", + "book.spectrum.guidebook.quitoxic_reeds.page0.text": "Я нашел это в болоте.\\\n[#](bb00bb)Кажется, поглощает Глину[#]() как форму питания.", + "book.spectrum.guidebook.quitoxic_reeds.page1.text": "Мне удалось извлечь пурпурный сверкающий порошок из стеблей этого инопланетного растения, [размолов его](entry://general/item_crushing)!\\\nЗапах и консистенция очень необычны, когда я трогаю его пальцами.\\\n*...подождите, что такое пальцы?*", + "book.spectrum.guidebook.radiance_pin.page0.text": "Я не случайно назвал эту булавку в честь [Посоха Сияния](entry://equipment/radiance_staff) - они довольно похожи, в некотором смысле.\\\n\\\nВ темной области булавка автоматически создает невидимые огни. Однако, в отличие от огней [Посоха Сияния](entry://equipment/radiance_staff), они медленно тускнеют со временем.", + "book.spectrum.guidebook.radiance_pin.page1.text": "Удивительно видеть пути, которые я уже прошел, исследуя пещеры.", + "book.spectrum.guidebook.radiance_staff.page0.text": "Факелы имеют одну важную слабость: я должен зайти в темноту, прежде чем ставить их.\\\n\\\nВ отличие от этого, способность Посоха Сияния по созданию света может размещать огни далеко и в воздухе, освещая большие пещеры издалека.\\\nВ качестве финального бонуса эти огни невидимы, что делает их отличными для атмосферного освещения моих построек.", + "book.spectrum.guidebook.radiance_staff.page1.text": "Взаимодействуя с размещенными огнями с помощью посоха, я могу регулировать уровень света.\\\nИх даже можно вызывать под водой.", + "book.spectrum.guidebook.radiant_glass.page0.text": "Мне нужен способ эффективно освещать свое укрытие и другие структуры. Практически противоположность [#](bb00bb)Тонированному Стеклу[#]()?\\\n\\\nЧто может быть лучше, чем использовать светящиеся свойства [Сияющего Камня](entry://general/shimmerstone)? [Сияющий Камень](entry://general/shimmerstone), использованный в его производстве, обеспечивает свечение стекла изнутри.", + "book.spectrum.guidebook.radiating_ender.page0.text": "Эти надоедливые Эндermen!\\\n\\\nОни всегда выходят ночью и воруют блоки с земли прямо перед моим домом. У меня есть предчувствие, что эта вся область станет кратером через месяц.", + "book.spectrum.guidebook.radiating_ender.page1.text": "Эндermen приходят в этот мир, чтобы оставлять эти блоки. *Что это за штука*? И *ПОЧЕМУ* они оставляют их здесь?\\\n\\\nТеперь, когда я держу один в руках... они повсюду! Как я не заметил этого раньше? В любом случае, я уверен, что смогу как-то использовать этот интересный материал.", + "book.spectrum.guidebook.rare_intact_gem": "Редко я нахожу целый драгоценный камень, который можно использовать в рецептах, для которых фрагменты слишком малы. С некоторыми усилиями эти фрагменты также можно восстановить.", + "book.spectrum.guidebook.razing.page0.text": "Даже с длинным списком заклинаний, который я едва могу прочитать из-за его длины, все еще есть несколько блоков, которые ускользают от моего взгляда превосходства.\\\n\\\n[#](bb00bb)Обсидиан[#](), сегодня ты будешь отменен.", + "book.spectrum.guidebook.razing.page1.text": "Более высокая скорость добычи, чем труднее сломать блок.\\\n\\\nМаксимальный уровень: 3\\\nПрименимо к инструментам для добычи.\\\nВзаимоисключает с Удачей.", + "book.spectrum.guidebook.razor_edge.page0.text": "Все здесь похоже на то, что стремится меня уколоть. Не самое гостеприимное место.", + "book.spectrum.guidebook.razor_edge.page1.text": "Даже земля: иссушенная и острая от нехватки света и воды - отсюда и название.", + "book.spectrum.guidebook.razor_edge.page2.text": "Маленькие злые растения, которые сильно колют при контакте с ними.", + "book.spectrum.guidebook.redstone_calculator.page0.text": "Используя красную математическую пыль из подземелья, я построил гигантские конструкции, чтобы эмулировать способность попугая к вычислениям. Когда я смотрю на них, у меня буквально замирает дыхание (*и весь остальной мир тоже, несколько раз в секунду*). Заряженный энергией [Цитрин](entry://general/shards@citrine) кажется идеальным для встраивания базовой арифметической логики в очень компактное пространство.", + "book.spectrum.guidebook.redstone_calculator.page1.text": "Режимы: Сложение, Вычитание, Умножение, Деление, Модуль, Минимум и Максимум. Первый ввод — это задняя часть, второй — самый высокий сигнал по бокам.", + "book.spectrum.guidebook.redstone_interaction.name": "Взаимодействия с Красным Камнем", + "book.spectrum.guidebook.redstone_interaction.page0.text": "Когда я подвергаю [#](bb00bb)Пастельный Узел[#]() воздействию [#](449900)сигнала красного камня[#](), он теряет связь с прикрепленным инвентарем.", + "book.spectrum.guidebook.redstone_interaction.page1.text": "- [Собирающие Узлы](entry://pastel_network/gather_node) перестанут запрашивать предметы\n- [Поставляющие Узлы](entry://pastel_network/provider_node) не смогут предлагать свои предметы\n- [Отправляющие Узлы](entry://pastel_network/sender_node) перестанут опустошать свой инвентарь\n- [Хранилищные Узлы](entry://pastel_network/storage_node) не смогут принимать и предлагать свои предметы\n- [Буферные Узлы](entry://pastel_network/buffer_node) перестанут запрашивать и предлагать предметы", + "book.spectrum.guidebook.redstone_interaction.page2.text": "Хотя встроенная функция красного камня в [#](bb00bb)Пастельных Узлах[#]() хороша, некоторые ситуации требуют специализированного управления. Чистые ресурсы, о которых я недавно узнал, кажутся подходящими для этой задачи.", + "book.spectrum.guidebook.redstone_interaction.page2.title": "Улучшения Интеграции Красного Камня", + "book.spectrum.guidebook.redstone_interaction.page3.text": "Чистый Красный Камень, как ни странно, является отличным способом питания вещей. Применение этого к узлу заставит его всегда быть включенным.\\\n\\\n*Сон Киновара*", + "book.spectrum.guidebook.redstone_interaction.page4.text": "Иногда мне просто нужно инвертировать сигнализацию, но не хватает места для переворота. Чистый Уголь сделает это без дополнительного пространства или беспорядка.\\\n\\\n*Черный — новый Красный*", + "book.spectrum.guidebook.redstone_interaction.page5.text": "Эхо — это действительно любопытная вещь, и я честно говоря испытывал трудности с нахождением ей применения. Кажется, что её сонарные качества отлично подходят для обнаружения предметов, проходящих мимо узла, создавая эфемерный импульс красного камня.\\\n\\\n*Каскад Резонанса*", + "book.spectrum.guidebook.redstone_interaction.page6.text": "Есть случаи, когда я хочу, чтобы узел был постоянно отключен — Лазурит делает именно это. Это отлично подходит для...\\\nЯ могу продолжить и...\\\nНу, возможно это так...\\\n\\\n*Зачем я это сделал?*", + "book.spectrum.guidebook.redstone_interaction.page7.text": "Тонкий контроль над потоком передач имеет свою полезность. С помощью Чистого Кварца я могу сделать так, чтобы узел активировался только при пульсации от красного камня, отправляя один пакет.\\\n\\\n*Шаг за Шагом*", + "book.spectrum.guidebook.redstone_interaction.page8.text": "Делать эти вещи светящимися довольно приятно, но если я когда-либо захочу использовать один из них как ночник, мне нужно, чтобы он мог выключаться. Чистый Светящийся Камень достигает этого, выключаясь при подаче красного камня.\\\n\\\n*Сравнительно Дорого*", + "book.spectrum.guidebook.redstone_sand.page0.text": "Вспоминая добрые старые времена, когда я ставил маленькие ловушки для своих друзей: если они касались неправильного блока, их полностью засыпало песком. Сегодня мои друзья уже не так легко обмануть.\\\n\\\nСовременные проблемы требуют современных решений.", + "book.spectrum.guidebook.redstone_sand.page1.text": "Ведет себя как твердый блок до тех пор, пока не получит [#](449900)сигнал красного камня[#](). Импульс [#](449900)красного камня[#]() распространяется через соединенные блоки, заставляя их падать.", + "book.spectrum.guidebook.redstone_transceiver.page1.text": "Взаимодействие с пустыми руками переключает между передачей и приемом. В режиме приема выход направленный. Частоту можно изменить с помощью красителя/пигмента/кисти.", + "book.spectrum.guidebook.remembering": "Воспоминания", + "book.spectrum.guidebook.reprise.page0.text": "Этот напиток, приготовленный из [#](bb00bb)Плодовых Хоров[#](), наследует — и усиливает — не только особый вкус растения, но и его уникальные свойства.\\\n\\\nПри употреблении этот напиток случайным образом телепортирует меня на большие расстояния. Чем выше содержание алкоголя, тем дальше.", + "book.spectrum.guidebook.reprise.page1.text": "*Вкус как у малины, но малины нет. Странно.*", + "book.spectrum.guidebook.resonance.page0.text": "Всегда были блоки, которые меня очень интересовали, но я никогда не мог аккуратно вырезать их из земли, чтобы безупречно извлечь. Однако я заметил, что эти блоки вибрируют подобно драгоценным камням, о которых я так беспокоился в последнее время.\\\nЕсли я смогу найти правильную частоту, я наконец смогу держать некоторые из этих блоков в своих руках.", + "book.spectrum.guidebook.resonance.page1.text": "Использует мягкие вибрации, чтобы сбрасывать некоторые блоки в исходном состоянии, сохранять специальные свойства или превращать их во что-то совершенно другое.\\\n\\\nМаксимальный уровень: 1\\\nПрименимо к инструментам для добычи.\\\nВзаимно исключает Заточку Шелка, Удачу и Контроль Вредителей.", + "book.spectrum.guidebook.resonance.page10.text": "Якоря возрождения сохраняют свои заряды.", + "book.spectrum.guidebook.resonance.page11.text": "Знаки сохраняют свой текст и цвет.", + "book.spectrum.guidebook.resonance.page11.title": "Знаки", + "book.spectrum.guidebook.resonance.page12.text": "Нежные вибрации убаюкивают серебряных рыбок, прячущихся в блоках.\\\n\\\nЯ могу упаковать блоки вместе с серебряными рыбками и забрать их с собой, не давая им понять, что с ними происходит.\\\nСладкая, сладкая месть.", + "book.spectrum.guidebook.resonance.page12.title": "Зараженные Блоки", + "book.spectrum.guidebook.resonance.page3.text": "Маленькие бутоны драгоценных камней обычно слишком хрупкие, чтобы их можно было сломать.\\\n\\\nОднако с правильной частотой маленькие бутоны отламываются от камня почти сами по себе, как будто я использую [#](449900)Заточку Шелка[#]().", + "book.spectrum.guidebook.resonance.page3.title": "Бутончики Драгоценных Камней", + "book.spectrum.guidebook.resonance.page4.text": "Сломанные [#](bb00bb)Руды[#]() с помощью Резонанса дают [Чистые Ресурсы](entry://ink/pure_resources) вместо Сырьевых Руд.\\\n\\\nЭто будет складываться с Удачей... если я смогу как-то объединить эти два взаимно исключающих заклинания.", + "book.spectrum.guidebook.resonance.page5.text": "Цветные Листья стимулируются к высвобождению гораздо большего количества [#](bb00bb)Саженцев[#]().\\\n\\\nПрименив это к мотыге, я наконец получу ключ к получению [Цветных Саженцев](entry://general/colored_trees) в качестве возобновляемого ресурса.", + "book.spectrum.guidebook.resonance.page5.title": "Цветные Листья", + "book.spectrum.guidebook.resonance.page6.text": "В глубинах я наткнулся на клетки, которые, кажется, извергают бесконечное количество врагов. Какой безумец поставил их туда, какую цель они служат и стоило ли это с бедной добычей — для меня загадка. Но я определенно смогу найти им применение. Надеюсь, их создатель не заметит, что я забрал несколько.", + "book.spectrum.guidebook.resonance.page7.text": "Этот невероятно прочный камень, найденный в подземных городах, можно добывать.", + "book.spectrum.guidebook.resonance.page8.text": "Скулк-Шрики сохраняют свою способность вызывать Хранителя.", + "book.spectrum.guidebook.resonance.page9.text": "Блоки, которые можно чистить щеткой, сохраняют свою добычу. Я могу почистить их дома позже.", + "book.spectrum.guidebook.resonance.page9.title": "Блоки для Чистки Щеткой", + "book.spectrum.guidebook.resonance_harvesting": "Инструменты, зачарованные [Резонансом](entry://enchanting/enchantments/resonance), могут добывать [#](bb00bb)Блестящие Блоки[#]().", + "book.spectrum.guidebook.resonance_shards.page0.text": "Оказывается, прекрасные звуки [Гудящих Камней](entry://dimension/hummingstone) могут накапливаться друг на друге, пока не разразятся финальным гимном.\\\n\\\nРазбитые остатки никогда не перестают вибрировать, даже в моих руках, как будто они сохраняют какую-то форму внутренней энергии.", + "book.spectrum.guidebook.resonant_lily.page0.text": "Это интересно. Когда [#](bb00bb)цветы[#]() впитывают [Жидкий Кристалл](entry://general/liquid_crystal) через свои корни, они превращаются в эти неуловимые растения.", + "book.spectrum.guidebook.restoration_tea.page0.text": "Есть ли что-то более уютное, чем сидеть у огня в дождливый вечер, потягивая чашку чая?\\\nКонечно: убить босса перед этим.\\\n\\\nЭтот чай, заваренный из лепестков [Нефритовой Лианы](entry://general/jade_vines), хорош как для расслабления, так и для защиты от смертоносных эффектов Смерчи. *Удобно*", + "book.spectrum.guidebook.ring_of_aerial_grace.page0.text": "Я уже достаточно хорошо знаю себя, чтобы понимать, что у меня голова в облаках.\\\n\\\n*Буквально*, на этот раз!", + "book.spectrum.guidebook.ring_of_aerial_grace.page1.text": "*Сегодня у меня легкое настроение*", + "book.spectrum.guidebook.ring_of_denser_steps.page0.text": "Знаешь, я всегда задавался вопросом, куда уходит вся эта Чернила, когда я наполняю свои мелкие безделушки. Оно впитывается в материал, как хорошее вино в виноград?\\\nНа самом деле я хотел построить весы. Не совсем получилось. Но, конечно, я не дам своим находкам пропасть зря.\\\n\\\nСмотрите: *это кольцо*!", + "book.spectrum.guidebook.ring_of_denser_steps.page1.text": "*Наверное, моя самая плотная идея на данный момент*", + "book.spectrum.guidebook.ring_of_pursuit.page0.text": "Добыча — это моя игра.\\\nПочти чудо, что только сейчас мне пришла в голову идея улучшить не только свои инструменты, но и свою добывающую квалификацию в целом. Это кольцо будет даже расти вместе с моими способностями.", + "book.spectrum.guidebook.ring_of_pursuit.page1.text": "Можно наполнить [Магентой Чернила](entry://ink/ink) в [Цветном Выборе](entry://ink/color_picker), чтобы увеличить скорость добычи.", + "book.spectrum.guidebook.rock_candy.page0.text": "Палочка с [#](bb00bb)Сахаром[#]() на ней.\\\n\\\n...подождите, подождите, я выяснил, что это не все!\\\nЕсли я помещу эту палочку так, чтобы ее нижняя сторона была погружена в [Жидкий Кристалл](entry://general/liquid_crystal) и растворю больше Сахара в жидкости, палочка медленно превратится в сладкую хрустящую конфету.", + "book.spectrum.guidebook.rock_candy.page1.text": "Может быть, я могу добавить еще просто Сахар? Жидкий *Кристалл* и все такое...", + "book.spectrum.guidebook.rock_candy.page2.text": "[#](449900)Заточка Шелка[#]() сохраняет свой размер для использования как шикарный светильник или просто для хранения.", + "book.spectrum.guidebook.rock_candy.page2.title": "Выращивание Каменной Конфеты", + "book.spectrum.guidebook.rock_candy.page3.text": "Растворяя [Минеральный Порошок](entry://general/gemstone_powder) в жидкости вместо Сахара, Каменная Конфета принимает типичный цвет минерала.\\\n\\\nЯ всегда хотел знать, каково это на вкус! Определенно кажется более здоровым вариантом по сравнению с тем, чтобы нюхать их.", + "book.spectrum.guidebook.rock_candy.page3.title": "Минеральная Каменная Конфета", + "book.spectrum.guidebook.rock_crystal.page0.text": "Гигантские кластеры кварцевых кристаллов можно найти на [Резком Крае](entry://dimension/razor_edge).\\\n\\\nЯ полностью признаю, что, учитывая, как нетеритовый кварц встречается в свободных кристаллах, я забыл, насколько прочен кварц, когда он сплавлен таким образом. Эта штука **крепка**.", + "book.spectrum.guidebook.rock_crystal.page1.text": "Честно говоря, я немного беспокоюсь, что Наковальня сломается раньше, чем кристаллы.", + "book.spectrum.guidebook.ruin.name": "Эксперимент #3: Разрушение", + "book.spectrum.guidebook.ruin.page0.text": "Вот оно: совершенство моей формулы. Один маленький провал определенно не мог меня остановить.\\\nЭто может быть единственное средство, достаточно агрессивное, чтобы разрушить даже некоторые материалы, которые я ранее считал неразрушимыми.\\\nЯ даже не буду делать это тонким намеком. Эта вещь [#](ff0000)УЖАСНА[#]() по замыслу, я не называл ее так просто для развлечения.", + "book.spectrum.guidebook.ruin.page1.text": "Что-то подсказывает мне, что если я не буду осторожен, я могу разрушить этот мир.\\\nНеобходимая жертва, на самом деле.", + "book.spectrum.guidebook.sawblade_holly.name": "Пила-Остролист", + "book.spectrum.guidebook.sawblade_holly.page0.text": "Эти ягоды напоминают мне [#](bb00bb)Сладкие Ягоды[#](). Однако в отличие от них, эти довольно сухие.\\\n\\\nМожно есть, но имеют неприятную консистенцию. Лучше чем ничего, когда дело становится трудным.", + "book.spectrum.guidebook.sawblade_holly.page1.text": "Собираются путем обрезки куста Пила-Остролиста. Могут использоваться как [Реагент для Зелья](entry://brewing/potion_workshop_reagents@prickly_bayleaf) и в кулинарии.\\\n\\\n*Очевидно, что их легче переваривать в приготовленном виде, чем в сыром...*", + "book.spectrum.guidebook.scarred.page0.text": "Не давали мне восстанавливать здоровье естественным образом и также мешали мне бегать.\\\n\\\n*Жестокий круг, если кто-то нападет на меня*", + "book.spectrum.guidebook.semi_permeable_glass.page0.text": "Эти надоедливые монстры, которые появляются ночью, давно перестали быть для меня угрозой, теперь они просто служат источником ресурсов, если на то пошло. Но это не мешает им преследовать и беспокоить меня.\\\nЯ провел больше времени, пытаясь держать этих надоедливых монстров вне своей базы, чем мне хотелось бы признать.", + "book.spectrum.guidebook.semi_permeable_glass.page1.text": "Тогда я вспомнил о своем [рецепте Стекла из Драгоценных Камней](entry://decoration/gemstone_glass), который я создал ранее.\\\n\\\nС небольшим количеством магической энергии не составило труда сделать его не только прозрачным, но и проходимым для меня (но не для них!).\\\n\\\nБонус: я сделал его выглядящим точно как обычное стекло на случай, если я захочу обмануть своих конкурентов.", + "book.spectrum.guidebook.semi_permeable_glass.page2.text": "Выглядит точно как его [обычный аналог](entry://decoration/gemstone_glass), но только игроки могут проходить через него. Все остальные существа будут отскакивать от него, как муха от окна.", + "book.spectrum.guidebook.semi_permeable_glass.page2.title": "Простой Вариант", + "book.spectrum.guidebook.semi_permeable_glass.page3.text": "Доступен во всех цветах драгоценных камней и еще в нескольких.", + "book.spectrum.guidebook.semi_permeable_glass.page3.title": "Вариант Драгоценного Камня", + "book.spectrum.guidebook.semi_permeable_glass.page4.title": "Тонированный Вариант", + "book.spectrum.guidebook.semi_permeable_glass.page5.title": "Сияющий Вариант", + "book.spectrum.guidebook.sender_node.name": "Узел Отправителя", + "book.spectrum.guidebook.sender_node.page0.text": "Узел Отправителя будет активно пытаться держать подключенный инвентарь пустым.\\\n\\\nПорядок, в котором он будет отправлять предметы, следующий:\n1. [Собирающие Узлы](entry://pastel_network/gather_node)\n2. [Буферные Узлы](entry://pastel_network/buffer_node)\n3. [Хранилищные Узлы](entry://pastel_network/storage_node)", + "book.spectrum.guidebook.serendipity_reel.name": "Катушка Удачи", + "book.spectrum.guidebook.serendipity_reel.page0.text": "Честно говоря, мне больше не нужно ловить рыбу, чтобы прокормить себя. Тем не менее, это остается моим виноватым удовольствием. Сидеть у пруда и смотреть на мягкие волны заставляет меня чувствовать спокойствие.\\\n\\\nЭто не значит, что я не ценю случайный улов. Или два. Или три. Или...", + "book.spectrum.guidebook.serendipity_reel.page1.text": "Шанс поймать двойную добычу. Или больше!\\\n\\\nМаксимальный уровень: 2\\\nПрименимо к Рыболовным Удочкам Спектра.", + "book.spectrum.guidebook.seven_league_boots.name": "Сапоги Семи Лиг", + "book.spectrum.guidebook.seven_league_boots.page0.text": "Путешествовать от точки А до точки Б утомительно, и время в пути только увеличивается, особенно с [Геодами](entry://general/geodes), разбросанными по земле.\\\n\\\nЧтобы решить эту проблему, я разработал Сапоги Семи Лиг, которые делают меня гораздо более подвижным, чем прежде.", + "book.spectrum.guidebook.seven_league_boots.page1.text": "Увеличивает как скорость передвижения, так и высоту шага.", + "book.spectrum.guidebook.seven_league_boots.page2.text": "Дальше увеличивает бонус к скорости передвижения.", + "book.spectrum.guidebook.shale_clay.page0.text": "Осадочная порода, состоящая из слоистого сланца и глины. Довольно непримечательная, кроме того, что на нее приятно смотреть.", + "book.spectrum.guidebook.shale_clay.page1.text": "Я могу формировать Сланцевую Глину в множество декоративных блоков, используя [#](bb00bb)Крафт[#]() или [#](bb00bb)Каменщик[#]().", + "book.spectrum.guidebook.shale_clay.page2.text": "Полировка Сланцевой Глины придает ей приятный сероватый цвет.\\\nХотя она, кажется, [#](449900)изнашивается со временем[#](), когда подвергается воздействию элементов (прямой солнечный свет, дождь), возвращая свой естественный коричневатый оттенок.", + "book.spectrum.guidebook.shale_clay.page4.text": "Вызывает ощущение сельскохозяйственной земли, на вкус как сельскохозяйственная земля, но плохо подходит для использования в качестве таковой. Я могу сажать на ней растения, но они никогда не вырастут ни на дюйм.", + "book.spectrum.guidebook.shards.illustration.amethyst.text": "*Поток Времени*", + "book.spectrum.guidebook.shards.illustration.citrine.text": "*Жар Жизни*", + "book.spectrum.guidebook.shards.illustration.moonstone.text": "*Меланхолия Вечности*", + "book.spectrum.guidebook.shards.illustration.onyx.text": "*Безбрежность Абсолютов*", + "book.spectrum.guidebook.shards.illustration.topaz.text": "*Тяжесть Мира*", + "book.spectrum.guidebook.shards.name": "Осколки Драгоценных Камней", + "book.spectrum.guidebook.shards.page0.text": "В [Жеоде](entry://general/geodes) я нашел этот интересный драгоценный камень. Это не просто предмет, как все остальные. Этот (и другие?) особенный.\\\n\\\nКаждый тип камня представляет собой как элементарный цвет, так и природную силу.", + "book.spectrum.guidebook.shards.page1.text": "Осколки Топаза удивительно тяжелы в руке. Этот драгоценный камень быстро доказал, что является одним из самых прочных материалов, с которыми я когда-либо работал - возможно, только уступает алмазу. Я нашел Топаз в геодах на самых вершинах крутых холмов и на вершинах высоких гор.\\\nТопаз представляет **[#](5bffed)ВЕЩЕСТВО.[#]()**", + "book.spectrum.guidebook.shards.page1.title": "Осколки Топаза", + "book.spectrum.guidebook.shards.page2.text": "Магентовый свет преломляется в этом драгоценном камне.\\\nСформировавшийся за эоны в геодах, этот камень излучает благоговение. Я нашел этот символ вечности в самых глубоких слоях мира.\\\n\\\nАметист представляет **[#](ff4ff6)ВРЕМЯ[#]()**.", + "book.spectrum.guidebook.shards.page2.title": "Осколки Аметиста", + "book.spectrum.guidebook.shards.page3.text": "Я наткнулся на этот желтый драгоценный камень недалеко от поверхности, где солнечный свет рассеивается в тепло.\\\n\\\nЕго яркий желтый блеск излучает чистую **[#](eded00)ЭНЕРГИЮ[#]()** и всегда слегка теплый на ощупь.", + "book.spectrum.guidebook.shards.page3.title": "Осколки Цитрина", + "book.spectrum.guidebook.shards.page4.text": "Оникс почти черный как смоль. Он почти кажется поглощать свет из окружающей среды.\\\n\\\nОникс, сочетание энергии, вещества и времени, прекрасно служит фокусом и **[#](302951)КАТАЛИЗАТОРОМ[#]()** для моих магических инструментов и устройств.", + "book.spectrum.guidebook.shards.page4.title": "Осколки Оникса", + "book.spectrum.guidebook.shards.page5.text": "Его белое свечение напоминает мне успокаивающий свет луны в прохладную летнюю ночь. Спокойствие, которое он излучает, оставляет успокаивающее, но значительное впечатление, как спящая кошка - бальзам для души и при этом хищник, всегда настороже.\\\n\\\nЛунный камень воплощает **[#](d0d6d7)ЧИСТОТУ[#]()**.", + "book.spectrum.guidebook.shimmerstone.name": "Сияющий Камень", + "book.spectrum.guidebook.shimmerstone.page0.text": "Яркий минерал с янтарным оттенком, который не только излучает энергию в виде света, но и может манипулировать им.\\\n\\\nЯ нашел руду Шиммерстоун в основном в высоких пещерах и на высоте над уровнем моря, где солнечный свет дарит уютное тепло.", + "book.spectrum.guidebook.shimmerstone.page1.text": "Цельные блоки Шиммерстоун излучают яркие янтарные частицы.", + "book.spectrum.guidebook.shimmerstone_lights.name": "Светильники Шиммерстоун", + "book.spectrum.guidebook.shimmerstone_lights.page0.text": "В мои первые ночи в этом чудесном мире я освещал свою импровизированную хижину факелами. Хотя это и создавало атмосферу, было довольно примитивно.\\\nЧтобы избавиться от своего темного прошлого с факелами, я создал лампы на основе [Шиммерстоун](entry://general/shimmerstone).", + "book.spectrum.guidebook.shimmerstone_lights.page1.text": "Существует несколько вариантов, в зависимости от того, какой полированный блок я хочу использовать в качестве основы.", + "book.spectrum.guidebook.shimmerstone_lights.page2.text": "Можно использовать и черный слег, что приводит к особенно темному варианту.", + "book.spectrum.guidebook.shimmerstone_lights.page2.title": "Вариант Черного Слега", + "book.spectrum.guidebook.sleep.name": "Снотворная Алхимия", + "book.spectrum.guidebook.sleep.page0.text": "Размышляя о этих ночных зельях, я быстро осознал, что множество факторов может повлиять на мою уязвимость к ним. Что касается других... основным фактором является сочетание их психической конституции и биологии. Членистоногие довольно устойчивы, так как они не спят по-настоящему, тогда как беспокойные Нежить кажется ужасно уязвимыми. Существенные существа воли, вероятно, будут почти невосприимчивы.", + "book.spectrum.guidebook.sleep.page0.title": "Сон и Воля", + "book.spectrum.guidebook.sleep.page1.text": "По мере того как я изучал эту ветвь алхимии, я начал волноваться; мне кажется, что приливы сна угрожают поглотить меня целиком. Было немного странно видеть несколько эффектов одной сущности, но я отмахнулся от этого как от ничего особенного. Теперь я не так уж уверен. Эти Появления и их Нектар, и [Смертельный Сон](entry://brewing/effects/fatal_slumber) с его следами света... в этом есть что-то тревожное, напоминающее [Божественность](entry://brewing/effects/divinity).", + "book.spectrum.guidebook.sleep.page1.title": "Бархат и Серебро", + "book.spectrum.guidebook.sleep_resistance": "Этот напиток является работой элементальной ночной алхимии и основан на бархатной магии. Таким образом, он подвержен влиянию психической конституции пострадавшего и в моем случае — сопротивлению сну.", + "book.spectrum.guidebook.slush.page0.text": "Невероятно мягкая, влажная почва. Пахнет дождевиком.", + "book.spectrum.guidebook.slush.page1.text": "Всегда влажная земля с множеством питательных веществ. Растения процветают на ней.", + "book.spectrum.guidebook.smelting_back": "Переплавка обратно", + "book.spectrum.guidebook.sniper.page0.text": "В сравнении с [#](bb00bb)Луком[#](), [#](bb00bb)Арбалетом[#]() ведет довольно неприметное существование.\\\n\\\nОднако с Заклинанием Снайпера арбалет становится смертоносным дальнобойным оружием.", + "book.spectrum.guidebook.sniper.page1.text": "Увеличивает урон, точность и скорость снарядов.\\\n\\\nМаксимальный уровень: 2\\\nПрименимо к арбалетам.\\\nВзаимоисключающе с Мультивыстрелом.", + "book.spectrum.guidebook.somnolence.page0.text": "Сильный, одурманивающий эффект, который масштабируется с уровнем. Это работает на всех, *включая меня*.\\\n\\\nКстати, это сделало меня достаточно сонным, чтобы [#](449900)спать независимо от времени или условий,[#]() что может быть очень полезно!", + "book.spectrum.guidebook.soothing_bouquet.page0.text": "Ночные соли стали потрясающим успехом в улучшении моего сна и облегчении болей в спине. Однако по мере того как я стал более образованным в области ночной алхимии, мне кажется, что теперь я могу реализовать концепцию немного лучше.\\\n\\\n*Элегантность — это то, что имеет значение, и зачем нюхать соли, когда я могу наслаждаться цветами?*", + "book.spectrum.guidebook.soothing_bouquet.page1.text": "Как было, так и будет — прижмись к этому великолепному цветку и глубоко вдохни.\\\n\\\n*Это не переоцененный спальный мешок — это СУПЕРИОРНЫЙ переоцененный спальный мешок!*", + "book.spectrum.guidebook.soporific": "Снотворное (Сопротивления)", + "book.spectrum.guidebook.spawner_creature_change.name": "Изменение Создаваемых Существ", + "book.spectrum.guidebook.spawner_creature_change.page0.text": "Я узнал, как назначить новый тип существа для спаунеров мобов. Признаюсь, это довольно пугающая способность.\\\n\\\nСтану ли я тем, кто создает жизнь ради дара жизни или лишь для того, чтобы немедленно ее отнять?", + "book.spectrum.guidebook.spawner_creature_change.page1.text": "Какой я человек? В этом случае мои моральные принципы должны служить проводником.", + "book.spectrum.guidebook.spawner_creature_change.page1.title": "Ассоциация Существа", + "book.spectrum.guidebook.spawner_manipulation.name": "Манипуляция Спаунерами", + "book.spectrum.guidebook.spawner_manipulation.page0.text": "Мое новое [Заклинание Резонанса](entry://enchanting/enchantments/resonance) наконец позволило мне заставить спаунеры выпадать. Смотрите, что я здесь получил!\\\nХотя я еще не выяснил, как создать эти конструкции сам, я начинаю чувствовать себя уверенно, изменяя их свойства в свою пользу, благодаря [Духовному Инсталлятору](entry://creating_life/spirit_instiller).\\\n*Это будет круто.*", + "book.spectrum.guidebook.spawner_manipulation.page1.text": "Основываясь на моем способе [воспоминания о Воспоминаниях](entry://creating_life/memories), я могу изменить ассоциацию существа спаунера, заставляя его порождать другой тип существа.", + "book.spectrum.guidebook.spawner_manipulation.page1.title": "Изменение Существа", + "book.spectrum.guidebook.spawner_manipulation.page2.text": "Увеличивает количество существ, вызываемых с каждым циклом спауна.", + "book.spectrum.guidebook.spawner_manipulation.page2.title": "Количество Спауна", + "book.spectrum.guidebook.spawner_manipulation.page3.text": "Снижает как минимальную, так и максимальную задержку спауна.", + "book.spectrum.guidebook.spawner_manipulation.page3.title": "Задержка Спауна", + "book.spectrum.guidebook.spawner_manipulation.page4.text": "Спаунеры, похоже, естественным образом останавливаются в создании существ, когда вокруг них много существ. Почти как будто они хотят дать мне шанс. *Печально, не так ли? Как будто мне это нужно.*\\\nЭта модификация увеличивает количество существ, которые могут находиться рядом со спаунером.", + "book.spectrum.guidebook.spawner_manipulation.page4.title": "Критерии Призывов", + "book.spectrum.guidebook.spawner_manipulation.page5.text": "Увеличивает расстояние, на котором я могу находиться от спаунера, и он все еще будет работать.", + "book.spectrum.guidebook.spawner_manipulation.page5.title": "Дальность Активации", + "book.spectrum.guidebook.spirit_instiller.page0.text": "Со всеми знаниями, которые я собрал, я создал **Духовный Инсталлятор**. Я специально разработал его для комбинирования энергий двух предметов с помощью третьего объекта для их связывания.\\\nКак и другие, Духовный Инсталлятор нуждается в фокусирующей структуре для работы. Чтобы вращать голограмму структуры в нужном направлении, я могу щелкнуть по Духовному Инсталлятору, когда он установлен.", + "book.spectrum.guidebook.spirit_instiller.page1.text": "Практически духовный процесс, отсюда и название.", + "book.spectrum.guidebook.spirit_instiller.page2.text": "Размеры: 8x9x5 блоков\\\nЕго можно улучшить, разместив [Улучшения](entry://magical_blocks/upgrades) на двух [#](bb00bb)Обработанных Блоках Оникса[#]().", + "book.spectrum.guidebook.spirit_instiller.page3.text": "- 1 Духовный Инсталлятор\\\n- 2 Чаши для Предметов\\\n- 2 Полированных Блока с Насечками\\\n- 2 Обработанных Полированных Блока\\\n- 2 Обработанных Блока Оникса\\\n- 6 Полированных Столбов\\\n- 17 Полированных Плит\\\n- 41 Полированный Блок\\\n- 2 Драгоценных Звонка", + "book.spectrum.guidebook.spirit_instiller_recipe": "Рецепт Духовного Инсталлятора", + "book.spectrum.guidebook.stacking_effect": "Эффект Стакабельности", + "book.spectrum.guidebook.staff_of_remembrance.page0.text": "*Один, чтобы править всеми*\\\n...ну, вежливо, конечно.\\\n\\\nПосох Памяти позволяет мне легко перемещать моих животных как на короткие, так и на длинные расстояния.", + "book.spectrum.guidebook.staff_of_remembrance.page1.text": "Прикосновение к животным собирает их в [Память](entry://creating_life/memories).", + "book.spectrum.guidebook.star_candy.page0.text": "Выпеченный [Звездный Порошок](entry://general/stargazing@stardust) имеет странно освежающий вкус - магия заставила мой язык покалывать, когда небесная конфета растворялась во рту, и я почувствовал себя странно здоровым после этого. Его твердая золотистая мякоть имеет несколько пурпурных пятнышек, которые мерцают как осколки звезд.\\\n\\\n*Я давно перестал спрашивать себя, почему я пробую все, что встречаю.*", + "book.spectrum.guidebook.star_candy.page1.text": "Может быть, эти пятнышки являются источником его восстанавливающих свойств? Интересно, возможно ли создать полностью пурпурный вариант.", + "book.spectrum.guidebook.star_candy.page2.text": "Вот это действительно вкусно!\\\nПросто прикосновение к этим полоскам с звездами дало мне такое же покалывающее ощущение, как будто я съел целую конфету раньше.", + "book.spectrum.guidebook.star_candy.page2.title": "Редкая находка", + "book.spectrum.guidebook.stargazing.name": "Наблюдение за звездами", + "book.spectrum.guidebook.stargazing.page0.text": "Спокойствие ночи часто приглашает меня лечь на траву и смотреть на звезды.", + "book.spectrum.guidebook.stargazing.page0.title": "Загадывание желания на звезде", + "book.spectrum.guidebook.stargazing.page1.text": "Маленькие Метеоры сделаны из материала, который мне до сих пор неизвестен.\\\n\\\nМогу ли я поймать один прямо с неба?\\\n\\\n*Я уверен, что их легче заметить, когда я использую Телескоп или Ночное Видение.*", + "book.spectrum.guidebook.stargazing.page1.title": "Метеоры", + "book.spectrum.guidebook.stargazing.page2.text": "Теперь, когда я собрал все варианты, пора расслабиться! Закаленные с Алмазом, звезды больше не будут разрушаться при ударе.\\\n\\\n*Хотите провести турнир по Звездным Мячам с друзьями?*", + "book.spectrum.guidebook.stargazing.page2.title": "Закаливание звезд", + "book.spectrum.guidebook.stargazing.page3.text": "Метеоры дают ценные ресурсы: Звездный Фрагмент, Звездный Порошок и множество других редких материалов.\\\n\\\nСобирая Метеор, присев и [раздавив его с помощью Наковальни](entry://general/item_crushing), я получу двойное количество Звездных Фрагментов, хотя это обойдется в другие дропы.", + "book.spectrum.guidebook.stargazing.page3.title": "Звездные Фрагменты", + "book.spectrum.guidebook.stargazing.page4.text": "Порошок неизвестного происхождения, благословленный душой звезд.\\\nОбладает скрытой силой.", + "book.spectrum.guidebook.steadfast.page0.text": "Зная себя, я создам идеальный инструмент, только чтобы он упал в Лаву через пять минут в момент рассеянности. А затем есть измерение Эндера, которое строго наказывает за любые ошибки.\\\n\\\nЭто новое заклинание защитит мои любимые инструменты в случае мозгового срыва (включая случайное бросание о кактус).", + "book.spectrum.guidebook.steadfast.page1.text": "Защищает инструменты от повреждений, когда они находятся на земле, даже от Лавы или падения в Бездну.\\\n\\\nМаксимальный уровень: 1\\\nПрименимо ко всем инструментам.", + "book.spectrum.guidebook.stiffness.page0.text": "[#](449900)Уменьшает мою скорость атаки[#]() с каждым уровнем.", + "book.spectrum.guidebook.storage_node.name": "Узел Хранения", + "book.spectrum.guidebook.storage_node.page0.text": "Узел Хранения показывает свою наибольшую полезность в сочетании с [Отправляющими Узлами](entry://pastel_network/sender_node) (будет отправлять к нему), [Собирающими Узлами](entry://pastel_network/gather_node) и [Буферными Узлами](entry://pastel_network/buffer_node) (будет забирать из него).\\\n\\\nЕго [#](449900)фильтр[#]() позволяет мне указать, какие предметы он будет получать и предоставлять. Пустой фильтр делает подключенный инвентарь общим хранилищем для всех типов предметов.", + "book.spectrum.guidebook.storm_stones.name": "Штормовые Камни", + "book.spectrum.guidebook.storm_stones.page0.text": "Штормы — это мощное проявление Матери Природы.\\\nИспользуя [Убежище Слияния](entry://general/fusion_shrine), я даже вызвал один, когда создавал [некоторые мощные ресурсы](entry://general/onyx_shards).\\\n\\\nНет сомнений, что я найду что-то связанное с ними, что поможет мне в моем путешествии.", + "book.spectrum.guidebook.storm_stones.page0.title": "Гроза", + "book.spectrum.guidebook.storm_stones.page1.text": "Я выкопал из земли эти камни, которые вибрируют в моей руке с едва сдерживаемой энергией, оставленной молнией.\\\nИспользуя их в [Убежище Слияния](entry://general/fusion_shrine), я могу легко вызвать еще одну грозу.\\\n\\\n*Из-за их нестабильной природы они не очень хорошо реагируют на взрывы...*", + "book.spectrum.guidebook.stratine.name": "Стратин", + "book.spectrum.guidebook.stratine.page0.text": "Этот очень тяжелый рудный материал разбросан по глубинам Нижнего мира.\\\nВероятно, не лучшая идея брать с собой большие объемы сразу.", + "book.spectrum.guidebook.stratine.page2.text": "Стратин — как я уже обнаружил — это исключительно тяжелый материал. И его трудно формировать. Даже пылающая жара Нижнего мира ему не повредила.\\\n\\\nОднако формирование его с помощью моего [Пьедестала](entry://general/pedestal) не должно быть проблемой.", + "book.spectrum.guidebook.stratine.page3.text": "*Тяжелый металл*", + "book.spectrum.guidebook.suspicious_brew.page0.text": "Любопытно, что сочетание грибов и воды является идеальным сосудом для всевозможных цветочных нот — либо сглаживая вкус, либо создавая... очень необычные.\\\n\\\nКаждый цветок имеет специфический эффект, как будто я кормлю его [#](449900)Коричневой Мушромой[#]().", + "book.spectrum.guidebook.suspicious_brew.page1.text": "Процесс ферментации в цветном дереве делает эффект довольно длительным по сравнению с [](item://minecraft:suspicious_stew).", + "book.spectrum.guidebook.swiftness.page0.text": "[#](449900)Увеличивает мою скорость атаки[#]() с каждым уровнем.", + "book.spectrum.guidebook.take_off_belt.page0.text": "Восхождение на горы или в неправильно сформированные пещеры занимает много времени. Если я не вижу способа забраться на неровный выступ, мне приходилось вырезать путь в скале - до сих пор!\\\nС моим новым ремнем я способен преодолевать большие вертикальные расстояния, экономя время и сохраняя красивую природу от разрушения.", + "book.spectrum.guidebook.take_off_belt.page1.text": "Приседайте, чтобы зарядить высокий прыжок, становясь мощнее с каждым зарядом.\\\n\\\n*Хотя название подразумевает это, пожалуйста, не снимайте его.*", + "book.spectrum.guidebook.take_off_belt.page2.text": "Дополнительно увеличивает высоту прыжка.", + "book.spectrum.guidebook.take_off_belt.page3.text": "Даст мне короткий эффект медленного падения, позволяя лучше ориентироваться, куда приземлиться. Высокий уровень Падения Перышка может быть разумным способом безопасно спуститься с этих утесов.", + "book.spectrum.guidebook.tarts.name": "Тарты", + "book.spectrum.guidebook.tarts.page0.text": "Хотя я не самый искусный повар, даже этот примитивный тарт вкусен!\\\n\\\nЯ могу дополнительно украсить его различными начинками, чтобы предоставить мне [#](449900)защитные способности[#]() на короткий срок.", + "book.spectrum.guidebook.tarts.page3.text": "Позволяет мне видеть и плавать в лаве так, как если бы это была вода.\\\nТем не менее, это не делает меня иммунным к огню.", + "book.spectrum.guidebook.tarts.page4.text": "Позволяет мне плавать со скоростью света и значительно увеличивает скорость подводной добычи.", + "book.spectrum.guidebook.tarts.page5.text": "Заставляет меня чувствовать себя хорошо отдохнувшим, как после хорошего сна. Прогоняет существа ночных кошмаров.", + "book.spectrum.guidebook.tarts.page6.text": "Даёт мне небольшой шанс, что снаряды просто отскочат от меня.", + "book.spectrum.guidebook.the_art_of_brewing.drinking_age.button_text": "Я подтверждаю", + "book.spectrum.guidebook.the_art_of_brewing.drinking_age.button_text_confirmed": "Подтверждено ✔️", + "book.spectrum.guidebook.the_art_of_brewing.drinking_age.text": "Титрационный Бочонок способен варить алкогольные напитки. Если вам исполнилось 18 лет в вашей стране и вы хотите ознакомиться с рецептами, упоминающими алкоголь, вы можете нажать кнопку ниже, чтобы разблокировать эти рецепты.\\\nЕсли нет, не переживайте — вы ничего важного не пропустите.", + "book.spectrum.guidebook.the_art_of_brewing.drinking_age.title": "Вопрос безопасности", + "book.spectrum.guidebook.the_art_of_brewing.name": "Искусство варки", + "book.spectrum.guidebook.the_art_of_brewing.page0.text": "Ферментация — это очень естественный процесс — вещи требуют времени и заботы. Поскольку никогда не бывает полностью контролируемой среды, существует множество переменных.\\\nЯ могу следовать рецепту точно, или немного поэкспериментировать. Ферментация — это искусство!", + "book.spectrum.guidebook.the_art_of_brewing.page1.text": "- Время: Бочке нужно время, чтобы повлиять на содержимое. Большинство напитков будут развивать более интенсивные и даже дополнительные эффекты, если им дать больше времени, чем строго необходимо.\\\n- Температура: Чем горячее, тем больше драгоценного содержимого просто испарится со временем. Это называется долей ангела.", + "book.spectrum.guidebook.the_art_of_brewing.page1.title": "Влияния извне", + "book.spectrum.guidebook.the_art_of_brewing.page2.text": "- Влажность: Чем более влажный воздух, тем больше воды будет испаряться по сравнению с алкоголем, делая напиток крепче.\\\n- Доля воды: Более высокий коэффициент ингредиентов к воде — это тонкий баланс, но с ним можно поиграть. Более высокая густота ускоряет ферментацию напитка, хотя это может привести к более коротким эффектам.", + "book.spectrum.guidebook.the_perfect_compound.description": "Мой финальный шедевр", + "book.spectrum.guidebook.the_perfect_compound.name": "Совершенное соединение?", + "book.spectrum.guidebook.the_perfect_compound.page0.text": "Результаты моего последнего эксперимента заставляют меня жаждать большего: сколько силы я смогу извлечь из этих драгоценных камней?\\\nЯ уверен, что есть больше, и Неолит должен стать моими воротами! С такой согласованностью он может позволить мне объединить силы всех камней в одном. Этот реликт станет завершающим штрихом моего творения, моим личным философским камнем, сделав меня живым богом!", + "book.spectrum.guidebook.the_perfect_compound.page1.text": "Требуется дневное время и ясное небо.\\\n\\\nСлияние этих магических энергий нагрузит мой Храм Слияния как никогда прежде — с показом, который соответствует этому. Лучше убедиться, что он и блоки вокруг него укреплены и изолированы.", + "book.spectrum.guidebook.tight_grip.page0.text": "Кажется, это была лихорадочная мечта, когда я помню, как мог наносить удары оружием быстрее, чем мог думать. В наши дни каждый удар стоит мне столько энергии, что мне нужно делать паузу.\\\n*Может быть, я старею.*\\\n\\\nС несколькими изменениями в моем оружии я могу немного сократить это время ожидания.", + "book.spectrum.guidebook.tight_grip.page1.text": "Уменьшает время перезарядки атаки.\\\n\\\nМаксимальный уровень: 2\\\nПрименимо к рукопашному оружию.", + "book.spectrum.guidebook.titration_barrel.le_fishe_au_chocolat.text": "*Это определенно что-то.*", + "book.spectrum.guidebook.titration_barrel.page0.text": "Идея ферментации еды и напитков в Цветном Древе не была далека.\\\nСо временем свойства дерева влияют на содержимое. Результаты иногда более вкусные, иногда менее вкусные (хотя последнее может быть связано с моими кулинарными навыками), но всегда интересные.\\\n\\\nБочка вмещает до стака предметов и одного ведра жидкости.", + "book.spectrum.guidebook.titration_barrel.page1.text": "*Иногда кажется, что когда я моргаю, мир перестает существовать? Каждый раз, когда процесс ферментации в бочке кажется продвинутым.*", + "book.spectrum.guidebook.titration_barrel.page2.text": "Ферментация полезна не только для напитков! Кимчи, приготовленное из 3 разных овощей, является сытным блюдом, которое лучше всего подавать в качестве гарнира.", + "book.spectrum.guidebook.titration_barrel.page3.text": "Это занимает немного времени, но более эффективно, чем просто смешивание ингредиентов.", + "book.spectrum.guidebook.titration_barrel.page4.text": "Слегка ферментированный, он сохраняет свойства молока. Его употребление в пищу снимет все текущие эффекты состояния.", + "book.spectrum.guidebook.titration_barrel.page5.text": "Отличный перекус. Откусываю кусочек быстро и даже чувствую себя достаточно сытым.\\\nПриятный сладкий и фруктовый вкус.", + "book.spectrum.guidebook.titration_barrel.page6.text": "Изысканное сочетание вкусов, от одной мысли о котором у меня слюнки текут.", + "book.spectrum.guidebook.titration_barrel.page7.text": "Идеально подходит для отдыха и освежения в холодное время года.", + "book.spectrum.guidebook.titration_recipe": "Рецепт титрования", + "book.spectrum.guidebook.totem_pendant.page0.text": "[#](bb00bb)Тотемы Бессмертия[#](), несмотря на свою силу, имеют существенный недостаток, заключающийся в том, что я должен постоянно держать их в руке.\\\n\\\n Используя защитные свойства [синего пигмента](entry://general/pigment@blue) в качестве фокуса, я могу сохранять спасительный эффект тотема активным даже при ношении на шее.", + "book.spectrum.guidebook.totem_pendant.page1.text": "Одноразовая защита от смерти. При срабатывании превращается в пыль.", + "book.spectrum.guidebook.toughness.page0.text": "[#](449900)Ослабил мощные атаки[#](), которые поразили меня.\\\nНесмотря на то, что он был великолепен против одиночных смертельных ударов, он мало что мог сделать против множества мелких атак.", + "book.spectrum.guidebook.treasure_hunter.page0.text": "Недавно я закончил картину, на которой изображено фантастическое существо, появившееся в моих снах: по-видимому, оно сделано из [#](bb00bb)Песка души[#]() и [#](bb00bb)Черепов визер скелетов[#](). Я прождал в Незерской крепость крепости несколько часов, пытаясь воссоздать ее, только для того, чтобы чуть не лишиться собственной головы, пока искал Визер скелета с достаточно расшатанным позвоночником, чтобы у него выпал череп.", + "book.spectrum.guidebook.treasure_hunter.page1.text": "Тогда я вспомнил о Криперах! После попадания молнии они взрываются с такой силой, что сносят головы своим врагам прямо с шеи (в худшем случае - с моей).\\\nЧтобы повторить это, я придумал заклинание, использующее Штормовые камни.\\\nИ вот родился Охотник за сокровищами, который позволил мне собирать всевозможные головы мобов.", + "book.spectrum.guidebook.treasure_hunter.page1.title": "Получение голов мобов", + "book.spectrum.guidebook.treasure_hunter.page2.text": "Время от времени при убийстве выпадают головы мобов.\\\n\\\nМаксимальный уровень: 3\\\n. Применимо к топорам и оружию ближнего боя.\\\nНа мародерство действует эксклюзивно.", + "book.spectrum.guidebook.trifles.name": "Мелочи", + "book.spectrum.guidebook.trifles.page0.text": "Сладкие деликатесы, которые, в зависимости от начинки, гарантированно доставят мне не только удовольствие.\\\nПриготовлено из Джарамеля[#](449900), желатина[#]() и амаранта.\\\n\\\n* Даже самое простое блюдо имеет прекрасный вкус!*", + "book.spectrum.guidebook.trifles.page3.text": "Дает случайные эффекты. Хочу ли я сыграть в азартную игру?", + "book.spectrum.guidebook.tuning_stamp.name": "Настраивающий штамп", + "book.spectrum.guidebook.tuning_stamp.page0.text": "Важной частью управления сетью является возможность точной настройки того, где и как все происходит. Этот кристальный штамп позволяет мне вручную добавлять и удалять пастельные узлы из сетей.\\\n\\\n[#](449900)Повторите[#]() ранее существовавшее подключение, чтобы разорвать его.\\\n[#](449900)Щелкните правой кнопкой мыши [#](), чтобы удалить все подключения.", + "book.spectrum.guidebook.tuning_stamp.page1.text": "*Как еще я мог бы их соединить? Они же не будут автоматически соединяться сами по себе, это было бы глупо!*", + "book.spectrum.guidebook.turn_back_to_polished": "Применяя тепло, все блоки могут быть возвращены в их полированное состояние.", + "book.spectrum.guidebook.two_upgrade_slots": "2 слота для улучшений", + "book.spectrum.guidebook.universe_spyhole.page0.text": "Творения, которые [Сияющий Эндер](entry://general/radiating_ender) позволяют мне создавать, никогда не перестают меня удивлять.\\\n\\\nУстановленный прямо на стене или на земле, этот странный блок позволяет мне заглянуть на другую сторону, открывая мне системы пещер и структуры... или увидеть небо, если я под землей!", + "book.spectrum.guidebook.universe_spyhole.page1.text": "*Теперь я вижу, что ты сделал это*", + "book.spectrum.guidebook.upgrades.name": "Улучшения Структур", + "book.spectrum.guidebook.upgrades.page0.text": "Педестал Пигмента и Алтарь Слияния уже доказали свою ценность. Но всегда есть место для улучшений. Вот почему я создал эти улучшения. Каждое из них улучшает свойства моих структур по-разному.\\\n\\\nДополнительные улучшения одного типа имеют уменьшенный эффект.", + "book.spectrum.guidebook.upgrades.page1.text": "Время создания резко возросло в последнее время, в основном из-за более сложных компонентов. Это поможет мне вернуть время к приемлемому уровню.", + "book.spectrum.guidebook.upgrades.page2.text": "Ускоритель Педестала T2 улучшает своего предшественника. Делая создание еще более быстрым.", + "book.spectrum.guidebook.upgrades.page3.text": "Уровень 3 не оставляет желать лучшего - по крайней мере, с точки зрения скорости крафта.", + "book.spectrum.guidebook.upgrades.page4.text": "Количество опыта, который я получаю от крафта, зачастую незначительно. Но с этим Фокусом я могу значительно его увеличить.", + "book.spectrum.guidebook.upgrades.page5.text": "Этот улучшенный Фокус Знания еще больше увеличивает опыт крафта.", + "book.spectrum.guidebook.upgrades.page6.text": "Позволяет мне немного смягчить потребление моих структур.", + "book.spectrum.guidebook.upgrades.page7.text": "Этот 'апгрейд апгрейда' еще больше снижает использование входных материалов.", + "book.spectrum.guidebook.upgrades.page8.text": "Хотя шанс очень мал, я могу увеличить результаты от крафта!\\\n*Больше пользы за мои деньги!*", + "book.spectrum.guidebook.upgrades.page9.text": "Эта улучшенная версия гораздо мощнее и имеет еще больший шанс увеличить выход крафта.", + "book.spectrum.guidebook.upgrading.text": "Переход с уровня I на уровень II довольно дешев в начале.\\\nЭта цена быстро увеличится до большего количества [Пигмента](entry://general/pigment) и опыта за каждый дополнительный уровень.", + "book.spectrum.guidebook.upgrading_enchanted_books.name": "Улучшение книг", + "book.spectrum.guidebook.upgrading_enchanted_books.page0.text": "Зачарования и Цветная Магия имеют много общего. Поэтому я не удивился, когда моя первая попытка объединить [#](bb00bb)Зачарованные Книги[#]() с [Пигментом](entry://general/pigment) оказалась мгновенно успешной.[#]()\\\n\\\nПоместив [#](bb00bb)Зачарованную Книгу[#]() на [Зачарователь](entry://enchanting/enchanter), окружив ее соответствующим [Пигментом](entry://general/pigment) и обеспечивая постоянный поток опыта, можно повысить уровень книги.", + "book.spectrum.guidebook.upgrading_enchanted_books.page1.text": "Прерывание этого процесса полностью остановит его.", + "book.spectrum.guidebook.use_in_potion_workshop_bottle_slot": "Используйте [Мастерскую Зелий](entry://brewing/potion_workshop) для инфузии, разместив ее там, где обычно находится [#](bb00bb)Бутылка[#]().\\\n\\\nЧтобы очистить ее эффект, положите ее в сетку крафта.", + "book.spectrum.guidebook.vanilla_enchantments.name": "Ванильные зачарования", + "book.spectrum.guidebook.vanilla_enchantments.page0.text": "Зачарователь также способен создавать большинство зачарований, с которыми я уже знаком.\\\n\\\nЭти Зачарования могут быть улучшены до более высоких уровней, используя тот же [Пигмент](entry://general/pigment), который использовался для их создания.", + "book.spectrum.guidebook.vegetal.page0.text": "Ответом, казалось, были органические вещества! Действительно легко усваиваемые. В ретроспективе это довольно очевидно...\\\nКогда они были переварены организмом, они создали интересный побочный продукт, который я назвал Вегеталь, представляющий собой **сырьевую энергию природы**.\\\n\\\nЯ уверен, что это будет очень полезно мне в будущем.", + "book.spectrum.guidebook.vulnerability.page0.text": "[#](449900)Увеличенный входящий урон[#]() с каждым дополнительным уровнем.", + "book.spectrum.guidebook.weather_detector.page0.text": "Цитрин очень чувствителен к энергиям, высвобождаемым во время шторма.\\\n\\\nПри воздействии дождя или грозы он излучает [#](449900)редстоун сигнал[#]().", + "book.spectrum.guidebook.weather_detector.page1.text": "Дождь даст сигнал силы 8, грозы — полный 15.", + "book.spectrum.guidebook.weather_manipulation.name": "Манипуляция погодой", + "book.spectrum.guidebook.weather_manipulation.page0.text": "Я хотел бы отметить одно наблюдение:\\\nОкружающая среда влияет на [Алтарь Слияния](entry://general/fusion_shrine), но я также заметил, что [Алтарь Слияния](entry://general/fusion_shrine) влияет на свое окружение!\\\n\\\nС правильной комбинацией материалов я могу влиять на погоду.", + "book.spectrum.guidebook.weather_manipulation.page1.text": "*Это новый день\\\nИ солнце высоко\\\nВсе птицы поют\\\nЧто ты умрешь*", + "book.spectrum.guidebook.weather_manipulation.page1.title": "Солнечная погода", + "book.spectrum.guidebook.weather_manipulation.page2.text": "*Тук-тук\\\nКто там?\\\nАккордеон\\\nАккордеон кто?\\\nСогласно прогнозу, сегодня ночью будет дождь.*", + "book.spectrum.guidebook.weather_manipulation.page2.title": "Дождливая погода", + "book.spectrum.guidebook.weather_manipulation.page3.text": "*Почему бог грома пил воду?\\\n\\\nПотому что он был жаждущим.*", + "book.spectrum.guidebook.weather_manipulation.page3.title": "Гроза", + "book.spectrum.guidebook.weeping_circlet.page0.text": "Эти враждебные подводные храмы — настоящий ад для маневрирования. Совпадение, но я наткнулся на [#](bb00bb)Сердце Моря[#]().\\\nЭтот венец, который я создал с его помощью, позволяет мне жить под водой так, как будто это самое естественное дело на свете. Я добываю ресурсы и плаваю быстрее, не нуждаюсь в воздухе и вижу лучше.\\\n\\\nОн также исцеляет моих маленьких друзей-аксолотлей рядом. ♥️", + "book.spectrum.guidebook.weeping_circlet.page1.text": "*Хотел ли я когда-либо жить под водой?\\\nНет? Как бы там ни было, теперь я могу! Время построить подводную базу!*", + "book.spectrum.guidebook.weeping_gala.amphora.text": "Вмещает в два раза больше, чем бочка", + "book.spectrum.guidebook.weeping_gala.barrel.text": "Компактное хранение предметов", + "book.spectrum.guidebook.weeping_gala.lamp.text": "Излучает свет, если получает сигнал от редстоуна", + "book.spectrum.guidebook.weeping_gala.lantern.text": "Я сделал две варианта. Я могу переключаться между ними, приседая во время установки.", + "book.spectrum.guidebook.weeping_gala.light.text": "Яркий, как может быть", + "book.spectrum.guidebook.weeping_gala.name": "Плачущие Галы", + "book.spectrum.guidebook.weeping_gala.page0.text": "Внушительные ивы, украшенные бледными листьями. Их ветви плачут липкой, сладкой смолой, которую можно использовать в качестве заменителя [Молока](item://minecraft:milk_bucket).\\\n\\\nИнтересно, как они вырастают такими большими, если их листья даже не содержат хлорофилла.", + "book.spectrum.guidebook.weeping_gala.page1.text": "*Гала... молочное дерево... подожди - ГАЛАКТОЗ!*", + "book.spectrum.guidebook.weeping_gala.pillar.text": "*изящный*", + "book.spectrum.guidebook.what_happened.name": "Что произошло там?", + "book.spectrum.guidebook.what_happened.page0.text": "*Отслеживая историю \"Глубже вниз\".*\\\n\\\nНет сомнений, что, несмотря на отсутствие света, здесь когда-то существовала высокоразвитая цивилизация. Но все, что я нашел, это руины.\\\nЧто произошло? Уверен, я смогу найти подсказки о их местонахождении. Погибель? Наследие?", + "book.spectrum.guidebook.what_happened.page1.checklist.entry0": "Есть ли место, которое я еще не исследовал?", + "book.spectrum.guidebook.what_happened.page1.checklist.entry1": "Теперь, когда базальт больше не дно, *что* здесь есть?", + "book.spectrum.guidebook.what_happened.page1.checklist.entry2": "Как были созданы руины, которые я нашел в Верхнем мире?", + "book.spectrum.guidebook.what_happened.page2.checklist.entry0": "Как возник черный Лангаст?", + "book.spectrum.guidebook.what_happened.page2.checklist.entry1": "Те кости в болотах Драконьей гнили... могут ли они быть сломаны?", + "book.spectrum.guidebook.what_happened.page2.checklist.entry2": "Что насчет тех странных кристаллов в Кристальных садах?", + "book.spectrum.guidebook.what_happened.page2.checklist.entry3": "Могу ли я найти геоды и здесь?", + "book.spectrum.guidebook.what_happened.page3.text": "Я искал вдали и повсюду место, которое мог бы пропустить. Но куда бы я ни смотрел, ни души на горизонте.", + "book.spectrum.guidebook.what_happened.page3.title": "Подсказка: Биомы", + "book.spectrum.guidebook.what_happened.page4.text": "Это как черепахи до самого дна, не так ли? Еще мгновение назад я думал, что базальт неразрушим, а вот я здесь. Неразрушимый? Возможно. По крайней мере, пока.", + "book.spectrum.guidebook.what_happened.page4.title": "Подсказка: Пол измерения", + "book.spectrum.guidebook.what_happened.page5.text": "Очевидно, что Дауностон не был полностью неразрушим для предыдущих обитателей? Это потребовало огромных высокотехнологичных конструкций, но они смогли обработать камень и переработать его в то, что я называю \"Камень Сохранения\".", + "book.spectrum.guidebook.what_happened.page5.title": "Подсказка: Раскопки", + "book.spectrum.guidebook.what_happened.page6.text": "Остатки, растущие в [Черном Лангасте](entry://dimension/black_langast), когда-то были Резонирующими Лилиями. Что здесь произошло? Значит ли это...", + "book.spectrum.guidebook.what_happened.page6.title": "Подсказка: Черный Лангаст", + "book.spectrum.guidebook.what_happened.page7.text": "Я продолжаю наталкиваться на гигантские скелеты. Были ли они действительно драконами, еще написано на звездах, но кем бы они ни были, они определенно были могущественными. Уничтожили ли они жителей и затем как-то встретили свою собственную гибель?", + "book.spectrum.guidebook.what_happened.page7.title": "Подсказка: Драконий Кость", + "book.spectrum.guidebook.what_happened.page8.text": "Буквально гудящие камни с большим количеством внутренней энергии. При взаимодействии они трясутся друг о друга, пока не разбиваются без дальнейшего внешнего воздействия. Можно использовать как источник энергии?", + "book.spectrum.guidebook.what_happened.page8.title": "Подсказка: Гудящий Камень", + "book.spectrum.guidebook.what_happened.page9.text": "Сияющие белые геоды здесь не похожи ни на что, что я видел прежде, и обладают огромной магической силой. Но почему они существуют только здесь? Еще больше вопросов...", + "book.spectrum.guidebook.what_happened.page9.title": "Подсказка: Лунный Камень", + "book.spectrum.guidebook.whispy_circlet.page0.text": "Мешки под глазами — это не единственное доказательство моей недавней бессонницы. Есть эти существа, которые появились прямо из кошмаров, которые я пропустил — почти так, как будто они чувствуют себя обманутыми.\\\n\\\nКонтрмеры: Это проявление расслабления, без необходимости спать.", + "book.spectrum.guidebook.whispy_circlet.page1.text": "После всего нескольких минут ношения я чувствую себя физически и умственно обновленным и быстрее восстанавливаюсь от любых негативных эффектов.\\\n\\\n*Удовольствия хорошего сна.*", + + "lore.spectrum.time_travel_tap": "Достойный путешественника во времени", + "multiblock.spectrum.abyssal_vines": "Глубоководные лозы", + "multiblock.spectrum.alloy_forgery.basalt_alloy_forge": "Базальтовая кузня", + "multiblock.spectrum.alloy_forgery.blackslag_alloy_forge": "Чёрношлаковая кузня", + "multiblock.spectrum.alloy_forgery.bone_ash_alloy_forge": "Костяная кузня", + "multiblock.spectrum.alloy_forgery.calcite_alloy_forge": "Кальцитовая кузня", + "multiblock.spectrum.alloy_forgery.pyrite_alloy_forge": "Пиритовая кузня", + "multiblock.spectrum.alloy_forgery.shale_clay_alloy_forge": "Глиносланцевая кузня", + "multiblock.spectrum.amethyst_geode": "Жеода", + "multiblock.spectrum.cinderhearth": "Сердце пепла", + "multiblock.spectrum.enchanter": "Зачаровыватель", + "multiblock.spectrum.fusion_shrine": "Священное слияние", + "multiblock.spectrum.pedestal_advanced": "Спектрум храм", + "multiblock.spectrum.pedestal_complex": "Спектрум комплекс", + "multiblock.spectrum.pedestal_simple": "Фокус спектра", + "multiblock.spectrum.perturbed_eye_portal": "Восстановленный портал", + "multiblock.spectrum.spirit_instiller": "Вселенcкий дух", + + "recipe.spectrum.fusion_shrine.no_rgb.hint": "Откажитесь от своих методов CMYK", + "recipe.spectrum.pedestal.tier1.food.salted_jaramel_tart.hint": "Очень соленый пирог", + "recipe.spectrum.pedestal.tier1.food.salted_jaramel_trifle.hint": "Очень соленый трайфл", + "recipe.spectrum.potion_workshop_crafting.demon_tea_milk.hint": "Станьте завсегдатаем чая", + "recipe.spectrum.potion_workshop_crafting.glistering_jelly_tea_milk.hint": "Станьте завсегдатаем чая", + "recipe.spectrum.potion_workshop_crafting.golden_bristle_tea_milk.hint": "Станьте завсегдатаем чая", + "recipe.spectrum.potion_workshop_crafting.restoration_tea_milk.hint": "Станьте завсегдатаем чая", + + "recipe.spectrum.spirit_instiller.secret.chorus_flower.hint": "Эхо и резонанс", + "recipe.spectrum.spirit_instiller.secret.germinated_jade_vine_crossbreeding.hint": "Скрестите два растения", + + "signtext.spectrum.biohazard_ruin.2": "БИОЛОГИЧЕСКАЯ ОПАСНОСТЬ", + "signtext.spectrum.biohazard_ruin.3": "Руины", + "signtext.spectrum.biohazard_ruin.4": "8 Блоков", + "signtext.spectrum.seed_vault_danger.1": "STATE PROPERTY", + "signtext.spectrum.seed_vault_danger.2": "", + "signtext.spectrum.seed_vault_danger.3": "ОПАСНОСТЬ", + "signtext.spectrum.seed_vault_danger.4": "ЗАПРЕЩЕНО", + "signtext.spectrum.stall_to_let.1": "ЗАДЕРЖАТЬ, ЧТОБЫ ПОЗВОЛИТЬ", + "signtext.spectrum.stall_to_let.3": "12 Бамбука", + "signtext.spectrum.stall_to_let.4": "На весь день", + "signtext.spectrum.stall_to_let2.1": "ЗАДЕРЖАТЬ, ЧТОБЫ ПОЗВОЛИТЬ", + "signtext.spectrum.stall_to_let2.3": "5 Алмазов", + "signtext.spectrum.stall_to_let2.4": "На весь день", + "spectrum.gui.guidebook.reveal_hint_button.text": "Раскрыть подсказку ", + "spectrum.gui.guidebook.reveal_hint_button.tooltip.lacking_resource": "У вас нет платы в вашем инвентаре", + "spectrum.gui.guidebook.reveal_hint_button.tooltip.pay": "Заплатите небольшую плату, чтобы разблокировать подсказку", + "spectrum.ink.color": "%s краситель", + + "spectrum.ink.color.spectrum.black": "Черный", + "spectrum.ink.color.spectrum.blue": "Синий", + "spectrum.ink.color.spectrum.brown": "Коричневый", + "spectrum.ink.color.spectrum.cyan": "Бирюзовый", + "spectrum.ink.color.spectrum.gray": "Серый", + "spectrum.ink.color.spectrum.green": "Зеленый", + "spectrum.ink.color.spectrum.light_blue": "Голубой", + "spectrum.ink.color.spectrum.light_gray": "Светло-серый", + "spectrum.ink.color.spectrum.lime": "Салатовый", + "spectrum.ink.color.spectrum.magenta": "Пурпурный", + "spectrum.ink.color.spectrum.orange": "Оранжевый", + "spectrum.ink.color.spectrum.pink": "Розовый", + "spectrum.ink.color.spectrum.purple": "Фиолетовый", + "spectrum.ink.color.spectrum.red": "Красный", + "spectrum.ink.color.spectrum.white": "Белый", + "spectrum.ink.color.spectrum.yellow": "Желтый" } From fd0b1001dfcf7cc2bfdbafbb26fa80ed9618bec3 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 12:33:46 +0200 Subject: [PATCH 15/50] buff glass crest crossbow overcharge - 20 dmg uncharged, 40->60 when fully charged --- .../de/dafuqs/spectrum/items/tools/GlassCrestCrossbowItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/dafuqs/spectrum/items/tools/GlassCrestCrossbowItem.java b/src/main/java/de/dafuqs/spectrum/items/tools/GlassCrestCrossbowItem.java index a91f989974..fd984b79bc 100644 --- a/src/main/java/de/dafuqs/spectrum/items/tools/GlassCrestCrossbowItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/tools/GlassCrestCrossbowItem.java @@ -129,7 +129,7 @@ public void appendTooltip(ItemStack itemStack, @Nullable World world, List public float getProjectileVelocityModifier(ItemStack stack) { float parent = super.getProjectileVelocityModifier(stack); float overcharge = getOvercharge(stack); - return overcharge == 0 ? parent : parent * (1 + overcharge * 0.5F); + return overcharge == 0 ? parent : parent * (1 + overcharge * 0.75F); } @Override From dc9c93d757598e4812774ba122bdbdad48fd7a03 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 12:54:29 +0200 Subject: [PATCH 16/50] azure aura particle format --- .../particle/client/AzureAuraParticle.java | 47 +++++++++---------- 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java b/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java index d2a20f068d..1456e01ccd 100644 --- a/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java +++ b/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java @@ -8,15 +8,14 @@ import net.minecraft.util.math.*; import org.joml.*; -import java.lang.*; import java.lang.Math; @Environment(EnvType.CLIENT) public class AzureAuraParticle extends AbstractSlowingParticle { - + private final float alphaMult; private float length; - + protected AzureAuraParticle(ClientWorld clientWorld, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { super(clientWorld, x, y, z, velocityX, velocityY, velocityZ); this.maxAge = 160 + random.nextInt(140); @@ -28,47 +27,45 @@ protected AzureAuraParticle(ClientWorld clientWorld, double x, double y, double this.velocityY += this.length / 100; this.alpha = 0; this.collidesWithWorld = false; - + this.alphaMult = random.nextFloat() * 0.5F + 0.5F; - + this.blue = 1F; this.red = 0.15F * random.nextFloat(); this.green = 0.3F + random.nextFloat() * 0.55F; this.velocityMultiplier = 1; } - + @Override public void tick() { adjustAlpha(); super.tick(); } - + private void adjustAlpha() { var pos = BlockPos.ofFloored(x, y, z); if (age <= 20) { alpha = MathHelper.clamp(age / 20F, 0, alphaMult); return; } - + var fadeMarker = Math.min(maxAge / 5 * 2, 40); - var ageFade = MathHelper.clamp(Math.min(maxAge - age, fadeMarker) / (float) fadeMarker, 0, alphaMult);; - + var ageFade = MathHelper.clamp(Math.min(maxAge - age, fadeMarker) / (float) fadeMarker, 0, alphaMult); + if (ageFade < alphaMult) { alpha = Math.min(alpha, ageFade); - } - else if (!world.getBlockState(pos).isTransparent(world, pos)) { + } else if (!world.getBlockState(pos).isTransparent(world, pos)) { alpha = MathHelper.clamp(alpha - 0.06F, alphaMult / 10, alphaMult); - } - else { + } else { alpha = MathHelper.clamp(alpha + 0.0325F, 0F, alphaMult); } - - + + if (alpha < 0.01F) { markDead(); } } - + // Mildly cursed public void buildGeometry(VertexConsumer vertexConsumer, Camera camera, float tickDelta) { Vec3d vec3d = camera.getPos(); @@ -77,28 +74,28 @@ public void buildGeometry(VertexConsumer vertexConsumer, Camera camera, float ti float h = (float) (MathHelper.lerp(tickDelta, this.prevPosZ, this.z) - vec3d.getZ()); var xOffset = x - camera.getPos().x; var zOffset = z - camera.getPos().z; - + Quaternionf quaternionf = RotationAxis.POSITIVE_Y.rotation((float) MathHelper.atan2(xOffset, zOffset)); - + Vector3f[] vector3fs = new Vector3f[]{new Vector3f(-1.0F, -length, 0.0F), new Vector3f(-1.0F, length, 0.0F), new Vector3f(1.0F, length, 0.0F), new Vector3f(1.0F, -length, 0.0F)}; float i = this.getSize(tickDelta); - + for (int j = 0; j < 4; ++j) { Vector3f vector3f = vector3fs[j]; vector3f.rotate(quaternionf); vector3f.mul(i); vector3f.add(f, g, h); } - + float k = this.getMinU(); float l = this.getMaxU(); float m = this.getMinV(); float n = this.getMaxV(); int o = this.getBrightness(tickDelta); - vertexConsumer.vertex(vector3fs[0].x(), (double) vector3fs[0].y(), (double) vector3fs[0].z()).texture(l, n).color(this.red, this.green, this.blue, 0).light(o).next(); - vertexConsumer.vertex(vector3fs[1].x(), (double) vector3fs[1].y(), (double) vector3fs[1].z()).texture(l, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); - vertexConsumer.vertex(vector3fs[2].x(), (double) vector3fs[2].y(), (double) vector3fs[2].z()).texture(k, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); - vertexConsumer.vertex(vector3fs[3].x(), (double) vector3fs[3].y(), (double) vector3fs[3].z()).texture(k, n).color(this.red, this.green, this.blue, 0).light(o).next(); + vertexConsumer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).texture(l, n).color(this.red, this.green, this.blue, 0).light(o).next(); + vertexConsumer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).texture(l, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); + vertexConsumer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).texture(k, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); + vertexConsumer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).texture(k, n).color(this.red, this.green, this.blue, 0).light(o).next(); } @Override From de15cf47fef66428a86de4463b0febfd33bfd6b6 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 13:20:30 +0200 Subject: [PATCH 17/50] Particle stuffs --- .../inventories/ParticleSpawnerScreen.java | 23 ++++++++----------- .../particle/client/AzureAuraParticle.java | 4 ++-- .../spectrum_colorable/mirror_image.json | 6 +++++ 3 files changed, 17 insertions(+), 16 deletions(-) create mode 100644 src/main/resources/assets/spectrum/particle_spawner_particles/spectrum_colorable/mirror_image.json diff --git a/src/main/java/de/dafuqs/spectrum/inventories/ParticleSpawnerScreen.java b/src/main/java/de/dafuqs/spectrum/inventories/ParticleSpawnerScreen.java index 499842a957..375862cf09 100644 --- a/src/main/java/de/dafuqs/spectrum/inventories/ParticleSpawnerScreen.java +++ b/src/main/java/de/dafuqs/spectrum/inventories/ParticleSpawnerScreen.java @@ -43,7 +43,6 @@ public class ParticleSpawnerScreen extends HandledScreen= displayedParticleEntries.size()) { + return; + } ParticleSpawnerParticlesDataLoader.ParticleSpawnerEntry entry = displayedParticleEntries.get(newIndex); setColoringEnabled(entry.supportsColoring()); @@ -396,10 +403,6 @@ private void onTextBoxValueChanged(@NotNull String newValue) { onValuesChanged(); } - protected boolean isDecimalNumber(@NotNull String text) { - return text.matches("^(-)?\\d*+(?:\\.\\d*)?$"); - } - private boolean isPositiveDecimalNumberUnderThousand(String text) { try { return Double.parseDouble(text) < 1000; @@ -433,14 +436,6 @@ private boolean isPositiveDecimalNumberUnderTen(String text) { } } - protected boolean isPositiveDecimalNumber(@NotNull String text) { - return text.matches("^\\d*+(?:\\.\\d*)?$"); - } - - protected boolean isPositiveWholeNumber(@NotNull String text) { - return text.matches("^\\d*$"); - } - protected boolean isPositiveWholeNumberUnderThousand(@NotNull String text) { try { return Integer.parseInt(text) < 1000; diff --git a/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java b/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java index 1456e01ccd..75baf932af 100644 --- a/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java +++ b/src/main/java/de/dafuqs/spectrum/particle/client/AzureAuraParticle.java @@ -93,8 +93,8 @@ public void buildGeometry(VertexConsumer vertexConsumer, Camera camera, float ti float n = this.getMaxV(); int o = this.getBrightness(tickDelta); vertexConsumer.vertex(vector3fs[0].x(), vector3fs[0].y(), vector3fs[0].z()).texture(l, n).color(this.red, this.green, this.blue, 0).light(o).next(); - vertexConsumer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).texture(l, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); - vertexConsumer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).texture(k, m).color(this.red, this.green, this.blue, this.alpha).light(o).next(); + vertexConsumer.vertex(vector3fs[1].x(), vector3fs[1].y(), vector3fs[1].z()).texture(l, m).color(this.red, this.green, this.blue, 0).light(o).next(); + vertexConsumer.vertex(vector3fs[2].x(), vector3fs[2].y(), vector3fs[2].z()).texture(k, m).color(this.red, this.green, this.blue, 0).light(o).next(); vertexConsumer.vertex(vector3fs[3].x(), vector3fs[3].y(), vector3fs[3].z()).texture(k, n).color(this.red, this.green, this.blue, 0).light(o).next(); } diff --git a/src/main/resources/assets/spectrum/particle_spawner_particles/spectrum_colorable/mirror_image.json b/src/main/resources/assets/spectrum/particle_spawner_particles/spectrum_colorable/mirror_image.json new file mode 100644 index 0000000000..34e4bb7423 --- /dev/null +++ b/src/main/resources/assets/spectrum/particle_spawner_particles/spectrum_colorable/mirror_image.json @@ -0,0 +1,6 @@ +{ + "particle_type": "spectrum:mirror_image", + "gui_texture": "spectrum:mirror_image", + "unlock_identifier": "spectrum:midgame/enter_liquid_crystal", + "supports_coloring": true +} \ No newline at end of file From 2e5d0f3b1f43afdd9517c0edd075f06a5adbda7c Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 14:11:04 +0200 Subject: [PATCH 18/50] Made Neolith the shrouding reagent --- src/main/resources/assets/spectrum/lang/en_us.json | 8 ++++---- src/main/resources/assets/spectrum/lang/pt_br.json | 4 ++-- src/main/resources/assets/spectrum/lang/ru_ru.json | 4 ++-- .../entries/brewing/potion_workshop_reagents.json | 4 ++-- .../recipes/potion_workshop_reacting/neolith.json | 2 +- .../recipes/potion_workshop_reacting/onyx_powder.json | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index ad960a9b64..54b10d77d3 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -3501,7 +3501,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page19.text": "- large boost to a random stat", "book.spectrum.guidebook.potion_workshop_reagents.page2.text": "- +100%% duration", "book.spectrum.guidebook.potion_workshop_reagents.page20.text": "- +200%% duration\n- -25%% potency", - "book.spectrum.guidebook.potion_workshop_reagents.page21.text": "- +2 yield", + "book.spectrum.guidebook.potion_workshop_reagents.onyx_powder.text": "- +2 yield", "book.spectrum.guidebook.potion_workshop_reagents.page22.text": "- +1 potency\n- +30s duration\n- -2 yield", "book.spectrum.guidebook.potion_workshop_reagents.page23.text": "- makes the potion much smoother, making it much quicker to drink", "book.spectrum.guidebook.potion_workshop_reagents.page24.text": "- +50%% potency\n- -75%% duration\n- -1 yield", @@ -3517,7 +3517,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page6.text": "- makes effects not show any particles", "book.spectrum.guidebook.potion_workshop_reagents.page7.text": "- +60s duration", "book.spectrum.guidebook.potion_workshop_reagents.page8.text": "- +25%% potency", - "book.spectrum.guidebook.potion_workshop_reagents.page9.text": "- adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", + "book.spectrum.guidebook.potion_workshop_reagents.neolith.text": "- adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", "book.spectrum.guidebook.preenchanted_tools.name": "Pre-Enchanted Tools", "book.spectrum.guidebook.preenchanted_tools.page0.text": "That stupid obsidian table is being stubborn again when it comes to giving me the enchantments I am looking for. *Yes, I am salty.*\\\n\\\nBesides that, my options are to slaughter a whole herd of cows or rob the books of a dozen villages (no wonder the inhabitants there are so stupid and only too happy to be eaten by Zombies).", "book.spectrum.guidebook.preenchanted_tools.page1.text": "The advantage of knowing exactly what I want gives me the ability to shape the tools so that they inherently have certain qualities. Color magic makes it possible.\\\n\\\nUnfortunately, these features make most of these tools very fragile.", @@ -5082,9 +5082,9 @@ "spectrum.rei.potion_workshop_reacting.spectrum.moonstone_powder": "• converts negative effects to their positive ones", "spectrum.rei.potion_workshop_reacting.spectrum.moonstruck_nectar": "• makes the potion much smoother, making it much quicker to drink", "spectrum.rei.potion_workshop_reacting.spectrum.nectardew_burgeon": "• +100% potency\n• +100% duration\n• -3 yield\n• infuses the drink with soporific qualities", - "spectrum.rei.potion_workshop_reacting.spectrum.neolith": "• +2 yield", + "spectrum.rei.potion_workshop_reacting.spectrum.onyx_powder": "• +2 yield", "spectrum.rei.potion_workshop_reacting.spectrum.nightdew_sprout": "• +1 potency\n• +50% duration\n• -1 yield", - "spectrum.rei.potion_workshop_reacting.spectrum.onyx_powder": "• adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", + "spectrum.rei.potion_workshop_reacting.spectrum.neolith": "• adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", "spectrum.rei.potion_workshop_reacting.spectrum.paltaeria_fragments": "• +1 random positive effect", "spectrum.rei.potion_workshop_reacting.spectrum.prickly_bayleaf": "• -2 potency for negative effects", "spectrum.rei.potion_workshop_reacting.spectrum.quitoxic_powder": "• +1 potency for negative effects", diff --git a/src/main/resources/assets/spectrum/lang/pt_br.json b/src/main/resources/assets/spectrum/lang/pt_br.json index 124d7d5d1f..e456981a79 100644 --- a/src/main/resources/assets/spectrum/lang/pt_br.json +++ b/src/main/resources/assets/spectrum/lang/pt_br.json @@ -2681,7 +2681,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page19.text": "- large boost to a random stat", "book.spectrum.guidebook.potion_workshop_reagents.page2.text": "- +100%% duration", "book.spectrum.guidebook.potion_workshop_reagents.page20.text": "- +200%% duration\n- -25%% potency", - "book.spectrum.guidebook.potion_workshop_reagents.page21.text": "- +2 yield", + "book.spectrum.guidebook.potion_workshop_reagents.onyx_powder.text": "- +2 yield", "book.spectrum.guidebook.potion_workshop_reagents.page22.text": "- +1 potency\n- +30s duration\n- -2 yield", "book.spectrum.guidebook.potion_workshop_reagents.page23.text": "- makes the potion much smoother, making it much quicker to drink", "book.spectrum.guidebook.potion_workshop_reagents.page24.text": "- +50%% potency\n- -75%% duration\n- -1 yield", @@ -2697,7 +2697,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page6.text": "- makes effects not show any particles", "book.spectrum.guidebook.potion_workshop_reagents.page7.text": "- +60s duration", "book.spectrum.guidebook.potion_workshop_reagents.page8.text": "- +25%% potency", - "book.spectrum.guidebook.potion_workshop_reagents.page9.text": "- adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", + "book.spectrum.guidebook.potion_workshop_reagents.neolith.text": "- adds a very weird taste and smell to the potion, making it unidentifiable. Also colors it completely black", "book.spectrum.guidebook.projectile_rebound.page0.text": "Each level gave me a small chance of [#](449900)bouncing off incoming projectiles[#]().", "book.spectrum.guidebook.scarred.page0.text": "Prevented me from regenerating health by natural means while also preventing me from sprinting.\\n\\n*A vicious cycle, should something attack me*", "book.spectrum.guidebook.sleep.name": "Soporific Alchemy", diff --git a/src/main/resources/assets/spectrum/lang/ru_ru.json b/src/main/resources/assets/spectrum/lang/ru_ru.json index a7f3422a57..d4605588be 100644 --- a/src/main/resources/assets/spectrum/lang/ru_ru.json +++ b/src/main/resources/assets/spectrum/lang/ru_ru.json @@ -4525,7 +4525,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page19.text": "- большой прирост к случайной характеристике", "book.spectrum.guidebook.potion_workshop_reagents.page2.text": "- +100%% продолжительность", "book.spectrum.guidebook.potion_workshop_reagents.page20.text": "- +200%% продолжительность\n- -25%% сила", - "book.spectrum.guidebook.potion_workshop_reagents.page21.text": "- +2 выход", + "book.spectrum.guidebook.potion_workshop_reagents.onyx_powder.text": "- +2 выход", "book.spectrum.guidebook.potion_workshop_reagents.page22.text": "- +1 сила\n- +30с продолжительность\n- -2 выход", "book.spectrum.guidebook.potion_workshop_reagents.page23.text": "- делает зелье намного более гладким, что позволяет быстрее его пить", "book.spectrum.guidebook.potion_workshop_reagents.page24.text": "- +50%% сила\n- -75%% продолжительность\n- -1 выход", @@ -4539,7 +4539,7 @@ "book.spectrum.guidebook.potion_workshop_reagents.page6.text": "- делает эффекты невидимыми (без частиц)", "book.spectrum.guidebook.potion_workshop_reagents.page7.text": "- +60 секунд длительности", "book.spectrum.guidebook.potion_workshop_reagents.page8.text": "- +25% потенции", - "book.spectrum.guidebook.potion_workshop_reagents.page9.text": "- добавляет очень странный вкус и запах зелью, делая его неузнаваемым. Также полностью окрашивает его в черный цвет", + "book.spectrum.guidebook.potion_workshop_reagents.neolith.text": "- добавляет очень странный вкус и запах зелью, делая его неузнаваемым. Также полностью окрашивает его в черный цвет", "book.spectrum.guidebook.potion_workshop_reagents.pure_echo.text": "- всегда добавляет основной эффект ранее приготовленного зелья", "book.spectrum.guidebook.potion_workshop_reagents.pure_glowstone.text": "- +2 сила\n- -50%% продолжительность\n- -1 выход", "book.spectrum.guidebook.potion_workshop_reagents.pure_lapis.text": "- +1 выход", diff --git a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/brewing/potion_workshop_reagents.json b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/brewing/potion_workshop_reagents.json index d2b97ca823..ef2d837b0b 100644 --- a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/brewing/potion_workshop_reagents.json +++ b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/brewing/potion_workshop_reagents.json @@ -152,7 +152,7 @@ "item": { "item": "spectrum:onyx_powder" }, - "text": "book.spectrum.guidebook.potion_workshop_reagents.page9.text" + "text": "book.spectrum.guidebook.potion_workshop_reagents.onyx_powder.text" }, { "type": "modonomicon:spotlight", @@ -280,7 +280,7 @@ "type": "modonomicon:advancement", "advancement_id": "spectrum:midgame/collect_neolith" }, - "text": "book.spectrum.guidebook.potion_workshop_reagents.page21.text" + "text": "book.spectrum.guidebook.potion_workshop_reagents.neolith.text" }, { "type": "modonomicon:spotlight", diff --git a/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/neolith.json b/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/neolith.json index 11f75a99e2..007ea1656b 100644 --- a/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/neolith.json +++ b/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/neolith.json @@ -2,7 +2,7 @@ "type": "spectrum:potion_workshop_reacting", "item": "spectrum:neolith", "modifiers": { - "flat_yield_bonus": 2.0 + "unidentifiable": true }, "required_advancement": "spectrum:midgame/collect_neolith" } diff --git a/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/onyx_powder.json b/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/onyx_powder.json index 211c28a8f8..6a02da3424 100644 --- a/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/onyx_powder.json +++ b/src/main/resources/data/spectrum/recipes/potion_workshop_reacting/onyx_powder.json @@ -2,7 +2,7 @@ "type": "spectrum:potion_workshop_reacting", "item": "spectrum:onyx_powder", "modifiers": { - "unidentifiable": true + "flat_yield_bonus": 2.0 }, "required_advancement": "spectrum:create_onyx_shard" } From 3e9c7be5920b070330770335db1f7f32565305a5 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 14:18:53 +0200 Subject: [PATCH 19/50] Omni Accelerator yeets Splash/Lingering Potions --- .../SpectrumOmniAcceleratorProjectiles.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumOmniAcceleratorProjectiles.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumOmniAcceleratorProjectiles.java index 9d5bb82ff9..4a865dc95c 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumOmniAcceleratorProjectiles.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumOmniAcceleratorProjectiles.java @@ -16,6 +16,38 @@ public class SpectrumOmniAcceleratorProjectiles { public static void register() { + OmniAcceleratorProjectile.register(new OmniAcceleratorProjectile() { + @Override + public Entity createProjectile(ItemStack stack, LivingEntity shooter, World world) { + PotionEntity potionEntity = new PotionEntity(world, shooter); + potionEntity.setItem(stack); + potionEntity.setVelocity(shooter, shooter.getPitch(), shooter.getYaw(), -20.0F, 2.0F, 1.0F); + world.spawnEntity(potionEntity); + return potionEntity; + } + + @Override + public SoundEvent getSoundEffect() { + return SoundEvents.ENTITY_SPLASH_POTION_THROW; + } + }, Items.SPLASH_POTION); + + OmniAcceleratorProjectile.register(new OmniAcceleratorProjectile() { + @Override + public Entity createProjectile(ItemStack stack, LivingEntity shooter, World world) { + PotionEntity potionEntity = new PotionEntity(world, shooter); + potionEntity.setItem(stack); + potionEntity.setVelocity(shooter, shooter.getPitch(), shooter.getYaw(), -20.0F, 2.0F, 1.0F); + world.spawnEntity(potionEntity); + return potionEntity; + } + + @Override + public SoundEvent getSoundEffect() { + return SoundEvents.ENTITY_LINGERING_POTION_THROW; + } + }, Items.LINGERING_POTION); + OmniAcceleratorProjectile.register(new OmniAcceleratorProjectile() { @Override public Entity createProjectile(ItemStack stack, LivingEntity shooter, World world) { From fe98c1180d7cdefd77e5ffe15c08d89be37388ca Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Sun, 13 Oct 2024 14:59:32 +0200 Subject: [PATCH 20/50] lower contrast for pigment pedestal gemstone powder slots, making items in it easier to see (also applies to EMI/REI) --- .../textures/gui/container/pedestal1.png | Bin 25353 -> 25804 bytes .../textures/gui/container/pedestal2.png | Bin 27794 -> 27999 bytes .../textures/gui/container/pedestal3.png | Bin 33371 -> 33515 bytes .../textures/gui/container/pedestal4.png | Bin 35420 -> 35562 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/main/resources/assets/spectrum/textures/gui/container/pedestal1.png b/src/main/resources/assets/spectrum/textures/gui/container/pedestal1.png index 91ec48f308ed9dbd127b0fcc9fd2fdfa5fbfa768..eaf8ed9e24796cf028dc921dfd3fb958263f4709 100644 GIT binary patch delta 20775 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 delta 20638 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 O{oPf6pjNJG8TLPaCoZf2 diff --git a/src/main/resources/assets/spectrum/textures/gui/container/pedestal3.png b/src/main/resources/assets/spectrum/textures/gui/container/pedestal3.png index ff14d8e23dca0a136c93fa6a6ec887a37acbc69b..f66485516cc2fdadb7d9c1fe8fda7bb9a722600f 100644 GIT binary patch delta 29619 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 delta 29623 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 BTx$RT delta 32043 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 z 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 lnW0Z&e}>{wwn#1F5 Date: Sun, 13 Oct 2024 21:58:25 -0400 Subject: [PATCH 21/50] partial Malum Compat except I got distracted and added 20 other things instead --- build.gradle | 7 +++ gradle.properties | 4 ++ .../spectrum/api/energy/InkPowered.java | 15 +++++ .../blocks/idols/FirestarterIdolBlock.java | 1 + .../compat/SpectrumIntegrationPacks.java | 3 + .../spectrum/compat/create/CreateCompat.java | 38 +++++++++++- .../spectrum/compat/malum/MalumCompat.java | 28 +++++++++ .../entity/entity/InkProjectileEntity.java | 30 ++++++++-- .../items/magic_items/PaintbrushItem.java | 10 +++- .../registries/SpectrumItemGroups.java | 10 ++++ .../spectrum/blockstates/large_zinc_bud.json | 30 ++++++++++ .../spectrum/blockstates/pure_zinc_block.json | 7 +++ .../spectrum/blockstates/small_zinc_bud.json | 30 ++++++++++ .../spectrum/blockstates/zinc_cluster.json | 30 ++++++++++ .../resources/assets/spectrum/lang/en_us.json | 5 ++ .../spectrum/models/block/large_zinc_bud.json | 6 ++ .../models/block/pure_zinc_block.json | 6 ++ .../spectrum/models/block/small_zinc_bud.json | 6 ++ .../spectrum/models/block/zinc_cluster.json | 6 ++ .../spectrum/models/item/large_zinc_bud.json | 6 ++ .../spectrum/models/item/pure_zinc.json | 6 ++ .../spectrum/models/item/pure_zinc_block.json | 3 + .../spectrum/models/item/small_zinc_bud.json | 6 ++ .../spectrum/models/item/zinc_cluster.json | 6 ++ .../textures/block/large_zinc_bud.png | Bin 0 -> 350 bytes .../textures/block/pure_zinc_block.png | Bin 0 -> 702 bytes .../textures/block/small_zinc_bud.png | Bin 0 -> 239 bytes .../spectrum/textures/block/zinc_cluster.png | Bin 0 -> 500 bytes .../spectrum/textures/item/pure_zinc.png | Bin 0 -> 782 bytes .../data/c/tags/blocks/brushable_blocks.json | 6 +- .../malum/tags/blocks/blighted_blocks.json | 6 ++ .../tags/blocks/cursedworkaroundjank.txt | 1 + .../tags/damage_type/can_soul_shatter.json | 7 +++ .../data/malum/tags/items/gross_foods.json | 6 ++ .../malum/tags/items/spirit_crystals.json | 12 ++++ .../loot_tables/blocks/large_zinc_bud.json | 36 ++++++++++++ .../loot_tables/blocks/pure_zinc_block.json | 26 +++++++++ .../loot_tables/blocks/small_zinc_bud.json | 36 ++++++++++++ .../loot_tables/blocks/zinc_cluster.json | 55 ++++++++++++++++++ .../recipes/crystallarieum/bismuth.json | 2 +- .../recipes/crystallarieum/bloodstone.json | 16 ++--- .../recipes/crystallarieum/vanilla/coal.json | 10 +++- .../crystallarieum/vanilla/copper.json | 18 +++++- .../recipes/crystallarieum/vanilla/gold.json | 8 +++ .../recipes/crystallarieum/vanilla/lapis.json | 8 +++ .../vanilla/prismarine_crystal.json | 4 +- .../crystallarieum/certus_quartz_crystal.json | 3 + .../ae2/crystallarieum/fluix_crystal.json | 3 + .../create/blasting/pure_zinc.json | 17 ++++++ .../create/cinderhearth/pure_zinc.json | 23 ++++++++ .../create/crystallarieum/zinc.json | 52 +++++++++++++++++ .../fusion_shrine/pure_brass_ingot.json | 36 ++++++++++++ .../gobber/crystallarieum/globette.json | 3 + .../gobber/crystallarieum/globette_end.json | 3 + .../crystallarieum/globette_nether.json | 3 + .../crystal_burning.json | 17 ++++++ .../alloy_forgery_create/pure_zinc.json | 30 ++++++++++ .../anvil_crushing/brilliance_crushing.json | 22 +++++++ .../deepslate_brilliance_crushing.json | 22 +++++++ .../deepslate_soulstone_ore_crushing.json | 22 +++++++ .../soulstone_ore_crushing.json | 22 +++++++ .../purify_crushed_brilliance.json | 20 +++++++ .../purify_crushed_soulstone.json | 20 +++++++ .../tier1/compacting/pure_zinc_block.json | 34 +++++++++++ .../pure_zinc_from_pure_zinc_block.json | 29 +++++++++ .../create/pure_zinc_from_ore.json | 20 +++++++ .../pure_resources_from_ore.json | 6 -- .../blocks/decay/decay_away_curables.json | 10 +++- .../blocks/decay/decay_away_removables.json | 6 +- .../tags/items/memory_bonding_agents.json | 6 +- 70 files changed, 952 insertions(+), 33 deletions(-) create mode 100644 src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java create mode 100644 src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/blockstates/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/models/block/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/block/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/models/block/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/block/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/models/item/large_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/item/pure_zinc.json create mode 100644 src/main/resources/assets/spectrum/models/item/pure_zinc_block.json create mode 100644 src/main/resources/assets/spectrum/models/item/small_zinc_bud.json create mode 100644 src/main/resources/assets/spectrum/models/item/zinc_cluster.json create mode 100644 src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png create mode 100644 src/main/resources/assets/spectrum/textures/block/pure_zinc_block.png create mode 100644 src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png create mode 100644 src/main/resources/assets/spectrum/textures/block/zinc_cluster.png create mode 100644 src/main/resources/assets/spectrum/textures/item/pure_zinc.png create mode 100644 src/main/resources/data/malum/tags/blocks/blighted_blocks.json create mode 100644 src/main/resources/data/malum/tags/blocks/cursedworkaroundjank.txt create mode 100644 src/main/resources/data/malum/tags/damage_type/can_soul_shatter.json create mode 100644 src/main/resources/data/malum/tags/items/gross_foods.json create mode 100644 src/main/resources/data/malum/tags/items/spirit_crystals.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/large_zinc_bud.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/small_zinc_bud.json create mode 100644 src/main/resources/data/spectrum/loot_tables/blocks/zinc_cluster.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/blasting/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/cinderhearth/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/crystallarieum/zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/create/fusion_shrine/pure_brass_ingot.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/primordial_fire_burning/crystal_burning.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/alloy_forgery_create/pure_zinc.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/brilliance_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_brilliance_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/deepslate_soulstone_ore_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/anvil_crushing/soulstone_ore_crushing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_brilliance.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/the_grande_spectacular_mod_compat_double_feature/malum_create/liquid_crystal_converting/purify_crushed_soulstone.json create mode 100644 src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/recipes/pedestal/tier1/compacting/pure_zinc_from_pure_zinc_block.json create mode 100644 src/main/resources/data/spectrum/resonance_drops/mod_integration/create/pure_zinc_from_ore.json diff --git a/build.gradle b/build.gradle index 856cb5fa36..e522f8d81f 100644 --- a/build.gradle +++ b/build.gradle @@ -20,6 +20,7 @@ repositories { maven { url = "https://maven.jamieswhiteshirt.com/libs-release/" } // Entity Reach Attribute maven { url = "https://api.modrinth.com/maven" } // Revelationary, Additional Entity Attributes, Fractal Lib, Colorful Hearts, idwtialsimmoedm maven { url = "https://cfa2.cursemaven.com" } + maven { url = "https://mvn.devos.one/releases/" } // Porting Lib maven { url = "https://repo.unascribed.com" } // Ears API maven { url = "https://dl.cloudsmith.io/public/klikli-dev/mods/maven/" } // Modonomicon maven { url = "https://maven.is-immensely.gay/releases" } // Matchbooks @@ -93,10 +94,16 @@ dependencies { modCompileOnly("com.unascribed:ears-api:${project.ears_version}") modCompileOnly("maven.modrinth:create-fabric:${project.create_version}") { transitive = false } modCompileOnly("maven.modrinth:neepmeat:${project.neepmeat_version}") { transitive = false } + modCompileOnly("maven.modrinth:malum:${project.malum_version}") { transitive = false} // modCompileOnly("maven.modrinth:enchantment-descriptions:${project.enchantment_descriptions_version}") modCompileOnly("maven.modrinth:travelersbackpack:${project.travelers_backpack_version}") modCompileOnly("maven.modrinth:botania:${project.botania_version}") modImplementation("maven.modrinth:idwtialsimmoedm:${project.idwtialsimmoedm_version}") + + //Porting Lib + for (String module in port_lib_modules.split(",")) { + modCompileOnly("io.github.fabricators_of_create.Porting-Lib:$module:${project.port_lib_version}") { transitive = false } + } } loom { diff --git a/gradle.properties b/gradle.properties index ae17b7152e..17d636588a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -57,6 +57,10 @@ auth_me_version=7.0.2+1.20 create_version=0.5.1-f-build.1417+mc1.20.1 # https://modrinth.com/mod/neepmeat neepmeat_version=0.6.2-beta+1.20.1 +# https://modrinth.com/mod/malum +malum_version=1.20.1-1.6.3.0b-fabric +port_lib_version = 2.3.4+1.20.1 +port_lib_modules = lazy_registration # https://modrinth.com/mod/exclusions-lib exclusionslib_version=0.6 diff --git a/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java b/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java index f712c55334..7b22a6fa6c 100644 --- a/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java +++ b/src/main/java/de/dafuqs/spectrum/api/energy/InkPowered.java @@ -1,21 +1,27 @@ package de.dafuqs.spectrum.api.energy; +import com.sammy.malum.registry.common.MobEffectRegistry; import de.dafuqs.revelationary.api.advancements.*; import de.dafuqs.spectrum.*; import de.dafuqs.spectrum.api.energy.color.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.progression.*; +import de.dafuqs.spectrum.registries.SpectrumStatusEffects; import dev.emi.trinkets.api.*; import net.fabricmc.api.*; import net.minecraft.client.*; +import net.minecraft.entity.effect.StatusEffectInstance; import net.minecraft.entity.player.*; import net.minecraft.inventory.*; import net.minecraft.item.*; +import net.minecraft.registry.Registries; import net.minecraft.server.network.*; import net.minecraft.text.*; import net.minecraft.util.*; import org.jetbrains.annotations.*; + import java.util.*; public interface InkPowered { @@ -135,6 +141,10 @@ static boolean tryDrainEnergy(@NotNull PlayerEntity player, @NotNull InkColor co if (!canUse(player)) { return false; } + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && player.hasStatusEffect(Registries.STATUS_EFFECT.get(new Identifier("malum:silenced")))) + { + return false; + } // hands (main hand, too, if someone uses the staff from the offhand) for (ItemStack itemStack : player.getHandItems()) { @@ -206,6 +216,11 @@ static boolean hasAvailableInk(PlayerEntity player, InkColor color, long amount) if (!canUse(player)) { return false; } + + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && player.hasStatusEffect(Registries.STATUS_EFFECT.get(new Identifier("malum:silenced")))) + { + return false; + } if (player.isCreative()) { return true; diff --git a/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java index 22d80e976f..d48859b583 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/idols/FirestarterIdolBlock.java @@ -32,6 +32,7 @@ public class FirestarterIdolBlock extends IdolBlock { put(Blocks.RED_MUSHROOM, new Pair<>(Blocks.CRIMSON_FUNGUS.getDefaultState(), 0.2F)); put(Blocks.BROWN_MUSHROOM, new Pair<>(Blocks.WARPED_FUNGUS.getDefaultState(), 0.2F)); put(Blocks.SAND, new Pair<>(Blocks.RED_SAND.getDefaultState(), 1.0F)); + put(Blocks.SNOW, new Pair<>(Blocks.AIR.getDefaultState(), 1.0F)); put(Blocks.GRASS_BLOCK, new Pair<>(Blocks.DIRT.getDefaultState(), 0.05F)); put(Blocks.CALCITE, new Pair<>(Blocks.BASALT.getDefaultState(), 0.5F)); put(Blocks.NETHERRACK, new Pair<>(Blocks.MAGMA_BLOCK.getDefaultState(), 0.25F)); diff --git a/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java b/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java index 3d79b37266..f5468acd18 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java +++ b/src/main/java/de/dafuqs/spectrum/compat/SpectrumIntegrationPacks.java @@ -7,6 +7,7 @@ import de.dafuqs.spectrum.compat.create.*; import de.dafuqs.spectrum.compat.farmersdelight.FDCompat; import de.dafuqs.spectrum.compat.gobber.*; +import de.dafuqs.spectrum.compat.malum.MalumCompat; import de.dafuqs.spectrum.compat.modonomicon.*; import de.dafuqs.spectrum.compat.neepmeat.NEEPMeatCompat; import de.dafuqs.spectrum.compat.travelersbackpack.*; @@ -42,6 +43,7 @@ protected static void registerIntegrationPack(String modId, Supplier new ModonomiconCompat()); registerIntegrationPack(NEEPMEAT_ID, () -> new NEEPMeatCompat()); registerIntegrationPack(FARMERSDELIGHT_ID, () -> new FDCompat()); + registerIntegrationPack(MALUM_ID, () -> new MalumCompat()); if (!FabricLoader.getInstance().isModLoaded("forgified-fabric-api")) { registerIntegrationPack(CREATE_ID, () -> new CreateCompat()); } diff --git a/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java b/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java index 718fd81d0c..54645e7f98 100644 --- a/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java +++ b/src/main/java/de/dafuqs/spectrum/compat/create/CreateCompat.java @@ -1,18 +1,52 @@ package de.dafuqs.spectrum.compat.create; +import com.simibubi.create.Create; import com.simibubi.create.api.event.*; +import de.dafuqs.spectrum.blocks.crystallarieum.SpectrumClusterBlock; import de.dafuqs.spectrum.blocks.fluid.*; import de.dafuqs.spectrum.compat.*; +import de.dafuqs.spectrum.registries.SpectrumItems; import net.fabricmc.api.*; +import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap; +import net.fabricmc.fabric.api.item.v1.FabricItemSettings; +import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings; import net.minecraft.block.*; +import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.client.render.RenderLayer; import net.minecraft.fluid.*; +import net.minecraft.item.Item; +import net.minecraft.sound.BlockSoundGroup; +import net.minecraft.util.DyeColor; import net.minecraft.world.*; import org.jetbrains.annotations.*; +import static de.dafuqs.spectrum.registries.SpectrumBlocks.registerBlockWithItem; + public class CreateCompat extends SpectrumIntegrationPacks.ModIntegrationPack { + public static Block SMALL_ZINC_BUD; + public static Block LARGE_ZINC_BUD; + public static Block ZINC_CLUSTER; + public static Block PURE_ZINC_BLOCK; + public static Item PURE_ZINC; + @Override public void register() { + SMALL_ZINC_BUD = new SpectrumClusterBlock(FabricBlockSettings.create().pistonBehavior(PistonBehavior.DESTROY).hardness(1.0f).mapColor(Blocks.LIGHT_GRAY_CONCRETE.getDefaultMapColor()).requiresTool().nonOpaque(), SpectrumClusterBlock.GrowthStage.SMALL); + LARGE_ZINC_BUD = new SpectrumClusterBlock(FabricBlockSettings.copyOf(SMALL_ZINC_BUD), SpectrumClusterBlock.GrowthStage.LARGE); + ZINC_CLUSTER = new SpectrumClusterBlock(FabricBlockSettings.copyOf(SMALL_ZINC_BUD), SpectrumClusterBlock.GrowthStage.CLUSTER); + PURE_ZINC_BLOCK = new Block(FabricBlockSettings.copyOf(Blocks.IRON_BLOCK)); + PURE_ZINC = new Item(SpectrumItems.IS.of()); + FabricItemSettings settings = SpectrumItems.IS.of(); + registerBlockWithItem("small_zinc_bud", SMALL_ZINC_BUD, settings, DyeColor.BROWN); + registerBlockWithItem("large_zinc_bud", LARGE_ZINC_BUD, settings, DyeColor.BROWN); + registerBlockWithItem("zinc_cluster", ZINC_CLUSTER, settings, DyeColor.BROWN); + registerBlockWithItem("pure_zinc_block", PURE_ZINC_BLOCK, settings, DyeColor.BROWN); + SpectrumItems.register("pure_zinc", PURE_ZINC, DyeColor.BROWN); + + + + PipeCollisionEvent.FLOW.register(event -> { final BlockState result = handleBidirectionalCollision(event.getLevel(), event.getFirstFluid(), event.getSecondFluid()); if (result != null) event.setState(result); @@ -47,7 +81,9 @@ private BlockState spectrumFluidCollision(World world, FluidState state, FluidSt @Environment(EnvType.CLIENT) @Override public void registerClient() { - + BlockRenderLayerMap.INSTANCE.putBlock(SMALL_ZINC_BUD, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(LARGE_ZINC_BUD, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(ZINC_CLUSTER, RenderLayer.getCutout()); } } diff --git a/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java b/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java new file mode 100644 index 0000000000..7e46d5b35f --- /dev/null +++ b/src/main/java/de/dafuqs/spectrum/compat/malum/MalumCompat.java @@ -0,0 +1,28 @@ +package de.dafuqs.spectrum.compat.malum; + +import com.sammy.malum.client.screen.codex.BookEntry; +import com.sammy.malum.client.screen.codex.pages.EntryReference; +import com.sammy.malum.client.screen.codex.pages.text.HeadlineTextPage; +import com.sammy.malum.client.screen.codex.screens.ArcanaProgressionScreen; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; +import de.dafuqs.spectrum.registries.SpectrumBlocks; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; + +public class MalumCompat extends SpectrumIntegrationPacks.ModIntegrationPack { + public void register() { + + } + + @Environment(EnvType.CLIENT) + @Override + public void registerClient() { + //couldn't get this to work + /* var spiritCrystalAndScytheAddendum = BookEntry.build("spirit_crystals.addendum") + .addPage(new HeadlineTextPage("spirit_crystals.addendum", "spirit_crystals.addendum.1")) + .build(); + BookEntry.build("spirit_crystals") + .addReference(new EntryReference(SpectrumBlocks.PEDESTAL_ALL_BASIC.asItem(), spiritCrystalAndScytheAddendum)) + .build(); */ + } +} diff --git a/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java b/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java index 986f4c6660..1b31cbe595 100644 --- a/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java +++ b/src/main/java/de/dafuqs/spectrum/entity/entity/InkProjectileEntity.java @@ -3,6 +3,7 @@ import de.dafuqs.spectrum.api.block.*; import de.dafuqs.spectrum.api.energy.color.*; import de.dafuqs.spectrum.api.interaction.*; +import de.dafuqs.spectrum.blocks.idols.FirestarterIdolBlock; import de.dafuqs.spectrum.compat.claims.*; import de.dafuqs.spectrum.entity.*; import de.dafuqs.spectrum.helpers.*; @@ -18,6 +19,7 @@ import net.minecraft.nbt.*; import net.minecraft.network.packet.s2c.play.*; import net.minecraft.server.network.*; +import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.*; import net.minecraft.util.*; import net.minecraft.util.hit.*; @@ -199,8 +201,15 @@ protected void onBlockHit(BlockHitResult blockHitResult) { if (!coloredBlockState.isAir()) { this.getWorld().setBlockState(blockPos, coloredBlockState); } + if(this.getInkColor() == InkColors.ORANGE && this.getWorld().getBlockState(blockPos).getBlock() == Blocks.SNOW) + { + this.getWorld().setBlockState(blockPos, Blocks.AIR.getDefaultState()); + } + } + if(this.getInkColor() == InkColors.ORANGE) + { + FirestarterIdolBlock.causeFire((ServerWorld) this.getWorld(), blockHitResult.getBlockPos(), blockHitResult.getSide()); } - affectEntitiesInRange(this.getOwner()); } @@ -214,12 +223,21 @@ protected void onHit(LivingEntity target) { Entity entity = target; //this.getEffectCause(); - - // TODO: this is a dummy effect - Vec3d vec3d = this.getVelocity().multiply(1.0D, 0.0D, 1.0D).normalize().multiply((double) 3 * 0.6D); - if (vec3d.lengthSquared() > 0.0D) { - entity.addVelocity(vec3d.x, 0.1D, vec3d.z); + + if(this.getInkColor() == InkColors.ORANGE) + { + entity.setOnFireFor(2); } + else + { + // TODO: this is a dummy effect + Vec3d vec3d = this.getVelocity().multiply(1.0D, 0.0D, 1.0D).normalize().multiply((double) 3 * 0.6D); + if (vec3d.lengthSquared() > 0.0D) { + entity.addVelocity(vec3d.x, 0.1D, vec3d.z); + } + } + + affectEntitiesInRange(this.getOwner()); diff --git a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java index 2369eba411..ed8be228d2 100644 --- a/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java +++ b/src/main/java/de/dafuqs/spectrum/items/magic_items/PaintbrushItem.java @@ -201,9 +201,15 @@ public TypedActionResult use(World world, PlayerEntity user, Hand han if (!world.isClient) { InkProjectileEntity.shoot(world, user, inkColor); } - // cause the slightest bit of knockback + // cause the slightest bit of knockback (more if Red) if (!user.isCreative()) { - causeKnockback(user, user.getYaw(), user.getPitch(), 0, 0.3F); + if(inkColor == InkColors.RED) + { + causeKnockback(user, user.getYaw(), user.getPitch(), 0.1F, 0.5F); + } + else{ + causeKnockback(user, user.getYaw(), user.getPitch(), 0, 0.3F); + } } } else { if (world.isClient) { diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java index 3175e496f4..5727806653 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItemGroups.java @@ -10,6 +10,7 @@ import de.dafuqs.spectrum.blocks.mob_head.*; import de.dafuqs.spectrum.compat.*; import de.dafuqs.spectrum.compat.ae2.*; +import de.dafuqs.spectrum.compat.create.CreateCompat; import de.dafuqs.spectrum.compat.gobber.*; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.items.food.beverages.*; @@ -724,6 +725,15 @@ public static void register() { entries.add(AE2Compat.FLUIX_CLUSTER); entries.add(AE2Compat.PURE_FLUIX_BLOCK); } + + if (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.CREATE_ID)) + { + entries.add(CreateCompat.PURE_ZINC); + entries.add(CreateCompat.SMALL_ZINC_BUD); + entries.add(CreateCompat.LARGE_ZINC_BUD); + entries.add(CreateCompat.ZINC_CLUSTER); + entries.add(CreateCompat.PURE_ZINC_BLOCK); + } if (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.GOBBER_ID)) { entries.add(GobberCompat.PURE_GLOBETTE); diff --git a/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json b/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json new file mode 100644 index 0000000000..803984509c --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/large_zinc_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/large_zinc_bud", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/large_zinc_bud", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/large_zinc_bud" + }, + "facing=west": { + "model": "spectrum:block/large_zinc_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json b/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json new file mode 100644 index 0000000000..82f0c9e519 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/pure_zinc_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "spectrum:block/pure_zinc_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json b/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json new file mode 100644 index 0000000000..11b767e357 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/small_zinc_bud.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/small_zinc_bud", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/small_zinc_bud", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/small_zinc_bud" + }, + "facing=west": { + "model": "spectrum:block/small_zinc_bud", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json b/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json new file mode 100644 index 0000000000..bb9c1bdcc6 --- /dev/null +++ b/src/main/resources/assets/spectrum/blockstates/zinc_cluster.json @@ -0,0 +1,30 @@ +{ + "variants": { + "facing=down": { + "model": "spectrum:block/zinc_cluster", + "x": 180 + }, + "facing=east": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/zinc_cluster", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 180 + }, + "facing=up": { + "model": "spectrum:block/zinc_cluster" + }, + "facing=west": { + "model": "spectrum:block/zinc_cluster", + "x": 90, + "y": 270 + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 611c5e0937..228c4ff23d 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -1380,6 +1380,7 @@ "block.spectrum.large_quartz_bud": "Large Quartz Bud", "block.spectrum.large_redstone_bud": "Large Redstone Bud", "block.spectrum.large_topaz_bud": "Large Topaz Bud", + "block.spectrum.large_zinc_bud": "Large Zinc Bud", "block.spectrum.lava_sponge": "Lava Sponge", "block.spectrum.light_blue_block": "Light Blue Block", "block.spectrum.light_blue_button": "Light Blue Button", @@ -1715,6 +1716,7 @@ "block.spectrum.pure_prismarine_block": "Pure Prismarine Block", "block.spectrum.pure_quartz_block": "Pure Quartz Block", "block.spectrum.pure_redstone_block": "Pure Redstone Block", + "block.spectrum.pure_zinc_block": "Pure Zinc Block", "block.spectrum.purple_block": "Purple Block", "block.spectrum.purple_button": "Purple Button", "block.spectrum.purple_chiseled_preservation_stone": "Purple Chiseled Preservation Stone", @@ -1894,6 +1896,7 @@ "block.spectrum.small_sag_bubble": "Small Sag Bubble", "block.spectrum.small_topaz_bud": "Small Topaz Bud", "block.spectrum.small_yellow_dragonjag": "Small Yellow Dragonjag", + "block.spectrum.small_zinc_bud": "Small Zinc Bud", "block.spectrum.smooth_basalt_slab": "Smooth Basalt Slab", "block.spectrum.smooth_basalt_stairs": "Smooth Basalt Stairs", "block.spectrum.smooth_basalt_wall": "Smooth Basalt Wall", @@ -2110,6 +2113,7 @@ "block.spectrum.yellow_spore_blossom": "Yellow Spore Blossom", "block.spectrum.yellow_stairs": "Yellow Stairs", "block.spectrum.yellow_wood": "Yellow Wood", + "block.spectrum.zinc_cluster": "Zinc Cluster", "block.spectrum.zoglin_head": "Zoglin Head", "block.spectrum.zombie_horse_head": "Zombie Horse Head", "block.spectrum.zombie_idol": "Forsaken Idol", @@ -4724,6 +4728,7 @@ "item.spectrum.pure_prismarine": "Pure Prismarine", "item.spectrum.pure_quartz": "Pure Quartz", "item.spectrum.pure_redstone": "Pure Redstone", + "item.spectrum.pure_zinc": "Pure Zinc", "item.spectrum.purple_pigment": "Purple Pigment", "item.spectrum.purple_star_candy": "Enchanted Star Candy", "item.spectrum.purple_star_candy.tooltip": "Cures all negative status effects", diff --git a/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json b/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json new file mode 100644 index 0000000000..2fb152ae9c --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/large_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:block/crystallarieum_farmable", + "textures": { + "cross": "spectrum:block/large_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json b/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json new file mode 100644 index 0000000000..4d9ac94631 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/pure_zinc_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/pure_zinc_block" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json b/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json new file mode 100644 index 0000000000..0de4407a0f --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/small_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cross", + "textures": { + "cross": "spectrum:block/small_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/block/zinc_cluster.json b/src/main/resources/assets/spectrum/models/block/zinc_cluster.json new file mode 100644 index 0000000000..e8aca59679 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/block/zinc_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:block/crystallarieum_farmable", + "textures": { + "cross": "spectrum:block/zinc_cluster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json b/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json new file mode 100644 index 0000000000..be3a2146a0 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/large_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/large_bud", + "textures": { + "layer0": "spectrum:block/large_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pure_zinc.json b/src/main/resources/assets/spectrum/models/item/pure_zinc.json new file mode 100644 index 0000000000..248dc931aa --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pure_zinc.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "spectrum:item/pure_zinc" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json b/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json new file mode 100644 index 0000000000..41e3a28d28 --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/pure_zinc_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/pure_zinc_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json b/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json new file mode 100644 index 0000000000..23841fadcf --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/small_zinc_bud.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/small_bud", + "textures": { + "layer0": "spectrum:block/small_zinc_bud" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/models/item/zinc_cluster.json b/src/main/resources/assets/spectrum/models/item/zinc_cluster.json new file mode 100644 index 0000000000..f51de578ea --- /dev/null +++ b/src/main/resources/assets/spectrum/models/item/zinc_cluster.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates_item/cluster", + "textures": { + "layer0": "spectrum:block/zinc_cluster" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png b/src/main/resources/assets/spectrum/textures/block/large_zinc_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..b2474f2f7eca771172f7a7d3b5eb3fdf3f56946f GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%LhV0G|-on>VlDx^eyH&8vU^{`~d(+u?(IZ{E6m>(-3}hj;(_`}NP?uLlq9 zK6rH3pFiK{FP(Mc-sPKjFV9~*bKa8acWz&8>8`#0;L^v%n*= zn1O-sFbFdq&tH)O6!i9VaSYK2P7ZKmZjNneY@8@~swu$djLw>z1Tl|>#@Lz7le=fL z>m4|~=*)3_1q~K)0kH?df}+Ag(Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0#ivuK~y+TB~rm| z(?Ag28M|jdYT_mom5M_pKA;j69FU+@FEmu*52)h;--8+nae;G5dx7ML=mkieq`eUm z$4zXn3nv7Z+B-a_b4a{1Z{Ey%yVQ8!=$`fz8KsoPb`-@#wEcMV;rfP%eExdUJ?%$H zie$N528M|ke^(JtXO<%1+U@o=px0$KM))Gpue>@C!ys(6 zT9<6jC!yc(=_D2cjoN;+b?5e~_4eJHZl|M@6f}3&)-dtf^&8(iop2h)I?_7z>h;oM z>EEBf_t)1~mTxk%m8L0(jmRhnK!yO{g-+AtLL`H{)sZ-yhO2lqBsoT|6yefrocxJiBM z_b;(fu}rariM2-ChvOrjHzO5A5iBAuHc7N5i;F7A;SUOkS)8Djix`t*y0K&&jt!ZE zg9E@)G(`#1oR5rQQ8q}FLSd;=IczquSgx}2l4G+4J$2W`Sg6N(rV5DTynOC1!v4nE%$tChlNrroH4|BQJFgoJbmDc`kTN%^@CmmD&@3sOxeBoQzK;^bTv878 z2sRcCCqbriyvmH#k8lisVE|SKB}B;l5)O}#G9|<5m_h6hx&@8M&q**iJ9CyC7>mqq kt%k>ok4$o~fZ8zq2N1Mv1QMT8jQ{`u07*qoM6N<$f?B#Z!2kdN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png b/src/main/resources/assets/spectrum/textures/block/small_zinc_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..a45a4f48e7cf3a221addb78c9f05acd96936831a GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|m0G|-o>o+bRIJ|q-vY7`D?f(An(~M=47cQQD_3oM4{>teqrXD=9b8qHwd@@ke@NS%LiR0X`wFFJ8QO{`~o`zd!%}`uFSCuUD^L&0RL**Y6*He*OCU`{&D-&kr8n ze&_b}KR>?y|MUIe;hl#MZNGo#+Pz!XXDyq0=-{@)hj#w|^Yj1j@3-$sRz(3R+max^;Qtf=22TAo@j!z(3p^r=85sBugD~Uq{1quc!CFrj#}JL+ zZUAOA~p08FeG2a~1eIN`91n{lYtix3|aF r=O9zson2LTn4Y~7n-+G>%#4Av+i=mv$p-R3hcI}$`njxgN@xNAc)A=c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/spectrum/textures/item/pure_zinc.png b/src/main/resources/assets/spectrum/textures/item/pure_zinc.png new file mode 100644 index 0000000000000000000000000000000000000000..ce012a70451c6ea8db186c05ef3ee9082fb01d34 GIT binary patch literal 782 zcmV+p1M&QcP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0;5SpK~y+THB(Jb z6G0e$W_FgN#>7%ue}U1&12e1f%&HP1WHN`*^N6d~a{K0dCDHqe%Pe7toq5-bP?!(n}W-QS&_ zLaB5cgaqX+>Wu~-KY4nNiFKF|R#q*043;FEjs-h=d#r3=5cAP!)*FbG#^L?}YD-mL zU9NiPEHdYyxUZG=gfILRDwT@AKQl9^#7p2Mp+VMo@%$Mc&dyR3QWX@8vo?YDgeXH+ zWfYpNCQ?h$h-_!45rW(8PC#Nv`q4g6g>BvDMDT%}enB8s{tyYVSET$&Q$VkJBg`{Uz zS62gMOTH2yerT%ucJmz~eiT^IUho#tOoRqqsqfV3go4i4C^R=zmI|6s6)?S;Ad{sV3EXzzEhRIP@< zi$NDCRuqT8?d`8TBvfio149e{Ak=@PxZmp%vBsBg--ECcCsWNW%)><8@fKDGQa>9zF0y$J@gkPNYL zh;C#_0`*{ij>y Date: Mon, 14 Oct 2024 15:41:41 -0400 Subject: [PATCH 22/50] rest of the malum compat for now except for the stuff that would need art ... or everything to do with auric embers --- build.gradle | 1 + gradle.properties | 2 + .../enchantments/CloversFavorEnchantment.java | 22 +++++++- .../enchantments/ExuberanceEnchantment.java | 5 +- .../enchantments/FirstStrikeEnchantment.java | 5 +- .../ImprovedCriticalEnchantment.java | 9 +++- .../InventoryInsertionEnchantment.java | 5 +- .../enchantments/TightGripEnchantment.java | 21 ++++++++ .../TreasureHunterEnchantment.java | 9 +++- .../resources/assets/spectrum/lang/en_us.json | 3 +- .../mod_integration/malum/haunted.json | 32 +++++++++++ .../mod_integration/malum/replenishing.json | 32 +++++++++++ .../malum/understand_color_and_spirit.json | 30 +++++++++++ .../mod_integration/malum/visited_well.json | 28 ++++++++++ .../unlocks/items/bag_of_holding.json | 25 +++++++-- .../malum/enchanter/book_haunted.json | 54 +++++++++++++++++++ .../malum/enchanter/book_rebound.json | 54 +++++++++++++++++++ .../malum/enchanter/book_replenishing.json | 54 +++++++++++++++++++ .../malum/enchanter/book_spirit_plunder.json | 54 +++++++++++++++++++ .../malum/enchantment_upgrade/haunted.json | 30 +++++++++++ .../malum/enchantment_upgrade/rebound.json | 40 ++++++++++++++ .../enchantment_upgrade/replenishing.json | 30 +++++++++++ .../enchantment_upgrade/spirit_plunder.json | 35 ++++++++++++ .../malum/pedestal/alt_bag_of_holding.json | 40 ++++++++++++++ .../pedestal/alt_glow_phantom_frame.json | 44 +++++++++++++++ .../malum/pedestal/alt_phantom_frame.json | 41 ++++++++++++++ .../pedestal/chorusless_ender_splice.json | 43 +++++++++++++++ .../malum_alt_enchantment_canvas.json | 37 +++++++++++++ .../alt_invisibility.json | 26 +++++++++ .../potion_workshop_brewing/alt_poison.json | 26 +++++++++ .../concentrated_gluttony.json | 26 +++++++++ .../splash_of_gluttony.json | 29 ++++++++++ .../potion_workshop_reacting/void_salts.json | 17 ++++++ .../malum/spirit_instiller/aerial_spirit.json | 29 ++++++++++ .../spirit_instiller/aqueous_spirit.json | 29 ++++++++++ .../malum/spirit_instiller/arcane_spirit.json | 29 ++++++++++ .../spirit_instiller/earthen_spirit.json | 29 ++++++++++ .../spirit_instiller/eldritch_spirit.json | 29 ++++++++++ .../spirit_instiller/infernal_spirit.json | 29 ++++++++++ .../malum/spirit_instiller/sacred_spirit.json | 29 ++++++++++ .../malum/spirit_instiller/wicked_spirit.json | 29 ++++++++++ 41 files changed, 1128 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/data/spectrum/advancements/mod_integration/malum/haunted.json create mode 100644 src/main/resources/data/spectrum/advancements/mod_integration/malum/replenishing.json create mode 100644 src/main/resources/data/spectrum/advancements/mod_integration/malum/understand_color_and_spirit.json create mode 100644 src/main/resources/data/spectrum/advancements/mod_integration/malum/visited_well.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_haunted.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_rebound.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_replenishing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_spirit_plunder.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/haunted.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/rebound.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/replenishing.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/spirit_plunder.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_bag_of_holding.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_glow_phantom_frame.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_phantom_frame.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/chorusless_ender_splice.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/malum_alt_enchantment_canvas.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_invisibility.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_poison.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/concentrated_gluttony.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/splash_of_gluttony.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_reacting/void_salts.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aerial_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aqueous_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/arcane_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/earthen_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/eldritch_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/infernal_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/sacred_spirit.json create mode 100644 src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/wicked_spirit.json diff --git a/build.gradle b/build.gradle index e522f8d81f..092c4fb89e 100644 --- a/build.gradle +++ b/build.gradle @@ -94,6 +94,7 @@ dependencies { modCompileOnly("com.unascribed:ears-api:${project.ears_version}") modCompileOnly("maven.modrinth:create-fabric:${project.create_version}") { transitive = false } modCompileOnly("maven.modrinth:neepmeat:${project.neepmeat_version}") { transitive = false } + modCompileOnly("maven.modrinth:lodestonelib:${project.lodestone_version}") { transitive = false} modCompileOnly("maven.modrinth:malum:${project.malum_version}") { transitive = false} // modCompileOnly("maven.modrinth:enchantment-descriptions:${project.enchantment_descriptions_version}") modCompileOnly("maven.modrinth:travelersbackpack:${project.travelers_backpack_version}") diff --git a/gradle.properties b/gradle.properties index 17d636588a..48eead171e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -59,6 +59,8 @@ create_version=0.5.1-f-build.1417+mc1.20.1 neepmeat_version=0.6.2-beta+1.20.1 # https://modrinth.com/mod/malum malum_version=1.20.1-1.6.3.0b-fabric +# https://modrinth.com/mod/lodestonelib +lodestone_version=1.20.1-1.6.2.3f port_lib_version = 2.3.4+1.20.1 port_lib_modules = lazy_registration # https://modrinth.com/mod/exclusions-lib diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/CloversFavorEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/CloversFavorEnchantment.java index 7b791e4086..f57aeff659 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/CloversFavorEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/CloversFavorEnchantment.java @@ -1,10 +1,17 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; +import com.sammy.malum.registry.common.item.EnchantmentRegistry; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.helpers.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.enchantment.*; import net.minecraft.entity.*; +import net.minecraft.item.ArmorItem; +import net.minecraft.item.ItemStack; +import net.minecraft.item.ToolItem; +import net.minecraft.item.TridentItem; import net.minecraft.util.*; public class CloversFavorEnchantment extends SpectrumEnchantment { @@ -37,10 +44,23 @@ public int getMaxPower(int level) { public int getMaxLevel() { return SpectrumCommon.CONFIG.CloversFavorMaxLevel; } + + @Override + public boolean isAcceptableItem(ItemStack stack) { + var item = stack.getItem(); + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && + item instanceof MalumScytheItem) + { + return true; + } + + return super.isAcceptableItem(stack); + } @Override public boolean canAccept(Enchantment other) { - return super.canAccept(other) && other != Enchantments.LOOTING; + return super.canAccept(other) && other != Enchantments.LOOTING && + !(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.SPIRIT_PLUNDER.get()); } } diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/ExuberanceEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/ExuberanceEnchantment.java index e19c96265a..f50e671dc8 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/ExuberanceEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/ExuberanceEnchantment.java @@ -1,6 +1,8 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.items.tools.*; import de.dafuqs.spectrum.registries.*; import net.minecraft.enchantment.*; @@ -45,7 +47,8 @@ public int getMaxLevel() { @Override public boolean isAcceptableItem(ItemStack stack) { - return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || EnchantmentTarget.DIGGER.isAcceptableItem(stack.getItem()) || stack.getItem() instanceof SpectrumFishingRodItem; + return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || EnchantmentTarget.DIGGER.isAcceptableItem(stack.getItem()) || stack.getItem() instanceof SpectrumFishingRodItem || + (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem); } } \ No newline at end of file diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/FirstStrikeEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/FirstStrikeEnchantment.java index da9ef7e1b1..0c7503533f 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/FirstStrikeEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/FirstStrikeEnchantment.java @@ -1,6 +1,8 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import net.minecraft.enchantment.*; import net.minecraft.entity.*; import net.minecraft.item.*; @@ -29,7 +31,8 @@ public int getMaxLevel() { @Override public boolean isAcceptableItem(ItemStack stack) { - return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem; + return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || + (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem); } } diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/ImprovedCriticalEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/ImprovedCriticalEnchantment.java index 3adc14dcf9..2cae72b0b3 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/ImprovedCriticalEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/ImprovedCriticalEnchantment.java @@ -1,6 +1,9 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; +import com.sammy.malum.registry.common.item.EnchantmentRegistry; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import net.minecraft.enchantment.*; import net.minecraft.entity.*; import net.minecraft.item.*; @@ -38,12 +41,14 @@ public int getMaxLevel() { @Override public boolean canAccept(Enchantment other) { - return other != Enchantments.SHARPNESS && super.canAccept(other); + return other != Enchantments.SHARPNESS && !(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.HAUNTED.get()) + && super.canAccept(other); } @Override public boolean isAcceptableItem(ItemStack stack) { - return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem; + return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || + (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem); } } diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/InventoryInsertionEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/InventoryInsertionEnchantment.java index 26e4371a64..5363bc9970 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/InventoryInsertionEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/InventoryInsertionEnchantment.java @@ -1,5 +1,7 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.items.tools.*; import net.minecraft.enchantment.*; import net.minecraft.entity.*; @@ -42,7 +44,8 @@ public boolean isAcceptableItem(ItemStack stack) { || EnchantmentTarget.BOW.isAcceptableItem(item) || EnchantmentTarget.CROSSBOW.isAcceptableItem(item) || stack.getItem() instanceof ShearsItem - || stack.getItem() instanceof SpectrumFishingRodItem; + || stack.getItem() instanceof SpectrumFishingRodItem + || (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem); } } \ No newline at end of file diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/TightGripEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/TightGripEnchantment.java index 022d08b98e..f4a2edb649 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/TightGripEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/TightGripEnchantment.java @@ -1,8 +1,12 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; +import com.sammy.malum.registry.common.item.EnchantmentRegistry; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import net.minecraft.enchantment.*; import net.minecraft.entity.*; +import net.minecraft.item.ItemStack; import net.minecraft.util.*; public class TightGripEnchantment extends SpectrumEnchantment { @@ -26,5 +30,22 @@ public int getMaxLevel() { return SpectrumCommon.CONFIG.TightGripMaxLevel; } + @Override + public boolean isAcceptableItem(ItemStack stack) { + var item = stack.getItem(); + if(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && + item instanceof MalumScytheItem) + { + return true; + } + + return super.isAcceptableItem(stack); + } + @Override + public boolean canAccept(Enchantment other) { + return super.canAccept(other) && + !(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.REBOUND.get()); + } + } diff --git a/src/main/java/de/dafuqs/spectrum/enchantments/TreasureHunterEnchantment.java b/src/main/java/de/dafuqs/spectrum/enchantments/TreasureHunterEnchantment.java index 879b734df4..f7b076800b 100644 --- a/src/main/java/de/dafuqs/spectrum/enchantments/TreasureHunterEnchantment.java +++ b/src/main/java/de/dafuqs/spectrum/enchantments/TreasureHunterEnchantment.java @@ -1,6 +1,9 @@ package de.dafuqs.spectrum.enchantments; +import com.sammy.malum.common.item.curiosities.weapons.scythe.MalumScytheItem; +import com.sammy.malum.registry.common.item.EnchantmentRegistry; import de.dafuqs.spectrum.*; +import de.dafuqs.spectrum.compat.SpectrumIntegrationPacks; import de.dafuqs.spectrum.registries.*; import net.minecraft.enchantment.*; import net.minecraft.entity.*; @@ -56,12 +59,14 @@ public int getMaxLevel() { @Override public boolean canAccept(Enchantment other) { - return super.canAccept(other) && other != Enchantments.LOOTING; + return super.canAccept(other) && other != Enchantments.LOOTING && + !(SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && other == EnchantmentRegistry.SPIRIT_PLUNDER.get()); } @Override public boolean isAcceptableItem(ItemStack stack) { - return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || stack.isIn(ItemTags.AXES); + return super.isAcceptableItem(stack) || stack.getItem() instanceof AxeItem || stack.isIn(ItemTags.AXES) || + (SpectrumIntegrationPacks.isIntegrationPackActive(SpectrumIntegrationPacks.MALUM_ID) && stack.getItem() instanceof MalumScytheItem); } } \ No newline at end of file diff --git a/src/main/resources/assets/spectrum/lang/en_us.json b/src/main/resources/assets/spectrum/lang/en_us.json index 228c4ff23d..d589a2ad02 100644 --- a/src/main/resources/assets/spectrum/lang/en_us.json +++ b/src/main/resources/assets/spectrum/lang/en_us.json @@ -4100,7 +4100,7 @@ "enchantment.spectrum.razing.desc": "Higher mining speed the harder a block is to break", "enchantment.spectrum.resonance": "Resonance", "enchantment.spectrum.resonance.desc": "Uses gentle vibrations to allow some blocks to either drop themselves or preserve special properties", - "enchantment.spectrum.serendipity_reel": "Serendipity_reel", + "enchantment.spectrum.serendipity_reel": "Serendipity Reel", "enchantment.spectrum.serendipity_reel.desc": "Chance to reel in double loot", "enchantment.spectrum.sniper": "Sniping", "enchantment.spectrum.sniper.desc": "Increased projectile speed", @@ -5062,6 +5062,7 @@ "spectrum.rei.potion_workshop_reacting.botania.mana_powder": "• +25% duration\n• 15% chance to add last effect", "spectrum.rei.potion_workshop_reacting.botania.pixie_dust": "• creates Lingering Potions & Tipped Arrows\n• -25% potency", "spectrum.rei.potion_workshop_reacting.hexcasting.charged_amethyst": "\n• +15-120s duration. Sometimes more, sometimes less", + "spectrum.rei.potion_workshop_reacting.malum.void_salts": "• +200% duration\n• -2 yield", "spectrum.rei.potion_workshop_reacting.minecraft.dragon_breath": "• Creates Lingering Potions - also requires Gunpowder as reagent\n• Allows you to create Tipped Arrows, if you supply Arrows instead of Bottles", "spectrum.rei.potion_workshop_reacting.minecraft.glowstone_dust": "• +1 potency", "spectrum.rei.potion_workshop_reacting.minecraft.gunpowder": "• creates Splash Potions", diff --git a/src/main/resources/data/spectrum/advancements/mod_integration/malum/haunted.json b/src/main/resources/data/spectrum/advancements/mod_integration/malum/haunted.json new file mode 100644 index 0000000000..90dff02d9a --- /dev/null +++ b/src/main/resources/data/spectrum/advancements/mod_integration/malum/haunted.json @@ -0,0 +1,32 @@ +{ + "criteria": { + "built_enchanting_structure": { + "trigger": "revelationary:advancement_gotten", + "conditions": { "advancement_identifier": "spectrum:midgame/build_enchanting_structure" } + }, + "obtain_umbral": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "malum:umbral_spirit" + ] + } + ] + } + }, + "collected_storm_stone": { + "trigger": "revelationary:advancement_gotten", + "conditions": { "advancement_identifier": "spectrum:midgame/collect_storm_stone" } + } + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/advancements/mod_integration/malum/replenishing.json b/src/main/resources/data/spectrum/advancements/mod_integration/malum/replenishing.json new file mode 100644 index 0000000000..1bb2540bd4 --- /dev/null +++ b/src/main/resources/data/spectrum/advancements/mod_integration/malum/replenishing.json @@ -0,0 +1,32 @@ +{ + "criteria": { + "built_enchanting_structure": { + "trigger": "revelationary:advancement_gotten", + "conditions": { "advancement_identifier": "spectrum:midgame/build_enchanting_structure" } + }, + "obtain_umbral": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "malum:umbral_spirit" + ] + } + ] + } + }, + "collected_neolith": { + "trigger": "revelationary:advancement_gotten", + "conditions": { "advancement_identifier": "spectrum:midgame/collect_neolith" } + } + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/advancements/mod_integration/malum/understand_color_and_spirit.json b/src/main/resources/data/spectrum/advancements/mod_integration/malum/understand_color_and_spirit.json new file mode 100644 index 0000000000..775485ae73 --- /dev/null +++ b/src/main/resources/data/spectrum/advancements/mod_integration/malum/understand_color_and_spirit.json @@ -0,0 +1,30 @@ +{ + "criteria": { + "understand_color": { + "trigger": "revelationary:advancement_gotten", + "conditions": { + "advancement_identifier": "spectrum:lategame/collect_grayscale_pigments" + } + }, + "understand_spirit": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "malum:umbral_spirit" + ] + } + ] + } + } + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/advancements/mod_integration/malum/visited_well.json b/src/main/resources/data/spectrum/advancements/mod_integration/malum/visited_well.json new file mode 100644 index 0000000000..2c85c5a23d --- /dev/null +++ b/src/main/resources/data/spectrum/advancements/mod_integration/malum/visited_well.json @@ -0,0 +1,28 @@ +{ + "criteria": { + "found_well": { + "trigger": "minecraft:location", + "conditions": { + "player": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "location": { + "structure": "malum:weeping_well" + } + } + } + ] + } + } + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json b/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json index a700876599..fce1cdcc65 100644 --- a/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json +++ b/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json @@ -1,20 +1,37 @@ { "criteria": { "placed_pedestal": { - "trigger":"revelationary:advancement_gotten", + "trigger": "revelationary:advancement_gotten", "conditions": { "advancement_identifier": "spectrum:place_pedestal" } }, "collected_ender_eye": { - "trigger":"revelationary:advancement_gotten", + "trigger": "revelationary:advancement_gotten", "conditions": { "advancement_identifier": "spectrum:hidden/collect_vanilla/ender_eye" } }, + "collected_warp_flux": { + "trigger": "minecraft:inventory_changed", + "conditions": { + "items": [ + { + "items": [ + "malum:warp_flux" + ] + } + ] + } + }, "gotten_radiating_ender": { - "trigger":"revelationary:advancement_gotten", + "trigger": "revelationary:advancement_gotten", "conditions": { "advancement_identifier": "spectrum:get_radiating_ender" } } - } + }, + "requirements": [ + [ "placed_pedestal" ], + [ "collected_ender_eye", "collected_warp_flux" ], + [ "gotten_radiating_ender" ] + ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_haunted.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_haunted.json new file mode 100644 index 0000000000..ae684ce36b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_haunted.json @@ -0,0 +1,54 @@ +{ + "type": "spectrum:enchanter", + "time": 500, + "required_experience": 200, + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "spectrum:purple_pigment" + }, + { + "item": "spectrum:purple_pigment" + }, + { + "item": "malum:malignant_lead" + }, + { + "item": "spectrum:storm_stone" + }, + { + "item": "spectrum:purple_pigment" + }, + { + "item": "spectrum:purple_pigment" + }, + { + "item": "malum:malignant_lead" + }, + { + "item": "spectrum:storm_stone" + } + ], + "result": { + "item": "minecraft:enchanted_book", + "nbt": { + "StoredEnchantments": [ + { + "id": "malum:haunted", + "lvl": "1s" + } + ] + } + }, + "required_advancement": "spectrum:mod_integration/malum/haunted", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_rebound.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_rebound.json new file mode 100644 index 0000000000..c67ada016a --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_rebound.json @@ -0,0 +1,54 @@ +{ + "type": "spectrum:enchanter", + "time": 300, + "required_experience": 100, + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "spectrum:green_pigment" + }, + { + "item": "spectrum:green_pigment" + }, + { + "item": "malum:cursed_sapball" + }, + { + "item": "minecraft:iron_ingot" + }, + { + "item": "spectrum:green_pigment" + }, + { + "item": "spectrum:green_pigment" + }, + { + "item": "malum:cursed_sapball" + }, + { + "item": "minecraft:iron_ingot" + } + ], + "result": { + "item": "minecraft:enchanted_book", + "nbt": { + "StoredEnchantments": [ + { + "id": "malum:rebound", + "lvl": "1s" + } + ] + } + }, + "required_advancement": "spectrum:midgame/build_enchanting_structure", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_replenishing.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_replenishing.json new file mode 100644 index 0000000000..f647903606 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_replenishing.json @@ -0,0 +1,54 @@ +{ + "type": "spectrum:enchanter", + "time": 500, + "required_experience": 200, + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "spectrum:black_pigment" + }, + { + "item": "spectrum:black_pigment" + }, + { + "item": "malum:mnemonic_fragment" + }, + { + "item": "spectrum:neolith" + }, + { + "item": "spectrum:black_pigment" + }, + { + "item": "spectrum:black_pigment" + }, + { + "item": "malum:mnemonic_fragment" + }, + { + "item": "spectrum:neolith" + } + ], + "result": { + "item": "minecraft:enchanted_book", + "nbt": { + "StoredEnchantments": [ + { + "id": "malum:replenishing", + "lvl": "1s" + } + ] + } + }, + "required_advancement": "spectrum:mod_integration/malum/replenishing", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_spirit_plunder.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_spirit_plunder.json new file mode 100644 index 0000000000..e1fbbdc054 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchanter/book_spirit_plunder.json @@ -0,0 +1,54 @@ +{ + "type": "spectrum:enchanter", + "time": 300, + "required_experience": 100, + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "spectrum:light_blue_pigment" + }, + { + "item": "spectrum:light_blue_pigment" + }, + { + "item": "malum:processed_soulstone" + }, + { + "item": "spectrum:four_leaf_clover" + }, + { + "item": "spectrum:light_blue_pigment" + }, + { + "item": "spectrum:light_blue_pigment" + }, + { + "item": "malum:processed_soulstone" + }, + { + "item": "spectrum:four_leaf_clover" + } + ], + "result": { + "item": "minecraft:enchanted_book", + "nbt": { + "StoredEnchantments": [ + { + "id": "malum:spirit_plunder", + "lvl": "1s" + } + ] + } + }, + "required_advancement": "spectrum:unlocks/enchantments/clovers_favor", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/haunted.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/haunted.json new file mode 100644 index 0000000000..4709078a26 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/haunted.json @@ -0,0 +1,30 @@ +{ + "type": "spectrum:enchantment_upgrade", + "enchantment": "malum:haunted", + "levels": [ + { + "experience": 400, + "item": "spectrum:purple_pigment", + "item_count": 8 + }, + { + "experience": 1600, + "item": "spectrum:purple_pigment", + "item_count": 32 + }, + { + "experience": 3200, + "item": "spectrum:purple_pigment", + "item_count": 128 + } + ], + "required_advancement": "spectrum:mod_integration/malum/haunted", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/rebound.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/rebound.json new file mode 100644 index 0000000000..4bf813175e --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/rebound.json @@ -0,0 +1,40 @@ +{ + "type": "spectrum:enchantment_upgrade", + "enchantment": "malum:rebound", + "levels": [ + { + "experience": 200, + "item": "spectrum:green_pigment", + "item_count": 8 + }, + { + "experience": 400, + "item": "spectrum:green_pigment", + "item_count": 32 + }, + { + "experience": 200, + "item": "spectrum:green_pigment", + "item_count": 128 + }, + { + "experience": 10000, + "item": "spectrum:green_pigment", + "item_count": 512 + }, + { + "experience": 40000, + "item": "spectrum:green_pigment", + "item_count": 512 + } + ], + "required_advancement": "spectrum:midgame/build_enchanting_structure", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/replenishing.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/replenishing.json new file mode 100644 index 0000000000..7427ea1e7b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/replenishing.json @@ -0,0 +1,30 @@ +{ + "type": "spectrum:enchantment_upgrade", + "enchantment": "malum:replenishing", + "levels": [ + { + "experience": 400, + "item": "spectrum:black_pigment", + "item_count": 8 + }, + { + "experience": 1600, + "item": "spectrum:black_pigment", + "item_count": 32 + }, + { + "experience": 3200, + "item": "spectrum:black_pigment", + "item_count": 128 + } + ], + "required_advancement": "spectrum:mod_integration/malum/replenishing", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/spirit_plunder.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/spirit_plunder.json new file mode 100644 index 0000000000..51ab2460e5 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/enchantment_upgrade/spirit_plunder.json @@ -0,0 +1,35 @@ +{ + "type": "spectrum:enchantment_upgrade", + "enchantment": "malum:spirit_plunder", + "levels": [ + { + "experience": 200, + "item": "spectrum:light_blue_pigment", + "item_count": 8 + }, + { + "experience": 1600, + "item": "spectrum:light_blue_pigment", + "item_count": 32 + }, + { + "experience": 3200, + "item": "spectrum:light_blue_pigment", + "item_count": 128 + }, + { + "experience": 6400, + "item": "spectrum:light_blue_pigment", + "item_count": 256 + } + ], + "required_advancement": "spectrum:unlocks/enchantments/clovers_favor", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_bag_of_holding.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_bag_of_holding.json new file mode 100644 index 0000000000..c734b1cd01 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_bag_of_holding.json @@ -0,0 +1,40 @@ +{ + "type": "spectrum:pedestal", + "time": 240, + "tier": "basic", + "magenta": 4, + "yellow": 0, + "cyan": 4, + "black": 0, + "white": 0, + "experience": 2.0, + "pattern": [ + "OOO", + "TWT", + "OOO" + ], + "key": { + "O": { + "item": "minecraft:obsidian" + }, + "W": { + "item": "malum:warp_flux" + }, + "T": { + "item": "spectrum:radiating_ender" + } + }, + "result": { + "item": "spectrum:bag_of_holding", + "count": 1 + }, + "required_advancement": "spectrum:unlocks/items/bag_of_holding", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_glow_phantom_frame.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_glow_phantom_frame.json new file mode 100644 index 0000000000..1c27386af9 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_glow_phantom_frame.json @@ -0,0 +1,44 @@ +{ + "type": "spectrum:pedestal", + "group": "phantom_frames", + "time": 80, + "tier": "basic", + "cyan": 0, + "magenta": 0, + "yellow": 4, + "white": 0, + "black": 0, + "experience": 0.5, + "pattern": [ + "SGS", + "CLC", + "SSS" + ], + "key": { + "L": { + "item": "malum:astral_weave" + }, + "S": { + "item": "minecraft:stick" + }, + "C": { + "item": "spectrum:shimmerstone_gem" + }, + "G": { + "item": "minecraft:glow_ink_sac" + } + }, + "result": { + "item": "spectrum:glow_phantom_frame", + "count": 2 + }, + "required_advancement": "spectrum:unlocks/items/phantom_frames", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_phantom_frame.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_phantom_frame.json new file mode 100644 index 0000000000..019152b4aa --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/alt_phantom_frame.json @@ -0,0 +1,41 @@ +{ + "type": "spectrum:pedestal", + "group": "phantom_frames", + "time": 80, + "tier": "basic", + "cyan": 0, + "magenta": 0, + "yellow": 2, + "white": 0, + "black": 0, + "experience": 0.5, + "pattern": [ + "SSS", + "CLC", + "SSS" + ], + "key": { + "L": { + "item": "malum:astral_weave" + }, + "S": { + "item": "minecraft:stick" + }, + "C": { + "item": "spectrum:shimmerstone_gem" + } + }, + "result": { + "item": "spectrum:phantom_frame", + "count": 2 + }, + "required_advancement": "spectrum:unlocks/items/phantom_frames", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/chorusless_ender_splice.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/chorusless_ender_splice.json new file mode 100644 index 0000000000..997271484d --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/chorusless_ender_splice.json @@ -0,0 +1,43 @@ +{ + "type": "spectrum:pedestal", + "time": 240, + "tier": "advanced", + "magenta": 4, + "yellow": 0, + "cyan": 4, + "black": 0, + "white": 0, + "experience": 2.0, + "pattern": [ + "PCP", + "ETE", + "PCP" + ], + "key": { + "T": { + "item": "spectrum:radiating_ender" + }, + "C": { + "item": "malum:warp_flux" + }, + "E": { + "item": "spectrum:neolith" + }, + "P": { + "item": "spectrum:cyan_pigment" + } + }, + "result": { + "item": "spectrum:ender_splice", + "count": 4 + }, + "required_advancement": "spectrum:unlocks/items/ender_splice", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/malum_alt_enchantment_canvas.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/malum_alt_enchantment_canvas.json new file mode 100644 index 0000000000..cbce18d0ea --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/pedestal/malum_alt_enchantment_canvas.json @@ -0,0 +1,37 @@ +{ + "type": "spectrum:pedestal", + "time": 40, + "tier": "simple", + "cyan": 8, + "magenta": 2, + "yellow": 0, + "black": 0, + "white": 0, + "experience": 2.0, + "pattern": [ + "PCP", + "C C", + "PCP" + ], + "key": { + "C": { + "item": "malum:astral_weave" + }, + "P": { + "item": "spectrum:purple_pigment" + } + }, + "result": { + "item": "spectrum:enchantment_canvas", + "count": 2 + }, + "required_advancement": "spectrum:unlocks/items/enchantment_canvas", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_invisibility.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_invisibility.json new file mode 100644 index 0000000000..59c00bf36c --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_invisibility.json @@ -0,0 +1,26 @@ +{ + "type": "spectrum:potion_workshop_brewing", + "group": "malum", + "ingredient1": { + "item": "minecraft:nether_wart" + }, + "ingredient2": { + "item": "malum:astral_weave" + }, + "effect": "minecraft:invisibility", + "base_duration_ticks": 3600, + "potency_modifier": 0.0, + "applicable_to_potions": true, + "applicable_to_tipped_arrows": true, + "applicable_to_potion_fillables": true, + "ink_color": "spectrum:green", + "ink_cost": 8, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_poison.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_poison.json new file mode 100644 index 0000000000..3f9841a326 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_brewing/alt_poison.json @@ -0,0 +1,26 @@ +{ + "type": "spectrum:potion_workshop_brewing", + "group": "malum", + "ingredient1": { + "item": "minecraft:nether_wart" + }, + "ingredient2": { + "item": "malum:rotting_essence" + }, + "effect": "minecraft:poison", + "base_duration_ticks": 900, + "potency_modifier": 1.0, + "applicable_to_potions": true, + "applicable_to_tipped_arrows": true, + "applicable_to_potion_fillables": true, + "ink_color": "spectrum:pink", + "ink_cost": 2, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/concentrated_gluttony.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/concentrated_gluttony.json new file mode 100644 index 0000000000..70b04ec59d --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/concentrated_gluttony.json @@ -0,0 +1,26 @@ +{ + "type": "spectrum:potion_workshop_crafting", + "base_ingredient": { + "item": "minecraft:honey_bottle" + }, + "use_up_base_ingredient": true, + "color": 867887, + "ingredient1": { + "item": "malum:rotting_essence" + }, + "ingredient2": { + "item": "malum:living_flesh" + }, + "result": { + "item": "malum:concentrated_gluttony", + "count": 3 + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/splash_of_gluttony.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/splash_of_gluttony.json new file mode 100644 index 0000000000..39b4af43ca --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_crafting/splash_of_gluttony.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:potion_workshop_crafting", + "base_ingredient": { + "item": "minecraft:honey_bottle" + }, + "use_up_base_ingredient": true, + "color": 867887, + "ingredient1": { + "item": "malum:rotting_essence" + }, + "ingredient2": { + "item": "malum:living_flesh" + }, + "ingredient3": { + "item": "minecraft:gunpowder" + }, + "result": { + "item": "malum:splash_of_gluttony", + "count": 3 + }, + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_reacting/void_salts.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_reacting/void_salts.json new file mode 100644 index 0000000000..dd1d5d944a --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/potion_workshop_reacting/void_salts.json @@ -0,0 +1,17 @@ +{ + "type": "spectrum:potion_workshop_reacting", + "item": "malum:void_salts", + "modifiers": { + "duration_multiplier": 3.0, + "flat_yield_bonus": -2.0 + }, + "required_advancement": "spectrum:mod_integration/malum/visited_well", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aerial_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aerial_spirit.json new file mode 100644 index 0000000000..443eebfd42 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aerial_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:paltaeria_gem" + }, + "ingredient2": { + "item": "spectrum:cyan_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:aerial_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aqueous_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aqueous_spirit.json new file mode 100644 index 0000000000..78f422a67b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/aqueous_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:mermaids_gem" + }, + "ingredient2": { + "item": "spectrum:light_blue_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:aqueous_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/arcane_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/arcane_spirit.json new file mode 100644 index 0000000000..3b773bc49b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/arcane_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "malum:blighted_gunk" + }, + "ingredient2": { + "item": "spectrum:light_gray_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:arcane_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/earthen_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/earthen_spirit.json new file mode 100644 index 0000000000..1ace5968b3 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/earthen_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:bedrock_dust" + }, + "ingredient2": { + "item": "spectrum:brown_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:earthen_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/eldritch_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/eldritch_spirit.json new file mode 100644 index 0000000000..a6d12a1122 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/eldritch_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:stardust" + }, + "ingredient2": { + "item": "spectrum:gray_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:eldritch_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/infernal_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/infernal_spirit.json new file mode 100644 index 0000000000..27074d3c69 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/infernal_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "malum:blazing_quartz" + }, + "ingredient2": { + "item": "spectrum:orange_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:infernal_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/sacred_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/sacred_spirit.json new file mode 100644 index 0000000000..ca66a08b7b --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/sacred_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time":150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:moonstone_powder" + }, + "ingredient2": { + "item": "spectrum:white_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:sacred_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/wicked_spirit.json b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/wicked_spirit.json new file mode 100644 index 0000000000..2918401e63 --- /dev/null +++ b/src/main/resources/data/spectrum/recipes/mod_integration/malum/spirit_instiller/wicked_spirit.json @@ -0,0 +1,29 @@ +{ + "type": "spectrum:spirit_instiller", + "time": 150, + "experience": 0.75, + "ingredient1": { + "item": "spectrum:quitoxic_powder" + }, + "ingredient2": { + "item": "spectrum:black_pigment", + "count": 4 + }, + "center_ingredient": { + "item": "malum:null_slate", + "count": 2 + }, + "result": { + "item": "malum:wicked_spirit", + "count": 2 + }, + "required_advancement": "spectrum:mod_integration/malum/understand_color_and_spirit", + "fabric:load_conditions": [ + { + "condition": "fabric:all_mods_loaded", + "values": [ + "malum" + ] + } + ] +} \ No newline at end of file From 583feee1dfe5d47e85336aa9e93c18af80f0ad21 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Mon, 14 Oct 2024 21:48:51 +0200 Subject: [PATCH 23/50] cloak amaranth blocks that do technically exist, but are unavailable (small plant-top) --- .../blocks/conditional/amaranth/AmaranthCropBlock.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java index ae425250d0..10d70ad729 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/conditional/amaranth/AmaranthCropBlock.java @@ -59,7 +59,8 @@ public Map getBlockStateCloaks() { Map map = new Hashtable<>(); for (int age = 0; age <= LAST_SINGLE_BLOCK_AGE; age++) { - map.put(this.withAge(age), smallFern); + map.put(this.withAgeAndHalf(age, DoubleBlockHalf.LOWER), smallFern); + map.put(this.withAgeAndHalf(age, DoubleBlockHalf.UPPER), smallFern); } for (int age = LAST_SINGLE_BLOCK_AGE + 1; age <= MAX_AGE; age++) { map.put(this.withAgeAndHalf(age, DoubleBlockHalf.LOWER), largeFernLower); From 595aeb4d7481b9ffb7ddda7d91b67937fa8a9bad Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Mon, 14 Oct 2024 21:49:17 +0200 Subject: [PATCH 24/50] minor bottomless bundle fix --- .../bottomless_bundle/BottomlessBundleBlockEntity.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/dafuqs/spectrum/blocks/bottomless_bundle/BottomlessBundleBlockEntity.java b/src/main/java/de/dafuqs/spectrum/blocks/bottomless_bundle/BottomlessBundleBlockEntity.java index c5097197a3..8207f6dbb9 100644 --- a/src/main/java/de/dafuqs/spectrum/blocks/bottomless_bundle/BottomlessBundleBlockEntity.java +++ b/src/main/java/de/dafuqs/spectrum/blocks/bottomless_bundle/BottomlessBundleBlockEntity.java @@ -78,7 +78,11 @@ public void readNbt(NbtCompound nbt) { // Trivial sync methods. Call whenever bundle/storage contents need to be synced with each other [(de)serialization, bundle stack set, bundle block break loot] private void syncBundleWithStorage() { - BottomlessBundleItem.setBundledStack(this.bottomlessBundleStack, this.storage.variant.toStack(), (int) this.storage.amount); + if (this.storage.variant == null || this.storage.amount == 0) { + BottomlessBundleItem.setBundledStack(this.bottomlessBundleStack, ItemStack.EMPTY, 0); + } else { + BottomlessBundleItem.setBundledStack(this.bottomlessBundleStack, this.storage.variant.toStack(), (int) this.storage.amount); + } } private void syncStorageWithBundle() { From f64410d6c293cef6b1a764b611235e453e4f34fc Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Mon, 14 Oct 2024 21:49:37 +0200 Subject: [PATCH 25/50] cutout renderlayer for spirit sallow vines --- .../de/dafuqs/spectrum/registries/SpectrumBlocks.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java index 09628a681b..033687a240 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumBlocks.java @@ -3194,6 +3194,17 @@ public static void registerClient() { BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.IVORY_NOXSHROOM, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.EBONY_NOXSHROOM, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.CHESTNUT_NOXSHROOM, RenderLayer.getCutout()); + + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.CYAN_SPIRIT_SALLOW_VINES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.CYAN_SPIRIT_SALLOW_VINES_PLANT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.MAGENTA_SPIRIT_SALLOW_VINES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.MAGENTA_SPIRIT_SALLOW_VINES_PLANT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.YELLOW_SPIRIT_SALLOW_VINES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.YELLOW_SPIRIT_SALLOW_VINES_PLANT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.BLACK_SPIRIT_SALLOW_VINES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.BLACK_SPIRIT_SALLOW_VINES_PLANT, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.WHITE_SPIRIT_SALLOW_VINES, RenderLayer.getCutout()); + BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.WHITE_SPIRIT_SALLOW_VINES_PLANT, RenderLayer.getCutout()); BlockRenderLayerMap.INSTANCE.putBlock(SpectrumBlocks.PYRITE_RIPPER, RenderLayer.getCutoutMipped()); From 9a4b2b7a07162df7cb071e816504e40070ad9468 Mon Sep 17 00:00:00 2001 From: f-raZ0R Date: Mon, 14 Oct 2024 15:50:09 -0400 Subject: [PATCH 26/50] Revert "Fix arcane initialization order error that breaks creative search" This reverts commit 05e2a2d7087a3d010216c46a9e42b36629fcfa7d. --- .../de/dafuqs/spectrum/registries/SpectrumFluids.java | 8 ++++++-- .../de/dafuqs/spectrum/registries/SpectrumItems.java | 11 ++--------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumFluids.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumFluids.java index 71dcc3beb4..92d5523396 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumFluids.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumFluids.java @@ -8,12 +8,15 @@ import net.fabricmc.api.*; import net.fabricmc.fabric.api.blockrenderlayer.v1.*; import net.fabricmc.fabric.api.client.render.fluid.v1.*; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; +import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.minecraft.client.render.*; import net.minecraft.fluid.*; import net.minecraft.registry.*; import net.minecraft.util.*; import org.joml.*; - +@SuppressWarnings("UnstableApiUsage") public class SpectrumFluids { // RenderHandler storage for compatibility purposes @@ -56,7 +59,8 @@ public static void register() { registerFluid("mud", MUD, FLOWING_MUD, DyeColor.BROWN); registerFluid("midnight_solution", MIDNIGHT_SOLUTION, FLOWING_MIDNIGHT_SOLUTION, DyeColor.GRAY); registerFluid("dragonrot", DRAGONROT, FLOWING_DRAGONROT, DyeColor.GRAY); - + FluidStorage.combinedItemApiProvider(SpectrumItems.MERMAIDS_GEM).register(context -> + new RemainderlessItemFluidStorage(context, FluidVariant.of(Fluids.WATER), FluidConstants.BUCKET)); } private static void registerFluid(String name, Fluid stillFluid, Fluid flowingFluid, DyeColor dyeColor) { diff --git a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java index 04191ba30e..c4c3d7a769 100644 --- a/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java +++ b/src/main/java/de/dafuqs/spectrum/registries/SpectrumItems.java @@ -6,7 +6,6 @@ import de.dafuqs.spectrum.api.item.*; import de.dafuqs.spectrum.blocks.bottomless_bundle.*; import de.dafuqs.spectrum.blocks.conditional.*; -import de.dafuqs.spectrum.blocks.fluid.RemainderlessItemFluidStorage; import de.dafuqs.spectrum.blocks.gravity.*; import de.dafuqs.spectrum.blocks.jade_vines.*; import de.dafuqs.spectrum.blocks.rock_candy.*; @@ -29,9 +28,6 @@ import de.dafuqs.spectrum.recipe.pedestal.*; import net.fabricmc.fabric.api.item.v1.*; import net.fabricmc.fabric.api.registry.*; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; -import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; import net.minecraft.enchantment.*; import net.minecraft.fluid.*; import net.minecraft.item.*; @@ -44,7 +40,6 @@ import static de.dafuqs.spectrum.registries.SpectrumFluids.*; -@SuppressWarnings("UnstableApiUsage") public class SpectrumItems { public static class IS { @@ -551,7 +546,7 @@ public static void register() { registerInkStorage(); registerTrinkets(); registerMagicalTools(); - registerFluidContainers(); + registerFluidBuckets(); registerBannerPatterns(); registerPureClusters(); registerStructurePlacers(); @@ -967,13 +962,11 @@ public static void registerTrinkets() { register("aether_graced_nectar_gloves", AETHER_GRACED_NECTAR_GLOVES, DyeColor.PURPLE); } - public static void registerFluidContainers() { + public static void registerFluidBuckets() { register("liquid_crystal_bucket", LIQUID_CRYSTAL_BUCKET, DyeColor.LIGHT_GRAY); register("mud_bucket", MUD_BUCKET, DyeColor.BROWN); register("midnight_solution_bucket", MIDNIGHT_SOLUTION_BUCKET, DyeColor.GRAY); register("dragonrot_bucket", DRAGONROT_BUCKET, DyeColor.LIGHT_GRAY); - FluidStorage.combinedItemApiProvider(SpectrumItems.MERMAIDS_GEM).register(context -> - new RemainderlessItemFluidStorage(context, FluidVariant.of(Fluids.WATER), FluidConstants.BUCKET)); } public static void registerTechnicalItems() { From a06fb8a9f060489253f4828a56db32a2aacda4e5 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Mon, 14 Oct 2024 21:50:30 +0200 Subject: [PATCH 27/50] programmer art textures --- .../dike_chiseled_preservation_stone.png | Bin 0 -> 7360 bytes ...ike_chiseled_preservation_stone.png.mcmeta | 18 ++++++++++++++++++ .../spectrum/textures/block/dike_gate.png | Bin 0 -> 1534 bytes .../textures/block/dike_gate.png.mcmeta | 6 ++++++ .../spectrum/textures/block/dike_gate_e.png | Bin 0 -> 1534 bytes .../textures/block/dike_gate_e.png.mcmeta | 6 ++++++ .../block/dike_gate_fountain_side.png | Bin 0 -> 6182 bytes .../textures/block/dike_gate_fountain_top.png | Bin 0 -> 6521 bytes .../powder_chiseled_preservation_stone.png | Bin 0 -> 6060 bytes .../textures/block/radiating_ender.png | Bin 0 -> 782 bytes 10 files changed, 30 insertions(+) create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_e.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_e.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_fountain_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_fountain_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/powder_chiseled_preservation_stone.png create mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/radiating_ender.png diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..c232f9dc473ced1cc1d5f575183998fa5d0f8c1b GIT binary patch literal 7360 zcmeHKc{tST+aLRuQc8AXB8p))%#1xt$i8o>F$;s4VP-UgQnn~$iO7~ni%1mOl+ztW>7>7E#GVO6Ja3GyVA_ow`%#c7Ln8+rRKp^&Sr5XOIGxvmJ z))~9pIFEo^#y+~G%MiYPHFz~UsLQ%~b#HlFg|QuX93v2Pf9=vqxg~Wyc*b;vFSK-L zms0hR_r#Tz3FIt%`FK*9(7N7N&Dq~qO$o~Lm-5=aJT8}*(0O!gu+5C!by9t?`~~KG znN-b_rsk#jd3RXFEJ=r9=~p z?soXWGIz-djg^uH#>GPOvXHrv3nN@}GfOYxY=W*O>ojLByd_o~vCKU=Chh=!X=%Yy zX0-1ct_{m?;1Q#C)m>Y)ft^h3a7p<7?h~u(b3tp-Q@+X-rEkkQYx%KX2H2rZ`a)k9 zzOM7mgz2;-%`d`5Plhg5Nk4&yoW!h(_A#7weMVc=mONiFLMYQU>0wO`xSj_|yBlJ-y*u3F=Y2ODJb%8qSI~PpuP1vg99<5 z8kKkLV}wO-DV%=WoDuk;%Aa~#aL(l@X^X0uT87t=rJ2U{g|+$v6Rw@nuV+NBg>sy0 z3LS#Id*7l85}4TKAQG(A@J4jXv{sdxBX13G zM)MCwBIP4asmq%yKlM+LYUcuKV0APe0t-vESXX((k#KLx+>!4R?P^ zW%bKcqpL+JNu^c&q0PQNW1Y`)C2Eq;y)8zj64+_qLYqnCr!=>#o!G(mD!1N=oq6=E z*U81>M67W7v5|_l{==-nHG|6Y)_U}3Jq|Y7YfJYv+@lPpC@ESyc=wPW6XOU|w>aFKRxW6YbV;obBn zjU8hvNrCbDDGc7>buNrg_nN_M(!Dj_N@C+tuLi2v11ZN#W=~{pm)&f!H*Xtw#G2Z1 zLiOFnD6So%v; zN)S#YNwIYM`^(d*0n-iTD6QSX?C? z%cb^S{`|z1vI;lC)xc@J8h;(Gcl}ds;D93+4kr_xie&0?IbwV53N=MP1T|O5q!|10 zdGSttA#_ak7oT7AwmP#j`o+<^7jNKW&GuQAkv}HC*W^B5p)!$O9Gt-KVXdS#1QQLq zRCVo+&bHdhANI#MQR)p?72Nm+=@aEX zqX&h8SK@iPGs?y51~1I+s5+3PW_5J6!tfI}vEaiPA<2iW!RuF%JZs|OP*AIQcJVIw zTCX!TZD<_p_L7xUSP`Q+A<$5K!ZYL5A@DwEd;B94$t&+iIMn>~uh+>2C3y~g+>(9$ zsGHpJmx@=MPsN+|hh)v(N}RE(l#JzTOJ+&q*}O4is3>MQ@o_N5Uh7=0wQJSFgDFa8a!6>)tm5^o?ULapUkDrl z$??w&J|?tyk-XZ15p2(4|F}1Mls;;5MpW#IbBmm(jXjb|F=}l+WfftxCw6Qn-EtoS z7bZJaJSq|`CF1+CNY6Mf#42qmv$vq>MSBl+&}c*eyOJocMKugl_`K6Z)vWTkq00(H zL2KCmfn~9w>SW?YT#NIi`z|f@lAX>)aaQhq77q%43($6z?JDZ<(BS0A;b8ADxKY{? zLm{W?x3YJ=b`8okNS(T-s$jlN(5qGGW!`*HI#R@~P1`~|Ym_TF_Hj*-Z?~j%`6C0A z^u?}6kAlcbzJUqbYBfWnPN;M}wlQw$S)CYvpw%IcVELb_h{jHXLcKLhFCP@&HwVL) zu7=hMjfL!zITzpV{^@Yw*_c)8!gA#Dox;N*)pxGMI(`ha&Wb*P+4`_K_aWm=X#{nY zU5##hQOEMqYf6{)K`?Xj&bOs|yS-SGw_V3v+(ptOg@E zI;^F{)rci-$sYWyI(eCpL%G4dS5HT!g(>$}a(p5(j&c|G!k?GQzuK9-w|-gQa=!;YRJk8ys&cG!i+dy8UDphK z|94+Y%MQD;)S>}Xa|BPVr)%mYf_5~qD|dy%Z?W`aVz!`3GE`0_g$*;{S>$KEMuqJJ0Q-N!MT-t%_eUXK8Bl)rtz%MB4#zJtH<@Mv`laOI-0RdO7rD6a{E}m&iba>uP0*#nUKiI0DU^sK%xQ0u3+-q@&Lc#Nqvk zOt3f6hfLLl%sqSp0h0;35El(Am{p(=(U)u%N+&vmT07!H{qYzAL|;!(hm8dQC`2X> z%%%iT8CbS1WD^$)yl;rrA>d6DroS%4)yfuZM57bIC^eKC3~ItAA45R&1i?CV0tstx zZ2A)d_|k>=GMRx`b#)etrN%<4(da(va0~{c4nwFT5KzDZ$_Sw{acn4+v1bF~2Zk|` zfv1xLnPeIjyn%`HrUf%~ArL?h{v$q0pq161@KnZ6763lf*|FW3#Q|VCdY_W=AK_62>3t!1B2-So9Phn>cjvd1u$g*qr(3- zu<4bXg1UNH4wo4Pu#y*|B?HqF<@n7g*B$( zgEzu6H`ax0jE^PI@MHpZ^OdBDK;U5-1So-kfn!Y8sdj$V`8vCIsmn}jY&GGpAaAO`;LXCt;_yEPVc?Dt z37Z1}em_)rUmVqk2(0j*CH04#{2!(ZiG*vwF$4{OUZfUq(;`A~7$OErKoQXhZyW}N zNB&6TPjm*2#AM;O-`}HQ`4Tsnf&uFrrUga79pNx6QVWaH zf~f!Z(<2awaHIwb57k7#G@&Rs9sxz8;3%jD!W)Id;Sm@O0_pGJ{@>F>VqqvO3i(HR zI_eu+)*q9pqyE39`-j0VdmKQ^4;ip`0$Z{ApL_97zBVf4zxexEX8*+z0O)@Q`A7Wz zOV_`2{UZkck@3IP^)Frjh=G4({BL#rztJW5*J+MO1sXgSa8}!&ua*X!^LV`v9W(~5 zZ~XIXuAK)Y0)b|33=l|2bmQUxW#xziLO!Osl?mTC-!36;6`7kWN`Od$Y2wN>qER*u z1)$ANl}G@y$V^}GMyKi$v2`~H#AR%5Z0Km#+>xdmAnhd5e3HhhVTH|Tua?AXR;U)4 z86Dyh-sws|leX6h5--+c55de{pFAb2Aen4pf|IvPmW_^HPQ|>xlbH0rvGqgq;0e}4 zqw+7~YM7|0Ouwa?i|g4JwdSsAR?i9j6IGAvUTgLyHG1qHP-m?Rw(4e!QP=p-CO8(uWAnYwp=xCuO>KtWZTA{XQ z`{?jm#WAn-Wet$^Xt--x&9|?)?r3wAA7ke6H;u`Gb4%3P8Cvb`u#cbb3JR{+qQHkW zu0S&eFHt#?x5&BZ@`u)7$K;Yu(O!2UCk0=gw`f3gn|b#3-$6{vdTR0>-C4h+Zzvvt zkJ_(tkmseTZ;@!E*S1sgIK_N?V)gsJVq8Od6*j-Ks`IGkGFHXZSedWu_L2m^{-UR7#fiCoJH!M5YJ=3G9japH1J#P-RxADq*D1>J@J{UwTW4qW%z1?Y92${@k{^K3Z5SIkPc z^rZ2SkB*Yj{X3q>y4bMUydy83W<~C=74yAvC_zfFl;K!>>8;@nWgc0ReO{$$LG@|HsJGYi}s?3LiYf+ffYOkNtGWC!7KI5|0 z%on*>a58)wd~Id{Y}C%@^r<2(=qfq5dGh6|x{kPKJl{#K3lH|7oh&82fkg*0H?cOp Jb>L{^{{Wl&+#vt} literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png.mcmeta b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png.mcmeta new file mode 100644 index 0000000000..cb081113af --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png.mcmeta @@ -0,0 +1,18 @@ +{ + "animation": { + "interpolate": true, + "frametime": 4, + "frames": [ + 0, + 1, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 0 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate.png b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4194b84e22816573bbffec13a5a71dcb10fce2 GIT binary patch literal 1534 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_fountain_top.png b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/dike_gate_fountain_top.png new file mode 100644 index 0000000000000000000000000000000000000000..4c89c431d3e2885972fcfb0db59ad4d1ed6b8bcf GIT binary patch literal 6521 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 MrL9G|*`dh)0I}R~$N&HU literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/powder_chiseled_preservation_stone.png b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/powder_chiseled_preservation_stone.png new file mode 100644 index 0000000000000000000000000000000000000000..d2060262daba4402b4ab3625594c22af19f1eefd GIT binary patch literal 6060 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 N1UqNj5}Uw1{{beDo{Ing literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/radiating_ender.png b/src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/radiating_ender.png new file mode 100644 index 0000000000000000000000000000000000000000..13cdff705060fd7f81ebfff5e994b3739660a054 GIT binary patch literal 782 zcmV+p1M&QcP)EX>4Tx04R}tkv&MmKpe$i(`rR34t9{@kfAzR5EXHhDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RR6^Clb#w-LQx^h-Wq} zo%23%n3W}k_?&p$pbHW|a$R=$jdRIifoFz|YF_EVIxQ9RD_*3MP$yEU( z#{z0lAvu2VKlt6PS)7`5lR|Nz=f$=^MuFfi&}!KB_pxoaP5}QiaHVzpwI(q8NqVEB zMUQ~NZQ$a%qse=~K2d-P^xs+Wq|iJF#++6;?9G00009a7bBm000XU000XU0RWnu7ytkO2XskI zMF-^q8W9&Ka#TF90000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN z_(?=TR4C75({SLaL%#cAFma>$5eFe_s3(uKO*=X930%- z+|3qKxVgEJ84&QW`WG^Tfq{XMgM)*anfci7k5;VwcpL*!fN+u(EB{)rqj2eK1@Doa zx7O<@+&HKW$c9}jc>kfBiGhJZp!A>C1VJ=UGqbR;FflPR<8nDp4RB9)TrNNT_z1FU zSv$3Q9o03&m0cDizgQUCw| M07*qoM6N<$f~9I$AOHXW literal 0 HcmV?d00001 From 2cf08cf092047eac16d6a2405ad5f63a8c6a4aa3 Mon Sep 17 00:00:00 2001 From: f-raZ0R Date: Tue, 15 Oct 2024 11:55:05 -0400 Subject: [PATCH 28/50] fix bag of holding advancement --- .../unlocks/items/bag_of_holding.json | 25 +++---------------- .../tags/items/pure_resource_blocks.json | 5 ++++ .../spectrum/tags/items/pure_resources.json | 5 ++++ .../tags/items/unlocks_bag_of_holding.json | 9 +++++++ 4 files changed, 22 insertions(+), 22 deletions(-) create mode 100644 src/main/resources/data/spectrum/tags/items/unlocks_bag_of_holding.json diff --git a/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json b/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json index fce1cdcc65..a9c2cd2880 100644 --- a/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json +++ b/src/main/resources/data/spectrum/advancements/unlocks/items/bag_of_holding.json @@ -6,32 +6,13 @@ "advancement_identifier": "spectrum:place_pedestal" } }, - "collected_ender_eye": { - "trigger": "revelationary:advancement_gotten", - "conditions": { - "advancement_identifier": "spectrum:hidden/collect_vanilla/ender_eye" - } - }, - "collected_warp_flux": { + "obtain_center_ingredient": { "trigger": "minecraft:inventory_changed", - "conditions": { - "items": [ - { - "items": [ - "malum:warp_flux" - ] - } - ] - } + "conditions": { "items": [{ "tag": "spectrum:unlocks_bag_of_holding" }] } }, "gotten_radiating_ender": { "trigger": "revelationary:advancement_gotten", "conditions": { "advancement_identifier": "spectrum:get_radiating_ender" } } - }, - "requirements": [ - [ "placed_pedestal" ], - [ "collected_ender_eye", "collected_warp_flux" ], - [ "gotten_radiating_ender" ] - ] + } } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/pure_resource_blocks.json b/src/main/resources/data/spectrum/tags/items/pure_resource_blocks.json index 875d459fbd..4fe8f54331 100644 --- a/src/main/resources/data/spectrum/tags/items/pure_resource_blocks.json +++ b/src/main/resources/data/spectrum/tags/items/pure_resource_blocks.json @@ -34,6 +34,11 @@ { "id": "spectrum:pure_globette_end_block", "required": false + }, + + { + "id": "spectrum:pure_zinc_block", + "required": false } ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/pure_resources.json b/src/main/resources/data/spectrum/tags/items/pure_resources.json index 05b777a9a7..208b9af0d4 100644 --- a/src/main/resources/data/spectrum/tags/items/pure_resources.json +++ b/src/main/resources/data/spectrum/tags/items/pure_resources.json @@ -33,6 +33,11 @@ { "id": "spectrum:pure_globette_end", "required": false + }, + + { + "id": "spectrum:pure_zinc", + "required": false } ] } \ No newline at end of file diff --git a/src/main/resources/data/spectrum/tags/items/unlocks_bag_of_holding.json b/src/main/resources/data/spectrum/tags/items/unlocks_bag_of_holding.json new file mode 100644 index 0000000000..103497adc0 --- /dev/null +++ b/src/main/resources/data/spectrum/tags/items/unlocks_bag_of_holding.json @@ -0,0 +1,9 @@ +{ + "values": [ + "minecraft:ender_eye", + { + "id": "malum:warp_flux", + "required": false + } + ] +} \ No newline at end of file From ae71ba2adee820c68b9f888e222721a0767f9c3a Mon Sep 17 00:00:00 2001 From: Minespeed1009 Date: Wed, 16 Oct 2024 11:43:33 +1000 Subject: [PATCH 29/50] there's no reason this shouldn't work but gradle doesn't want me to test it --- .../books/guidebook/entries/dimension/pyrite.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json index 79dc1bc364..0e3188e7a2 100644 --- a/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json +++ b/src/main/resources/data/spectrum/modonomicon/books/guidebook/entries/dimension/pyrite.json @@ -35,13 +35,28 @@ "type": "spectrum:collection", "title": "book.spectrum.guidebook.all_variants", "items": [ + "spectrum:pyrite_slab", + "spectrum:pyrite_stairs", + "spectrum:pyrite_wall", "spectrum:pyrite_pile", + "spectrum:pyrite_pile_slab", + "spectrum:pyrite_pile_stairs", + "spectrum:pyrite_pile_wall", "spectrum:pyrite_tiles", + "spectrum:pyrite_tiles_slab", + "spectrum:pyrite_tiles_stairs", + "spectrum:pyrite_tiles_wall", "spectrum:pyrite_plating", + "spectrum:pyrite_plating_slab", + "spectrum:pyrite_plating_stairs", + "spectrum:pyrite_plating_wall", "spectrum:pyrite_tubing", "spectrum:pyrite_relief", "spectrum:pyrite_stack", "spectrum:pyrite_panneling", + "spectrum:pyrite_paneling_slab", + "spectrum:pyrite_paneling_stairs", + "spectrum:pyrite_paneling_wall", "spectrum:pyrite_vent" ], "text": "book.spectrum.guidebook.pyrite.page2.text" From 40d60f2f8a757a50f48ae76ac2085830f2fb4016 Mon Sep 17 00:00:00 2001 From: DaFuqs Date: Wed, 16 Oct 2024 07:22:04 +0200 Subject: [PATCH 30/50] 'Spectrum G1 textures' builtin texture pack --- .../de/dafuqs/spectrum/SpectrumCommon.java | 2 +- .../models/block/amethyst_basalt_lamp.json | 8 + .../models/block/amethyst_calcite_lamp.json | 8 + .../spectrum/models/block/amethyst_chime.json | 6 + .../models/block/amethyst_storage_block.json | 6 + .../block/andesite_shimmerstone_light.json | 8 + .../block/basalt_shimmerstone_light.json | 8 + .../block/blackslag_shimmerstone_light.json | 8 + .../spectrum/models/block/block_detector.json | 11 + .../models/block/block_detector_active.json | 11 + .../spectrum/models/block/block_placer.json | 11 + .../models/block/bottomless_bundle.json | 521 +++++ .../block/calcite_shimmerstone_light.json | 8 + .../models/block/citrine_basalt_lamp.json | 8 + .../models/block/citrine_calcite_lamp.json | 8 + .../spectrum/models/block/citrine_chime.json | 6 + .../models/block/citrine_storage_block.json | 6 + .../models/block/connection_node.json | 1031 ++++++++++ .../block/deepslate_shimmerstone_light.json | 8 + .../dike_chiseled_preservation_stone.json | 7 + .../block/diorite_shimmerstone_light.json | 8 + .../spectrum/models/block/gather_node.json | 1303 +++++++++++++ .../block/granite_shimmerstone_light.json | 8 + .../models/block/item_bowl_basalt.json | 10 + .../models/block/item_bowl_calcite.json | 10 + .../spectrum/models/block/item_roundel.json | 9 + .../models/block/moonstone_basalt_lamp.json | 8 + .../models/block/moonstone_calcite_lamp.json | 8 + .../models/block/moonstone_chime.json | 6 + .../block/moonstone_chiseled_basalt.json | 87 + .../block/moonstone_chiseled_basalt_down.json | 90 + .../block/moonstone_chiseled_calcite.json | 87 + .../moonstone_chiseled_calcite_down.json | 90 + .../models/block/moonstone_storage_block.json | 6 + .../models/block/notched_polished_basalt.json | 6 + .../block/notched_polished_calcite.json | 6 + .../models/block/onyx_basalt_lamp.json | 8 + .../models/block/onyx_calcite_lamp.json | 8 + .../spectrum/models/block/onyx_chime.json | 6 + .../models/block/onyx_storage_block.json | 6 + .../powder_chiseled_preservation_stone.json | 7 + .../block/preservation_block_detector.json | 8 + .../models/block/preservation_controller.json | 6 + .../models/block/preservation_roundel.json | 9 + .../models/block/preservation_stone.json | 6 + .../spectrum/models/block/provider_node.json | 1703 +++++++++++++++++ .../spectrum/models/block/sender_node.json | 1031 ++++++++++ .../block/stone_shimmerstone_light.json | 29 + .../spectrum/models/block/storage_node.json | 1031 ++++++++++ .../models/block/topaz_basalt_lamp.json | 8 + .../models/block/topaz_calcite_lamp.json | 8 + .../spectrum/models/block/topaz_chime.json | 6 + .../models/block/topaz_storage_block.json | 6 + .../models/item/amethyst_basalt_lamp.json | 3 + .../models/item/amethyst_calcite_lamp.json | 3 + .../spectrum/models/item/amethyst_chime.json | 3 + .../models/item/amethyst_decostone.json | 3 + .../models/item/amethyst_storage_block.json | 3 + .../item/andesite_shimmerstone_light.json | 3 + .../item/basalt_shimmerstone_light.json | 3 + .../spectrum/models/item/bedrock_axe.json | 6 + .../spectrum/models/item/bedrock_sword.json | 6 + .../item/blackslag_shimmerstone_light.json | 3 + .../spectrum/models/item/block_detector.json | 3 + .../spectrum/models/item/block_placer.json | 3 + .../models/item/bottomless_bundle.json | 29 + .../item/calcite_shimmerstone_light.json | 3 + .../models/item/citrine_basalt_lamp.json | 3 + .../models/item/citrine_calcite_lamp.json | 3 + .../spectrum/models/item/citrine_chime.json | 3 + .../models/item/citrine_decostone.json | 3 + .../models/item/citrine_storage_block.json | 3 + .../spectrum/models/item/connection_node.json | 3 + .../item/deepslate_shimmerstone_light.json | 3 + .../dike_chiseled_preservation_stone.json | 3 + .../item/diorite_shimmerstone_light.json | 3 + .../spectrum/models/item/gather_node.json | 3 + .../item/glass_crest_workstaff_oversized.json | 6 + .../item/granite_shimmerstone_light.json | 3 + .../models/item/handheld_oversized.json | 73 + .../models/item/item_bowl_basalt.json | 3 + .../models/item/item_bowl_calcite.json | 3 + .../spectrum/models/item/item_roundel.json | 3 + .../item/malachite_bident_oversized.json | 6 + .../malachite_bident_oversized_throwing.json | 6 + .../item/malachite_workstaff_oversized.json | 6 + .../models/item/moonstone_basalt_lamp.json | 3 + .../models/item/moonstone_calcite_lamp.json | 3 + .../spectrum/models/item/moonstone_chime.json | 3 + .../item/moonstone_chiseled_basalt.json | 3 + .../item/moonstone_chiseled_calcite.json | 3 + .../models/item/moonstone_decostone.json | 3 + .../models/item/moonstone_storage_block.json | 3 + .../assets/spectrum/models/item/neolith.json | 6 + .../models/item/notched_polished_basalt.json | 3 + .../models/item/notched_polished_calcite.json | 3 + .../models/item/onyx_basalt_lamp.json | 3 + .../models/item/onyx_calcite_lamp.json | 3 + .../spectrum/models/item/onyx_chime.json | 3 + .../spectrum/models/item/onyx_decostone.json | 3 + .../models/item/onyx_storage_block.json | 3 + .../powder_chiseled_preservation_stone.json | 3 + .../item/preservation_block_detector.json | 3 + .../models/item/preservation_controller.json | 3 + .../models/item/preservation_roundel.json | 3 + .../models/item/preservation_stone.json | 3 + .../spectrum/models/item/provider_node.json | 3 + .../spectrum/models/item/sender_node.json | 3 + .../spectrum/models/item/storage_node.json | 3 + .../models/item/topaz_basalt_lamp.json | 3 + .../models/item/topaz_calcite_lamp.json | 3 + .../spectrum/models/item/topaz_chime.json | 3 + .../spectrum/models/item/topaz_decostone.json | 3 + .../models/item/topaz_storage_block.json | 3 + .../spectrum/models/templates/chime.json | 1114 +++++++++++ .../models/templates/complex_orientable.json | 172 ++ .../models/templates/double_cross.json | 181 ++ .../spectrum/models/templates/item_bowl.json | 470 +++++ .../models/templates/multilayer_light.json | 126 ++ .../models/templates/shimmerstone_light.json | 265 +++ .../models/templates/shooting_star.json | 770 ++++++++ .../textures/block/amethyst_basalt_lamp.png | Bin 0 -> 666 bytes .../textures/block/amethyst_calcite_lamp.png | Bin 0 -> 627 bytes .../block/amethyst_chiseled_basalt.png | Bin 0 -> 1098 bytes .../block/amethyst_chiseled_basalt.png.mcmeta | 21 + .../block/amethyst_chiseled_calcite.png | Bin 0 -> 1042 bytes .../amethyst_chiseled_calcite.png.mcmeta | 21 + .../textures/block/amethyst_glass.png | Bin 0 -> 894 bytes .../textures/block/amethyst_storage_block.png | Bin 0 -> 565 bytes .../spectrum/textures/block/azurite_ore.png | Bin 0 -> 732 bytes .../spectrum/textures/block/basalt_bricks.png | Bin 0 -> 427 bytes .../spectrum/textures/block/basalt_tiles.png | Bin 0 -> 398 bytes .../textures/block/blackslag_azurite_ore.png | Bin 0 -> 6664 bytes .../block/blackslag_azurite_ore_top.png | Bin 0 -> 6614 bytes .../block/blackslag_moonstone_ore.png | Bin 0 -> 711 bytes .../block/blackslag_moonstone_ore_top.png | Bin 0 -> 695 bytes .../block/blackslag_shimmerstone_ore.png | Bin 0 -> 6409 bytes .../block/blackslag_shimmerstone_ore_top.png | Bin 0 -> 6331 bytes .../textures/block/budding_citrine.png | Bin 0 -> 604 bytes .../textures/block/budding_moonstone.png | Bin 0 -> 662 bytes .../spectrum/textures/block/budding_onyx.png | Bin 0 -> 678 bytes .../spectrum/textures/block/budding_topaz.png | Bin 0 -> 620 bytes .../textures/block/calcite_bricks.png | Bin 0 -> 415 bytes .../spectrum/textures/block/calcite_tiles.png | Bin 0 -> 386 bytes .../block/chiseled_polished_basalt.png | Bin 0 -> 614 bytes .../block/chiseled_polished_calcite.png | Bin 0 -> 544 bytes .../textures/block/citrine_basalt_lamp.png | Bin 0 -> 656 bytes .../spectrum/textures/block/citrine_block.png | Bin 0 -> 535 bytes .../textures/block/citrine_calcite_lamp.png | Bin 0 -> 641 bytes .../block/citrine_chiseled_basalt.png | Bin 0 -> 1088 bytes .../block/citrine_chiseled_basalt.png.mcmeta | 21 + .../block/citrine_chiseled_calcite.png | Bin 0 -> 1034 bytes .../block/citrine_chiseled_calcite.png.mcmeta | 21 + .../textures/block/citrine_cluster.png | Bin 0 -> 275 bytes .../spectrum/textures/block/citrine_glass.png | Bin 0 -> 863 bytes .../textures/block/citrine_storage_block.png | Bin 0 -> 588 bytes .../textures/block/cracked_basalt_bricks.png | Bin 0 -> 568 bytes .../textures/block/cracked_basalt_tiles.png | Bin 0 -> 482 bytes .../textures/block/cracked_calcite_bricks.png | Bin 0 -> 520 bytes .../textures/block/cracked_calcite_tiles.png | Bin 0 -> 470 bytes .../block/cracked_dragonbone_side.png | Bin 0 -> 516 bytes .../textures/block/cracked_dragonbone_top.png | Bin 0 -> 606 bytes .../textures/block/deepslate_azurite_ore.png | Bin 0 -> 771 bytes .../block/deepslate_moonstone_ore.png | Bin 0 -> 646 bytes .../block/deepslate_shimmerstone_ore.png | Bin 0 -> 655 bytes .../dike_chiseled_preservation_stone.png | Bin ...ike_chiseled_preservation_stone.png.mcmeta | 0 .../spectrum/textures/block/dike_gate.png | Bin .../textures/block/dike_gate.png.mcmeta | 0 .../spectrum/textures/block/dike_gate_e.png | Bin .../textures/block/dike_gate_e.png.mcmeta | 0 .../block/dike_gate_fountain_side.png | Bin .../textures/block/dike_gate_fountain_top.png | Bin .../textures/block/hummingstone_glass.png | Bin 0 -> 528 bytes .../textures/block/item_bowl_basalt.png | Bin 0 -> 866 bytes .../textures/block/item_bowl_calcite.png | Bin 0 -> 902 bytes .../textures/block/large_citrine_bud.png | Bin 0 -> 181 bytes .../textures/block/large_moonstone_bud.png | Bin 0 -> 268 bytes .../textures/block/large_onyx_bud.png | Bin 0 -> 273 bytes .../textures/block/large_topaz_bud.png | Bin 0 -> 350 bytes .../textures/block/medium_citrine_bud.png | Bin 0 -> 4525 bytes .../textures/block/medium_moonstone_bud.png | Bin 0 -> 193 bytes .../textures/block/medium_onyx_bud.png | Bin 0 -> 169 bytes .../textures/block/medium_topaz_bud.png | Bin 0 -> 238 bytes .../textures/block/moonstone_basalt_lamp.png | Bin 0 -> 690 bytes .../textures/block/moonstone_block.png | Bin 0 -> 630 bytes .../textures/block/moonstone_calcite_lamp.png | Bin 0 -> 690 bytes .../block/moonstone_chiseled_basalt.png | Bin 0 -> 1731 bytes .../moonstone_chiseled_basalt.png.mcmeta | 6 + .../block/moonstone_chiseled_calcite.png | Bin 0 -> 1706 bytes .../moonstone_chiseled_calcite.png.mcmeta | 6 + .../textures/block/moonstone_cluster.png | Bin 0 -> 380 bytes .../textures/block/moonstone_glass.png | Bin 0 -> 816 bytes .../textures/block/moonstone_lamp_inner.png | Bin 0 -> 630 bytes .../textures/block/moonstone_lamp_inner_e.png | Bin 0 -> 630 bytes .../spectrum/textures/block/moonstone_ore.png | Bin 0 -> 633 bytes .../block/moonstone_storage_block.png | Bin 0 -> 584 bytes .../block/notched_polished_basalt.png | Bin 0 -> 502 bytes .../block/notched_polished_calcite.png | Bin 0 -> 493 bytes .../textures/block/onyx_basalt_lamp.png | Bin 0 -> 658 bytes .../spectrum/textures/block/onyx_block.png | Bin 0 -> 669 bytes .../textures/block/onyx_calcite_lamp.png | Bin 0 -> 648 bytes .../textures/block/onyx_chiseled_basalt.png | Bin 0 -> 902 bytes .../block/onyx_chiseled_basalt.png.mcmeta | 6 + .../textures/block/onyx_chiseled_calcite.png | Bin 0 -> 844 bytes .../block/onyx_chiseled_calcite.png.mcmeta | 6 + .../spectrum/textures/block/onyx_cluster.png | Bin 0 -> 379 bytes .../spectrum/textures/block/onyx_glass.png | Bin 0 -> 786 bytes .../textures/block/onyx_storage_block.png | Bin 0 -> 606 bytes .../textures/block/overgrown_blackslag.png | Bin 0 -> 597 bytes .../block/overgrown_blackslag_fronds.png | Bin 0 -> 223 bytes .../block/overgrown_blackslag_top.png | Bin 0 -> 610 bytes .../textures/block/pink_spore_blossom.png | Bin 0 -> 368 bytes .../spectrum/textures/block/planed_basalt.png | Bin 0 -> 422 bytes .../textures/block/planed_calcite.png | Bin 0 -> 358 bytes .../textures/block/polished_basalt.png | Bin 0 -> 517 bytes .../block/polished_basalt_crest_side.png | Bin 0 -> 553 bytes .../block/polished_basalt_crest_top.png | Bin 0 -> 521 bytes .../block/polished_basalt_pillar_side.png | Bin 0 -> 505 bytes .../block/polished_basalt_pillar_top.png | Bin 0 -> 525 bytes .../textures/block/polished_calcite.png | Bin 0 -> 504 bytes .../block/polished_calcite_crest_side.png | Bin 0 -> 532 bytes .../block/polished_calcite_crest_top.png | Bin 0 -> 491 bytes .../block/polished_calcite_pillar_side.png | Bin 0 -> 459 bytes .../block/polished_calcite_pillar_top.png | Bin 0 -> 548 bytes .../powder_chiseled_preservation_stone.png | Bin .../preservation_block_detector_front.png | Bin 0 -> 4570 bytes .../textures/block/preservation_bricks.png | Bin 0 -> 435 bytes .../block/preservation_controller.png | Bin 0 -> 6073 bytes .../textures/block/preservation_glass.png | Bin 0 -> 792 bytes .../block/preservation_glass.png.mcmeta | 28 + .../textures/block/preservation_stone.png | Bin 0 -> 424 bytes .../textures/block/preservation_stone_12.png | Bin 0 -> 5501 bytes .../textures/block/sawblade_grass_side.png | Bin 0 -> 662 bytes .../spectrum/textures/block/shimmel_side.png | Bin 0 -> 625 bytes .../block/shimmering_preservation_bricks.png | Bin 0 -> 958 bytes .../shimmering_preservation_bricks.png.mcmeta | 6 + .../shimmering_preservation_bricks_fast.png | Bin 0 -> 958 bytes ...mering_preservation_bricks_fast.png.mcmeta | 6 + .../shimmering_preservation_bricks_slow.png | Bin 0 -> 958 bytes ...mering_preservation_bricks_slow.png.mcmeta | 6 + .../textures/block/shimmerstone_block.png | Bin 0 -> 529 bytes .../textures/block/shimmerstone_light.png | Bin 0 -> 664 bytes .../textures/block/shimmerstone_light_e.png | Bin 0 -> 268 bytes .../textures/block/shimmerstone_ore.png | Bin 0 -> 681 bytes .../textures/block/small_citrine_bud.png | Bin 0 -> 4255 bytes .../textures/block/small_moonstone_bud.png | Bin 0 -> 143 bytes .../textures/block/small_onyx_bud.png | Bin 0 -> 128 bytes .../textures/block/small_topaz_bud.png | Bin 0 -> 136 bytes .../block/snowy_sawblade_grass_side.png | Bin 0 -> 624 bytes .../textures/block/snowy_shimmel_side.png | Bin 0 -> 616 bytes .../block/tinted_preservation_glass.png | Bin 0 -> 5978 bytes .../textures/block/topaz_basalt_lamp.png | Bin 0 -> 672 bytes .../spectrum/textures/block/topaz_block.png | Bin 0 -> 552 bytes .../textures/block/topaz_calcite_lamp.png | Bin 0 -> 670 bytes .../textures/block/topaz_chiseled_basalt.png | Bin 0 -> 1136 bytes .../block/topaz_chiseled_basalt.png.mcmeta | 21 + .../textures/block/topaz_chiseled_calcite.png | Bin 0 -> 1047 bytes .../block/topaz_chiseled_calcite.png.mcmeta | 21 + .../spectrum/textures/block/topaz_cluster.png | Bin 0 -> 389 bytes .../spectrum/textures/block/topaz_glass.png | Bin 0 -> 855 bytes .../textures/block/topaz_storage_block.png | Bin 0 -> 571 bytes .../textures/gui/advancement_background.png | Bin 0 -> 552 bytes .../gui/advancement_background_endgame.png | Bin 0 -> 669 bytes .../gui/advancement_background_lategame.png | Bin 0 -> 630 bytes .../gui/advancement_background_midgame.png | Bin 0 -> 669 bytes .../textures/gui/azure_dike_overlay.png | Bin 0 -> 1023 bytes .../gui/container/pedestal_crafting1.png | Bin 0 -> 11335 bytes .../gui/container/pedestal_crafting2.png | Bin 0 -> 12782 bytes .../gui/container/pedestal_crafting3.png | Bin 0 -> 13767 bytes .../gui/container/pedestal_crafting4.png | Bin 0 -> 15124 bytes .../textures/item/amethyst_glass_arrow.png | Bin 0 -> 344 bytes .../textures/item/amethyst_powder.png | Bin 0 -> 262 bytes .../textures/item/azure_dike_ring.png | Bin 0 -> 518 bytes .../spectrum/textures/item/bedrock_axe.png | Bin 0 -> 341 bytes .../spectrum/textures/item/bedrock_bow.png | Bin 0 -> 331 bytes .../textures/item/bedrock_bow_pulling_0.png | Bin 0 -> 422 bytes .../textures/item/bedrock_bow_pulling_1.png | Bin 0 -> 453 bytes .../textures/item/bedrock_bow_pulling_2.png | Bin 0 -> 395 bytes .../textures/item/bedrock_crossbow_arrow.png | Bin 0 -> 5853 bytes .../item/bedrock_crossbow_firework.png | Bin 0 -> 6028 bytes .../item/bedrock_crossbow_pulling_0.png | Bin 0 -> 5931 bytes .../item/bedrock_crossbow_pulling_1.png | Bin 0 -> 5922 bytes .../item/bedrock_crossbow_pulling_2.png | Bin 0 -> 6152 bytes .../item/bedrock_crossbow_standby.png | Bin 0 -> 5896 bytes .../spectrum/textures/item/bedrock_dust.png | Bin 0 -> 359 bytes .../textures/item/bedrock_fishing_rod.png | Bin 0 -> 392 bytes .../item/bedrock_fishing_rod_cast.png | Bin 0 -> 335 bytes .../spectrum/textures/item/bedrock_hoe.png | Bin 0 -> 317 bytes .../textures/item/bedrock_pickaxe.png | Bin 0 -> 360 bytes .../spectrum/textures/item/bedrock_shears.png | Bin 0 -> 448 bytes .../spectrum/textures/item/bedrock_shovel.png | Bin 0 -> 276 bytes .../spectrum/textures/item/bedrock_sword.png | Bin 0 -> 515 bytes .../textures/item/citrine_glass_arrow.png | Bin 0 -> 353 bytes .../spectrum/textures/item/citrine_powder.png | Bin 0 -> 260 bytes .../spectrum/textures/item/citrine_shard.png | Bin 0 -> 280 bytes .../spectrum/textures/item/clotted_cream.png | Bin 0 -> 362 bytes .../spectrum/textures/item/demon_tea.png | Bin 0 -> 378 bytes .../textures/item/fanciful_bismuth_ring.png | Bin 0 -> 451 bytes .../textures/item/fanciful_stone_ring.png | Bin 0 -> 320 bytes .../item/ferocious_glass_crest_bident.png | Bin 0 -> 396 bytes ...ferocious_glass_crest_bident_oversized.png | Bin 0 -> 616 bytes .../item/fractal_glass_crest_bident.png | Bin 0 -> 423 bytes .../fractal_glass_crest_bident_oversized.png | Bin 0 -> 653 bytes ...lass_crest_bident_oversized_projectile.png | Bin 0 -> 347 bytes .../item/glass_crest_crossbow_amethyst.png | Bin 0 -> 573 bytes ...lass_crest_crossbow_amethyst_oversized.png | Bin 0 -> 781 bytes .../item/glass_crest_crossbow_arrow.png | Bin 0 -> 557 bytes .../glass_crest_crossbow_arrow_oversized.png | Bin 0 -> 762 bytes .../item/glass_crest_crossbow_citrine.png | Bin 0 -> 573 bytes ...glass_crest_crossbow_citrine_oversized.png | Bin 0 -> 778 bytes .../item/glass_crest_crossbow_firework.png | Bin 0 -> 612 bytes ...lass_crest_crossbow_firework_oversized.png | Bin 0 -> 857 bytes .../item/glass_crest_crossbow_glass.png | Bin 0 -> 570 bytes .../glass_crest_crossbow_glass_oversized.png | Bin 0 -> 779 bytes .../item/glass_crest_crossbow_moonstone.png | Bin 0 -> 540 bytes ...ass_crest_crossbow_moonstone_oversized.png | Bin 0 -> 758 bytes .../item/glass_crest_crossbow_onyx.png | Bin 0 -> 558 bytes .../glass_crest_crossbow_onyx_oversized.png | Bin 0 -> 779 bytes .../item/glass_crest_crossbow_pulling_0.png | Bin 0 -> 560 bytes ...ass_crest_crossbow_pulling_0_oversized.png | Bin 0 -> 793 bytes .../item/glass_crest_crossbow_pulling_1.png | Bin 0 -> 552 bytes ...ass_crest_crossbow_pulling_1_oversized.png | Bin 0 -> 800 bytes .../item/glass_crest_crossbow_pulling_2.png | Bin 0 -> 544 bytes ...ass_crest_crossbow_pulling_2_oversized.png | Bin 0 -> 770 bytes .../item/glass_crest_crossbow_standby.png | Bin 0 -> 555 bytes ...glass_crest_crossbow_standby_oversized.png | Bin 0 -> 783 bytes .../item/glass_crest_crossbow_topaz.png | Bin 0 -> 573 bytes .../glass_crest_crossbow_topaz_oversized.png | Bin 0 -> 779 bytes .../item/glass_crest_ultra_greatsword.png | Bin 0 -> 370 bytes ...glass_crest_ultra_greatsword_oversized.png | Bin 0 -> 884 bytes .../textures/item/glass_crest_workstaff.png | Bin 0 -> 509 bytes .../item/glass_crest_workstaff_oversized.png | Bin 0 -> 800 bytes .../textures/item/glistering_jelly_tea.png | Bin 0 -> 390 bytes .../textures/item/golden_bristle_tea.png | Bin 0 -> 492 bytes .../textures/item/heartsingers_reward.png | Bin 0 -> 585 bytes .../spectrum/textures/item/hot_chocolate.png | Bin 0 -> 380 bytes .../spectrum/textures/item/jeopardant.png | Bin 0 -> 433 bytes .../spectrum/textures/item/lucky_pickaxe.png | Bin 0 -> 401 bytes .../textures/item/malachite_bident.png | Bin 0 -> 412 bytes .../item/malachite_bident_oversized.png | Bin 0 -> 596 bytes .../item/malachite_crossbow_amethyst.png | Bin 0 -> 568 bytes .../malachite_crossbow_amethyst_oversized.png | Bin 0 -> 795 bytes .../item/malachite_crossbow_arrow.png | Bin 0 -> 554 bytes .../malachite_crossbow_arrow_oversized.png | Bin 0 -> 774 bytes .../item/malachite_crossbow_citrine.png | Bin 0 -> 568 bytes .../malachite_crossbow_citrine_oversized.png | Bin 0 -> 794 bytes .../item/malachite_crossbow_firework.png | Bin 0 -> 609 bytes .../malachite_crossbow_firework_oversized.png | Bin 0 -> 870 bytes .../item/malachite_crossbow_glass.png | Bin 0 -> 562 bytes .../malachite_crossbow_glass_oversized.png | Bin 0 -> 788 bytes .../item/malachite_crossbow_moonstone.png | Bin 0 -> 539 bytes ...malachite_crossbow_moonstone_oversized.png | Bin 0 -> 766 bytes .../textures/item/malachite_crossbow_onyx.png | Bin 0 -> 555 bytes .../malachite_crossbow_onyx_oversized.png | Bin 0 -> 788 bytes .../item/malachite_crossbow_pulling_0.png | Bin 0 -> 559 bytes ...malachite_crossbow_pulling_0_oversized.png | Bin 0 -> 794 bytes .../item/malachite_crossbow_pulling_1.png | Bin 0 -> 552 bytes ...malachite_crossbow_pulling_1_oversized.png | Bin 0 -> 808 bytes .../item/malachite_crossbow_pulling_2.png | Bin 0 -> 542 bytes ...malachite_crossbow_pulling_2_oversized.png | Bin 0 -> 785 bytes .../item/malachite_crossbow_standby.png | Bin 0 -> 555 bytes .../malachite_crossbow_standby_oversized.png | Bin 0 -> 781 bytes .../item/malachite_crossbow_topaz.png | Bin 0 -> 570 bytes .../malachite_crossbow_topaz_oversized.png | Bin 0 -> 789 bytes .../textures/item/malachite_glass_arrow.png | Bin 0 -> 317 bytes .../item/malachite_ultra_greatsword.png | Bin 0 -> 387 bytes .../malachite_ultra_greatsword_oversized.png | Bin 0 -> 876 bytes .../textures/item/malachite_workstaff.png | Bin 0 -> 502 bytes .../item/malachite_workstaff_oversized.png | Bin 0 -> 794 bytes .../textures/item/moonstone_glass_arrow.png | Bin 0 -> 5375 bytes .../textures/item/moonstone_powder.png | Bin 0 -> 253 bytes .../textures/item/moonstone_shard.png | Bin 0 -> 232 bytes .../spectrum/textures/item/neat_ring.png | Bin 0 -> 452 bytes .../assets/spectrum/textures/item/neolith.png | Bin 0 -> 301 bytes .../textures/item/oblivion_pickaxe.png | Bin 0 -> 406 bytes .../textures/item/onyx_glass_arrow.png | Bin 0 -> 324 bytes .../spectrum/textures/item/onyx_powder.png | Bin 0 -> 243 bytes .../spectrum/textures/item/onyx_shard.png | Bin 0 -> 233 bytes .../spectrum/textures/item/paintbrush.png | Bin 0 -> 361 bytes .../spectrum/textures/item/razor_falchion.png | Bin 0 -> 395 bytes .../textures/item/resonant_pickaxe.png | Bin 0 -> 380 bytes .../textures/item/restoration_tea.png | Bin 0 -> 373 bytes .../textures/item/ring_of_pursuit.png | Bin 0 -> 463 bytes .../textures/item/shimmerstone_gem.png | Bin 0 -> 279 bytes .../spectrum/textures/item/tender_pickaxe.png | Bin 0 -> 392 bytes .../textures/item/topaz_glass_arrow.png | Bin 0 -> 353 bytes .../spectrum/textures/item/topaz_powder.png | Bin 0 -> 266 bytes .../spectrum/textures/item/topaz_shard.png | Bin 0 -> 327 bytes .../assets/spectrum/textures/item/vegetal.png | Bin 0 -> 307 bytes .../spectrum_generation_1/pack.mcmeta | 8 + .../spectrum_generation_1/pack.png | Bin 0 -> 176266 bytes .../textures/block/enchanted_leaves.mcmeta | 5 - 393 files changed, 10919 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/andesite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/basalt_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/blackslag_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector_active.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_placer.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/bottomless_bundle.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/calcite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/connection_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/deepslate_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/dike_chiseled_preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/diorite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/gather_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/granite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_roundel.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt_down.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite_down.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/powder_chiseled_preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_block_detector.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_controller.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_roundel.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/provider_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/sender_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/stone_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/storage_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_decostone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/andesite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/basalt_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_axe.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_sword.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/blackslag_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_detector.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_placer.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bottomless_bundle.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/calcite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_decostone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/connection_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/deepslate_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/dike_chiseled_preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/diorite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/gather_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/glass_crest_workstaff_oversized.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/granite_shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/handheld_oversized.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_roundel.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized_throwing.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_workstaff_oversized.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_decostone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/neolith.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_basalt.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_calcite.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_decostone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/powder_chiseled_preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_block_detector.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_controller.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_roundel.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_stone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/provider_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/sender_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/storage_node.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_basalt_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_calcite_lamp.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_decostone.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_storage_block.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/chime.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/complex_orientable.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/double_cross.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/item_bowl.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/multilayer_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shimmerstone_light.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shooting_star.json create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_basalt_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_calcite_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_basalt.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_calcite.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_storage_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/azurite_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/basalt_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/basalt_tiles.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_azurite_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_azurite_ore_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_moonstone_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_moonstone_ore_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_citrine.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_moonstone.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_onyx.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_topaz.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_tiles.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/chiseled_polished_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/chiseled_polished_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_basalt_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_calcite_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_basalt.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_calcite.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_cluster.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_storage_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_basalt_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_basalt_tiles.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_calcite_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_calcite_tiles.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_dragonbone_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_dragonbone_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_azurite_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_moonstone_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_shimmerstone_ore.png rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_chiseled_preservation_stone.png.mcmeta (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate.png (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate.png.mcmeta (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate_e.png (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate_e.png.mcmeta (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate_fountain_side.png (100%) rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/dike_gate_fountain_top.png (100%) create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/hummingstone_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/item_bowl_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/item_bowl_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_citrine_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_moonstone_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_onyx_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_topaz_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_citrine_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_moonstone_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_onyx_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_topaz_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_basalt_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_calcite_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_basalt.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_cluster.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_lamp_inner.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_lamp_inner_e.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_storage_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/notched_polished_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/notched_polished_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_basalt_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_calcite_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_basalt.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_calcite.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_cluster.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_storage_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_fronds.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/pink_spore_blossom.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_crest_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_crest_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_crest_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_crest_top.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_pillar_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_pillar_top.png rename src/main/resources/resourcepacks/{spectrum_programmer_art => spectrum_generation_1}/assets/spectrum/textures/block/powder_chiseled_preservation_stone.png (100%) create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_block_detector_front.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_controller.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_glass.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_stone.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_stone_12.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/sawblade_grass_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmel_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_light.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_light_e.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_ore.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_citrine_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_moonstone_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_onyx_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_topaz_bud.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/snowy_sawblade_grass_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/snowy_shimmel_side.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/tinted_preservation_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_basalt_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_calcite_lamp.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_basalt.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_basalt.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_calcite.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_calcite.png.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_cluster.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_storage_block.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_endgame.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_lategame.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_midgame.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/azure_dike_overlay.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting1.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting2.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting3.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting4.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/amethyst_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/amethyst_powder.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/azure_dike_ring.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_axe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_0.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_1.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_2.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_firework.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_0.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_1.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_2.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_standby.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_dust.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_fishing_rod.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_fishing_rod_cast.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_hoe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_pickaxe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_shears.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_shovel.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_sword.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_powder.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_shard.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/clotted_cream.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/demon_tea.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fanciful_bismuth_ring.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fanciful_stone_ring.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/ferocious_glass_crest_bident.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/ferocious_glass_crest_bident_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fractal_glass_crest_bident.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fractal_glass_crest_bident_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fractal_glass_crest_bident_oversized_projectile.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_arrow_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_citrine.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_citrine_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_firework.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_firework_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_moonstone.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_moonstone_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_onyx.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_onyx_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_0.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_0_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_1.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_1_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_2.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_2_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_topaz.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_topaz_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_ultra_greatsword.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_ultra_greatsword_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glistering_jelly_tea.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/golden_bristle_tea.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/heartsingers_reward.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/hot_chocolate.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/jeopardant.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/lucky_pickaxe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_bident.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_bident_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_amethyst.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_amethyst_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_citrine.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_citrine_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_firework.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_firework_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_glass.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_glass_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_moonstone.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_moonstone_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_onyx.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_onyx_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_0.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_0_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_1.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_1_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_2.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_2_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_standby.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_standby_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_topaz.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_topaz_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_ultra_greatsword.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_ultra_greatsword_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_workstaff.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_workstaff_oversized.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_powder.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_shard.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/neat_ring.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/neolith.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/oblivion_pickaxe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/onyx_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/onyx_powder.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/onyx_shard.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/paintbrush.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/razor_falchion.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/resonant_pickaxe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/restoration_tea.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/ring_of_pursuit.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/shimmerstone_gem.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/tender_pickaxe.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/topaz_glass_arrow.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/topaz_powder.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/topaz_shard.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/vegetal.png create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/pack.mcmeta create mode 100644 src/main/resources/resourcepacks/spectrum_generation_1/pack.png delete mode 100644 src/main/resources/resourcepacks/spectrum_programmer_art/assets/spectrum/textures/block/enchanted_leaves.mcmeta diff --git a/src/main/java/de/dafuqs/spectrum/SpectrumCommon.java b/src/main/java/de/dafuqs/spectrum/SpectrumCommon.java index 1e1fa8dad2..767e75db78 100644 --- a/src/main/java/de/dafuqs/spectrum/SpectrumCommon.java +++ b/src/main/java/de/dafuqs/spectrum/SpectrumCommon.java @@ -241,8 +241,8 @@ public void onInitialize() { Optional modContainer = FabricLoader.getInstance().getModContainer(SpectrumCommon.MOD_ID); if (modContainer.isPresent()) { ResourceManagerHelper.registerBuiltinResourcePack(locate("spectrum_style_amethyst"), modContainer.get(), Text.of("Spectrum Style Amethyst"), ResourcePackActivationType.NORMAL); + ResourceManagerHelper.registerBuiltinResourcePack(locate("spectrum_generation_1"), modContainer.get(), Text.of("Generation 1 Spectrum textures"), ResourcePackActivationType.NORMAL); ResourceManagerHelper.registerBuiltinResourcePack(locate("spectrum_programmer_art"), modContainer.get(), Text.of("Spectrum's Programmer Art"), ResourcePackActivationType.NORMAL); - //ResourceManagerHelper.registerBuiltinResourcePack(locate("jinc"), modContainer.get(), Text.of("Alternate Spectrum textures"), ResourcePackActivationType.NORMAL); } logInfo("Common startup completed!"); diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_basalt_lamp.json new file mode 100644 index 0000000000..e0c86a8c12 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_basalt_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_basalt", + "side": "spectrum:block/amethyst_basalt_lamp", + "inside": "spectrum:block/amethyst_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_calcite_lamp.json new file mode 100644 index 0000000000..02f655aa8b --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_calcite_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_calcite", + "side": "spectrum:block/amethyst_calcite_lamp", + "inside": "spectrum:block/amethyst_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_chime.json new file mode 100644 index 0000000000..5dd8d05515 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_chime.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates/chime", + "textures": { + "gemstone": "spectrum:block/amethyst_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_storage_block.json new file mode 100644 index 0000000000..3fac2cc1d9 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/amethyst_storage_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/amethyst_storage_block" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/andesite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/andesite_shimmerstone_light.json new file mode 100644 index 0000000000..a98675f395 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/andesite_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "minecraft:block/polished_andesite", + "inner": "spectrum:block/shimmerstone_light", + "particle": "minecraft:block/polished_andesite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/basalt_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/basalt_shimmerstone_light.json new file mode 100644 index 0000000000..80a19dca76 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/basalt_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "spectrum:block/polished_basalt", + "inner": "spectrum:block/shimmerstone_light", + "particle": "spectrum:block/polished_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/blackslag_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/blackslag_shimmerstone_light.json new file mode 100644 index 0000000000..afebe412cf --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/blackslag_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "spectrum:block/polished_blackslag", + "inner": "spectrum:block/shimmerstone_light", + "particle": "spectrum:block/polished_blackslag" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector.json new file mode 100644 index 0000000000..0a9ba1d222 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector.json @@ -0,0 +1,11 @@ +{ + "parent": "spectrum:templates/complex_orientable", + "textures": { + "top": "spectrum:block/block_detector_top", + "front": "spectrum:block/block_detector_front", + "side": "spectrum:block/block_detector_side", + "bottom": "spectrum:block/notched_polished_basalt", + "back": "spectrum:block/block_detector_back", + "particle": "spectrum:block/block_detector_side" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector_active.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector_active.json new file mode 100644 index 0000000000..6a2283c511 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_detector_active.json @@ -0,0 +1,11 @@ +{ + "parent": "spectrum:templates/complex_orientable", + "textures": { + "top": "spectrum:block/block_detector_top", + "front": "spectrum:block/block_detector_front", + "side": "spectrum:block/block_detector_side", + "bottom": "spectrum:block/notched_polished_basalt", + "back": "spectrum:block/block_detector_back_active", + "particle": "spectrum:block/block_detector_side" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_placer.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_placer.json new file mode 100644 index 0000000000..3cccff5091 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/block_placer.json @@ -0,0 +1,11 @@ +{ + "parent": "spectrum:templates/complex_orientable", + "textures": { + "top": "spectrum:block/block_placer_top", + "front": "spectrum:block/block_placer_front", + "side": "spectrum:block/block_placer_side", + "bottom": "spectrum:block/notched_polished_calcite", + "back": "spectrum:block/block_placer_back", + "particle": "spectrum:block/block_placer_side" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/bottomless_bundle.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/bottomless_bundle.json new file mode 100644 index 0000000000..af787b021f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/bottomless_bundle.json @@ -0,0 +1,521 @@ +{ + "credit": "Made with Blockbench", + "texture_size": [ + 32, + 32 + ], + "textures": { + "0": "spectrum:block/bottomless_bundle", + "particle": "spectrum:block/bottomless_bundle" + }, + "elements": [ + { + "from": [ + 4, + 0, + 4 + ], + "to": [ + 12, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 5, + 0.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.5, + 0, + 4.5, + 0.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2, + 0, + 6, + 0.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 0.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 12, + 4.5, + 16, + 8.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 12, + 1, + 4 + ], + "to": [ + 13, + 6, + 13 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 2.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 11.5, + 13.5, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 1, + 0.5, + 3.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.5, + 13.5, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 15.5, + 1.5, + 16, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 15.5, + 0, + 16, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 4, + 4 + ], + "to": [ + 12, + 13, + 13 + ], + "faces": { + "north": { + "uv": [ + 12, + 8, + 16, + 12.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 11.5, + 0, + 16, + 4.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 12, + 8, + 16, + 12.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 11.5, + 0, + 16, + 4.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 12, + 8, + 16, + 12.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 3, + 13 + ], + "to": [ + 11, + 12, + 14 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 4.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 4.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 4.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 4.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 4, + 4, + 7, + 4.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 3.5, + 4, + 6.5, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 4, + 3 + ], + "to": [ + 11, + 12, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 4 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 4 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 5.5, + 4.5, + 2.5, + 4 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 5, + 4, + 2, + 4.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 13, + 6 + ], + "to": [ + 10, + 15, + 11 + ], + "faces": { + "north": { + "uv": [ + 2.5, + 4.5, + 4, + 5.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0.5, + 4.5, + 3, + 5.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 2.5, + 4.5, + 4, + 5.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.5, + 4.5, + 3, + 5.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 15, + 5 + ], + "to": [ + 11, + 16, + 12 + ], + "faces": { + "north": { + "uv": [ + 4, + 4, + 6.5, + 4.5 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 3.5, + 4, + 7, + 4.5 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 3, + 4, + 5.5, + 4.5 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 3, + 4, + 6.5, + 4.5 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 7, + 0, + 9.5, + 3.5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 7, + 0, + 9.5, + 3.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 3, + 1, + 3 + ], + "to": [ + 12, + 4, + 13 + ], + "faces": { + "north": { + "uv": [ + 11.5, + 12.5, + 16, + 14 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 7, + 14.5, + 12, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 11.5, + 12.5, + 16, + 14 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 7, + 14.5, + 12, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 11.5, + 0, + 16, + 5 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 11.5, + 0, + 16, + 5 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/calcite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/calcite_shimmerstone_light.json new file mode 100644 index 0000000000..468a89299a --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/calcite_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "spectrum:block/polished_calcite", + "inner": "spectrum:block/shimmerstone_light", + "particle": "spectrum:block/polished_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_basalt_lamp.json new file mode 100644 index 0000000000..c597c00cc0 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_basalt_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_basalt", + "side": "spectrum:block/citrine_basalt_lamp", + "inside": "spectrum:block/citrine_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_calcite_lamp.json new file mode 100644 index 0000000000..39e5a700e9 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_calcite_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_calcite", + "side": "spectrum:block/citrine_calcite_lamp", + "inside": "spectrum:block/citrine_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_chime.json new file mode 100644 index 0000000000..372c29d666 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_chime.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates/chime", + "textures": { + "gemstone": "spectrum:block/citrine_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_storage_block.json new file mode 100644 index 0000000000..6a96b8a5e0 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/citrine_storage_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/citrine_storage_block" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/connection_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/connection_node.json new file mode 100644 index 0000000000..c85f87c14f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/connection_node.json @@ -0,0 +1,1031 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "spectrum:block/polished_calcite", + "1": "spectrum:block/white_block", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 11 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 1, + 11 + ], + "to": [ + 9, + 4, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 7, + 1, + 4 + ], + "to": [ + 9, + 4, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 1, + 7 + ], + "to": [ + 5, + 4, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 1, + 7 + ], + "to": [ + 12, + 4, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 7 + ], + "to": [ + 10, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 7 + ], + "to": [ + 7, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 7, + 6, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 7, + 8 + ], + "to": [ + 8, + 8, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 8, + 6, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 5, + 8 + ], + "to": [ + 10, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 1, + 6 + ], + "to": [ + 9, + 5, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 12, + 1, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/deepslate_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/deepslate_shimmerstone_light.json new file mode 100644 index 0000000000..b1c10064f5 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/deepslate_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "minecraft:block/polished_deepslate", + "inner": "spectrum:block/shimmerstone_light", + "particle": "minecraft:block/polished_deepslate" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/dike_chiseled_preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/dike_chiseled_preservation_stone.json new file mode 100644 index 0000000000..751da4e9dd --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/dike_chiseled_preservation_stone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "spectrum:block/preservation_stone", + "side": "spectrum:block/dike_chiseled_preservation_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/diorite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/diorite_shimmerstone_light.json new file mode 100644 index 0000000000..7888496c33 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/diorite_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "minecraft:block/polished_diorite", + "inner": "spectrum:block/shimmerstone_light", + "particle": "minecraft:block/polished_diorite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/gather_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/gather_node.json new file mode 100644 index 0000000000..174609e615 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/gather_node.json @@ -0,0 +1,1303 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "spectrum:block/polished_calcite", + "1": "spectrum:block/onyx_storage_block", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 11 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 7 + ], + "to": [ + 10, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 7 + ], + "to": [ + 7, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 7, + 6, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 7, + 8 + ], + "to": [ + 8, + 8, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 8, + 6, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 5, + 8 + ], + "to": [ + 10, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 1, + 6 + ], + "to": [ + 9, + 5, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 12, + 1, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 1, + 9 + ], + "to": [ + 5, + 4, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 1, + 6 + ], + "to": [ + 5, + 4, + 7 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 1, + 4 + ], + "to": [ + 7, + 4, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 4 + ], + "to": [ + 10, + 4, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 1, + 6 + ], + "to": [ + 12, + 4, + 7 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 1, + 9 + ], + "to": [ + 12, + 4, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 11 + ], + "to": [ + 10, + 4, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 1, + 11 + ], + "to": [ + 7, + 4, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/granite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/granite_shimmerstone_light.json new file mode 100644 index 0000000000..167764e8ba --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/granite_shimmerstone_light.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/shimmerstone_light", + "textures": { + "outer": "minecraft:block/polished_granite", + "inner": "spectrum:block/shimmerstone_light", + "particle": "minecraft:block/polished_granite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_basalt.json new file mode 100644 index 0000000000..0ace946599 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_basalt.json @@ -0,0 +1,10 @@ +{ + "parent": "spectrum:templates/item_bowl", + "textures": { + "0": "spectrum:block/item_bowl_basalt", + "1": "spectrum:block/polished_basalt_pillar_side", + "2": "spectrum:block/polished_basalt", + "3": "spectrum:block/polished_basalt_pillar_top", + "particle": "spectrum:block/polished_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_calcite.json new file mode 100644 index 0000000000..afd0163099 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_bowl_calcite.json @@ -0,0 +1,10 @@ +{ + "parent": "spectrum:templates/item_bowl", + "textures": { + "0": "spectrum:block/item_bowl_calcite", + "1": "spectrum:block/polished_calcite_pillar_side", + "2": "spectrum:block/polished_calcite", + "3": "spectrum:block/polished_calcite_pillar_top", + "particle": "spectrum:block/polished_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_roundel.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_roundel.json new file mode 100644 index 0000000000..49ea008e6e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/item_roundel.json @@ -0,0 +1,9 @@ +{ + "parent": "spectrum:templates/roundel", + "textures": { + "base": "spectrum:block/polished_basalt_12", + "side": "spectrum:block/polished_calcite_pillar_side", + "top": "spectrum:block/polished_calcite_pillar_top", + "particle": "spectrum:block/polished_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_basalt_lamp.json new file mode 100644 index 0000000000..1979de372c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_basalt_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_basalt", + "side": "spectrum:block/moonstone_basalt_lamp", + "inside": "spectrum:block/moonstone_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_calcite_lamp.json new file mode 100644 index 0000000000..8f14fe8254 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_calcite_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_calcite", + "side": "spectrum:block/moonstone_calcite_lamp", + "inside": "spectrum:block/moonstone_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chime.json new file mode 100644 index 0000000000..fb7aebfa56 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chime.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates/chime", + "textures": { + "gemstone": "spectrum:block/moonstone_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt.json new file mode 100644 index 0000000000..5e71dbdf18 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "line": "spectrum:block/moonstone_chiseled_basalt", + "side": "spectrum:block/polished_basalt", + "particle": "spectrum:block/polished_basalt" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#line", + "cullface": "north" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#side", + "cullface": "east" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "south" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#side", + "cullface": "west" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "up" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "down" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt_down.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt_down.json new file mode 100644 index 0000000000..ebc5ab4942 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_basalt_down.json @@ -0,0 +1,90 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "2": "spectrum:block/moonstone_chiseled_basalt", + "3": "spectrum:block/polished_basalt", + "particle": "spectrum:block/moonstone_chiseled_basalt" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "north" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "east" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "south" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "west" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#3", + "cullface": "up" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#3", + "cullface": "down" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite.json new file mode 100644 index 0000000000..d0fd02cec6 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite.json @@ -0,0 +1,87 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "line": "spectrum:block/moonstone_chiseled_calcite", + "side": "spectrum:block/polished_calcite", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#line", + "cullface": "north" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#side", + "cullface": "east" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "south" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": "#side", + "cullface": "west" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "up" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#line", + "cullface": "down" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite_down.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite_down.json new file mode 100644 index 0000000000..ce0a2fbd89 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_chiseled_calcite_down.json @@ -0,0 +1,90 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "2": "spectrum:block/moonstone_chiseled_calcite", + "3": "spectrum:block/polished_calcite", + "particle": "spectrum:block/moonstone_chiseled_calcite" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "north" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "east" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "south" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#2", + "cullface": "west" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#3", + "cullface": "up" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": "#3", + "cullface": "down" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_storage_block.json new file mode 100644 index 0000000000..f576d6267e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/moonstone_storage_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/moonstone_storage_block" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_basalt.json new file mode 100644 index 0000000000..f4626171e2 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_basalt.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/notched_polished_basalt" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_calcite.json new file mode 100644 index 0000000000..c9f47837b9 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/notched_polished_calcite.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/notched_polished_calcite" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_basalt_lamp.json new file mode 100644 index 0000000000..0f59ef73d0 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_basalt_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_basalt", + "side": "spectrum:block/onyx_basalt_lamp", + "inside": "spectrum:block/onyx_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_calcite_lamp.json new file mode 100644 index 0000000000..bcfbf91b0c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_calcite_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_calcite", + "side": "spectrum:block/onyx_calcite_lamp", + "inside": "spectrum:block/onyx_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_chime.json new file mode 100644 index 0000000000..18f29a9a38 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_chime.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates/chime", + "textures": { + "gemstone": "spectrum:block/onyx_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_storage_block.json new file mode 100644 index 0000000000..4cd691b38c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/onyx_storage_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/onyx_storage_block" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/powder_chiseled_preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/powder_chiseled_preservation_stone.json new file mode 100644 index 0000000000..daab47aa43 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/powder_chiseled_preservation_stone.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "spectrum:block/preservation_stone", + "side": "spectrum:block/powder_chiseled_preservation_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_block_detector.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_block_detector.json new file mode 100644 index 0000000000..4e8401b6ff --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_block_detector.json @@ -0,0 +1,8 @@ +{ + "parent": "minecraft:block/orientable", + "textures": { + "top": "spectrum:block/preservation_stone", + "front": "spectrum:block/preservation_block_detector_front", + "side": "spectrum:block/preservation_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_controller.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_controller.json new file mode 100644 index 0000000000..a6c8f242e9 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_controller.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/preservation_controller" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_roundel.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_roundel.json new file mode 100644 index 0000000000..9e25adbd08 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_roundel.json @@ -0,0 +1,9 @@ +{ + "parent": "spectrum:templates/roundel", + "textures": { + "base": "spectrum:block/preservation_stone_12", + "side": "spectrum:block/polished_calcite_pillar_side", + "top": "spectrum:block/polished_calcite_pillar_top", + "particle": "spectrum:block/preservation_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_stone.json new file mode 100644 index 0000000000..c1a7f7f0db --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/preservation_stone.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/preservation_stone" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/provider_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/provider_node.json new file mode 100644 index 0000000000..7872f2dc35 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/provider_node.json @@ -0,0 +1,1703 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "spectrum:block/polished_calcite", + "1": "spectrum:block/amethyst_storage_block", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 11 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 0.5, + 11.5 + ], + "to": [ + 10, + 0.5, + 14.5 + ], + "rotation": { + "angle": -22.5, + "axis": "x", + "origin": [ + 8, + 0.5, + 11 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 4, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 4, + 0 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 7, + 3, + 5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 5.5, + 1.5, + 5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 0, + 5 + ], + "to": [ + 12, + 3, + 5 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 10.5, + 1.5, + 5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 0, + 11 + ], + "to": [ + 12, + 3, + 11 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 10.5, + 1.5, + 11 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 9 + ], + "to": [ + 5, + 3, + 12 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 5, + 1.5, + 10.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 5, + 3, + 7 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 5, + 1.5, + 5.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 0, + 4 + ], + "to": [ + 11, + 3, + 7 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 11, + 1.5, + 5.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 0, + 9 + ], + "to": [ + 11, + 3, + 12 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 11, + 1.5, + 10.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 0, + 11 + ], + "to": [ + 7, + 3, + 11 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 5.5, + 1.5, + 11 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 3, + 3 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 3, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 0.5, + 1.5 + ], + "to": [ + 10, + 0.5, + 4.5 + ], + "rotation": { + "angle": 22.5, + "axis": "x", + "origin": [ + 8, + 0.5, + 5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 4, + 0 + ], + "rotation": 180, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 4, + 0 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + }, + { + "from": [ + 11.5, + 0.5, + 6 + ], + "to": [ + 14.5, + 0.5, + 10 + ], + "rotation": { + "angle": 22.5, + "axis": "z", + "origin": [ + 11, + 0.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 1.5, + 0.5, + 6 + ], + "to": [ + 4.5, + 0.5, + 10 + ], + "rotation": { + "angle": -22.5, + "axis": "z", + "origin": [ + 5, + 0.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 4, + 3 + ], + "rotation": 270, + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 7 + ], + "to": [ + 10, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 7 + ], + "to": [ + 7, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 7, + 6, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 7, + 8 + ], + "to": [ + 8, + 8, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 8, + 6, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 5, + 8 + ], + "to": [ + 10, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 1, + 6 + ], + "to": [ + 9, + 5, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 12, + 1, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/sender_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/sender_node.json new file mode 100644 index 0000000000..1feebcb5f5 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/sender_node.json @@ -0,0 +1,1031 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "spectrum:block/polished_calcite", + "1": "spectrum:block/citrine_storage_block", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 11 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 7 + ], + "to": [ + 10, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 7 + ], + "to": [ + 7, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 7, + 6, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 7, + 8 + ], + "to": [ + 8, + 8, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 8, + 6, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 5, + 8 + ], + "to": [ + 10, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 1, + 6 + ], + "to": [ + 9, + 5, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 12, + 1, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 1, + 5 + ], + "to": [ + 5, + 3, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 1, + 5 + ], + "to": [ + 12, + 3, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 1, + 11 + ], + "to": [ + 11, + 3, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 1, + 4 + ], + "to": [ + 11, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/stone_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/stone_shimmerstone_light.json new file mode 100644 index 0000000000..b0367ca59c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/stone_shimmerstone_light.json @@ -0,0 +1,29 @@ +{ + "variants": { + "facing=east": { + "model": "spectrum:block/stone_shimmerstone_light", + "x": 90, + "y": 90 + }, + "facing=north": { + "model": "spectrum:block/stone_shimmerstone_light", + "x": 90 + }, + "facing=south": { + "model": "spectrum:block/stone_shimmerstone_light", + "x": 270 + }, + "facing=west": { + "model": "spectrum:block/stone_shimmerstone_light", + "x": 90, + "y": 270 + }, + "facing=up": { + "model": "spectrum:block/stone_shimmerstone_light" + }, + "facing=down": { + "model": "spectrum:block/stone_shimmerstone_light", + "x": 180 + } + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/storage_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/storage_node.json new file mode 100644 index 0000000000..bf05933670 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/storage_node.json @@ -0,0 +1,1031 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "spectrum:block/polished_calcite", + "1": "spectrum:block/topaz_storage_block", + "particle": "spectrum:block/polished_calcite" + }, + "elements": [ + { + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 0, + 11 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 9, + 1, + 7 + ], + "to": [ + 10, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 7 + ], + "to": [ + 7, + 5, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 5, + 7 + ], + "to": [ + 7, + 6, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 7, + 8 + ], + "to": [ + 8, + 8, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 9 + ], + "to": [ + 8, + 6, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 9, + 5, + 8 + ], + "to": [ + 10, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 1, + 6 + ], + "to": [ + 9, + 5, + 10 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 4, + 4 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 7, + 5, + 7 + ], + "to": [ + 9, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 2, + 2 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 4, + 0, + 5 + ], + "to": [ + 12, + 1, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 8, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 4, + 3, + 5 + ], + "to": [ + 5, + 5, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 11, + 3, + 5 + ], + "to": [ + 12, + 5, + 11 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 1, + 6 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 3, + 11 + ], + "to": [ + 11, + 5, + 12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 5, + 3, + 4 + ], + "to": [ + 11, + 5, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 6, + 2 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 6, + 1 + ], + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_basalt_lamp.json new file mode 100644 index 0000000000..b96a45bb86 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_basalt_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_basalt", + "side": "spectrum:block/topaz_basalt_lamp", + "inside": "spectrum:block/topaz_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_calcite_lamp.json new file mode 100644 index 0000000000..45d8250aee --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_calcite_lamp.json @@ -0,0 +1,8 @@ +{ + "parent": "spectrum:templates/multilayer_light", + "textures": { + "top": "spectrum:block/polished_calcite", + "side": "spectrum:block/topaz_calcite_lamp", + "inside": "spectrum:block/topaz_lamp_inner" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_chime.json new file mode 100644 index 0000000000..89ec355f05 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_chime.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:templates/chime", + "textures": { + "gemstone": "spectrum:block/topaz_glass" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_storage_block.json new file mode 100644 index 0000000000..d06beebf65 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/block/topaz_storage_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "spectrum:block/topaz_storage_block" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_basalt_lamp.json new file mode 100644 index 0000000000..653168bbf4 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_basalt_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/amethyst_basalt_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_calcite_lamp.json new file mode 100644 index 0000000000..8a1f121ffc --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_calcite_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/amethyst_calcite_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_chime.json new file mode 100644 index 0000000000..e57ea0c582 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_chime.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/amethyst_chime" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_decostone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_decostone.json new file mode 100644 index 0000000000..9eebf6007c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_decostone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/amethyst_decostone_top" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_storage_block.json new file mode 100644 index 0000000000..08aaf2d731 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/amethyst_storage_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/amethyst_storage_block" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/andesite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/andesite_shimmerstone_light.json new file mode 100644 index 0000000000..38efd7d124 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/andesite_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/andesite_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/basalt_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/basalt_shimmerstone_light.json new file mode 100644 index 0000000000..a36fc431b1 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/basalt_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/basalt_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_axe.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_axe.json new file mode 100644 index 0000000000..7a0e8edb53 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_axe.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "spectrum:item/bedrock_axe" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_sword.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_sword.json new file mode 100644 index 0000000000..50b68a0b53 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bedrock_sword.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/handheld", + "textures": { + "layer0": "spectrum:item/bedrock_sword" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/blackslag_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/blackslag_shimmerstone_light.json new file mode 100644 index 0000000000..41c97f2b41 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/blackslag_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/blackslag_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_detector.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_detector.json new file mode 100644 index 0000000000..1f36e20f53 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_detector.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/block_detector" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_placer.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_placer.json new file mode 100644 index 0000000000..3bdf0ced54 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/block_placer.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/block_placer" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bottomless_bundle.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bottomless_bundle.json new file mode 100644 index 0000000000..9297a2714c --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/bottomless_bundle.json @@ -0,0 +1,29 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "spectrum:item/bottomless_bundle_empty" + }, + "overrides": [ + { + "predicate": { + "locked": 0, + "filled": 1 + }, + "model": "spectrum:item/bottomless_bundle_filled" + }, + { + "predicate": { + "locked": 1, + "filled": 0 + }, + "model": "spectrum:item/bottomless_bundle_empty_locked" + }, + { + "predicate": { + "filled": 1, + "locked": 1 + }, + "model": "spectrum:item/bottomless_bundle_filled_locked" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/calcite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/calcite_shimmerstone_light.json new file mode 100644 index 0000000000..2816e85381 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/calcite_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/calcite_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_basalt_lamp.json new file mode 100644 index 0000000000..312aba5e03 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_basalt_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/citrine_basalt_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_calcite_lamp.json new file mode 100644 index 0000000000..599067a11a --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_calcite_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/citrine_calcite_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_chime.json new file mode 100644 index 0000000000..093f780ceb --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_chime.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/citrine_chime" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_decostone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_decostone.json new file mode 100644 index 0000000000..d85aadf7cc --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_decostone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/citrine_decostone_top" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_storage_block.json new file mode 100644 index 0000000000..66970bb071 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/citrine_storage_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/citrine_storage_block" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/connection_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/connection_node.json new file mode 100644 index 0000000000..08aeca6a30 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/connection_node.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/connection_node" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/deepslate_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/deepslate_shimmerstone_light.json new file mode 100644 index 0000000000..40163491d7 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/deepslate_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/deepslate_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/dike_chiseled_preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/dike_chiseled_preservation_stone.json new file mode 100644 index 0000000000..74b1240115 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/dike_chiseled_preservation_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/dike_chiseled_preservation_stone" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/diorite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/diorite_shimmerstone_light.json new file mode 100644 index 0000000000..20cc6c827a --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/diorite_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/diorite_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/gather_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/gather_node.json new file mode 100644 index 0000000000..dd5fa42bec --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/gather_node.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/gather_node" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/glass_crest_workstaff_oversized.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/glass_crest_workstaff_oversized.json new file mode 100644 index 0000000000..33a129bd54 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/glass_crest_workstaff_oversized.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:item/handheld_oversized", + "textures": { + "layer0": "spectrum:item/glass_crest_workstaff_oversized" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/granite_shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/granite_shimmerstone_light.json new file mode 100644 index 0000000000..248c682c09 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/granite_shimmerstone_light.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/granite_shimmerstone_light" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/handheld_oversized.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/handheld_oversized.json new file mode 100644 index 0000000000..b132da904a --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/handheld_oversized.json @@ -0,0 +1,73 @@ +{ + "parent": "minecraft:item/handheld", + "display": { + "thirdperson_righthand": { + "rotation": [ + 0, + -90, + 55 + ], + "translation": [ + 0, + 11.0, + 0.5 + ], + "scale": [ + 1.75, + 1.75, + 1.75 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 0, + 90, + -55 + ], + "translation": [ + 0, + 11.0, + 0.5 + ], + "scale": [ + 1.75, + 1.75, + 1.75 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + -90, + 25 + ], + "translation": [ + 2.6, + 1.0, + 1.2 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 90, + -25 + ], + "translation": [ + 2.6, + 1.0, + 1.2 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + } + } +} diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_basalt.json new file mode 100644 index 0000000000..700296a440 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_basalt.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/item_bowl_basalt" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_calcite.json new file mode 100644 index 0000000000..544894fe65 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_bowl_calcite.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/item_bowl_calcite" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_roundel.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_roundel.json new file mode 100644 index 0000000000..763b2c3b8e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/item_roundel.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/item_roundel" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized.json new file mode 100644 index 0000000000..52b73a8710 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:item/handheld_oversized", + "textures": { + "layer0": "spectrum:item/malachite_bident_oversized" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized_throwing.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized_throwing.json new file mode 100644 index 0000000000..f74d29a3ab --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_bident_oversized_throwing.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:item/handheld_oversized_throwing", + "textures": { + "layer0": "spectrum:item/malachite_bident_oversized" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_workstaff_oversized.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_workstaff_oversized.json new file mode 100644 index 0000000000..d4ba48aa11 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/malachite_workstaff_oversized.json @@ -0,0 +1,6 @@ +{ + "parent": "spectrum:item/handheld_oversized", + "textures": { + "layer0": "spectrum:item/malachite_workstaff_oversized" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_basalt_lamp.json new file mode 100644 index 0000000000..51dc50c5ce --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_basalt_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_basalt_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_calcite_lamp.json new file mode 100644 index 0000000000..f27a29db93 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_calcite_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_calcite_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chime.json new file mode 100644 index 0000000000..d5414b2cf6 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chime.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_chime" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_basalt.json new file mode 100644 index 0000000000..913957bc35 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_basalt.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_chiseled_basalt_down" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_calcite.json new file mode 100644 index 0000000000..4e83f77703 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_chiseled_calcite.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_chiseled_calcite_down" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_decostone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_decostone.json new file mode 100644 index 0000000000..7530db8873 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_decostone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_decostone_top" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_storage_block.json new file mode 100644 index 0000000000..7da052a04b --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/moonstone_storage_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/moonstone_storage_block" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/neolith.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/neolith.json new file mode 100644 index 0000000000..23f61df877 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/neolith.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "spectrum:item/neolith" + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_basalt.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_basalt.json new file mode 100644 index 0000000000..fabbdc4464 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_basalt.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/notched_polished_basalt" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_calcite.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_calcite.json new file mode 100644 index 0000000000..d949403015 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/notched_polished_calcite.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/notched_polished_calcite" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_basalt_lamp.json new file mode 100644 index 0000000000..3564bdb467 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_basalt_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/onyx_basalt_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_calcite_lamp.json new file mode 100644 index 0000000000..bf50387cf0 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_calcite_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/onyx_calcite_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_chime.json new file mode 100644 index 0000000000..d2b0c39860 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_chime.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/onyx_chime" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_decostone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_decostone.json new file mode 100644 index 0000000000..b6383ad5a4 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_decostone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/onyx_decostone_top" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_storage_block.json new file mode 100644 index 0000000000..b0e9475788 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/onyx_storage_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/onyx_storage_block" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/powder_chiseled_preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/powder_chiseled_preservation_stone.json new file mode 100644 index 0000000000..1d4e7c202d --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/powder_chiseled_preservation_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/powder_chiseled_preservation_stone" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_block_detector.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_block_detector.json new file mode 100644 index 0000000000..735b2a8768 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_block_detector.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/preservation_block_detector" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_controller.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_controller.json new file mode 100644 index 0000000000..f8c1d8da3f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_controller.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/preservation_controller" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_roundel.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_roundel.json new file mode 100644 index 0000000000..e3c8caea39 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_roundel.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/preservation_roundel" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_stone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_stone.json new file mode 100644 index 0000000000..20bb9bc42f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/preservation_stone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/preservation_stone" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/provider_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/provider_node.json new file mode 100644 index 0000000000..e8e5bb3644 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/provider_node.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/provider_node" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/sender_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/sender_node.json new file mode 100644 index 0000000000..d23220f75f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/sender_node.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/sender_node" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/storage_node.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/storage_node.json new file mode 100644 index 0000000000..1d709c9bde --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/storage_node.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/storage_node" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_basalt_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_basalt_lamp.json new file mode 100644 index 0000000000..5c6dc0f8a6 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_basalt_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/topaz_basalt_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_calcite_lamp.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_calcite_lamp.json new file mode 100644 index 0000000000..7ccae514b2 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_calcite_lamp.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/topaz_calcite_lamp" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_chime.json new file mode 100644 index 0000000000..a55b2a4ba7 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_chime.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/topaz_chime" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_decostone.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_decostone.json new file mode 100644 index 0000000000..2efd902b3e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_decostone.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/topaz_decostone_top" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_storage_block.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_storage_block.json new file mode 100644 index 0000000000..1bfc13d7e8 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/item/topaz_storage_block.json @@ -0,0 +1,3 @@ +{ + "parent": "spectrum:block/topaz_storage_block" +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/chime.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/chime.json new file mode 100644 index 0000000000..930874cb87 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/chime.json @@ -0,0 +1,1114 @@ +{ + "parent": "block/block", + "credit": "Made with Blockbench", + "textures": { + "base1": "spectrum:block/polished_basalt", + "base2": "spectrum:block/polished_calcite", + "gemstone": "spectrum:block/topaz_glass", + "string": "spectrum:block/moonstone_glass", + "particle": "spectrum:block/polished_basalt" + }, + "elements": [ + { + "from": [ + 9, + 4.5, + 6 + ], + "to": [ + 10, + 8.5, + 7 + ], + "faces": { + "north": { + "uv": [ + 2, + 4, + 3, + 8 + ], + "texture": "#gemstone" + }, + "east": { + "uv": [ + 5, + 1, + 6, + 5 + ], + "texture": "#gemstone" + }, + "south": { + "uv": [ + 3, + 3, + 4, + 7 + ], + "texture": "#gemstone" + }, + "west": { + "uv": [ + 4, + 2, + 5, + 6 + ], + "texture": "#gemstone" + }, + "up": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": "#gemstone" + }, + "down": { + "uv": [ + 6, + 0, + 7, + 1 + ], + "texture": "#gemstone" + } + } + }, + { + "from": [ + 9.25, + 8.5, + 6.5 + ], + "to": [ + 9.75, + 12, + 6.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 9.5, + 8.5, + 6.25 + ], + "to": [ + 9.5, + 12, + 6.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 7, + 13, + 7 + ], + "to": [ + 9, + 16, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 4, + 4 + ], + "texture": "#base1" + }, + "east": { + "uv": [ + 5, + 4, + 7, + 7 + ], + "texture": "#base1" + }, + "south": { + "uv": [ + 5, + 6, + 7, + 9 + ], + "texture": "#base1" + }, + "west": { + "uv": [ + 8, + 4, + 10, + 7 + ], + "texture": "#base1" + }, + "up": { + "uv": [ + 3, + 4, + 5, + 6 + ], + "texture": "#base1" + } + } + }, + { + "from": [ + 6, + 13, + 6 + ], + "to": [ + 10, + 13.25, + 10 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 4, + 4 + ], + "texture": "#base1" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#base1" + }, + "south": { + "uv": [ + 5, + 6, + 7, + 9 + ], + "texture": "#base1" + }, + "west": { + "uv": [ + 8, + 4, + 10, + 7 + ], + "texture": "#base1" + }, + "up": { + "uv": [ + 8, + 8, + 12, + 12 + ], + "texture": "#base1" + } + } + }, + { + "from": [ + 5, + 12, + 5 + ], + "to": [ + 11, + 13, + 11 + ], + "faces": { + "north": { + "uv": [ + 9, + 15, + 15, + 16 + ], + "texture": "#base2" + }, + "east": { + "uv": [ + 4, + 15, + 10, + 16 + ], + "texture": "#base2" + }, + "south": { + "uv": [ + 2, + 15, + 8, + 16 + ], + "texture": "#base2" + }, + "west": { + "uv": [ + 1, + 15, + 7, + 16 + ], + "texture": "#base2" + }, + "up": { + "uv": [ + 1, + 1, + 7, + 7 + ], + "texture": "#base2" + }, + "down": { + "uv": [ + 1, + 1, + 7, + 7 + ], + "texture": "#base2" + } + } + }, + { + "from": [ + 7.1, + 6.5, + 7.1 + ], + "to": [ + 8.9, + 6.8, + 8.9 + ], + "faces": { + "north": { + "uv": [ + 9, + 15, + 15, + 16 + ], + "texture": "#base2" + }, + "east": { + "uv": [ + 4, + 15, + 10, + 16 + ], + "texture": "#base2" + }, + "south": { + "uv": [ + 2, + 15, + 8, + 16 + ], + "texture": "#base2" + }, + "west": { + "uv": [ + 1, + 15, + 7, + 16 + ], + "texture": "#base2" + }, + "up": { + "uv": [ + 1, + 1, + 7, + 7 + ], + "texture": "#base2" + }, + "down": { + "uv": [ + 1, + 1, + 7, + 7 + ], + "texture": "#base2" + } + } + }, + { + "from": [ + 7, + 2, + 9 + ], + "to": [ + 8, + 8, + 10 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 9 + ], + "texture": "#gemstone" + }, + "east": { + "uv": [ + 4, + 0, + 5, + 6 + ], + "texture": "#gemstone" + }, + "south": { + "uv": [ + 2, + 2, + 3, + 8 + ], + "texture": "#gemstone" + }, + "west": { + "uv": [ + 3, + 1, + 4, + 7 + ], + "texture": "#gemstone" + }, + "up": { + "uv": [ + 6, + 0, + 7, + 1 + ], + "texture": "#gemstone" + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": "#gemstone" + } + } + }, + { + "from": [ + 7.25, + 8, + 9.5 + ], + "to": [ + 7.75, + 12, + 9.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 7.75, + 5, + 7.75 + ], + "to": [ + 8.25, + 12, + 7.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 7 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 7 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 7 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 7 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 7.5, + 8, + 9.25 + ], + "to": [ + 7.5, + 12, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 4 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 4 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 7.75, + 5, + 7.75 + ], + "to": [ + 7.75, + 12, + 8.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 7 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 7 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 7 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 7 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 9, + 4, + 8 + ], + "to": [ + 10, + 9, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 3, + 8 + ], + "texture": "#gemstone" + }, + "east": { + "uv": [ + 3, + 2, + 4, + 7 + ], + "texture": "#gemstone" + }, + "south": { + "uv": [ + 5, + 0, + 6, + 5 + ], + "texture": "#gemstone" + }, + "west": { + "uv": [ + 4, + 1, + 5, + 6 + ], + "texture": "#gemstone" + }, + "up": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": "#gemstone" + }, + "down": { + "uv": [ + 6, + 0, + 7, + 1 + ], + "texture": "#gemstone" + } + } + }, + { + "from": [ + 9.25, + 9, + 8.5 + ], + "to": [ + 9.75, + 12, + 8.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 3 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 3 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 9.5, + 9, + 8.25 + ], + "to": [ + 9.5, + 12, + 8.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 3 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 3 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 6, + 4, + 6 + ], + "to": [ + 7, + 9.5, + 7 + ], + "faces": { + "north": { + "uv": [ + 2, + 4, + 3, + 8 + ], + "texture": "#gemstone" + }, + "east": { + "uv": [ + 5, + 1, + 6, + 5 + ], + "texture": "#gemstone" + }, + "south": { + "uv": [ + 3, + 3, + 4, + 7 + ], + "texture": "#gemstone" + }, + "west": { + "uv": [ + 4, + 2, + 5, + 6 + ], + "texture": "#gemstone" + }, + "up": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": "#gemstone" + }, + "down": { + "uv": [ + 6, + 0, + 7, + 1 + ], + "texture": "#gemstone" + } + } + }, + { + "from": [ + 6.25, + 9.5, + 6.5 + ], + "to": [ + 6.75, + 12, + 6.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0.5, + 2.5 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 2.5 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 2.5 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0, + 2.5 + ], + "texture": "#string" + } + } + }, + { + "from": [ + 6.5, + 8.5, + 6.25 + ], + "to": [ + 6.5, + 12, + 6.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + }, + "east": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + }, + "south": { + "uv": [ + 0, + 0, + 0, + 3.5 + ], + "texture": "#string" + }, + "west": { + "uv": [ + 0, + 0, + 0.5, + 3.5 + ], + "texture": "#string" + } + } + } + ], + "groups": [ + { + "name": "chime", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 0, + 1, + 2 + ] + }, + { + "name": "top", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 3, + 4, + 5, + 6 + ] + }, + { + "name": "chime", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 7, + 8, + 9, + 10, + 11 + ] + }, + { + "name": "chime", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 12, + 13, + 14 + ] + }, + { + "name": "chime", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 15, + 16, + 17 + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/complex_orientable.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/complex_orientable.json new file mode 100644 index 0000000000..e307a67378 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/complex_orientable.json @@ -0,0 +1,172 @@ +{ + "credit": "~ XOXO Azzyypaaras ~", + "textures": { + "0": "#back", + "1": "#front", + "2": "#side", + "3": "#top", + "4": "#bottom", + "particle": "#particle" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#3" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#4" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + 75, + 45, + 0 + ], + "translation": [ + 0, + 2.5, + 0 + ], + "scale": [ + 0.375, + 0.375, + 0.375 + ] + }, + "firstperson_righthand": { + "rotation": [ + 0, + 45, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 0, + 225, + 0 + ], + "scale": [ + 0.4, + 0.4, + 0.4 + ] + }, + "ground": { + "translation": [ + 0, + 3, + 0 + ], + "scale": [ + 0.25, + 0.25, + 0.25 + ] + }, + "gui": { + "rotation": [ + 30, + 225, + 0 + ], + "scale": [ + 0.625, + 0.625, + 0.625 + ] + }, + "fixed": { + "scale": [ + 0.5, + 0.5, + 0.5 + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/double_cross.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/double_cross.json new file mode 100644 index 0000000000..88ee7d080f --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/double_cross.json @@ -0,0 +1,181 @@ +{ + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "particle": "#cross" + }, + "elements": [ + { + "from": [ + 8, + 0, + 0.8 + ], + "to": [ + 8, + 16, + 15.2 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 8, + 8, + 8 + ], + "rescale": true + }, + "faces": { + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + } + } + }, + { + "from": [ + 0.8, + 0, + 8 + ], + "to": [ + 15.2, + 16, + 8 + ], + "shade": false, + "rotation": { + "angle": -22.5, + "axis": "y", + "origin": [ + 8, + 8, + 8 + ], + "rescale": true + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + } + } + }, + { + "from": [ + 0.8, + 0, + 8 + ], + "to": [ + 15.2, + 16, + 8 + ], + "shade": false, + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 8, + 8, + 8 + ], + "rescale": true + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + } + } + }, + { + "from": [ + 8, + 0, + 0.8 + ], + "to": [ + 8, + 16, + 15.2 + ], + "shade": false, + "rotation": { + "angle": 22.5, + "axis": "y", + "origin": [ + 8, + 9, + 8 + ], + "rescale": true + }, + "faces": { + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#cross" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/item_bowl.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/item_bowl.json new file mode 100644 index 0000000000..582308e5fa --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/item_bowl.json @@ -0,0 +1,470 @@ +{ + "parent": "block/block", + "credit": "Made with Blockbench", + "textures": { + "0": "spectrum:block/item_bowl_basalt", + "1": "spectrum:block/polished_basalt_pillar_side", + "2": "spectrum:block/polished_basalt", + "3": "spectrum:block/polished_basalt_pillar_top", + "particle": "spectrum:block/item_bowl_basalt" + }, + "elements": [ + { + "from": [ + 2, + 3, + 2 + ], + "to": [ + 14, + 6, + 14 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 12, + 3 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 0, + 12, + 3 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 0, + 12, + 3 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 0, + 12, + 3 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 12, + 12 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 3, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 13, + 16, + 16 + ], + "texture": "#2" + }, + "east": { + "uv": [ + 0, + 13, + 16, + 16 + ], + "texture": "#2" + }, + "south": { + "uv": [ + 0, + 13, + 16, + 16 + ], + "texture": "#2" + }, + "west": { + "uv": [ + 0, + 13, + 16, + 16 + ], + "texture": "#2" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#2" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#2" + } + } + }, + { + "from": [ + 1, + 3, + 1 + ], + "to": [ + 15, + 10, + 4 + ], + "rotation": { + "angle": -45, + "axis": "x", + "origin": [ + 8, + 6.5, + 2.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 180, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 1, + 3, + 1 + ], + "to": [ + 4, + 10, + 15 + ], + "rotation": { + "angle": 45, + "axis": "z", + "origin": [ + 2.5, + 6.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 90, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 90, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 90, + "texture": "#0" + } + } + }, + { + "from": [ + 12, + 3, + 1 + ], + "to": [ + 15, + 10, + 15 + ], + "rotation": { + "angle": -45, + "axis": "z", + "origin": [ + 13.5, + 6.5, + 8 + ] + }, + "faces": { + "north": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 90, + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 270, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 7, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 270, + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 270, + "texture": "#0" + } + } + }, + { + "from": [ + 1, + 3, + 12 + ], + "to": [ + 15, + 10, + 15 + ], + "rotation": { + "angle": 45, + "axis": "x", + "origin": [ + 8, + 6.5, + 13.5 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 270, + "texture": "#0" + }, + "east": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 90, + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "rotation": 90, + "texture": "#0" + }, + "west": { + "uv": [ + 7, + 3, + 14, + 6 + ], + "rotation": 270, + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "rotation": 180, + "texture": "#0" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/multilayer_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/multilayer_light.json new file mode 100644 index 0000000000..5a0adf1521 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/multilayer_light.json @@ -0,0 +1,126 @@ +{ + "parent": "minecraft:block/block", + "textures": { + "particle": "#top" + }, + "elements": [ + { + "from": [ + 0, + 0, + 0 + ], + "to": [ + 16, + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#side" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#side" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#side" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#side" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#top" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#top" + } + } + }, + { + "from": [ + 1, + 1, + 1 + ], + "to": [ + 15, + 15, + 15 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 15, + 15 + ], + "texture": "#inside" + }, + "east": { + "uv": [ + 1, + 1, + 15, + 15 + ], + "texture": "#inside" + }, + "south": { + "uv": [ + 1, + 1, + 15, + 15 + ], + "texture": "#inside" + }, + "west": { + "uv": [ + 1, + 1, + 15, + 15 + ], + "texture": "#inside" + } + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shimmerstone_light.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shimmerstone_light.json new file mode 100644 index 0000000000..4d75bb5131 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shimmerstone_light.json @@ -0,0 +1,265 @@ +{ + "parent": "minecraft:block/block", + "credit": "Made with Blockbench", + "textures": { + "outer": "minecraft:block/smooth_stone", + "inner": "spectrum:block/shimmerstone_light", + "particle": "minecraft:block/smooth_stone" + }, + "elements": [ + { + "name": "west", + "from": [ + 5, + 0, + 4 + ], + "to": [ + 11, + 1, + 12 + ], + "faces": { + "north": { + "uv": [ + 5, + 6, + 11, + 7 + ], + "texture": "#outer" + }, + "east": { + "uv": [ + 6, + 7, + 14, + 8 + ], + "texture": "#outer" + }, + "south": { + "uv": [ + 5, + 4, + 11, + 5 + ], + "texture": "#outer" + }, + "west": { + "uv": [ + 4, + 8, + 12, + 9 + ], + "texture": "#outer" + }, + "up": { + "uv": [ + 5, + 4, + 11, + 12 + ], + "texture": "#outer" + }, + "down": { + "uv": [ + 4, + 3, + 10, + 11 + ], + "texture": "#outer" + } + } + }, + { + "name": "shimmerstone", + "from": [ + 6, + 1, + 5 + ], + "to": [ + 10, + 2, + 11 + ], + "faces": { + "north": { + "uv": [ + 2, + 14, + 6, + 15 + ], + "texture": "#inner" + }, + "east": { + "uv": [ + 1, + 1, + 7, + 2 + ], + "texture": "#inner" + }, + "south": { + "uv": [ + 10, + 2, + 14, + 3 + ], + "texture": "#inner" + }, + "west": { + "uv": [ + 9, + 13, + 15, + 14 + ], + "texture": "#inner" + }, + "up": { + "uv": [ + 11, + 9, + 15, + 15 + ], + "texture": "#inner" + }, + "down": { + "uv": [ + 13, + 1, + 15, + 5 + ], + "texture": "#inner" + } + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [ + -17, + 0, + 0 + ], + "translation": [ + 0, + 5, + -1.25 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "thirdperson_lefthand": { + "rotation": [ + -17, + 0, + 0 + ], + "translation": [ + 0, + 5, + -1.25 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "firstperson_righthand": { + "rotation": [ + 33, + 0, + 0 + ], + "translation": [ + 5, + 2.5, + -0.5 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "firstperson_lefthand": { + "rotation": [ + 33, + 0, + 0 + ], + "translation": [ + 5, + 5, + 0.7 + ], + "scale": [ + 0.7, + 0.7, + 0.7 + ] + }, + "ground": { + "translation": [ + 0, + 4, + 0 + ], + "scale": [ + 0.5, + 0.5, + 0.5 + ] + }, + "gui": { + "rotation": [ + 120, + 0, + -30 + ], + "translation": [ + 4.5, + -4.5, + 0 + ], + "scale": [ + 1.25, + 1.25, + 1.25 + ] + }, + "fixed": { + "rotation": [ + -90, + 0, + 0 + ], + "translation": [ + 0, + 0, + -12 + ], + "scale": [ + 1.5, + 1.5, + 1.5 + ] + } + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shooting_star.json b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shooting_star.json new file mode 100644 index 0000000000..08b6c35426 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/models/templates/shooting_star.json @@ -0,0 +1,770 @@ +{ + "credit": "Made with Blockbench", + "parent": "block/block", + "textures": { + "0": "#side", + "1": "#core", + "particle": "#core" + }, + "elements": [ + { + "from": [ + 4, + 2, + 4 + ], + "to": [ + 12, + 10, + 12 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 8, + -2, + 0.5 + ], + "to": [ + 8, + 13.75, + 16 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 15, + 0.25, + 15, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0.25, + 15.5, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 16, + 0.25, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0.5, + 0.25, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 15, + 0.5, + 15, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 15, + 0, + 15, + 15.5 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 0, + -1.75, + 8 + ], + "to": [ + 16, + 14, + 8 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 15.75 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 15.75 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 15.75 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 16, + 0, + 16, + 15.75 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 6, + 4, + 3 + ], + "to": [ + 10, + 8, + 13 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 10, + 10, + 14, + 14 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 10, + 10, + 14 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 12, + 10, + 16, + 14 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 6, + 10, + 16, + 14 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 12, + 6, + 16, + 16 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 12, + 0, + 16, + 10 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 3, + 4, + 6 + ], + "to": [ + 13, + 8, + 10 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 4, + 14, + 8 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 4, + 4, + 8 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 6, + 4, + 16, + 8 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 12, + 4, + 16, + 8 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 6, + 4, + 16, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 6, + 0, + 16, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 6, + 1, + 6 + ], + "to": [ + 10, + 11, + 10 + ], + "rotation": { + "angle": 0, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 4, + 4, + 8, + 14 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 4, + 4, + 14 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 12, + 4, + 16, + 14 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 8, + 4, + 12, + 14 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 8, + 4, + 12, + 8 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 12, + 0, + 16, + 4 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 0, + 6, + 0 + ], + "to": [ + 16, + 6, + 16 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 16, + 16, + 16 + ], + "texture": "#1" + }, + "east": { + "uv": [ + 0, + 16, + 16, + 16 + ], + "texture": "#1" + }, + "south": { + "uv": [ + 0, + 16, + 16, + 16 + ], + "texture": "#1" + }, + "west": { + "uv": [ + 0, + 16, + 16, + 16 + ], + "texture": "#1" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#1" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#1" + } + } + }, + { + "from": [ + 8, + -2, + 0 + ], + "to": [ + 8, + 14, + 16 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#0" + } + } + }, + { + "from": [ + 0, + -2, + 8 + ], + "to": [ + 16, + 14, + 8 + ], + "rotation": { + "angle": 45, + "axis": "y", + "origin": [ + 8, + 0, + 9 + ] + }, + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": "#0" + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "west": { + "uv": [ + 16, + 0, + 16, + 16 + ], + "texture": "#0" + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": "#0" + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": "#0" + } + } + } + ], + "groups": [ + { + "name": "body", + "origin": [ + 0, + 8, + 0 + ], + "color": 0, + "children": [ + { + "name": "center", + "origin": [ + 8, + 0, + 9 + ], + "color": 0, + "children": [ + 0, + 1, + 2, + 3, + 4, + 5 + ] + }, + { + "name": "ring_one_horizontal", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 6 + ] + }, + { + "name": "ring_three_vertical", + "origin": [ + 0, + 8, + 0 + ], + "color": 0, + "children": [ + 7 + ] + }, + { + "name": "ring_two_vertical", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "children": [ + 8 + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_basalt_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_basalt_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..1ed0aa177e353a28bbce15f750c0ae1f91245e19 GIT binary patch literal 666 zcmV;L0%iS)P)Px%R7pfZR5*=olTT|CK^Vq=ty?-|yPM#q*$pv;W{nbB3iYV{0v^SSClw?YLGeR~ z;=xalqnC>GCU_78B?l3tP*UQ-6mhN1pKjUivdcy)@i5)7whk;a`^@wHd**$o9zDE2 zvCbDbz5Ig!fRlIrLGaK2x1FD8QIN3fjQ}tW9e^;3x6O2$PW-gCrx8UzT|6$K0}(qyj7q&b)z|sj!1diYPgQd zCX0UO%Ijv$nehC5v(@|FXWlBHnY!SD;{s6nZR16|@Nq-WH{z&2WFftf9g9SOe405khBuL+9P*hKjyiU86%A zD{tc;4k#6Eth}up3n6uxKK=d;cZKEZ8Z~F4jEDR3%g$LjVVuem(ln;ywQ0C3vIOsM z+T-X5fa+pJWl%Qjq-jj0@tg=Gd|6!W9+E4~^gAtdSK5d9C!@NA&|0Dzt!HW+jVc>n+a07*qoM6N<$f<`Mi ARR910 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_calcite_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_calcite_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..c97a80fb78a1cbdfa2268da06592fa225029411e GIT binary patch literal 627 zcmV-(0*w8MP)Px%ElET{R5*=glh0}sQ5431k!gz5Oqiz5?T`tiNfQW^O1sIzy73j<2rgxI`WEgK z7jE+c7U{-~byHDdX}d5*0+EtdYf|DJCJxP{l*Gcgn9L+;&uY$h&!6v{`A+Ol*YW3W z-{HDlT=oH&e7m^pPx;N$A1EEW&CqoLh-(@^BkN%_P| z$9&9kt@3TZ!E(_gw!izy52?RZ8hhKj z-0SOBDk;b;rK3cBL9mk9;C^wLQhpVH?z!ak(*tX7dpFoYxG(@iEnuhx>Qn)+9Z8)k zo!*#%?Z^?st6&FlO+y!gw_9`U)V8ATE13=IR7oWT-E$ey4-4x;FmzqU!;Y+!U&T-h z4<@$7O>?3X10V93L}*i zH#!fzD`pc)MBh*g0MuJmG9nP30m4q?}vJ zW9a5Y!5}tPYaIH{$?vHH302l}y(w%G596a_(uDv#de@HVIu_!g{~yF`6-8?xXzl<2 N002ovPDHLkV1jhEA@TqK literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_basalt.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..da34a79c2cca03728ea0e2ebd9d2211a1184f66d GIT binary patch literal 1098 zcmV-Q1hxB#P)Px(1W80eR7i=VKJhVOJA|5nW;vp?;M53i%lxVXbO?KDpM<&efWQM`ijEBii zQd6rpeQ)po{eGV3{RziLkJ-(AIg2+KP)Pr98z|tHMEtUZtoYD1 z6M*S!IRJVRF=WLDz`fjWG<1XPd>Jo*UlQ5#`VMog>1@9LC zjKn`Am9&}82%P%%AOIeKwvI5zhZ6uSG-jE;mSZMcW@K>HtpnuB0syI`jb9Q0oEzwx z$ynM$JZ3YIIqfbOI(LZnSkUc%Rd@^d-0fF%1L4@{QG4c>g1aL?!?38S8los+Sq1>2 zD3R)qQ!3PG7#6y*!d$J2w<%Vssv}E}(X+jS?9^>OJ@_@bvcSmTDgY-YPNHijrK;|3 z3gD3yAG)zZ`ocvH_g#9xvXLXdL(hH2(jI~Vg<@G{|IRbK`|>vcL}dw2Frd(rh{24P zc+7TfOC@b*m$f=Tdo0Mnwj?8itAvBfx`?vkCN`)GhWgvXG#zH4Mvr^WnZr z6w4~bvdZb^(~aqr%N zXMq2Z2cD*AcBz+c-y4{jlzW<)NztP1Ce9#rykNV15~b_3Qlx>h^yIN}(@{pck5 z{EKUfZisTRtm2POQV0AvTySiaxPB+=+L!8&Q)1HLL3PD>!r$?rFZ3pcZqc>9)6pY1 z{%9WT-+6|>^3Vg8?dnYtY>kr7&$&Ek(RTCn6R)|s@HTm%)+fl6P z5W0wjqAb-EYO1!*1Cw#;W({l6;X!q=LOwr-T3-O5Wy#?I%FoOe{sj+$feh-BhEH>N zp#BpNTFoIMp(sV;{3Cf_mwMUJ-bJ0u>p^N57Tsaz&4J}1ie+c8L)eFHimhwA5kKqC|BPx&%t=H+R7i=%l}$_>Wf;eQOLw<4baz=8X0}N8t7H=|?Xsn$0o15XjCzy<>7@tL z^iWOoVB5raFsTRIOViqe2Te>Ga-)JRk=LX+CSD3?tZcJ`ydvfu2i2+I=2!!U2z z7`d6gmwDgkeLm)S{{Q@6TV{2|@E_~NT7PXe0H~~&>FVqj-=jwki~GuY8GwX3hs`hy zU(+=l0On3xf6%zW))_V!T#`Xha`S(p;H6ZRRDv@C^u zo}qrD#V#ufdacPwq@VH8U6IgkZJxyb=2#4DX&38yli!zYXfsZ7`XT^98QdNRwxG&m zfb_lum0D52qF3v5x*e>@zfv>uY#(XvVeTM2FbtR^b9%k#=?eBrtw>4B(pU^K)Nhcm zneezhtpOH7(|2|li44GNX_H7+Wvl1nZ!ZZb8&g51@9c=+Q^`OJu>g|?m0FR;RFK)k z5&*BfYp0}TdDVCUfIm-U(9|T2g>!^`2D6DJf}p?1&p~KbA z2RF{3SL-;vMK0Zpir|Dg$Jjdxlb>bwEYbg259WSqXQK|GP=F`E@xjc&dN6rC$Bnli zvVRRmhv@bwq*57S`{?2{*T(JxrXJWWOv|-A9jg&r-mIah|-<#*^*gX;a-Srg)qi0(NEtps+ z&68bD0T3P-rle(&B?VbhkiyTQsYz0)Wjb8#WS3KDs>dYKGuMNE09EcgKjZy}jsO4v M07*qoM6N<$f~#%u)&Kwi literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_calcite.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_calcite.png.mcmeta new file mode 100644 index 0000000000..6440476f0e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_chiseled_calcite.png.mcmeta @@ -0,0 +1,21 @@ +{ + "animation": { + "frametime": 20, + "interpolate": true, + "frames": [ + { + "index": 0, + "time": 90 + }, + + 1, + + { + "index": 1, + "time": 10 + }, + + 0 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_glass.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/amethyst_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4e282355afe1b5d381fb86ea3679a164144fd8 GIT binary patch literal 894 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 V07972$in~t002ovPDHLkV1mHmyWIc) literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/basalt_tiles.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/basalt_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..6b67b50990d405ec2654a1d93bd31e6515ae0c15 GIT binary patch literal 398 zcmV;90df9`P)Px$NJ&INR5*>5k~?d|FcgJPj3E#qtk@os3~q7iAyYea>96RJzn!UDNicB+d+|d? z*x)H0k}G7nr1XN&9SD|5Z5pd1i^mu`66^gRMI%Fuy4nRI?`w^eLzI|L7 z^RNz?zEG4Mx~@gp4+s}?JmRkHt85i^+ZBKn4qx9R-|27cwkyb%0aF401aN%RI&C4`2YX_07*qoM6N<$f>xNbQUCw| literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_azurite_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_azurite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..f099cbb1752525d270233188899c099eed6f6aec GIT binary patch literal 6664 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_moonstone_ore_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_moonstone_ore_top.png new file mode 100644 index 0000000000000000000000000000000000000000..53fa62250c832972d4b21b8d74aaca70241451f2 GIT binary patch literal 695 zcmV;o0!aOdP)Px%aY;l$R5*=YlTApIaU91#vsq*FWzP1(KpIOX9da{~yj1K`i3Mq}=rW98NvPE= zu!Dz;2<%dX*&&z*(?K3OSSpA`2XT5ReMx8JHNE$6+;V>q*GU~@HOzFLlb&k*h61pjG{9M( z6LG(yPDA0P3tYQWl`?s}9yhKN2DWyR?0gqgu@;k2oApHs(vq|wkc)oyN99|Iga+K4XK&-=G)T)#KNub&@iG8y>t@ePjSIdlzG+Re>K z>EASXTuuZri6AB^lw}HK8Hd%(k8h7uSEqU&Ysf3PxpclCozHis3h>~`S2}tR@!L#< zS1Lp!cSz;38fOZx(bw+)SblgHy~pK5%H&CG?-5THHcT{9tE7l141xm&HH|SL zQG-~2(cT)s;_k-X*TwX>R~@DQ;!7@!cCtAeC!5$Mb+A;+!OT>sy0w$k^!Wdmt`81? d@3cqd@CRR*5);iDY^4AI002ovPDHLkV1ki6J^=s# literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..6e80fb41c8accfc84eb71e1aa7c16fc1862270f5 GIT binary patch literal 6409 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 YuwJrq^y9jdV1+`gE$q!NZ1Ily4^BEW+W-In literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/blackslag_shimmerstone_ore_top.png new file mode 100644 index 0000000000000000000000000000000000000000..aba2d53ec1688ef8ed538bf7227828c2cf0170eb GIT binary patch literal 6331 zcmeHKc{r5q_a8$@Xi=do)6jxuWyZ|d&CpPTP$9j{@(g2{88gF-rCy>)C7}(iDocB! zq{u508F`CHNl{soS5b)XGgNO~zwbX?*YEpZGuN}7`<%}?=X0O?e$KPY&1H?6$`Ta_ z1fu3drMQFFd9p)U5j^V;PthR|#oj1SFOfT44C4!UY)%LO6Gid?7$D)WArQ&a3!8$| zKCDuoXfS%CoOGyzU}-R-7(L-+>n{!;)zm25yaK%syZeBeDXnO$@^V zv{8Qdc59gpJxZncbE2DRf6OB{Qz_ihbCiYdU8uFe8!RoflN%bm@fAvp#B-*ZM8j)2 zjVb#Z@bbD%r-7Qmg!Z^cHXdpW?DMpy8%z2kG9o6=*WYL`@xFv!-NHmy9$OKUBfYtu zMC(aTHtsgW-jSr{I37{_7=Fof{wdSv=y%ng%qLz7i|>2FT<$FObEv#bD~^L!Z{$}o zTAq0Yex}uJIiuWe{?|G(+ELQEt*LalJf>WG3A0&se~S60q`C*j6fKRC$g0&4d$K@< z(&UVJPARw1@S3CW#aVb4T8M0;41M6&xnu`?jE*_l-b8zL7viq)La!oq7L;`2#Hv&_ z^RRN{o;xcI1Pf0Xoi^S-dUly}=Xo`V(gw&2Ng}5n*WORhds|TBul>+4OYWdh?*m

?t&@FW70%JsGweQS>Z7-uZd> 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 M4lb07_Ws-d18ge_WB>pF literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_citrine.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_citrine.png new file mode 100644 index 0000000000000000000000000000000000000000..19be13f11ee038186d88369e7de4dcfc5990c168 GIT binary patch literal 604 zcmV-i0;BzjP)Px%7D+@wR5*=old+2$K@`S+imbx2U|}PIY;kt7LeNggW?*zDa4&F_Gl>yV%==%{?29h}gfbnz-K)m5ivJ-n>^d`hJ9IYYJR{42h@a-bL4B&S1IGxo%g~o0Wm57oFQ6q+F{~DH(Koj+j95 zmtAGFnj--6=^almI^TZ&0AMl*$rko-q!#=BkwY?PuwQL2{$aV%FDA>UcQo9SAEY;8 z{m;fBTi73^5}s%^N7S!&%+{BM^64GRjZQwjQ`BOA4&gz{Bz{;V-v*(Quhkq~fQ45C zjf714pL`N5Db=q;X9+I00}|&BG;NKU9|0$4f&eCS2IDD8?sBaPbB}oc2-vT-EQXOv z==%}Njn0R+aZFpI_V7%%=a9@9EQXPqHu0|uOoDh q5$>I%%#xaW+&fjZGs&ERocu2w%<)zh literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_moonstone.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_moonstone.png new file mode 100644 index 0000000000000000000000000000000000000000..2386bf215bf0d86a24bf3784534a8cb2c81a4388 GIT binary patch literal 662 zcmV;H0%`q;P)Px%P)S5VR5*=glhI34VHn1L^K2JO>|%qR5JWj6VGMME7eSlhg&`~yCLtwA7ol}A z@DEUlEV>nTk%bo`DC}bALJ)>g12^xySkO3?Y$!&slbaFBF~&Gu9KSD@-_?QhzTfly zp7;4&GY{X|LyxBjM4ITSECA71oIs=rz)+wafSh?odUhR8(2wd3Q?*Jo$~9actEV=A zSyTYn-#Y-{&XX?L43M195RJtt)*|u%x%rnfQ!v5X?RjWia7MF$ldj}}J&i9W`B>)o15sB9Zpr^9(_C~oz zA-{E{`SxHJiR1{4a;?Q1_tQu308kQ6VSUrUM~DI!td^hD;y3`J)+{O#&kfL>7zE%@ z-$5OYQhi^53iz}T0O{>>a;t09D+c2)UK5BkNpGK1$Y*gazA|ips#TKa0J6cSg{W5y z0My~AmGGXV6B&d80t8Jz%pyh!_sMh%)*>h>+BDM4)uz`|C8n-PWaq_ z%=cwJu~u=!e{u9w7S$W3P4G-CO|rZ(&GN=H&2Rr=>k0aKw)v8J#gGp!IiI;$A-ILg wfa;s~=REv>+0gx6BN(%r1DF6Tf07*qoM6N<$g2$9M)Bpeg literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_onyx.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_onyx.png new file mode 100644 index 0000000000000000000000000000000000000000..ae39492964728429cb09af5a50cfba80444815c2 GIT binary patch literal 678 zcmV;X0$KfuP)Px%U`a$lR5*=olh13@a2UoviDh(2Y4d{)M%Rw5s7wnRxu^&|$Oaz7qr;m&z_W)P zya@gQJM1qQy9&e8ZtKC@x`A=(#&F0+ky2Srla{8fQ4$Z?H*?^7`G(|u-sgFr?-NN= z=A%Fb09~;F$m#}~QQ^~IR~E zZU=W@qbqT9A$-E2w*o+;Sxd;=flW$)rtYtjtHYtULRL5M+mJ07c%1`|ju(>QdOimF zZJRM574{vng_wQk^cjBJM$KD{A}3)BBZstP5~wh#8-PW&V9+|QAO6;#Dyu3Uu>r1bbyBxg*f3ybvJ4u0Fdw1SW=o&jdAF9UG;^)0e+ z7~%*E(?qkJF;VgtE0_~Y^xRI85qakNGNp1gc_G+DiQ&QrkwO4-VhL&KRTSmwu(ewx zEtv^$@>(1karffiaL%?9Wp|(NBlq_<*xD^7z)|E7sIieZwN*;x>Lo>D|FG|ntHYI_ zKR&z>AOA2!7+QJsj$cy{H23Mc4MMNQ??H>=)rU+L@8LB+GgQCv7c@Nw#1yChTmS$7 M07*qoM6N<$f+)T?E&u=k literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_topaz.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/budding_topaz.png new file mode 100644 index 0000000000000000000000000000000000000000..b2382c8fa1b5fdd31832cb4ff1912b37c0fb07e8 GIT binary patch literal 620 zcmV-y0+aoTP)Px%CP_p=R5*=gld)?WVHn1LezAvwQ;Q*m4nd?A>Qx8@A&@#`5em}9T5uAFLS6F* zbdRfn3`Zshnp^6+d1Uw?`B-CDw*Wvs=l-}ZTzVG`y@AEvbujAgh zc~hVb8aVM3+Moe|6HhTT3;+t}?`fF}0`(fp$PU7?**nQo!a-Ef01%d~8ii%6W`LHt zKpQmZO=mdql=@aEU*VUN0rt~=N;r_t0#HHYEPJ{EAZsNXzoguo&M09(ESp3)q}a901)?{dsa?Atss!pa zuG?e9N)D1h>-E~8fsp&@$tb<)j8VTyaMDE^Gzd<*0F3%g05y0S*`Z}F0PuC(8+TnW zJsD+u@kyaPeesIkbf$*=e!K^Oo{VyKbbw#(2n+ON6k*w_NH)pe=$p67k>v_tt9|$6 zqxk!i`|Vw}?tai8*#swD9?T{H+=@r){nz(zJbdAXPR6wL8L2jGi+zIBI&K_VPd z`Cj)~8#K6XkN>*|@M7=NkE^cCxANAqnP+kU>LwE5kUFG!Cdbe)h!u;T3+e`dO8Ssa z`HKqBdTiyBH&Oo!C!SKxo}KXW=#c%ie?uGaZba5d!T$lnMIMfNmMAd*0000@*n&F literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_bricks.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..a2f60084841bafc6d824f672e82badbf02398b78 GIT binary patch literal 415 zcmV;Q0bu@#P)Px$SxH1eR5*=wlQC|>KoCWrkt5MWixLYBT*y=NW~4(rAV6& z8gS*3l?(>4qCvvarac)^Yu+{&<7xn66z-}EX&^o&#x~R zS}Tqc^1{+FZQ>}o_&6^td10$dJEmRDqJ?>3DV<~Qj;ykj&=^YR2#u+Xt1Jaz?~Zhx zW2N@N``d?ihf`%X_jdq1Mh|pMo4q>%uq}3oPkVw{I`^7eSbKv$f~RMVXVdJQfnEr! zX!TiV0uTzf9LYnBrE_GNrJMZwbSA;{bLwv~*0a&MY>VAFM7vr0CT^fn)18T#V{LR2^`K6Mxc|5DSsSI0yg$002ov JPDHLkV1fa8x;y{? literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_tiles.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/calcite_tiles.png new file mode 100644 index 0000000000000000000000000000000000000000..5306b497290fcd18128334c26c225fbf9a8e29c0 GIT binary patch literal 386 zcmV-|0e$|7P)Px$JV``BR5*>5lCg@yKoEw%gjh);gk2D{2$5^7j(gZ^?jGjs1VOH{Ig}Iz0=onf zv9j3TCLs`7i2IP54P zMg6YQU|;Rrc`ViJ@qo@#?D62b$P@BOc4x`H+HvVm)K$Z*m{M2G!`RPw^!53D)p^RS zn7R+@s=>4;tU06fm}fi^ANbuQ-~4O`y8GS`UnFW?x^YBr*@wEz9`3%0!<$|d%Yhf< z!orYuVm}f2WFnExwl~*FF`v5${9BiTI!_;%6ce7<;{i1<2hOvtaeff)|Ax<#S9K40 gv{|pNujn4~f7)^6R3)poa{vGU07*qoM6N<$f*B0BY5)KL literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/chiseled_polished_basalt.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/chiseled_polished_basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..320aafa63177f360707c0d29ed3e7494aeb7ac7f GIT binary patch literal 614 zcmV-s0-61ZP)Px%AW1|)R5*=olF>`sP!z_0mPF!0+SJfkXxfeWAj8dvDMK0CvwzDT#{RGU13r&U ze3RLQu8hD)E5w%A*vmDSRB#VzuB+R5I^5(t=lj0%t$q6V;U2)-ba`Cqb@tEu-)|S+ ze_?o=E?-akOw&Fs&!ui#0L-OA$b|+vwyFDR+Go4hCW;ek0Hg5)l^4`)izrT*OGVK3 z==ctfZPM|bB`_msd#Jo19L4|`0Nuc6nr6(U;z~$VULfQG$2K*iX_}$(f^m{!ZLDKi zHcH8o0l<}zD_XPJjG*lS5DsHhUT|}_K*$9uFEpl>UT0eCkKdOxj8g0FP7i>(W9z;e z44_oGuqLuw9NT2ev1u44M+YysxmyqpV+K*eAWAq5BLI#M_i&rdm4SxiK4BV0rKY^# zJdAkS@&UAYN=YosW)LNsmC6gY9GhBo(~j@3yVK+S+gF-qRVpt~O7dp^xgM$+R86Pb z;`7NFgb@wHL@7xWmz&*YlWaEQ%eOuN+r9Rxi7n4%@N>k=XB`@b$?i^%D^Y?g<0{=P z&*gF=ur}691|qu!&?f_k;zVDgs&E+74Sanu%d$bpQi6~R=0b8g5qisLJkefQ8|!TM z+SHwr(Kt!Px$+DSw~R5*=glgn!wQ5431ijz`k=j!;FDl(+T4DHe;&}`l0Uk!BOrchjT(QHZz zO{crSL z*PA;4eD9iEk|fFZZ(jj0OK&+Sl>m4SLjdCNUf$yHo=VG+Vk2)zK_3SGluf(^plBKZ z)NC7oMG#0(9Hl<3&Jl|sAP-1Z_qfUF>HD2vQyH|~CV;GqAiz>p01A5Mnr&k$Ln@id z;H-Ntc<9QeGVpJ=5|bOxXNm7!Gw`PpoULAIIasQSQ*Y3_=t&2kK7ZuTuN(4Kv5ea} zkwD#M7AUJ&mbrD8?+#sn6oc#tXWesgileRUA0D5uRFyc|N{4N?NnUfBwMxsuR0gIp za62bteX@)IFEpkPb}AfIrQQ7?0BWHP#!CSF+bPXM|7C=Aw3Lj$e_Y|z8=^ct|K#7C z{+CP9%0a0_9BnDAqa~}+WQWGyMUPhJNVp!1mt6IKN)auzMG#Q1RFxHzJsd{fkpAuE zjw);RJ_fn*e3q=Ev_e+O*?m^h`rbWG>CSmKe-oYUISltclRl5UA;1pBiy)w|8cp_8 iXevV-vUk})ZT|s2GUiQm8EJ(80000Px%N=ZaPR5*=olQC#hQ51&1hBUe6av#B@<<&?mJPIu>k%HYSlt@9);$U%83i41g zh)xcLB0{^mbn9S2aF8y#SO|oI=^~N3lnN!Km{x-!CFJqyYnD1(-zBY{<#PXX{&Uay z&pka)pA=407n7W~=1~iPZeR1Lb>_am_k*a{I_9v}0KifbfVSuB(+_|emK0b@()N6I zzSVT>Uo5&)trG;k$tr{-)2}%ET(QF}vBnW&OO&uRmvKN59RFYfPC-+8d z-31tNY{o|&oUF}=V`E9di|b$A&DR~*$=Ze!wWQ#(?dWv6I__UtcTWyIW*74WLoZp% zPx5#+2Ef{U2}{i}KI+i+d?J>TY;9M$`Fqs`$fb3Xct%kvmRZVAYQZ)-01QsWxKvwp zx3;TTN)ibL3oV{e%oHY=DNGnFm)7`Lp~SW6NhYo;$5JFES+Wq?ARO}4-=Wd*MCa$NmyFjH_=EGXYwAuCp-9q;myUQLJIx!W6 zU5jSFy4Z_;SC zaI!W%4=|u@kc>DsDw#0;Fg6POvmjpUm`uN-?e`iiB(y!B qgL>1%n`IJ02X!ye|F94b7wQkIul7G43pc|60000Px$(Md!>R5*=QlOd1dP!xr~X-MCgx*Af0sUyWuSHU*H0jmFDlKus<6_bD+wVUi; zAXOMdlLqk|HM3b)gPCB~A$D5Bi0*xqYsh=O=iGD8J3M{=#%-0@jMEZ;=Q<-_mn55* z?4=}dVKlSZ=PiK?%5wlXy>0M@06wA6GSL7ibqljK_( zPx%J4r-AR5*=glR--xVGxF&gmhzRH)U(sC1eY!MnRBNh160!NT5(?_2gd&LjFJx z#T+bpD)iP%{(*=GFIoh(Z7OP|$)S*9(hwy!-H^J}DAv8ChxmQXrgNKj=ACce`DQ#n ze>GaSZr-NbE-udj=!{)lp1b_g(KmdxdKJgE0Z=pzK>BBP6M%rGqG%e9ZU2Y)%DL~< zElXC_4FfZBmulry;<{lFu$z<)tLTQ|%J&8C+@NkjbkO9(>*?eVz+BkM^o{n@M?a2j z%h$t4FOpNw;_Nr(GGF!zLzT$9ZKmoITmcU<`1hJY-CwXOh_U?WKv-zHIm$2-)YZ43{03mtTL5~ z18}gBMHKaiRfbb*^c2(7ik~^T&i5*shHe=6!z!^LlANC1bdjIDS(8OW16SyV(U#Ep zdSp^@k!wXi{;&!_PchBcw+U949VzF`ZsK)p+x0ENVnGNET)E_|E;}+_w=4phidQVg zR4Pto+u>j%ODqV_m$D3}Hf5}Pz|dYiFTmLN5c`d}jF|S!LPEB^{L(Ea7KD4VA2W}h zJ_f)S&{V`yL?#s~+YVOmQifCb-Md6|zKYdr@^B9JU)@gvG|I=64y%lf58=rb@~x0= zN^P}zm5^@o>D_zRD))`{6Vgo?7rCBXA>V40kAZ&&0?5PZ#5!@2FONw#44}zb*AaDN b0vG;Yp)wCO>G#S~00000NkvXXu0mjfToNcZ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_basalt.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/citrine_chiseled_basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..bc7d1f163cab096df613abf6e131a607b32f5d3f GIT binary patch literal 1088 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 M07*qoM6N<$f?J;0XaE2J literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_dragonbone_side.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/cracked_dragonbone_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9ac759f9cade6048afc9e2024b33ecb2b5b4e27d GIT binary patch literal 516 zcmV+f0{i`mP)Px$zDYzuR5*=olD&%CKoG}&5o(2QR!9a_0v!UAxVVHPa80^AVBlUL4-#;5hjHOT zg+chRt~ro|G?;yWq;Pg4CD~?K*qQ(5yYJr~e{OdNHq|XgA||zT!^kR4D2p5by;zP- z%PLJU5+QNKOZ$eAh;UL%Cc=;BXWV&zThR?8Ws##7i^P#1b_?AJ9m=};>QNknr+v*T zO_2CH=#a}I=h(CW1a6x{al?Rr1OEP-L2ztZuXTQmL<)2)`||k?i6fr& zHS4NiQcK`IOB^lq>&5cv;|FexVIK9IT{nzZ58UAV!*+LIQtO#H56U9<{peK*GZ7}W ziq$Zcbz(g!8sJCaX00-Tgby;@GqpxyI-c>s1Nny5|zgBKN+` zjXj@VIiFvBVj)1U%ESG}Z}0Z?qIG4F(+wlr-C+@9Cc-b2ul8PbG;13G0000Px%7)eAyR5*=YlTT|CQ5400;%s6Vk~fb@AgGxkVIagVs)W*R3T^~Hm7hWI3%GXe z!d*7Sv}nQDe?w#vT7~5C=5;y>MHF2O@0oaaZ|0u+=iGDdyngxWPi{&A;UgM800&1? z21(@JrYJc}=K!=rNg#YI#>-8~QfYcohh`ACq&V(k!+y_ANiXUExPo3Fe0os_Q{_C{NnqQnyopJotXijwiReu3(S7icdacIkEaUgjUo4fzYlqSivs9X4KVfAIC$p4LhJ-TYJiS25z;)i= z*(Q#=WZ9xx!4hLfZ3%(WiuaSl>I$Oaz$;^D8%Z34X!v-&sKde0bYoAY6^xOpx2KHW#|f@%u$n=Mq4z4z==ic94Q0Wd7aGvNxaVUO&zR^LCSz(KXGq6#d^+wXp@8W%67#4 zoo(7i0+p2CynVM(>^jdY4sugD&8`BKX(}@<0Epu*Pj`2D^7xSh9~@0-hq5x$x)z`k s)Q69sSt`xmXp1acuvFRs;h(Ml0yZ2R@Jq$qXaE2J07*qoM6N<$f(3dRlK=n! literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_azurite_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_azurite_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ab69567ad18e8b11cecafa938b55aeaf445ccb GIT binary patch literal 771 zcmV+e1N{7nP)Px%y-7qtR5*=QlRsz^Q5?rVIbv;7xz^qbXb=BfQcN+}x>zF(BEdn#MV*|SS{J7d zg)XI21wj{Gw39fwR3}FVsgUAgglG$e$zA+|=Wy+zzvaEh`~JS~`}_UA zFSWF^6uGX8loEii%>|B3JVZ)^D5_B?7y#_ZV>G9h8D8HYJ-UJrDga8O(ZDn<+HD8N z(MgZ4;CVi~V|M`(;_YUIVhMu0PI~Af?dSng8l*K%BgI)x9M91DSfX&|8FokTyJh1m zU3|ZbmjM{rc}(!*C(#9iU+dRNo2JE~VL@|hnN-h0N{M}bjbaJxd$VYoMT#t+ zo>)ZF1~aF8dN_$A8K zs};)S8MYQTs8>Ma({4Ml9|q?ULM4|Q z2jKXzqj3{^H_8-CAf-W}U@$p3naC`bU}R)AN&4Dc0N~QK*91Wj6YPU`$L?Zx1OWNe zbL!Q2=EIo*JkRI!9fOm5j&xm@G3^VAXe|bHH0N-zx;b?Ce2Y_Y8JN;MXkl@hoFnpKLZ8 zm#`m4CLRJLllYT)L8fH`@ppCx=gG8e!Z1wA_zTMDKEfv3tIq%c002ovPDHLkV1j&S BWP$(y literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_moonstone_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/deepslate_moonstone_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..b09d33fe4f24b90290b2aca4971edb11765f2953 GIT binary patch literal 646 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_citrine_bud.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/large_citrine_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..8f85483aa8ed5fcc9a68f7ea8bd077900ff331d8 GIT binary patch literal 181 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 BQGoye literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_moonstone_bud.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_moonstone_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a474cadf163105158b8c2f8629c24a22acc038 GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|sy$sCLo9le z6C_v{H^@D(7kMx#UFq0_Y1^bNo^nWS_)q=baTHQ##&HxymxU-RliRpQ+zvOH(9czE`|-Lef`&|55M2tUSJsWkb$8$%X;sE8(p7(&S3C#^>bP0l+XkKvUgKo literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_onyx_bud.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_onyx_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..c697edfa5d2fd20e651e0916c68cfa8fe7aade4f GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|l097uWL Q0j*>3boFyt=akR{0GQrD*Z=?k literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_topaz_bud.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/medium_topaz_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..e521814ddf2dc3ac73fb5a322c059499cc40a5db GIT binary patch literal 238 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|R(QHNhFJ6_ zCrGd^PKaP|D``Cb|Nb9$@zu#c4j%vlgZY6>&bHiolVi*NBqZ!En(%OXpY5DuY%@08 ze75N^yUVA0+&g~A@$zkAWAlUKa7dP|msm(m%@%4!yfgj6N4n6>yet74ar5fv! cfFcYGJ6)X4a@-a$0=k*O)78&qol`;+0Quu&q5uE@ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_basalt_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_basalt_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..bed13d02ee7a1c41af737387628279f362b5fa8d GIT binary patch literal 690 zcmV;j0!{siP)Px%Y)M2xR5*=olg&#TQ5400<^!I2Ob7;Js2^Pnl}ZZLO)2!7hR;Qf{QG4(*~r43MSnYi@FGw%1AU-k_nMvhKU0rb}^Z$ww=wJIrp6V z?mcsF+x&~?7x9i5e?N^A1Axo1#))y|yS#r)$TFH7Rq6ml6$yZ8+3smOK!vCjL=}l? z+3fzPxZD;N+SRH!j_qd^Leia3IMOX2w`_@NJJcHnLP#9PrrvP*Aw`C99O#V47`eBU zshyUnm2%kuHR)I5-G1ZF%M3uRl*?*|RXXD_LQyH`Nvc=+?-2Jh>8WYM2UF_~y zF97;>kk5x78A_>`mQ5h4NVZBE>f=|LU_YE`Zf(Uvp4w@NgVhaQKeN#X_F0_7o$d<0J;p{a7ffNQ96a@019uaYjbR z0a(}G6ISC)%sm3mp#a0Pz3zL4aciw@J@T^Yo$cZ_-D{eevp>HUBpU zOv}b`?3UP_1Mghd-S*}dR@mDtqi+Yv%`bDNHEm7^r_bsu_H&VE_OC07*qoM6N<$g3{$hV*mgE literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..1a508de9a6ec1c77b0ef07dd59caac9f27736063 GIT binary patch literal 630 zcmV-+0*U>JP)Px%FiAu~R5*=glRsz^Q5?rV$=zu~CpkzUv^09O3Mn*02cbzIOBAwo2_lpZf>WTg zSa5YyG6_yXh78FT2pJ4`X{QVk43>l|5v!P!RH%j&;`tn|?Lg% z$n5VCPIy#{bpVp79N~lqKqkBlK+_%Lb~O6!0RY2Em#H%%@OJo10Jt3uKn?6XT2)|x z!eNDEDo4w%F?B{5mPs;|BOrtja>LQ<&j74%#{kG@muR|Us>M3dtvFr}&OW^JnO(6C z2qDBgz2T%wGL=)C`|SbRhJXM1z6-!^;l7d=5JHH;VTDL2zMw6$zqbIsn_fjq4JSM$ zPy5!3KKt`y!j0q_K@-l8PXPGx^NjKD@0=f>@ci%|HWjzMey=}<&hoew+FZ#jq*W>sWamAV!+fH zp&ORD0G7a(T_;J7f?XlHRJ>kqvEpt= z<5nt$E(gku%d0K^e~?>;lP=S$U)`O=tlrIpU%sHE1`tkoL_+a}SY@2^?UY9L+XI49 zkM!Z`lRJ35S#1r=B>&=}qAg7Y&^ADq<(YSWeLKd`?keE?DK{>OgyPD`zv!?T5wXQy Q(EtDd07*qoM6N<$f=J*X+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_calcite_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_calcite_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed741b777976646ee712a19c60de98223cef4e2 GIT binary patch literal 690 zcmV;j0!{siP)Px%Y)M2xR5*=glTAw-Q51%sn2#zpDbv6V%2>qM6szC|rCOUv(?t=oYZu*#i%xff zf1ry(=^tnp1s8>a1sA#~719qF+E}R|HC-gyn21Wi&S1P?OjDAEbP;E2(!06$yyt!I zIrrRi96$4iwf462G_PXm1c0-?V(Fy8&g^aBIxusTg#f@KNdUHeED8YlBrhIGqAbLJ zm}_Svi)k44t+Jw^c3&j7dt~FXqTmw+GU*($qBQVZd>7mR^afQ9e?>GsRnq`^h69XE zjx#daN6&BopX4Q(mo+_A(?&-7Y>i`WRj*m8zg;?~8KoqZY@W#U6x-{&ID_>_V-sBf zmSE!YCyPg`lxn#GlD-o_W+|7In=jMCOmC>%u|sv=T#pUWdj$cjSpdlGlRPbeG(K+nFy9q@B^ zW)i4E9Bw}7s-I5_TNVPB6~($aBDbQOMIzHv+`rRmXJLk;ws`4TjL207$D%+>SqMzS zI2E@8*t>2P0hoET$oBd!X2QwB>^zlh9@8-JNnTu5V^|_fxDt;MBFapBk09NA5 zr~?!ApULTXBniidEK|00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru=L8QB2?IWxevbeE22e>v zK~#9!?VHbQ8%Gq!zp>YN(MDqNMz$PV!LA8)2zF{(N=WTPj_pOHB)yhG5BVEPvgkZ({dnd z!bD}u1^~=VX65%soIMv=GlSWJ)t##6%O3`A6&Z6*ey!^UR!%Me0Pa?7Ol1v>SQ91y zAZun~BLhIjoI~JN0RYaPi>xsQG2<}o{-Y59@Z6v~wPIdg!tPEPfm=lo*mA&}p`#s{ zVZ-yGiRrxi_8W4VPXffQUkoC0pzFp#4#X#S?`_MOi0c=ZA(AK}YmCW3Mw~qtCl(6G z89MG(Ys z&cX6MxLt+Q_*#D5_Wbw&o*N)*X1b%dfcHKv;_Rd@|KR#tMciCByLs|E@ca(ie%P%8 zF=BnYg`A`OB zAP1{wmSUsc{B|47SQ58o=0)@4s+K9>i8bEE5&hgo&E% z!1Ft(H$BvBXGnOUQ9R(}9OXgHb`A=umj{i%Hqp4T85?*?OL>s;faifGc+mEI$%Av} zX*uUD6Q19}Y{5d?^YN(Fql*g)7&}k_S;8?Cz9hA>H}qLCS-n<$)IEfye`OvyIM1 zj0b=Lh)V3`0VijQ2W-E7!ioUIAkKOlL)$yu2P z(cM|pL8-Jt@__XZg1|<`oQvr}**{2mFkl|UDsiTm$JCaM(ucI11rMUSA$dUe&I$Vk zYHv*BAG};1P;ySh15(aOcu>B2SyrJyd#SWS@__XZC{Hz!pP2GsfIQHw2@_(FnaM03 zwVJH69W7%q8Tz3gv!bpgbV`15VD$eqz6yZ6zL1z4PkYd~*Ll zbZ&|LgOmpY=7A=r*7ifm1L|fQoelhW^H((A8d!^i{fW?PvDoE1j#pl`p>8;Sjcm&XHccUI;B z*E>@@7(KPTbSak^2ln^zu(pRV^ijXRiO?U%p4~$2-Yxw8+YKx(PQ!89c)CA|g=3Q# zA3KEY*5emHkCgIYXn8=%`OfXn)p)IA*-zx; ztjq(-*U9_w|bphLi`Sf57d|%6=l}Y%B9XSYg7|27uMI zd37GVX74YgJYdcvai>I;&m(bOS|b0THxm1asyrb51I`Ll_7gcPOqmDV?wsiPLi#?_ zYsCZdJQ8)ROq>!`I-khNS(yi{lQl3NP;ySh1I`MgcrbcudFj%)J_cPI!|vlhQGe{> zkLrDd{y1v)ZozXqxc~DHSX`V&b<4rho5%3?lMWu%_MndONtZGYI5{Ue zpGbvrzwp95pyZs02b7!>@qjxOmiYNX`aaWZ!vpd>688>=@_D3wuVg9r3tSB5edi=R Z_y;+lKr(2EOLG7K002ovPDHLkV1f?qNk#ww literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_basalt.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_basalt.png.mcmeta new file mode 100644 index 0000000000..5cc283ac57 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_basalt.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 2, + "interpolate": true + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png new file mode 100644 index 0000000000000000000000000000000000000000..bf82a6eccb41d8a6c23c71169170868e1efddcb0 GIT binary patch literal 1706 zcmV;b237fqP)EK|00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru=L8QB1S-jgn63Z-1~*AW zK~#9!?VC?XBUc>9zlKq38k5YJKUQ`nCaqgMRcax!7i9|z#nOX4^{}wu$y*D(c=g_E zFM9D(3hlynNuiXo3uQ|VN>1jGvT2%atrO!+Cfdj{4v_c>_kt?KJ0(bpId()Th0yuzz9Y0Jpq!AfOpV@ANqL`XVBN*xh0QijX5CEWB zETfRyKr9~TJ2z@2_``|jfhYU9M=TzP78vM9wO9rK)SV-KW&rSq6KK>*0D!$EeU!^Q=FWkgz>4^ zEFvS#--)pWk_X!O~~!-Kk#^PEqI_Y9@HI+^MDHHb{=p~qe>o-Ab&W4>Q)xk; zK{xS0bMs(oCXHA;E}U#zx(>8mjN}0o&PqI>M)&eS<2*PCl8R{}F9>JG0|3}A6~sKC z!WmHDK{m6>eStaE{?eR04|vw@iUq5->+zs#d7v>KL{1!|Vw%Fqc2FNg-QGiTGR2Ka z^5E7Tda_ONK$tId8dCbfrSX8&4}@Q5LO&pRU>+Qk;VjLAY-W|?ocRHk=Sd#;+&pk6 z9gW5|{NV(T2j(w@+(yfO9uK;f2UIvK@!6Iq+__Ep74kq-sFLP^ zE+`XqCl5&dK%{I->jzXgTQvn9P`R_QG^ef~RJXD%(>!VYz~jLs^FX8Awv)1LgrYEJ zqA27xP%#BO5a!OZJP-*{-N^$|KM;kpw4O*yVG2B;a%XFCn&g3xp~`Z0uw5!}3%AEY zyMEB8>j;K=Jsxxg56FI`YGYQ|0ny%%MDl=CwqH6V4?5-x?cYXa{oqn~Kh&B>$7{9jlFpq&Xs?W zdg-Y3CyIuWesFa>5J_RuJfM_qtERvMR(EDTz$V*D^@U68PxN@uwLH-8+&vS{_Aful z=L^)gQCUB@S{^*@P+pGXPQN_wI!4=zSeq?PSyc^<5;tspXz z<~bA3omJ}#-g>6jn+KgLT~a&{HGN;m`o?qf;9~T|&E43UJNR;OTAl}NMOBNky*RC2 zU+~s5y*4}``;kO#WzzjfRF|lT2Uow|`P@AC4^izV|7;qNL;wH)07*qoM6N<$g7TRt AMF0Q* literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png.mcmeta new file mode 100644 index 0000000000..5cc283ac57 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_chiseled_calcite.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 2, + "interpolate": true + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_cluster.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..9bfd54f7b35761ec88561372793b5938482474be GIT binary patch literal 380 zcmV-?0fYXDP)Px$Hc3Q5R5*=|lCetyQ5?rVXikoTgA@&p2L1to;MVLSU?p^0^{C(g1{yyLLdyr6aS#f$Q$snmVGBAa^ zxxvt0M3BWe9jiquoLNdKPtR_pPSX-3Ave$O{*M4K>dq81&vLl9d6hcjEuDe=H3{$m zj98wKfq%iX90mFE`WOJ?;akzP5p4^qu%l}9=`yaHhVXoq^c!Oz=Y z-(M>%w_pmFerG_TTmqohJWw9fX!QWt-m3)t`O9QQFzU{f$wsRee5OLV#BQw;X#LJW aiSrA1xwQ&eN%PJC0000YmL literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_glass.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..7b4c949c1487caff2020dc1beafe8c1eb4543db1 GIT binary patch literal 816 zcmV-01JC@4P)EX>4Tx04R}tkv&MmKpe$iQ$>+hK?{mFWT;LSL`58>ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4OY zV^J}aT@|}tA)psQ^kYzBrXEi%rr|lh?&0I>U4&e3JSuIyt^Pc>Lft zj1?$*-Q(Te?Y;ebrrF;QJE3xsDG~9M00006VoOIv04@M704`~_Og{hs010qNS#tmY z3ljhU3ljkVnw%H_000McNliruHK~y-)g_1dP1u+Oj8wAq* zFW{RvcH#>O7~z0f{;#sFWP(AjS-R=->-(dtOaLI%H<2)lVd30GSMOD?DuJ0W-N&5H za=}$C39}gH&b{mEDwBwStPTW%M+~!IRax?|1yA!~R`BThOvVHP3ijaMWvR&I>j42U z_u*G(k%>$I)f^}6ad1~zT}!-liC_^U;$YPp`vy;uX*Q-gOKVF+W}g2U1VqGeKUhW9 z=sM}SC_r?tCDN8io4FF131mXz9;+=CEoGvcpXPN?)uk_;FHbm*#VS(pxh;-;v z>k@Y#+?ZEuJXbDU>O_ED*M5QN6o0i^MB2YT?{Xq^?fZw%&s4wXgm*sga>6^GcRAsm u&%2z+&gWfDWao2co;i`XoB)YwK7If(JwgFTO|d8d0000JP)Px%FiAu~R5*=glRsz^Q5?rV$=zu~CpkzUv^09O3Mn*02cbzIOBAwo2_lpZf>WTg zSa5YyG6_yXh78FT2pJ4`X{QVk43>l|5v!P!RH%j&;`tn|?Lg% z$n5VCPIy#{bpVp79N~lqKqkBlK+_%Lb~O6!0RY2Em#H%%@OJo10Jt3uKn?6XT2)|x z!eNDEDo4w%F?B{5mPs;|BOrtja>LQ<&j74%#{kG@muR|Us>M3dtvFr}&OW^JnO(6C z2qDBgz2T%wGL=)C`|SbRhJXM1z6-!^;l7d=5JHH;VTDL2zMw6$zqbIsn_fjq4JSM$ zPy5!3KKt`y!j0q_K@-l8PXPGx^NjKD@0=f>@ci%|HWjzMey=}<&hoew+FZ#jq*W>sWamAV!+fH zp&ORD0G7a(T_;J7f?XlHRJ>kqvEpt= z<5nt$E(gku%d0K^e~?>;lP=S$U)`O=tlrIpU%sHE1`tkoL_+a}SY@2^?UY9L+XI49 zkM!Z`lRJ35S#1r=B>&=}qAg7Y&^ADq<(YSWeLKd`?keE?DK{>OgyPD`zv!?T5wXQy Q(EtDd07*qoM6N<$f=J*X+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_lamp_inner_e.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_lamp_inner_e.png new file mode 100644 index 0000000000000000000000000000000000000000..1a508de9a6ec1c77b0ef07dd59caac9f27736063 GIT binary patch literal 630 zcmV-+0*U>JP)Px%FiAu~R5*=glRsz^Q5?rV$=zu~CpkzUv^09O3Mn*02cbzIOBAwo2_lpZf>WTg zSa5YyG6_yXh78FT2pJ4`X{QVk43>l|5v!P!RH%j&;`tn|?Lg% z$n5VCPIy#{bpVp79N~lqKqkBlK+_%Lb~O6!0RY2Em#H%%@OJo10Jt3uKn?6XT2)|x z!eNDEDo4w%F?B{5mPs;|BOrtja>LQ<&j74%#{kG@muR|Us>M3dtvFr}&OW^JnO(6C z2qDBgz2T%wGL=)C`|SbRhJXM1z6-!^;l7d=5JHH;VTDL2zMw6$zqbIsn_fjq4JSM$ zPy5!3KKt`y!j0q_K@-l8PXPGx^NjKD@0=f>@ci%|HWjzMey=}<&hoew+FZ#jq*W>sWamAV!+fH zp&ORD0G7a(T_;J7f?XlHRJ>kqvEpt= z<5nt$E(gku%d0K^e~?>;lP=S$U)`O=tlrIpU%sHE1`tkoL_+a}SY@2^?UY9L+XI49 zkM!Z`lRJ35S#1r=B>&=}qAg7Y&^ADq<(YSWeLKd`?keE?DK{>OgyPD`zv!?T5wXQy Q(EtDd07*qoM6N<$f=J*X+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..1d4331876d06938761c8ceb29f50e36432d08977 GIT binary patch literal 633 zcmV-<0*3vGP)Px%Gf6~2R5*=olRrotK@^8S&E_JR#TyN}E6WiOF;!GJ3r!)I?ovoDAd-N_BE?lg znsh-SjU2S1y48~$qrihC&e=3YBJUE=KbEA`F?L& zipAnNiKUc6YYl)90$1i+U!3sw|G5xa*c0A#YK%+0RS**gGdWdK?m zjRt<&AwRv$c(*iCA3r4tS-W$l>y`XXBEi#ae*;(`@2 z**<1+gXEvQqZTR#`{PD)v#azDH7_6*3Wf8e-xgMDp8fh3!&8%d|NI;P&+{$;1ZXuu zGY^~FVGOdpV&h&<;U94nMFc?*50dM;+`a#b2ia4`y9Fz2$Nc>IlHMVxuP<8R{|3%6 zw$(SP{P?&<8OXnWM0r(N7mP4Jz06Fm%}!$w1Y8>#8ChsHn{;F|#@*uBZ#&UNnP zrnzyvMJkoTztxW4^^}2$4&J~0&Cx-Fp4-1-i1YLFm%g*18-}5UYGPL%Q%dm{f&mTx TRaN)+00000NkvXXu0mjf1@;%! literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_storage_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/moonstone_storage_block.png new file mode 100644 index 0000000000000000000000000000000000000000..e4b7e734621649b647f6db1df634152cd3065fcb GIT binary patch literal 584 zcmV-O0=NB%P)Px%0!c(cR5*=Qk}+%BP!xqfSt@cz7ei5|r$9ltc<`FR$b+VI=>5_mkQ7Co92A8GqwHt;`{;!!1Mb=VFSQoWiy^t zKt&;4(l}$_2@2_&p2D}yFb7~LD!?I;HA7JYwCjq7G=}WvlJV>XXQzsm&}JwqRJo-G zP)L`>%4WS(W<{-YbQBo2@yw#kB^m?JYgsF_l!2jWfy%K4-#3k zUMj{j%P{FkH8|hwn9hC1GmD>}HxGB9*)$*u8Px$ut`KgR5*=ol1ppbKoo_)2nhyXMhFXA0`;-b%G-9`Kh#C(k1SafO6eo3qL8?C zu`OhThA{#yl7%u8DaqXob7tn;bI+NJ&!0Zt0i?@>r`4R=XZRHR`Qr~^x=i?T`3v|< zEQ(kQI$2=aGXP(|T?4Qwb9Ax*;O6>2ov~EgJt06WifX&3Za^ua?=1&o0m!tVl<@tk z;$SS9764Z1s3HU?Uaz>ks(8Cvqa~tP=afKadt8IgMkpm{iTHi9qkNN7HxK}r_DrUQ zVy!WDV0SbC7&{P)@+42|U@Sp%YWcTsP->J`tTliq;X%oiG}GeufitV`tp~M4Xo+S- z#aesJ`2-N?WP!1RH*I$`GwDFnB3OZT%c(g>m zqkE(!!q@?02jAHdh0Uq;b2*dTMdw8<%9A=z+&(nznap6z8gq^W;w)fGj(u7S}jw6`yZ%kuT sN_=X!^^uEr??2p4yE%7Xs+Z310ia6ooR?^5(EtDd07*qoM6N<$f@uZn%>V!Z literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/notched_polished_calcite.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/notched_polished_calcite.png new file mode 100644 index 0000000000000000000000000000000000000000..051189a28d36103afa960f1defd067d8e2d9c709 GIT binary patch literal 493 zcmVPx$r%6OXR5*=olg)3_KoG@$iR>aIV#jWY0Yy;=DEF#4@P8vA4xAAe6mCc+wcN<9 z>U`|lYa~Q{Fb8+GPQqO5ot^jIyxHB}&E0J?dHn{7-+%rBpo%@=@Z5f1Jbz~QRj~&k zUVf+7G)?p6(?O}GrN4pCeK@fi`j%#oUvHE#R~>xslxMJt2~~DWT~=UXe*nM{&!Z^93kJ5R z`!6w`hOPHsnZ-D&*t1L42W^TvV3h@Ibj8qfxldy@c}_nZo-@C^vcT~)v;z~c=eq~P z1b8)_1JDPkh05R;+O7@YZ00000NkvXXu0mjfRWjg{ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_basalt_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_basalt_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..64dc8efc261f5790e689cc521d2da41897b3c862 GIT binary patch literal 658 zcmV;D0&V??P)Px%Oi4sRR5*=olh11tK@`V7S++7}cGt$G=|XKlwwIEFw&1}->&YJ|9zA#wLG~h8 z{9E)`(f$d&c+!hRK?;pUu`MO3Hfe3ruua^}grx`LVa+5}=Q7N9zTcVm-uJ!C)1}9K z_xw12ukg47!026g+&OjrzWW0+?({gQw*YW#2|yI9bXN&b$B_cZmPD~)YrCFu|6t}; zwLy|7{i+a>sl3g>QLOP;Ng|cd3OfiPNfJdXO!+Z!;ymRS`>uQOyCzhtuY-bxZwE!yeq9@ST3*M?*st9x}lEDuw16S1)b_#(I<)( zrejM!eXX*&`Av%q%N?eaahdcN=thcel&18v_A1zo7nkRXKE|M6hUFqML*W^ficiwI zQt%hC9Eoa`dAoL5^GwH<2qDR3XJ}JKD3=pp(oe(fMvB6n=bZZp$E@pUgg7LM6^8cs z=nc8-JXe-BxLw>}ud)ij)r&6yI51XdR!ejvMY~tlHk(nbND_r%xmb>*yS73tT-U#U z;R(%WB^`3RS0an!|Lx06951J literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_block.png new file mode 100644 index 0000000000000000000000000000000000000000..076a2fd9414c74d33cbcb34a8b52c9b8a8210e68 GIT binary patch literal 669 zcmV;O0%HA%P)Px%S4l)cR5*=YlR;0~U>wGO?HIwfQA=0AIO`0aSQe9#WiuPxxXdl_>dj=AUEDV? z*+($*PWT99S8n4VF#%mTc)xCXdj>}Ho2WL?s0{)#sR8nV`Yon44d@N>qv^Z5jXJ2BW(cfMA&bvSzT7DFCp! zR_0Q!gbH-U=B#nRByhx%tQkUbLNZ8a3%FwsckG2j15S?iku?KpQP~IprYgj}nbi3G z-Kh#InF2{OFPx9gRE3yo+MzkXh!zRYU<#zOp}J@6dy}+z75BKph0_%5ZT9GY zoyi{Ewa^tC>qQZKkP>rGgUI3NeUYI?s)RGBk&p~A14KW%ooWbRq)MWRz3aM&FH-g} zQX^FoN_^KrUR~eD$`=2r=))Lw#TIcUq_892uqD7`YwM6@e;40%1V|(^lBz2(_j3SZUGp(7rb5lhHQ+u9d()fxnl0|63L}?h&{poc||Vx zgnV+e&;Ms7Q{c_VQ*K|+W^oU^VT+`h$I2Fg@Zb3htTqQIbljZ100000NkvXXu0mjf DkD@ls literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_calcite_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_calcite_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..a0beed619b14e0e91b928a3567c3e852041b675f GIT binary patch literal 648 zcmV;30(bq1P)Px%LPSO6{Ca$sRgHYM2*BHScT17DtO&u} z)GVXsnAPh9kd!n|4&6eeO#DWG-w1ei|C}{9HH#tya#S!`)ksS1=t>YeH`Ad#P`Hem zNfZ33@NMCI%u6Ujpc@7vW#UmG8E7;CqY$R+Hv$H3yyW;C?6HVZDB?E)bi)Y05GmE& zX++B8;-h7*pIv67IvLjG)N25K%M&=YGJYe#JE+8MPBc9a*Kv?l4K58uw@uUg(gh28Z{ zs%tjpr4gj1mE~4M=ydq;<$KpCpT1C_U(a<3Zo76Uu)Dqqv=;=37pD{J#3O#ZOuAtJ i`!sr%s27Xy$o>yEwjvqAxz_Li0000Px&KuJVFR7i={ltE}CRT#&AjcFP3Izy7N*(_O2w}mW?EV6MAid2Xga4+6uVGkk* z9tfqeQto!&C@_P2C;%h+FkM~Yhnq#8i>2bf}- zY_3Q-ANG6uL5157D*C;ghitB>*`G*7#Od~V+;Xsl!Ts$u{c&>z?p&>L=W31SN(g#? zdrh|t5DCO`mB;*gg=!tmn#~o-=8C$SYCQxB^oW@87*Y+9YRJMW?0vXKwGIobaP1p^ zEv!Pd?(YGb{hTR?*vU9ci)lPhjkPc--hI7-=PBlFe-@$uW;}*r2;@_kU$0QkLv;l< zZiIT2^H5!{&;*Q6#kh!oR<@jnFJAL2*>BX?Z`1%kSI+xwWKyO+#;EKMaHZ1a1+lOS z*M9N^+_(XIr&`!^J_rGV69^cq^`Zs|DhYtAb$F>!LmERmj$irICm(%$0vt=Wm2i7q&3Y{S z6;$K)x*90ZBWlKD$k7z`23w;lO7sR>WHavpuz#=#_}aj~_`&HGCPie{p6mwzcB(WI zvM^%y_3(40(J>y5iwL2zRwBuxhj#&(QT_sW^zbfLB8k(!H`xy&v*9J`4YtVUPHPah z;41HIKbTRBDIHW20K2^|Giv;XMgcCQZFY8BJbPyob cf4~p^0po}7%VQP`F8}}l07*qoM6N<$f(z=U0ssI2 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_basalt.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_basalt.png.mcmeta new file mode 100644 index 0000000000..cde427f717 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_basalt.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "frametime": 35, + "interpolate": true + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_calcite.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_chiseled_calcite.png new file mode 100644 index 0000000000000000000000000000000000000000..d786121879a35531982539659394822cd26d96e3 GIT binary patch literal 844 zcmV-S1GD^zP)Px&21!IgR7i>4ls`-pQ5?rVRH#w#+H2*`f1#zCn$#E~GPsu5fys%G5aVi0XP1T% zYYcOvlY@ha!ATP}k=VEx2L&BOy+CORs8{G+djiHbQisRAUL)x4OJ45%e(&!0`+mRg z-M6FkWwqIN^ce2g`0*0}t6Cux49jQFf&Fsds#X9n=HAlLY&M%SPaXrHsE6>YDgbrc z2Eehu%RR^b&f!>}Y*v_Cq|*%+j1{U*1Aw5?1%RgO0F+Hre&p1|JF#;oDVwG!a5&b- zg0aHOM`!tUFG+DU%kV&k7w@wGavhz{u`>O+R9 z4;dM!6A+0fB~ne-@mbXh>xE^?rYSoD6ei%#P@X$Oc?uJ)qA%WO2`XKDD;ktd6JID8 zCVuWb0MY3Txp`#QNIXd-o|I^E^Q}ThqH#gNO=!AKY!Zs2S#t9bn}m`3V#X#RH!t?Q z;+~415EQ)d{xyaNGHs_KkI_v=r!%Azkeh&~<1IbX3CK-nC;-ui4ZanP76q%e)~59J zGXhD;$Wt=%fXJm2EgF7R#i=#uv}$Xt7nadP(Lm{Z#mZ*K9 zK(7o+M!rqy>u0hO4G1AiMqY{t&{6ub+O%qGyngm-*Q@Mmpwk4|LHLqD{6>(H*J2<>GcD*BY=8v zkgvv!SoaQ6*?11X_C{rIKL~3n9NUsz>)m3yXdK&;4O~BvB5Jyhy*0aoB89y*OXT=P z07|PffY8P(?jL^OrLfoV^@RWK2VpI>Bjn&tXQ7A4r2rw~o_?UHA(lQr0KmT~Ccx6? z2PkSt(%97xd_7@V$ljVI68CD*qTpV%vT4#83iPs$I7a^_ZA!aH+`^7+;oszc^Ml_E WjQtOUu~h&700000fhdEP)Px$HAzH4R5*>*lCes|P!xv0gb->JZOtSW+=Sv_>EPUQpBkg+C_81KdX{_dIsf_p^B*q!`!IehHkv&l@2|t#LTo8P zquCQD)d2vbdB2pzDr>G^4_E-xo3wcud=?57PS9-&0q`=uB#1p~PD|Bhllxpx;RK_3 zUn$xV;IKg?!~B^zJi1Vei#|L6{P!nSuR5n9i{BvFt?lRDYvHTABrGK8wuO-1{}Lv^ z`GXLPt8{77dk}kkZEK(%rRTwMC-*-rfW5nPaX~CcY+*+zf{Nh+&^a3dsZeFBF4n85 zVS)ZAN$6wlxJoq%wSUEX>4Tx04R}tkv&MmKpe$iQ$>+hK?{mFWT;LSL`58>ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfb8}L3krMxx6k5c1aNLh~_a1le0HI!Hs@X9CsG4OY zV^J}aT@|}tA)psQ^kYzBrXEi%rr|lh?&0I>U4&e3JSuIyt^Pc>Lft zj1?$*-Q(Te?Y;ebrrF;QJE3xsDG~9M00006VoOIv04@M704`~_Og{hs010qNS#tmY z3ljhU3ljkVnw%H_000McNliru-BYAR|fzhLd_V%%#0%G}2<}{(M Q@&Et;07*qoM6N<$g2rKA#Q*>R literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_storage_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/onyx_storage_block.png new file mode 100644 index 0000000000000000000000000000000000000000..033d9dee4e74e2026d55ce538206b52c900f1d50 GIT binary patch literal 606 zcmV-k0-^nhP)Px%7)eAyR5*=wlfiBhQ51&1xgliAOrS6sZ9*zBB{5wPDs0LE7fsx=@Bt>KOHp2+ zD_@{V_sRpfbXVg-7N`kR4GULjv>_45Es@M1VKL)km`iEu+031D?>YbZ|8tI3J9-`F z1BaV76m4REUpC3vRrNm z5qJ^+VOngjf(pe3-pq%Iix`SF0_&r(Fug206P5M4ZjEL7~{-qI*I%RUscZcr%}*4?=O=%BWIH z)*0rpgL&*wvd%WTBgf|e+}nG!*1((j0PG*O_}V|EFPmJx=m3ySRa9`H*kCm1Y$Qw! zMH@41AjfdgJ>h!7*rs!LrOy{eg9G}qi8u2RriHkg^b}tJU9%MOb##F4kEbj`NzSe^ zox70+IlIcYkEa{KG2(RYs=>PM&j${>J9QSJj6_@-sG(VelBAD9h|d6lC($*Fp=hhB zR2Sml|5?(HIt1%+hSex%Qx(cbty`BTUYwiDG#W&-wFjkVVVo^4JEpa}Q&)?#G}zE0 sey44x%Hh&jm$@{e?@cIqP)Px%4@pEpR5*=Ykj-w>P!NT`Hr7?0*iIAjV@GjCk?1z4NFW5_0eA?Wgawa*)Tcno zh6Nio{IyjhL?r@*wkfHTv}xn`2boA=VSHm}R&(#1Idjfgd-me_Lf8VesgTt9YX`k% zAZ$U@j}W$?*FK@yYEXQXm$>Qs07ckBKF&J>nyrQes7)n9oF)elwm^yc5wnpiKLOc) zef5K)rDbO6x;nT-S^Z2D0nk~t%~k_p3vSsJ0HS^bz(W9R1aRINFu9npy}Okm zosC?k7oMCc>C}@dTV(($^Q@XgQF27D8RQCX?&UO`6M7-*3=4PE!Ph)3V9UQ4{-eeXM96z=MME!nR=;Ar`wau jabQ8_vg3>hW*+|lmX6il-sK?)00000NkvXXu0mjfU=tP5 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_fronds.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_fronds.png new file mode 100644 index 0000000000000000000000000000000000000000..bfc7590afc3857f8f5ed554e8c0e99dae554ade7 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|W_r3fhFJ8z z?J?v!WFX--U#Ko);afGOlah0+E7)vX(_fj|xT+n`yF2TkW4jLLlm@@Hun%mtw;xy6 zY}mAkX@g~~etzve;n+nNxXP;y%JZ3hqyOFAesx`(P2JuLTnvVrKHRUf=3nI9A^0m# zVOPs`MuvRmi>kl!9C{w)o@jqnS|8MFn$(gxC*zjU{%%38wMA?C+xNImpK+{{f5UR? V|5dkSP68dt;OXk;vd$@?2>^(KSA+ln literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/overgrown_blackslag_top.png new file mode 100644 index 0000000000000000000000000000000000000000..414e42f9b4be257cad9ba52f8db0b3ac9e5c4e20 GIT binary patch literal 610 zcmV-o0-gPdP)Px%97#k$R5*=YlizFFP!z{M)w_&{FJl|0lV&C*Bzo!MBoRkycpdTN{(zc8#&Cz4l6Gv6Z%UAy&+mfQ^f#Q$)eNhaoxPZ z`|^Xp4*=Gf>8?PSrM&vN@?te$@8eD)=klJ#WX|#Vk-CSM_ez$K?$5eYLVro%2OOUt zt&Pz-;7jfs3;%0CZO<^w3`dWrez3+r+LriG*krVK#CK zal5vuhR8x2hgo-u*Bq<8kc`A)GRGu`?h56>c5Rc;Un=UlE3k1Gw1xl#et=Od;PuCe zgzM%Ffgh+wvy@*mF`W#+;b|?2lyWjarXZWs6qRWuOVw4`A{s?#6%8@y4SDr;e{B!0 zn>X006yyTQw;-E=gn?{MM>p$E3EK%Ht7NU!EGBc9BE5{xH%8~^|S07*qoM6N<$f|fcRPyhe` literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/pink_spore_blossom.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/pink_spore_blossom.png new file mode 100644 index 0000000000000000000000000000000000000000..912212ce6ffca7df1cb6755396ff23f0ec32e6f8 GIT binary patch literal 368 zcmV-$0gwKPP)(Ao6I0DPgP0`svq<%Z^SvLS{2=izQ4lq|;+BgBwnYGLxk%LPN=(qG zR7LrLxTQQ!Ce5rfNQ|%NqWnM_m8uxQXfigPv_wx|rqTDX<}fysvOCxXGL2BZA*wet z65YT~XaudkM_6kw!1nO8B&@Y*^}YBr-ke%KX&;lz*Bs8mJ6>wDV(yg$7d$??_20`moi8LdZztanrZ O00009Rj literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_basalt.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..69c537d37448dc23895a5c2edeb4e99dadea4d49 GIT binary patch literal 422 zcmV;X0a^ZuP)Px$U`a$lR5*=wk}+$;Kn#Vylv{#0*Ob%*QV&_OwPXKPhthxA4uwMLP#cV6LgGVs zF{FcimvfT7NtRF2d(xY|y}lfG+XF?_@UUFqQB)01djM9MC9wiP>lA>*3U~LnnD>wG z@GwRqbD+D-TcLGI>y)BuF#d9%458!vB} zEv7s0MP=;(f@YudO=8w2ez@Bn0*j(*LhKvH`>N_@kl=3`WQ^yF^;$8(WUW&YnNy98 zC!D^1enTvhhGwxty-bmGWT2OByM|b1jM?MU^KrAzIlo4$-NYB?4h=i-$+&@!ot{nx zcFax9cC%UM6PliCVkJz4VLyJl6~i)HuvzCPBVD^jJWV9UX^#~%oO7)E0}3t4imb6D QkN^Mx07*qoM6N<$f~H%)ng9R* literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_calcite.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/planed_calcite.png new file mode 100644 index 0000000000000000000000000000000000000000..4da996fd39553d7395360843f44b3b5cf581f317 GIT binary patch literal 358 zcmV-s0h#`ZP)Px$AW1|)R5*==QZZ`8Fc2Ic>ViSYHnyu&;RvM2mjn4gevtM$A0(IJ$`q22A_T#; zQyi3IQw5NA*+c>`YE*rHTUdkAXYJwB|O(Hc1I6Ik}cW`OJm z?40(+=>%}v!)cFb4FI544Qkb-C4z&f@g2Srb-o~4lLjRTA&j6`b^LmDpVVu>CN z;Qy2j!U@?At2YLIpD|j4ZfsX6%@VYCB!?u(en71nh|iDr zVh&1@D4E=F!5bmY2yw=qQO*bFl2Q)1QG5#r^K8()A1pDrxD?IL#Q*>R07*qoM6N<$ Ef|qfZb^rhX literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt.png new file mode 100644 index 0000000000000000000000000000000000000000..01392b3b92f8140b7e6eb41102e34252369ddc2f GIT binary patch literal 517 zcmV+g0{Z=lP)Px$zez+vR5*=olEG@*KoEw%fDFRR3K3yPAUlWZQd4?pdo1k(^-%J5IrI$*t!csd zP!!rYDvE`I(6UD0Lwb;QEZg0ac6K!L{r}9x&F4?g0MTX0>8YOTv-mLf^T#i|=rZK? z%Xa{hsV2}09gZ>e4uG%U?f_V%F*+Or@cZsBjj?3+1s;G_BW7^~AV~m?v1m17@p3LP zQ}1{vD!F@rB;=cthoZvRy(BEsSibX3Nxn5gTULDmhuhfpNUv5ShVQ5GM`Q7-r<%rC z00QOXh#cxVD@dlAWIhpjjctX*bJg>$In!HKb%#5DAtd?M(6;vAfey#4vjRYj1XyPU zzOQIoOTH;ZUN@oG^R1OGcYTp!z2nxrm@hxd6mkDCs9aQ)%_U5ai?!n z3iikMug{zp4|>nUM5iy%iuC$0HdF6tY}nAjLgpp`g0iz7*PM1k^Y zY>Tn`USeNhIDd!gHf^|2Lz9=QjO@NR6qv;k%T)$|?<)f33z0(>LSsp<rRjDA^$o8!Xb8Kr8-~TQ1(d`|$kOyL#3C=Px$<4Ht8R5*=glTVA&P!z>~ElElGcxkZo4`gN(2GlaHI&K7K;m*(ELi~KPH1)kp`&k9@U`7Hp8-RI45dfkwtVHd!5R=TXz2-k9{(kxdB zDcowh@JMxzGheI-ghzDTFd;bA;UHUDaf;e*RNiZD$VRVrfG~( z>n)pIY2B?Gxt!k|m}_dB&93DAhf89WSb2*$vF7Dj!N>+hj1fj&`RlIk22spU%Xu-B&%Js$5(=fT}a zX0kEW?EUvHt@RtT3R0ch0G*x;38b*$f$Co{yVq+S)6oD?Ut0O8&MQT^=G$aOuNx8w r@4s|5#^)D%Bh9Q(ms&pqDGs=QFl6ivnBmUF00000NkvXXu0mjf;r#+# literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_crest_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_crest_top.png new file mode 100644 index 0000000000000000000000000000000000000000..59d4dfcd1c899641a95dc931f694d8f7d2ea7049 GIT binary patch literal 521 zcmV+k0`~ohP)Px$!%0LzR5*=olR<0SFcims9S)cX2{V&aV7nJzn!_&Jacm!GhqBLEC_R<*k}&3E zcrh+ULP3y2cW|UM>2$K5^xpsXe^0*pdH3TLApe+gx%!vkUHomVe;G)&O^0zFXiy?W zNrB9!*kKRA{lgl7MXiz96o6mrKWy3_B~lV41w}Pu+jIc&5`eJ|DJCp#s~EGxo=w|h z-GNf)Bq1RbSw1&dcZdm#TF38g)3M#zxL>YXlI3$lsq<0M`7^&#Orq*#T!|FpJV~kZ z=tqfkRK2Yt>T=am%q2xNLuONy6wzt{d@$CHcsq-6o}!vXrLG_F-o;oT*|dGUlPD>o zuTtk{O-fUN_l_{BKxo~8`-e5fT#|%F8S7%A_aoIT&nV_P(v-SBQwL5{kl7TPj;-35oM5}CW+TD2=}=Ojq@cbzjm-{wjPv7LsO!@>ca~xqQ_6 zV+$6In?Tc%1UzG1L=8UQKB#~X@c6Vk7S2WsQcPI=ZUIPB5&wx$%(}yg&^qcH9mSIH z+QO1za&|c&KR&IZz@pYDDKOS?_4&)U*T2WEULO;~{&HPQ@$T#&cmfOcWj2-E00000 LNkvXXu0mjfY|ZXs literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_side.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_side.png new file mode 100644 index 0000000000000000000000000000000000000000..801423a4a81d4dcc653f239d075684c30b3374d9 GIT binary patch literal 505 zcmVPx$vq?ljR5*=olh2A1K@i4&HY^NjIt&>mBgQ4miYNaa1Q7+#`vP8k0-wQ?;7j-f zUiJYD_yT*<%ZgrH5|%7vhJ+?f4+A;qAylPDtxHYM*Y)T7s`}Q4_wRmx{50eB*>isU zyyouhf^Xk{@#^Ix&Sw|AcyNzp9eDQil=ImIZ{M8p`O8;5oAt&sEyn??=@I&Je9Kwq;tsom~u_W`S4_-6t^Mjo2i`LYaray1%mx512k*j v>qy?hD#XJSf^T(IL)>Y_`PGds(*Nua@0SAj(=o%B00000NkvXXu0mjfuz}_o literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_basalt_pillar_top.png new file mode 100644 index 0000000000000000000000000000000000000000..40e7180763e98b74020ce1e0d46e69b7d9fe78ff GIT binary patch literal 525 zcmV+o0`mQdP)Px$$4Nv%R5*=QlR=ByFc5{mE)Iwl5(eX7u+u|*S<_P~^ndiQf4IHX*Xzr_cfztPkM$9ANt3l`@ocR52hVU1>S9&0rH zIMclCIG#GHA|tUzGn^d&i}Qrw*&kZ+EQM}j@qyv&2*HzQDOM|vr%vKu7UwZ~L%B5o zk2R|X@f=MlE$2K-pXel2k+DCt0D|1qh5Sbm0rrRXUVbVxlEryJiO42><=5{& z;&1Px$vPnciR5*=olg*ElU=YTCZP*$UxAvsT*%_Spa0Jtwp0P3>QySi+c1fC{~H@6IBGYLHAeu!gF0hs$C+oYhb zPD}z%iSsyBf?bxK2_}K3z;1SctJkk|T~{Xn9DAzoE!AA@xi3pCd1UqqcI+w9W(`2N zTq)tqbr}}N19_bGz~OS$1BnL<-_iYD60yrN2F>@Mt+-lLd(8;&@x#p-Y+tB}V{^&e z4*|G-^Y)L4;;IncCDA`%fNfG}WiP`8R=20(vber@=*Ag%!~epPg_t9m9eWC$&UCBk zzO$rc(Os7fV^FYkXW=`&AsZP(ofKF_wLf>kls%nwx$aF}T{cV}2!v>tWemHM7cN&? zVqKlc literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_crest_side.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_crest_side.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1755984df0f3fede560760f62851961d5335a1 GIT binary patch literal 532 zcmV+v0_**WP)Px$&PhZ;R5*=glh13@a2UovDQ!e(lYYC_O{t+2DR}kbMc7q5=tcC;@}`I0dulHZ zLD<2I3QXKq|vovX>?7y?|o<4sBz?c0a{Ie?n>Yq<&IyC^EynF`0c(?;V z_wEL9nz2Yys^S+Q-aT9myN)u)X-1d?*v9Cf3gjpdy<^ew=2U&!;6z z>$Qv`T5gBB>#UA(J$1)Zp9c@`mr}W&La}MRdG$Ik2ItPx$rAb6VR5*=olfjGAP!Ps{UDAkP6DPKAm8FCna$nYiNB?F)5IpEflzHcVIuiwAzC(oXv@$2^=0IIv6B#)oi^U=cxcCR^r z-n%!i_X>_=Kqvyh&N%?Q+uEIXTZY-hitU`^ERq2L!)(Gh%}L@B0OK@gSyuSEVVF&f zcr#xZK`6pmC_;XDWx#fIfETY`+S%6)07*O|iAU_5BcK(lvapszSsOTsM-;Ou0Qu!r z8$z&|FCe3%S3fFdQ#(g8Ad-KJ1-@>GoMW8k?8KQ?ZTZuO8=|;xCVDqTee-og5XF7Q zX%4`$tjI*D>b3dM1|NO6pGGD^&~8^Px$g-Jv~R5*=gQZY-zKotIZkR^c}xg=0Jh=_=*=-^bGbP&N={CVQ+(xDCxom^_y zQmS+cfhKpHk|-2fhxA?U+P6IJ-o5wT_r0(4^ZU1Xd3r|w_6D=b7|GEAz9yfzxVpq> zFhu|E8nf{SPR`CT8Vqs&_<;AfS94}kmFV^oPzau)t~BiU)+>l8h97W9RXQ~$^|EP< zV&qw23Q{l8?In<^Fas&)Spn)}B1-le{eZW~JT*1C_X7^WQ}_V~1F%IZ_b5=NddNLU zy+p`806@q+FswWH)++~@5QrMp8!cMBj0Sb3O+iGl$u_e6BchsT1=#W7skx*FA@^EJ zTXE?}QWeOv0@TN-S@6VAuo3L&_7Wo=of#ofo-d|*jWm#gC;Kx1XfHV|o1SK8Xb)}prBb)_+1OdZvC;~yBa@cxKUpdA1J002ovPDHLkV1fbE B%Ju*N literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_pillar_top.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/polished_calcite_pillar_top.png new file mode 100644 index 0000000000000000000000000000000000000000..3b2d496213fb7ba629049f018b9eb949447a9dde GIT binary patch literal 548 zcmV+<0^9wGP)Px$-bqA3R5*=Qlf94HKoG@$ob1Y4d*KR$Wa&)fNK_zF)GZVgoBP8YZykX7po3SG@ExAh4cYfFIG6xBM9GRShXq) zi)J3kdwx8BH}=;uB?t#bw>}qDawnvZ>)E({!ATu)J=@$*-@fwc%Tq^6tqLxxWS{2U zE;!QTkR`^sDzBW>kzE!8FbpHZs@u9x^CknWXEJ>RK+9S$R_xQfBTobAxiK|pGmn4| z)3IS}gK8gL6YC+I5O0@eNC4C4b^yHp>tLXn105`+&&SWcVbtu=tV#QjB_@;VTr&)# zW)7rDqpr5%y$(;EI^j$n4B4jO^|#yMw!u z6BUD?o`6PCBT=EOMB^i;avDmFB0;W7L(KUWBL-s>6(1oNJPY-{S>AQ2y0Yr>A6qp$ zGyQe{y8GAtb_-BT?)956tAH^;D2J`ygddN+m zt)r{LQ~!M6{)La%ANQ-B5w$gWL<5wB-TiJ(deWMvQ5BaTMYX;EK~T=TyC$YRe801T zd(pThuzoUKS#gY5%!LJe|7lf7)0rEV>OAV(?A3KEXD)8L7WJ&Tv2pFG(DTPjcO5A@ z3(1RD2xIQ1|7+Hds~;aC_gx~|3OX7u4s#E>GID-^ZQRaL5ajhf7Za1LkBRBd2INq_ zY=btwc1CdBqKjo~Q-dGD&7~FO_1JalvOoN`CYqaG^&s8RGKRpyrb&zQvubKe>ONhy z?#RL62lL_QUd<1hci)#xekGe$RrKuk=M$ei);_-F6}_*)h?hdfujGgK?oOL}u&83* z;K0*R^T^5O2Q4?FLw4MG7!vu#tvYvEdv#R(t`zyW+d*rB5>(;MInCP)v+tcq3Z~}j zCq@2#2XR0D%aR3K7UtbqkezmWTVUwUk3x$_uG<_^_TJXH0h`r{!E=r4e=Nv9=X(!n zSbVaEZ2w;7zoqJK@KvsOQbFwQ4J(I^3%HbASTOd$_-RuPSMB`iX$kqtznXDeKK&1@ zBw$ZzaMbgO9gnYsCnZ(uzY81rmqV>3*>II#)%K$=msuKHgHFHpU%)MVJstnuesZwP zwqjLGdS&$WtdJ*CkG(!SO^HwRv@FrI3w%S44 zK~O}L+fLD0tN@$X49=#NJUM%s|Hg*YX6GHn!Fm#W-J;!13q{GlM*1}qWsuOs{`ninL8nAPpfm)cG0Q20Va-Zbtxzi!O1ux0-sTi28_kMP09?ue9HmA<;Vhv- zFcYps2s5fcOc<^})G8b&MBsn+7DtW*Xov)eK}K19OFnaO&sL@q^pCCL^_Faray z2RIwUyPUmCM$XF45h#&QOsU4@C?;2{XAy_%0P^nQ9t5&HPwWdG1 zlQ#=4%E8Xe06YS&K!bX?f~R(sYFdANS0*dg0Z@j3PV1#iEs=F4D-$P1ceW9-|KcOU zqtIu>0J}~Z7+qiz%6dj&7hmGg`4xX%b@&xM0O$cHZ^Z8aT?2Hz5d&|eJkVVObiEM+ zZ=^iXUH><_e0vX5tPOktxxi7W&^4$79J72(v*UD-0wN&YnYVQbKr+l8Ki>&KenH~p z1$|gP76^w3dPD4xd)|ZnlxS$-)dFyqF4XI08rA1=Hh#7ECOWzxs{TyK`sMK6nqiZK z4Th=9)qj=!kN*u4!{@M~nK8 zK_C7tZ_u?ouXo?tIFAl&QHLk2C>q-wI$NK!?A)fimySyb8o#iku+b;YCzT|PN%_pT`byLK(&E}WON;t; zx!?I2=(Rm`=1_RlK5qLIbp)$O$qy5-fJ$O&;|b8P}`Ag{ej=U zdVXqHDt##sJLg;eZ~Mw3$zR)J%gkA(6OD%wPMys@naLlW@*?3*ehJ=Cp5o(;ZFpLJ lHhlG+AHI2ge(>`l2Y&POf_D=?j|WwP^s$M$gVE{v{{apwoqGTP literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_bricks.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..e4aa7d7ccde4b8c02dc03297853a4954804ff64f GIT binary patch literal 435 zcmV;k0ZjghP)Px$ZAnByR5*=olgm!)Fc5~n7OTzRIEX4zV1amvbKZdWe+7it5EOxwOQ#^9EZi|p zU^cdF&&+=rum1nLJ646~D1pz-7J#$&H=ZBw0r;8}fVCF@n!3iKKTJ3sSk>8is22~|#XEQ}U_Z+3}_v&Rta{Mc*>5_o>RXYD23 zSwdg_=#Vt9I0F0jVTQ=GXfv8NwdWT#uI)O^iIon(X#ynxq%$iT*UZNJ(l}SQKK%tN z-qiK4G42l&&Q!JIwU;!?7H!wf)VJN&q^z%RZ<4~k*(K4Wlr#^y3%=RSiaXonL-XrT dEW-W-z&C6u+{s8^-sk`T002ovPDHLkV1h+O$87)r literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_controller.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_controller.png new file mode 100644 index 0000000000000000000000000000000000000000..3e7edc073e81add43ca8f06f289527d21ed7761b GIT binary patch literal 6073 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 Uy;f8|Dybg_TW6bMEC2Za03yDs<^TWy literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_glass.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/preservation_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..db0fb26e53234046b8d26f2d74e5a0c1058a6069 GIT binary patch literal 792 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmel_side.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..0b34385ee6dbbce8b2ab0f7309a61df629cec9ec GIT binary patch literal 625 zcmV-%0*?KOP)Px%D@jB_R5*=glTUBcKoG@$X$&H9*NvSzSv4huRtj8DD}>Yoh#Oq^27DU67FSLn zRU%OVwW$)4idNe=e;jY^1f(<^T)QsJX=YY$-n_TFxwr4$uf&GUX4&Cqugl||T}I;x zn`MV@?G|#o&Su$RG@hVm)Bnzm1PmZHY=E?u+jWvidfD6*g1lqP4{P`C6V2xU^iEF* zqmbn_=-HI%$fJAuox*wvfJ=43@*1M~oIk%87^V;aoc{QVtToWV7=Tb~Od&9ZKnG*g zuQN;`Q0M)06LsE?B_z>5KIGZK8}w{S|M-x+tl)>&Ec6IjYs50GGNIOZ=O+Ld`DlRh ze1uh|WUk%uVwty*HNnDPBh(rlj9KUrZtV$DR*-H9LwSB`h}fv(4cf7RvciKKc}XNB z?sgqL6SR&FF_aq8c={q`m2T-)qj#3+tx%qibW1EVTN*{N4#bWx{4@5NI{>shJ%TVI z(pN~gMAdev+79hb5Af41bNl0gkO z^5H70(=rQbE@cIPPIr*@n!AtEywe@r4zSEZ3dnkqn4BGwB{8IQ$x2A#V1J7*tqY`E zLU}%xSx997RBeZkpFWd&{qoi7UvSlSxSUSXx^>h+$_hak#WHS&02o@800000 LNkvXXu0mjfw#*;W literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png new file mode 100644 index 0000000000000000000000000000000000000000..ecfb40f1db11775cb3850d74483330e26ceb8c83 GIT binary patch literal 958 zcmV;v13~Px&cu7P-RA_aEp?a&lUDU}LBEDW&lXQCTrL?E#uCb|P-*9u0& z2j~VLfDZu@Qx}E~sH#dO+Mv)1C+19A5(fJ&=cK7pMB0-2Ew(QA=iR$^zr6RHyLEG} zT`D@Xg~#uF0e~~jUwqqG1E3X304zrUQ1N|~1W|}B8*v9ucud?|0-*8sf$rR%@yN+K zK@=hzQa_d00A6_tQ-Ube&)wz)pv)L60I9*k71+WR)OWT3`1X1>r8cfeO)Ol2SDxZ` zzQCF0FLJWp*+OcdA!Dr-WJ9v2_Al%FOcpE^omhiX(TUY|1z~kt8_b*>AbQJ-JENyA504?M-s_Nr~yF~rruK;w1J=1^_2Ru5!<9% ztLX`q*N&g{v8%Nj>LhZq4kR8ZyjaDgO-(8rlIbUJfY@Vg^G9W@(nW{uA7uc>T3eKg z4i(?;apNEgv6WR-v*n1`C#;T9tF>Cn`m2V=TIVm$XbU@)No};T){6E*^Aw!QB&OKv zMHqgs2JPqCs;|0$b`XWyXo?43IX*_q5j{N6rGIiZYfCpB*Vt*bKCgwYrh#~MGclF9`?aJLoQv_D4s*9#HJTwo! zH!lEayd9bcyM`T7JeYp;PIo+r2bQy(@qjEoF#BdaI4&Nz$*m2N>;3QIgIz_M*4BYM zSbaUaKM%e)Q*DRhfgMDlW}H`^VlQ976P|XY9v-+Sfd^T9Fiaj~^@Abg3wG(c*20vd z%NN4U54vrH;{!`I22sf7`i3@GVPc-b#Ju*(itqQ_)&qIq8yydd4@Qj#S^Z!L@xj3L z#6k0gzVSh~oPv7dK=Hv)^93_L$nu5LmoE&jo;WBEvU*|`ADD8o@`ZoQgTKfZPB;$+ z&KCx)AN1uxzxu%-`NDr%KiIY6zy5RiFUQ1#J(dAzW;}=|j#oT2JUI0Cg>D`k{r80t gt{-Ie#55270O~>&CS|70RR91007*qoM6N<$f=r^u4FCWD literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png.mcmeta new file mode 100644 index 0000000000..913c5450e9 --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 20 + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png new file mode 100644 index 0000000000000000000000000000000000000000..ecfb40f1db11775cb3850d74483330e26ceb8c83 GIT binary patch literal 958 zcmV;v13~Px&cu7P-RA_aEp?a&lUDU}LBEDW&lXQCTrL?E#uCb|P-*9u0& z2j~VLfDZu@Qx}E~sH#dO+Mv)1C+19A5(fJ&=cK7pMB0-2Ew(QA=iR$^zr6RHyLEG} zT`D@Xg~#uF0e~~jUwqqG1E3X304zrUQ1N|~1W|}B8*v9ucud?|0-*8sf$rR%@yN+K zK@=hzQa_d00A6_tQ-Ube&)wz)pv)L60I9*k71+WR)OWT3`1X1>r8cfeO)Ol2SDxZ` zzQCF0FLJWp*+OcdA!Dr-WJ9v2_Al%FOcpE^omhiX(TUY|1z~kt8_b*>AbQJ-JENyA504?M-s_Nr~yF~rruK;w1J=1^_2Ru5!<9% ztLX`q*N&g{v8%Nj>LhZq4kR8ZyjaDgO-(8rlIbUJfY@Vg^G9W@(nW{uA7uc>T3eKg z4i(?;apNEgv6WR-v*n1`C#;T9tF>Cn`m2V=TIVm$XbU@)No};T){6E*^Aw!QB&OKv zMHqgs2JPqCs;|0$b`XWyXo?43IX*_q5j{N6rGIiZYfCpB*Vt*bKCgwYrh#~MGclF9`?aJLoQv_D4s*9#HJTwo! zH!lEayd9bcyM`T7JeYp;PIo+r2bQy(@qjEoF#BdaI4&Nz$*m2N>;3QIgIz_M*4BYM zSbaUaKM%e)Q*DRhfgMDlW}H`^VlQ976P|XY9v-+Sfd^T9Fiaj~^@Abg3wG(c*20vd z%NN4U54vrH;{!`I22sf7`i3@GVPc-b#Ju*(itqQ_)&qIq8yydd4@Qj#S^Z!L@xj3L z#6k0gzVSh~oPv7dK=Hv)^93_L$nu5LmoE&jo;WBEvU*|`ADD8o@`ZoQgTKfZPB;$+ z&KCx)AN1uxzxu%-`NDr%KiIY6zy5RiFUQ1#J(dAzW;}=|j#oT2JUI0Cg>D`k{r80t gt{-Ie#55270O~>&CS|70RR91007*qoM6N<$f=r^u4FCWD literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png.mcmeta new file mode 100644 index 0000000000..fb7668253b --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_fast.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 18 + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png new file mode 100644 index 0000000000000000000000000000000000000000..ecfb40f1db11775cb3850d74483330e26ceb8c83 GIT binary patch literal 958 zcmV;v13~Px&cu7P-RA_aEp?a&lUDU}LBEDW&lXQCTrL?E#uCb|P-*9u0& z2j~VLfDZu@Qx}E~sH#dO+Mv)1C+19A5(fJ&=cK7pMB0-2Ew(QA=iR$^zr6RHyLEG} zT`D@Xg~#uF0e~~jUwqqG1E3X304zrUQ1N|~1W|}B8*v9ucud?|0-*8sf$rR%@yN+K zK@=hzQa_d00A6_tQ-Ube&)wz)pv)L60I9*k71+WR)OWT3`1X1>r8cfeO)Ol2SDxZ` zzQCF0FLJWp*+OcdA!Dr-WJ9v2_Al%FOcpE^omhiX(TUY|1z~kt8_b*>AbQJ-JENyA504?M-s_Nr~yF~rruK;w1J=1^_2Ru5!<9% ztLX`q*N&g{v8%Nj>LhZq4kR8ZyjaDgO-(8rlIbUJfY@Vg^G9W@(nW{uA7uc>T3eKg z4i(?;apNEgv6WR-v*n1`C#;T9tF>Cn`m2V=TIVm$XbU@)No};T){6E*^Aw!QB&OKv zMHqgs2JPqCs;|0$b`XWyXo?43IX*_q5j{N6rGIiZYfCpB*Vt*bKCgwYrh#~MGclF9`?aJLoQv_D4s*9#HJTwo! zH!lEayd9bcyM`T7JeYp;PIo+r2bQy(@qjEoF#BdaI4&Nz$*m2N>;3QIgIz_M*4BYM zSbaUaKM%e)Q*DRhfgMDlW}H`^VlQ976P|XY9v-+Sfd^T9Fiaj~^@Abg3wG(c*20vd z%NN4U54vrH;{!`I22sf7`i3@GVPc-b#Ju*(itqQ_)&qIq8yydd4@Qj#S^Z!L@xj3L z#6k0gzVSh~oPv7dK=Hv)^93_L$nu5LmoE&jo;WBEvU*|`ADD8o@`ZoQgTKfZPB;$+ z&KCx)AN1uxzxu%-`NDr%KiIY6zy5RiFUQ1#J(dAzW;}=|j#oT2JUI0Cg>D`k{r80t gt{-Ie#55270O~>&CS|70RR91007*qoM6N<$f=r^u4FCWD literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png.mcmeta new file mode 100644 index 0000000000..e0628f9efc --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmering_preservation_bricks_slow.png.mcmeta @@ -0,0 +1,6 @@ +{ + "animation": { + "interpolate": true, + "frametime": 22 + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_block.png new file mode 100644 index 0000000000000000000000000000000000000000..c31dfa86629bd79bdd08650a5e45b8b42c8f7809 GIT binary patch literal 529 zcmV+s0`C2ZP)Px$%Sl8*R5*>LlfP@*Kpe$Cwk$A8g^P&sB3#>2hz3!-g@DHxclVanO9TENO4gFi zfh<{CNVn{Tu7bFm2M;k)Lk2Cu#>6Nw0av*WvQ*1;e?Y%*aCf}-eeWIj&2$Vy)XfC| z15YO2|E^Xs15butt1QIBYa#ko(J>4m`qk*XzWP=1{X-#z>9xut2f#4k+EJ*R0pVzd z>nPmbJmKHX6J@=mP^szE&46o1#UcP8(=iMI{MGuVC;+*-xuAP25sqe@eJaqseECP> zY5Sg|!x_@9#_79|D1xoxItnap#gPDb^0;FicdRGmt4GrvKT5=c=j(kqMZMw&EuvG@$V>Ao@GtNH%oi5+O T0afVd00000NkvXXu0mjf7f$fF literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_light.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_light.png new file mode 100644 index 0000000000000000000000000000000000000000..af409bf195165199ae2b33084e5ecb6ee4fd0fda GIT binary patch literal 664 zcmV;J0%!e+P)EX>4Tx04R}tkv&MmKpe$i(@I5J9PA+CkfAzR@C$L2Di*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RR0!X5l%$?&0I>U5saWpZjx!m4e9tpGZ8%bi*RvAfDN@ zbk6(45muHI;&b9LgDyz?$aUG}H_j!81)do(vgvu^2(eh|V!4Z1*-(k6iKB|DQNECK zS>e3JS*_Mt`=0!Tp@O!O;X2J>B(Q`eQV=1djtZ)<5TjKi#YCF+;~xGY$DbmXOs)zT zITlcZ3d!+<|H1EW&EnLgn-q!zJukNXF#-g4fmXw|zmILZbprUGfh(=!uQh?$PtqG5 zEqVm>Zvz+C9ZlW?E_Z;zCtWfmNAlAYibdf4jJ_!k4BP^JYi@7teVjf3S?X%}1~@nb zMoW~v?(y#4?%w`A)9&vFfs=BrKgos(00006VoOIv05t$h0NoTXK*0b2010qNS#tmY zE+YT{E+YYWr9XB6000McNliru<_8T0Hzkov;A#K>02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{003}FL_t(I%VYfiLF_*R1%Qcxfq{YH1~&u4TQ&wb8<{2m z7>RZP%!1df3=E>b85o3rk!S#3FN_*MM+1=43zR0!0MXwF_G?x$y&(Jx;R>=0fF*IL yYnaGN##jRpX7XD$6eq%+4YL)-hK2#fc>w^#x+Ytod=Nwc0000TT$X?><>&pI|MU>r0D=m!sDo{u^GbEzKIX^cyHLnE7WngeFN=+- AMgRZ+ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_ore.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/shimmerstone_ore.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a8b2960780c550d82364850ab677bb1fefcabc GIT binary patch literal 681 zcmV;a0#^NrP)Px%V@X6oR5*=QlRrpXQ5431A>j#L12;T}!lVA75X7oQ+PNiDE2R$VARSyPn1a+r z2PfSeI>@7iMp_rA4r#Wcor*>1D3~-zz_v;H#KDjY$t}D-aE0N1UwHz`!o1#nW*WITGrKnd7UNmoHx>{=SX}^es|~8<5CF$bB7`8Owf--utAo}W z&-0KnMGyp>pIk6Lf#seM;-83)o8;xf2Lq8f#Y_VRAqWCmwGyLKDUMhMAQ%jwR$?)p zW&di1nCE#s`tuHdGXz3z4)<|3yo3M}U*58|)5qE#cD$`x$qL@uD;XaY%fA75_&5Q; zSpyd1S;lty{xgr15-C&UGI^@yki`9IBI$Ix?Sz-M>e}9)+YbIpo?HgL4$fO~{U_HQ zeHPFvqW_+TbxioAaE6|k+ zojLz&GMn9f-rw_kpXc{J?=yL~2dXP?&%GxX!?4?ZRh}AjpQc~88PM;2*OLI<-rW#f zrPY8q9#dpd3PW6Lia{JEBoV_B|BM74E9l1af9y9tT)r)t1!$(@` z@1^Iw+;wnQtmxBuWi@Bks1Gy;+do-4&wsRe?#bi#o}T~0lQ)eY)x2J0{qW1dQ0dt# z#slq|du)?~HfxPwQ&xruQAMUwHAtZ$9bFY7w7r7i$Xw zwo_FPUg6AL4;j`?_h5tDz)J4bgC7)&mtF4+T<*KJc5kTZ(2r{VyzD)bN_QuAUVYm8 zc3DZMbhY)y_U=Cx&p*+B;x5D5=Wg!4cKDRsx}+el#2OZQub%+i8z1&4g+~s*eCM+1 zmBtlqPtNH-{BF}TM}Ga)I9RXqbHS z(3S*K6G2{dDlzcjn)be_`^* z^-=k&jjg5F>Mx%7-r#gj`RkIsode$vTpYM~%iTNhbxv}(a>?kUen3^%D52_FNV-nS zb9IU|hX<;>BE>XGj^a8e;N%9)Z8D*8d^o;H%;dEMMffIriZF| z8xhG+KtJoD2GJ%ZYoIDOC_MBw!l*VklS1G}{9_GDIF*jTlQ0Y;2&$r4En}vv^!WoL z9=Ze}DH2P0A+g6GHAx&5YfNnVNGhGoK#=*$+pPv=eUs z4xX@EL?^-6X@+pwZ4BWMtWW?V?*Jmmpjf6zs477?Gb)`*KvYhbV0Cba#bFmkf)N2E zoHmD@aEO5BtyZVqCNe21foB)VN(7+glp-Jm$yhX$8qfu2%K|>Pi8fQCmOvP2B62`` zK#B@-Tpb+>N)fnR1G=6TyVJ=yEDk4awc2RLHVRq^6&2N@&T65|)^rg1!mubEBrVV@ z6%nL7P&RCZ0)ZwgL0JyFO?ptc?m05-M;l528t?!OB2tRBvXq0Rn4rbV+UzV%FQ90a z%D~HlBsTpow7z}tlJufiNh+GZDP>CUspYUf{g!?WOR3F-CUPiQQtueU*_M$1rAJ8$kkMk0U)qLR z7wUxMNGlxDOK&>A;AdzZe!&?K^~5CO(sx3x3Ax6lz_`E@)ioj4xD*%{c%r)gZ*t|1 z9;RRv{R4`lqte#43(ulsmVsMR>A{lv_odF???INSv8vT7hUML*Uz4!?tuv7^NAvl; zIsG|P@|<_iI9dDxGA;Fa%7V^QeC^EawpwF8_j>#08_65V%3GU~n?6e>AFEC#FDXCl zT0-R6%Y5e!<wuW#JdfsK+f7AVk9~WRK)jgG MTkZK%dF@mG0dl4MVgLXD literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_moonstone_bud.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/small_moonstone_bud.png new file mode 100644 index 0000000000000000000000000000000000000000..743af7a1219510fcc11dd9f0d6757c8ae2f2be6c GIT binary patch literal 143 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|JUv|;Lo9le z6C_v{Cx{5J{&Qy3s}yr$dsF{)YU14|vKCKga!3}GoJ(%IUw+?c&5fV3tF=E!ZFv85 n`u}U1n|MHA`+1uKtJoM8zLvgvaB0UrprH(&u6{1-oD!MkZ~8Re@ZPx%DoI2^R5*=ol09$JP!xurT3H&`w@pIo>qLkMsvuNVNh>5I!q>n6GlCh3nYsK5 zege!9>WmmmMFb1PicnP3R_V~@2KOU%YO~c0u5S~{S*o?yt-;2ooUbSjch#uj^x*P+PF{HbNM>1|TDZ!N&I! zeth}K!>3DBZ_Y9({g$C>M=&zuynUZzo(Gp0!~Gu_6}M9*x}{#M;z=ASZ*wGrDP+^1^PWj^TQin zJh_e0X}LHR3BdbzuK{$?T5}a)W?A2Oi`qM6xv>bqT5}aC=K+|i*H>a;W|74?ls_a0 zql7FoOAtmxqf_cj)rnlSQUXBv!-RuWWN|J@sNY1RQ?k|!0PT)P)|#PODPiaG$sajB zA_yaNXo&u+^LuN z*523L2yF3;fjNc-)Mhm`Y|NCYlO94E*1b~Kqm_$N7u zhimVKgy0eW||?<2S|(og{Do0000< KMNUMnLSTZn+Z$y7 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/snowy_shimmel_side.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/snowy_shimmel_side.png new file mode 100644 index 0000000000000000000000000000000000000000..0e0bb2cde37eb4f9bd513c968cc2e2d9acf51bb4 GIT binary patch literal 616 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 O5F0B8%QEv_`~M3MPjg!U literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_basalt_lamp.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_basalt_lamp.png new file mode 100644 index 0000000000000000000000000000000000000000..8262d7f4b33ef6690ada989c2f75e8297dc01abb GIT binary patch literal 672 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 R%!2>`002ovPDHLkV1nqR>!<(# literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_calcite.png.mcmeta b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_calcite.png.mcmeta new file mode 100644 index 0000000000..6440476f0e --- /dev/null +++ b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_chiseled_calcite.png.mcmeta @@ -0,0 +1,21 @@ +{ + "animation": { + "frametime": 20, + "interpolate": true, + "frames": [ + { + "index": 0, + "time": 90 + }, + + 1, + + { + "index": 1, + "time": 10 + }, + + 0 + ] + } +} \ No newline at end of file diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_cluster.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_cluster.png new file mode 100644 index 0000000000000000000000000000000000000000..a4d6f8c8dcb8b5995eb4d354746bbb66f40d8595 GIT binary patch literal 389 zcmV;00eb$4P)Px$KS@MER5*?8lD})hKorM6hTz}e;3STUOF_uuphGOhtvD8^f^+8^I%h6)k`4~8 z(jkR9xClZJLR|!L=@PJ`Ly*JkVjd=H|AOB1?(zNczV8nHPcGZ|Ha{lYQ)mDNxxyLV zzNXyrWAe)>`%2@_3C;u*nwhWVo?lJ@t_oe8AR(O+9oOdb7*C-kj&(`E+C*5Jh<&Aj zwPfuHP$9dMM`?7 z@lpZ`P0Npk7;bmsc1p~OoGmfj?x>AN;{5*dAO-+~`&X(Z(gN~%TpQ&+GV?XH@rZD~ zM$rUd(H|0bx>>(;guDKmEbmY%2x!qCN?om&xp`{RGm(MgEA&ic0&l|Cd@Z1CU9Fd8 jKZjC*eWk&wUCjLg?Jtc+0q2VP00000NkvXXu0mjf8mzLP literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_glass.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..260ce99c7a0c8f3c1a42fad2cd5e30102f7be31c GIT binary patch literal 855 zcmV-d1E~CoP)EX>4Tx04R}tkv&MmKpe$i(@Kl9bg+YnLx$>PK~%(1s#pXIrLEAagUO{|(8Q3W zxHt-~1qVMCs}3&Cx;nTDg5U>;o12rOiNxTG!TxK48zDJ&w540R-T8GTa`7`O%cSKZz^`#607^3>JR4RCM> zj8-Un&Ewsn-roK_)9LRAK&x_-;z=+q00006VoOIv02Kgs0Ecqpq3i$v010qNS#tmY z3ljhU3ljkVnw%H_000McNliru9#Y@%z`gs~J!PE)e3+$?B)$-;$hG zS{lHpr@`H+cgOwQ)r8@K5IC@e)raHn+wi|Z7{iNE=Ymg3I)EdJpdjX;ULAkyaE~4$=6PMnqfdSQ3d8!<@mHMM-ZN)VF~K86D?Po4JME)PfCg4!K_@5+}{YcigU-vO>+_3rqklc!GW+dBqvjgj`0 zBwejz1fU$L-HO$#v}ox!Mw+!$#U7r#@)d$P@|IpvI3* z(rIZ12FOVN&-pbir>@4Ao|rqU?Q%Zy#E&>1dE!T$k35MZ&ZO;n5=Wd}`<}$?>~cQx hB<9%X{3!dL`~|~QND*8+&LRK+002ovPDHLkV1feKhVK9X literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_storage_block.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/block/topaz_storage_block.png new file mode 100644 index 0000000000000000000000000000000000000000..31dba5f738ef14e32959a931d9a63de12608c67a GIT binary patch literal 571 zcmV-B0>u4^P)Px$^+`lQR5*=olEI4FP#A?jLm&i1vKa^%7olUYpkx;ibR#~&IE%KAFptm&80ZVk zwshx0`vk#F1;L%fLWoisl7QeQ$bbkzyU=?Zhu+=&|9kF#{&P-g5WJo%O^x?wzdR!9 zzej(lHLCKyUml6WltZ#Xtu!^hfB8Ynvj9+{EhooBw`>mnhG3oma5PlzpB^Pp)DQDY|8IoXl8cIofry zVAukJIg|#$>$$jl+ zYp5);T(UeQ8x~pqPlL#xN(}&NjVi98a!57+QiJjHkjS6n^gEPytIG$6WP@(mQXHq> z0pR4A1oK2PbPbi3XURT*vR@w2En8BX|NI3YL82CisbnV@f2e;%jl)!e7ge z$0Btl+7er-oK(z&p#64Nr^M%PXQ6?hzQ}UQyA{Rrc31yz?=P}B4qCEHLN5RS002ov JPDHLkV1fzf1vmfz literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background.png new file mode 100644 index 0000000000000000000000000000000000000000..16568bfa8f02ada3ddecbdbab869752184cfeef9 GIT binary patch literal 552 zcmV+@0@wYCP)Px$;z>k7R5*=gld+59P!Ps{hVZbk6|BR8O@eR;3&N7ZCe?OgVI^A}$F}(|)+=4O zB3M~0+ii1cwg`f7U?ZDG5R2mqA#I8!gyae{&*W~JNAhOo`@Wg)wRYw2auyn>I3lxM zR2%`2*)E450AT+5m2H^QetV&?dStfC$TN8)!&suIM`pVir?V~w*oHYOj@T!u2HA!= z^Th_U-dVchO#oP;SWSKaV4ThXI#R?e zte#HThB*pQaimdaOdH?zTyvkKIM#Ir?Y9>IKJTZj{i0%Y8Ej$oAUQJVc0fSt`nF*X zz&=S)al{hEEHw0BGuvg*?NC@fook8~p(H5A>CA5NPP=NpPg45TNpi#iR{k9(z$`R? zTqwo8XQ4m>hLs zeM4WKXBUrDF|6`hgKyuz6$~FXX<==6Y3nR}2pw<8Rr#u7!gKnpR($EhK z{c+o qx>)oL{V^lYL}nu~Uu<-aZ0s*jNg1LwR9v$F0000Px%S4l)cR5*=YlR;0~U>wGO?HIwfQA=0AIO`0aSQe9#WiuPxxXdl_>dj=AUEDV? z*+($*PWT99S8n4VF#%mTc)xCXdj>}Ho2WL?s0{)#sR8nV`Yon44d@N>qv^Z5jXJ2BW(cfMA&bvSzT7DFCp! zR_0Q!gbH-U=B#nRByhx%tQkUbLNZ8a3%FwsckG2j15S?iku?KpQP~IprYgj}nbi3G z-Kh#InF2{OFPx9gRE3yo+MzkXh!zRYU<#zOp}J@6dy}+z75BKph0_%5ZT9GY zoyi{Ewa^tC>qQZKkP>rGgUI3NeUYI?s)RGBk&p~A14KW%ooWbRq)MWRz3aM&FH-g} zQX^FoN_^KrUR~eD$`=2r=))Lw#TIcUq_892uqD7`YwM6@e;40%1V|(^lBz2(_j3SZUGp(7rb5lhHQ+u9d()fxnl0|63L}?h&{poc||Vx zgnV+e&;Ms7Q{c_VQ*K|+W^oU^VT+`h$I2Fg@Zb3htTqQIbljZ100000NkvXXu0mjf DkD@ls literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_lategame.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_lategame.png new file mode 100644 index 0000000000000000000000000000000000000000..1a508de9a6ec1c77b0ef07dd59caac9f27736063 GIT binary patch literal 630 zcmV-+0*U>JP)Px%FiAu~R5*=glRsz^Q5?rV$=zu~CpkzUv^09O3Mn*02cbzIOBAwo2_lpZf>WTg zSa5YyG6_yXh78FT2pJ4`X{QVk43>l|5v!P!RH%j&;`tn|?Lg% z$n5VCPIy#{bpVp79N~lqKqkBlK+_%Lb~O6!0RY2Em#H%%@OJo10Jt3uKn?6XT2)|x z!eNDEDo4w%F?B{5mPs;|BOrtja>LQ<&j74%#{kG@muR|Us>M3dtvFr}&OW^JnO(6C z2qDBgz2T%wGL=)C`|SbRhJXM1z6-!^;l7d=5JHH;VTDL2zMw6$zqbIsn_fjq4JSM$ zPy5!3KKt`y!j0q_K@-l8PXPGx^NjKD@0=f>@ci%|HWjzMey=}<&hoew+FZ#jq*W>sWamAV!+fH zp&ORD0G7a(T_;J7f?XlHRJ>kqvEpt= z<5nt$E(gku%d0K^e~?>;lP=S$U)`O=tlrIpU%sHE1`tkoL_+a}SY@2^?UY9L+XI49 zkM!Z`lRJ35S#1r=B>&=}qAg7Y&^ADq<(YSWeLKd`?keE?DK{>OgyPD`zv!?T5wXQy Q(EtDd07*qoM6N<$f=J*X+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_midgame.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/advancement_background_midgame.png new file mode 100644 index 0000000000000000000000000000000000000000..076a2fd9414c74d33cbcb34a8b52c9b8a8210e68 GIT binary patch literal 669 zcmV;O0%HA%P)Px%S4l)cR5*=YlR;0~U>wGO?HIwfQA=0AIO`0aSQe9#WiuPxxXdl_>dj=AUEDV? z*+($*PWT99S8n4VF#%mTc)xCXdj>}Ho2WL?s0{)#sR8nV`Yon44d@N>qv^Z5jXJ2BW(cfMA&bvSzT7DFCp! zR_0Q!gbH-U=B#nRByhx%tQkUbLNZ8a3%FwsckG2j15S?iku?KpQP~IprYgj}nbi3G z-Kh#InF2{OFPx9gRE3yo+MzkXh!zRYU<#zOp}J@6dy}+z75BKph0_%5ZT9GY zoyi{Ewa^tC>qQZKkP>rGgUI3NeUYI?s)RGBk&p~A14KW%ooWbRq)MWRz3aM&FH-g} zQX^FoN_^KrUR~eD$`=2r=))Lw#TIcUq_892uqD7`YwM6@e;40%1V|(^lBz2(_j3SZUGp(7rb5lhHQ+u9d()fxnl0|63L}?h&{poc||Vx zgnV+e&;Ms7Q{c_VQ*K|+W^oU^VT+`h$I2Fg@Zb3htTqQIbljZ100000NkvXXu0mjf DkD@ls literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/azure_dike_overlay.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/azure_dike_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..82d4cc75ed1ae51d7c073f612a73714f3fdc29be GIT binary patch literal 1023 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 E3jutI3IG5A literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting2.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting2.png new file mode 100644 index 0000000000000000000000000000000000000000..8352d7331ac447d713504206e91f3d3ef2482bbb GIT binary patch literal 12782 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting3.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting3.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d8dd52762d5fb191d772c417a2ee96c4dfc0a8 GIT binary patch literal 13767 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 MSv8sR7Z$Jo7l;BY@c;k- literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting4.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/gui/container/pedestal_crafting4.png new file mode 100644 index 0000000000000000000000000000000000000000..90bc7367204139eae082448c7235223083c0a580 GIT binary patch literal 15124 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 W^vnyZ@4;TG0AwYVB+A50g8mQuIQx76 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/amethyst_glass_arrow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/amethyst_glass_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f09ca5a810408c226e88e9b74f11db94a5b45c GIT binary patch literal 344 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zg*;sxLo9le zQxup@G=2W^CmT;(W!PZ;M1t>;L`#|NYhfmyzlJ z{Lfo8Ulwr7nWetwa#8{i%$WFl?!#l3fAjdq-%Xz&7MxP?>y_Q%S&vgSs%Bg;{eC^d z_>aB%i4XthC^%Ow5{cnUwRxlnn^luFbq`xThhJ;fz4eqZhN-*?~Ub3;U-ypLs2i#o+1c=d#Wz Gp$P!jPjGMm literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/azure_dike_ring.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/azure_dike_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..2ca2a9d6668718e045130538a19d544255bc1bd4 GIT binary patch literal 518 zcmV+h0{Q)kP)Px$z)3_wR5*>TlCeu0VHn1Lm&RmqX~bHHN|fT6sQqlnBJB{gR-uY0K?q&4cFkDO zKR|Hq&<>rP#K8&*ZJ}EoUO_x%h4 zN@vz2fMu`4?{`M<{q1Tg$cM{Pio7dD-j%cz*5vG z-cRW_mDoj)}Mqzj{sXeBH&`nKJ-VrjSF!-E?%C0DRo|K-sa4 zFu+9LXS%#S@UEzDtwFH3ag9~a(GVTsvUiYVB1$q51t8tJ{m*wGq>AtNMu=r|JTAQ8 z?vn?;k5v0-=RcYNVYuGyH1bg@4qQ$8)I8CXZtrT<=8jHN=hpxwwJK!_>V8|S>6tHQ z$`tbH)VMy|_7`0XF#_QGdlNuG02)Ec2>8r50)il=pz*)y57v&V37q6Tc>n+a07*qo IM6N<$f~~prOaK4? literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_axe.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_axe.png new file mode 100644 index 0000000000000000000000000000000000000000..4763ca748a1bbd6d748af687aa5971ae49950067 GIT binary patch literal 341 zcmV-b0jmCqP)Px$4@pEpR5*>jkugidP!vW_BqB+{1S(yMuR@6!2XPW5Y6OJ}E_HAa+$uQbmpF-= z;^4oiYZV*>K?NO(OU6`?xHw)1p^Y{rX$8;v-E-gf-h=<3p_DX~lC(_EBcE&-JiSf; z$VC`x$y`glnF5zbH$>4}_Ja0jtN{cyB|BRs_ID#@3pTDk znN_;S;@p~q_eLp^ldL%$#-dy{$0+K((c5^3~>Dv9Ae(<1T zN8|kY^B*2;p3PG)H^(`!{L8~wpT8%IivAbhefrPdD*fC4^Z(!cXJWck(6feZxjaZz ze*3lG`xoE-w14X!qqakOw$UPnY9*{o-wN@_Gw+bp(@jgP`1*>s?b#;p_CoeO4GmxZ z+yCGEKl-%x|L~_z{`bELDVc59(Af6&e?voz$bO;4l1I7!{P`on#bGIZw1J&JZ_*M; zzM{KN4V>mKn17MCfmLqhEW<^Hk$!y^>5HX5y!n&K1_W(8`{gE1IrxChg>B!_dD}P{ a7`%^^K500z;}0-&7(8A5T-G@yGywoi<&DAs literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_0.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_0.png new file mode 100644 index 0000000000000000000000000000000000000000..a64e728fe8e471aa7e3c9599309fb13cbd83db7d GIT binary patch literal 422 zcmV;X0a^ZuP)Px$U`a$lR5*>DQawn+U=V$kf^_-&@KngY;&OxKRx?l#2>^Ip|5`kVXz^#EmM+VxCe#lKV^>>u*;8fb-Ei z8jUS5#$Z`9IF{ifAKGSEajnv#PUncYQ6+~o5`^qmdOiEO?^V)41;%uS=>#}9so`nd z$71mi>&sHGaB;bUv@ zR7h2I->!h`iANFz_N~Ae3lWdT{nXqx5mXYXpkCh&DM*wKxb6>n63Jpd)YL606btqU zJoElM^)u4Jg7+i^LB!$YI`#*A1droe0KggNE{O9aEPx+Z*x7uJ{_TYL0FnNg&Rui` Q0ssI207*qoM6N<$g8pl`H~;_u literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_1.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_1.png new file mode 100644 index 0000000000000000000000000000000000000000..58914c0d4f54d8c609785bdd08ca6779b864de7f GIT binary patch literal 453 zcmV;$0XqJPP)Px$e@R3^R5*>Ll0QfSQ5?s=7e)=i9Yqld=g^Q4hz1oR2M*GKIb1c>(9$TkRp8JN z4uMXQw6)~mm{T+cafApOP6`R0n1xUYH7dV`@Va+*SkMn1yg$G1=Y40IDpKdF>iZ&L3uQ9~z^eR$(B1uVe@$kB;?-8#I$gu#Z4TY;lW~jIwZF-Tbt88*h2x!fR4XM+2cmWbfRs<7i)NFv z0kVZY<^sz|W;%GQYIxS`P!yFMDc10NB~lcX1i{S+Rs&HoLsCA8IcFU3JZ}RR%Gca5 zCk&v`s5!bbLk=r<%-0zJ$)h6?YhjTecZ6*9KakI#Id`fmi*%C?GXFe?lusgS-Hw1B v#Tme#gfKNyyIchD(_z+He|6ww|1a?cLA9J$$YVZ`00000NkvXXu0mjf!(+Y2 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_2.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_bow_pulling_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d80cf5add44966c6ebda89f48f4b8ab6faca7636 GIT binary patch literal 395 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 T)wfEH$-9f{?Cx~VVT<%XM@V=T literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_0.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_0.png new file mode 100644 index 0000000000000000000000000000000000000000..966de7ad18d1b7488440bcfa6d178b9c5f81da4f GIT binary patch literal 5931 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 pbLC2d3VNe*piiSP1|C literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_1.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_crossbow_pulling_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e2d0496d1ad59f5827da02ea044bdb7e40199c GIT binary patch literal 5922 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 d8hsBNo@ThADmz|pd!`sY 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 FV1nLinK=Le literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_fishing_rod.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_fishing_rod.png new file mode 100644 index 0000000000000000000000000000000000000000..9426f9d61db0da49a50e567477bc5d5e5f0ededf GIT binary patch literal 392 zcmV;30eAk1P)Px$LPrl1)njQ51$B`yiBHYE==9f{25Vn1T>ut73vyF53uZi$G@Ce~9`I zE!zaGYY_+$E~1&8wF%NF+6Yn-l!K?$NPdi&n-1K~z2~{-yyrdeA8{B>OD>WSfQeDy zr-cgB0A&~(1>Ra;#Jr#Udu2mcrD`T6edN^e!?RL!Iqx+=C5#L(3qyBr6gYlyo`Gb{%`(K9u6^jTi4n_m~E zL&DX&!pi9@ajnVmMWe&EMm8(}=SQn@XMgmU5b`P#@+y5dtdR{%DHRo43Svt^s%BCE mT&LSF9H@Lb&gOo}1Mm%Zx{dbkA)~th0000Px$2}wjjR5*=eU>FF{rDyv;QOo#00|NsC3ptt}OFm@aVPIfjxW>T1M2==}7iorb zH&{uxIoDn8|D$te|E=Yf|C6lQK*JWRW=2Aq6Sa*0pZ~|jprB#E@cR5VhNBPfqUgbE z0J7!-2i7rs`0x}%Jx&9X<>daK<&tOM7nfkTc<~rk%?u1UVgaT(*X|R;p9kk~YQ|{* z0|Ns?NAe#A*9>+BBaPpPx#_en%SR5*=eV4x5%;*v;~llza%pZn+$R<%sH3^?@qBZIntJi|l>PKFd&0Sp5P zx`2U!fkBm%|33o*1H&RCd4^f^h%uBr`O2^`{Rn9`8)(@6 ze{|05zqP#be+CAKcaB@@!CiqjAPh8Y|MQDWFkHNNjN!wFr;IQIVDh)Wf5ffdK*RQb zKtS$)0Rd^!1I$3f_P@P-DEXSnwmH{b?*EQ%OY$`%hc?N;T3(ra&6EHDSI}T$EJ6=t P00000NkvXXu0mjfC2x>T literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_pickaxe.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..c7f25024ad2f3890b8bcb28ab50feebe093439c6 GIT binary patch literal 360 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zl{{S>Lo9le z6C^SYba*R8`n|K?b>ohEzrmGcQw1Pz|E>lb=V=GE+fJ9?l#~F1w7u!63BNwgYV;Of zl=jK5BQb(E;OUd&8}=%NH7eFE<7Ebd=Dmmb+7|P_H!?B+f<)s7-@fp92 z+Wm0L*+e!VXbWF|@4(e0QwCXy%s*)tivFGcVAwD_G4Yomo3yLwnsrCGcuaEs+gqi7 zyB`(zbN|*opXx*X{{26`_UpgHJPC?RX2!=fIi7zhak!n|Us6)S;4u4gagYw}3<-mn zJslT#n0KAB|0vC{`R9SgQi)k0*Ds3|IQ;%iL&Kf_OiY&|m_4UX{%?Pd;Y{iD-}@Ke x7FwRRN8x%bpWH2#?6ic0ga%jP$XS|<4CM;x8y#<#{s0CYgQu&X%Q~loCIDzblj{Hg literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_shears.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/bedrock_shears.png new file mode 100644 index 0000000000000000000000000000000000000000..694c3b2956afaac59ef8f4a93ccd75212b485542 GIT binary patch literal 448 zcmV;x0YCnUP)Px$dPzhzlFdp2VHAd+sUZ5XVTf!X(xTr@Chp2+C$w_x;X+zpTK#Ll4Y5^kzLm zGuZDNVD~^}@X?84(*TH-M1rZ9$+i3j1NfFalyiM3HjSx~HvodEn6Tzj^riv;%d0W~ z$M-h?Y@OSgiKm1UuS+-FG!?jvwz58*V%y`iOg5Yt)m9I>Clx){;U*LZsg{7R%qL!# z4jLD??Zir=*)P1Y>o6 z-vDZ+!p2b#07H{*0G`kGOi=@FaPYahchn3Re^DspNhT8%i|UU@XAw{XuV@Qhgd=6r qTEcw)4You8@H$7#3;S;Kf7b^rVv%g>!T;L;0000~f+ zcokJd%5q=L=40RYU#9NC`iMfmzPw3`XNSE1rM2laOAMRLC*cA{+5FaP!4nx3)_Pqr zX4t}ZWmCS0$7-S12W9sK*8KhPx$y-7qtR5*>DlRrpXQ5431`G?pJ1}su4z6e3`$Y9ez)8VyHi1G?S2sj&uh)D54 z3x#HJ>ME4d4z|+Strkj)#RTloItW+H5CRW}1R|nC5ZY7;;dBV^(dv^Dzv;lezwey$ zaj%anD6eVa)V{00b0c8@a;k>ESNPS#ehR@@uYJ4l&s0Dn?% zv$=BSf&c>_fAKhR#B{68s$HfqGm5k3dHDd0NL1F=2LaezIb(96kA`*1N%lJNbcb7a z?(+1}CtiQ8Uzox*Na}4=HN?{55DmM74we>+N zr2z4C2Y^Z`K*Mg4f46tRBxsr4k5N9o$=22fX6^;tFpJBI7jKS8>TR#)U0J3kb(In$ z5*241=WWzgO6n>lmjwvmb3lOawS9L)%hW_wLwKG2tv_5V#mL&Nrkel&002ovPDHLk FV1iCb>E{3d literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_glass_arrow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_glass_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..6c432c09ab3f125279e8892659bca24297c1c9d5 GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%zr9E97Lo9le zQxurL96Ry9ePg7@)gK>!^0V=3ma(lCsB5d794DCXFn9BhdXUKTqlG+g&i5PT%>K~w z@bPDP9-k#U99-IGH_lzy`EdCX)59k>%S+Dswl78H9IIpAe@VNzlz__#i56RLbUZve zbv@6YNisY(}=E{O_Ia|1UittR*3+0mS{Z;>!P1 zi@YpMAC<`33F%tuZ8H1;*pUXO@geCx3_n@@^ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_powder.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_powder.png new file mode 100644 index 0000000000000000000000000000000000000000..49b41c0a42ea253cab4f097d16a151a150f832b8 GIT binary patch literal 260 zcmV+f0sH=mP)Px#zDYzuR5*?8k+BNGKoCSGB(f|aWKq^hv#7b~jZUNZr zYwzg*y_WkVs65{~Oypw%Pta(7THW>yfXVzy=?YnsqI#uId<_o+Nl80$h!7+I0000< KMNUMnLSTZuA!u9x literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_shard.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/citrine_shard.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd9fc1598f635624fe5a9c1a464648cde5e76a5 GIT binary patch literal 280 zcmV+z0q6dSP)Px#(n&-?R5*>@k-ZMVP#A_E)kIjkm22q8QUjeU%tn`BbrCMXDrrKPS=vN2oq7$8 zOCV`*476$Wl$kdxIw5EyzLty!Vlz5?PDe^;3mcOF0000Px$BuPX;R5*=eU>Nd%5u4z&4EO)o#It7X#8A(IE>LK%^gq*BlYznB6;KogbCdRN=70G zj;t{RW0S+?g4cY?45E+!F}!BD1{Jx6qFD6tKZe(Q$_xw)_uyhEF0isTW?+b^V0e7$ z1%v40e<=9zsTT|kF%=LsxIm1r>;GqW&;9@Z{RLM1?C!b$F}|)SF@zBdVRQHyR;4_{ zYC+f>eg*}6VZgw^z_2RiBSXY#ajXWcN_ojpRzSdjmrw68tT4r@pW)@xdl+IEDJ#a; z^?z(qG=rEh4~qD!w_g|*&s)l{Wbth^dH?_b literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/demon_tea.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/demon_tea.png new file mode 100644 index 0000000000000000000000000000000000000000..3ab9f07a3d564c774b48711a65c71fe1a22c5d19 GIT binary patch literal 378 zcmV-=0fqjFP)Px$G)Y83R5*>*l0QhpKp4e;DT0b9i1=p{MCed(%47{xh+|xZOdZ?e=29mS1T!dw zBGj={p=(@g350H)3K=SN=w>TLP=Y$0Ly08K1sq&_)7^dVz3=Y32mc;Qc%vIdp=NVZ zVz=YadZ;PVVj#BL1Ca!~JrKH46tlXyV4-Gn7>7GN-nZCVUyP8RUp_DjI@Jo4t){Tb zCrZp9z(K9Vd}a-D%iz2Nu7dz>% literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fanciful_bismuth_ring.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fanciful_bismuth_ring.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f9e665c4725fda4a20d6ebf07a81506ae1ee42 GIT binary patch literal 451 zcmV;!0X+VRP)Px$eMv+?R5*>*l20guVI0RlTXvzAT6n3Q%-Y_bkw490EutNq=7OeNc0o%b2Xk`4 z1xpUgSs5we;;@v1lG&76%iq()i^PTN>-4_uwaLNB_x60B@9+D2e&62%{~o4NP$t3~U%ANu6);|M4I-`(SUn7y2H366b?2=dY zH2d{p0LxJ&O6-d1O^BV(=zLqNgs0h$UGl1W22NKyLdc{u3fXLq_;M8MdpT9W1@Mwd z5Px#`bk7VR5*>TlCf^WFc5~nRGAP{3!+ki5u>0gW$aA5B~ME>U}i)ahzM&z(1E^! zI}}^zIH^?8fAZ!0e|Nbv+^C=_F-sFIZ%!aT0gaVedWMHS^c+GBNglCmmvUe$vc29$~?I9 z`UB4_^?4|r*aGC>{vr!7#_AAd`{&D-mkZ&#+Z1iglhK%y`mhhFJ7`;TudkZ7AlvT_ z+FrHChkNgvGpI<#`Z{3%@_cR2ar_FnZ@>c>2-sCwEwcrHW3B~MK}J>Mzv&x4IdD@~ Sj0=wd0000Px$MoC0LR5*>Dk}pUDQ5?rVCl-UC$Uqdq?O{_Va>J%r77Rn2AZXAea^MzLEMhQ- zL18A7$#O7*2Fr9HXcOd;$ayMg5DcyuhR8F#-RZ&Y_U8+a-+S;rzyBJoXf7!Mux#3z z21Qh|JPno&@u3DG7hGSFIeDz^r#s5ljV7W}-0e#8S!LaK6%H?9W(qPXX2<$ruoq|k z5K&meIlA}K*J?($Y}j9A!zr|=qm qs;+9Yk$n!l{cb^;53Dzy0Q~~){gG)CX)SyJ0000Px%B1uF+R9J=Om%VG$U>wIkDgFV92<3v(GfEL+JtSVBa0E)ZQOe=ubc-T^YllMZ z<{)TKP-rJ77adF~q9P7j3Jx7=@3`JAB5gdED}sYl2Z!==$V)GtiqO0a{VpMS0-xX8 z^GzOwv{fk!Y7Tn4@Zz14E?CP8ukL%-;8|+m#Tl8EX9sXCFVw0D1fb=GN?Ag1ttwip zJ_zrxMBD*rt-1&Bv({Sm2)sX-W3hpQezv!nDyUEZIL*tg9`3cr;C2AsM zTsjYKm-wbo%L|Wg!s=(39EGpnVCl8D=EJp>Ti$ID5HJ*50DyL82ztBBum8Y!x{h;i zfzI-C0{B!x#eMQAgvUhnhptu?DrIpTM>@?7=`=S)_V;9dZcf6!FU|}MUOW|0bMW>9 zw70o%ZUp7y11?_v$@0n@R@c^G`l|Qd$gtP@*aMgx1;99Q5&+#i&im;*-qOT`2gYyF zZ#sN0f|9yj#V`yh7K>Px1wgCWWMOCPphAISodI9AZHw&hiD4LG7={G15qiR3OeYo} zDCwqHmc z1L#*0{SM%f%+r)@+u}G*cJN@@j~?7{oFkZdNjI~FXEyDb?(;O^12*|bdreT0KZKHQ z%J|q=YVe4%vseEVli60IQjQ**QkD_{C-v?AhkgOZeMUP3H4LTz0000Px$VM#Dl08U*Q51$B+Zq}ogh+xuFA))BgEb~C4h<3(1VPj!aUq3V+Jk-; z!KP?%YWYZ_8XEe8plB$FriiqH8iEL2B0}OceEON>Px&tA-pf7jd){*n)Pta32>Jz} z;Xj`V`UPbOQ$uilhy7j^%8;mRSc$XK#q-XR6{{*MLr{jOs}&(0v0~w#Pp)oZ*azVN zBYiIDXeB+ihDy$mPTYW}697k9Ww1QPLd>6Km>3@gp!fM09$#Q}7t#-o$`$y!Asm3Y zb$UJ)>1rGRAR1^#4YmDT+}9!rql^|H!;C9wCq4me5@YmKK2z5%h;ppJfn RRb~JH002ovPDHLkV1l&hw?hB` literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fractal_glass_crest_bident_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/fractal_glass_crest_bident_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..274b4dfc5a4a5a98cbc84d9b425e525fc0050028 GIT binary patch literal 653 zcmV;80&@L{P)Px%M@d9MR9J=OmoaD)VHC%Ii7t+%2qnSN_*F_Ev;ofqgm73(28U9DlZ!5b9N2(? z+C>~H+71rsBu;`Iyplmhx>ySpij+2_mrasbmli=vrjF$~TrRno28Uc4F#qlQ?vCGk z-+S+WchEOVB?T1{Qb}=d`@05nKn_?BlPNENRq6_|37(M^8>&J=HZ7{K)Yt>+*Sv(* zGgcu{g(cy`3n819jI7ve7u+4pc~1hcN-#SOR!IP6qCtoPT;l!S0hQaYptA2ng(Op6 z;N|iTOk9D=K0Z$Z0Q(f~-hlP*Ff|50f5Gxc`&tdIau4jK6A)fCVJa!;Vbri64i1^$ zs-nH!!hF6+arGSzd?p&C^7YWp-czZN@bI3HN{VTkQp|5lF~2QxaxC+6b5gH+Hr>*E zou7bvuB{T`(GjdSR~fqyV>S1Q^^Fa?KLAFC?Cf37bQVBuzL}kdwN12vK>#L3&++W( zHvpz4Cv7mGhW)4~H=DemvnKrOIJJR6VzC&yt^-iW=UFW8K`;Pon~fW54d|&1!w@++ z7ERMc)3mzn);*z(@pv)?iAY>@UFTX{XSaI9ZuJOm=@1OqUH|B{T_#W6&jo*c=f0?m zmm4aMldb#KYsk>@X(Q)C#1n5NkZKMT3L zz5n2*Y4%~}iAcP+@Sb&h+d2Q=;4Sv(*z1mEoo=rltLbf+h{Wak`1qN@o76jdt^HK= nY}A^5rFtM=6Sy1SYX8t5=p#Px$6-h)vR9J=OS2+^GFbrJr2lxa$Jb6cWf+_fdX-T~l8G}YROcGm8!Itt&R=Yav z0F4nMNs_I3-^3&tV#5SNB)j4HChvwPbwaMBnpi7OaW^Nl-5T}`01mZ@lf@eSb%clr zNuG~W?DnY1tP-%Ww(CBq3R`bYW)rJk`#I&gxK&@=10jCbRYc@+5-I)mA|$oC1p3T6 zV(l+>Ag9(Q0s!GY;&O6yCf8_Iy$dn$QJmX=E+eO5H=B;RUpjMhy@q^qLukb!+Z$`s z6lirNz?d(%q^KF*wyy`RqprH2 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst.png new file mode 100644 index 0000000000000000000000000000000000000000..fb49f337e9eb680ae954d16bf4f9f8a9ae0e1db4 GIT binary patch literal 573 zcmV-D0>b@?P)Px$_en%SR5*>jl09fsVHAd+EA1RAUWv(IxJiUSz4hld=?#%CS}2jC9Yp-W+Qp&N zt?H05w75osT?z(VGIqF|9c(}vX%W&uRhrOSNw^YFI|ycw;}CCtNE9dE>3kpGdCvR2 z9QbcqUlA7PB$-S~_w|rlG&e-H9u;{$@|2oWr%)~`>2zAc;V_X<0D!%O1_=PfvMdEa zaRIL{Zpnp-7~u!X zo*QL6Hc2!ZW%tJpey60f~=g%!CLtWOzG)*ka8u-^r zqpJ8ERRE5kImO7gPtd3ieEU}gRZR@TkbFKbhGED+yZ<7?Fa+Qi-6+YBB(UYd00000 LNkvXXu0mjfAC~_^ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_amethyst_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..88f967b12734d50439fa31c9a5abd428c486904e GIT binary patch literal 781 zcmV+o1M>WdP)Px%$4Nv%R9J=Wl}|{MVI0RlZ$_lxpTs}w6?sLsz|d*&HbtsS{y~P4(m@DTc?mY` zHp`0#S$HlG?4V(EP>52(LuAk#__}Ea$3TQB4slG@LAzuJc{FI=;7xnsfHFgMq@tIEvhIYGM z$g+&dWTMho2Eg*|asb?J_X!_e09}n8Vyy2Y^SxeZL~KUFZ2PVM=7AawTX)CS>C;D$6~SY`|=(o2AKy<_qbD4mk1HuNiBfQW}~{c3Qg0<+|9t} z^D+8nh|NeCfCjTUF^NvrLhc0kCUyft(bpaDUL_aXfT_Z^ZUuZt|U$>Go%hc zmSq4!p%9CUi&A(iic(Z?P`trx=F9l!pQ#;=Px$=Sf6CR5*>jl09e>VHn4MCy@>rg5pVx1VeHsX{o8o1x<-|k${{CR*>RU*Fa~% z`Dk}Va1nHCAWMgv?4k$4QQ9E{J)t?8hQyNtX^{>U<#CAls7b}i|Mb2u@AG^9&jrhCzfSN zZPS(7rYq%gd60F!B&KPKWm!jD^Z}mdiHOLf$L~ab9*o#!X>la5UqUl&qe9KWTKQPa{0{jOatHj=mxaO$q|{Pt71ba|RmK2A0nB^KQyGBHOYP{pac3fuc5 zfD^q#udX|HAKXz%ks=F7tWsP-oJFm8yT`Lg+c+_w#U}m2z@0Hr~+{M;yF(3wIKAz v{{5>mYFZ4#kV>T@hGEE9yZ<7?Fa+QiPYci#0V=&U00000NkvXXu0mjfe(nB* literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_arrow_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_arrow_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..759984f94f50889991060b4c57aedbbc7233f83a GIT binary patch literal 762 zcmVPx%v`IukR9J=WmETKKVHn3hC#BNRNH<+)$Pu?iioc2@{h;ikX~;lOyYOn%?Zg{F z`UfW71>JdLp;rlu@WP8|L37Yy%%I884K{I@Lm5gEf#2kKA(@?o-SJ2n;9A&&1*G)rfEjgoz$SSPsCy|A%qamU(5@y*DG8u zmrzwz9Jn!S-*4n;u2Pi%+s#NJZ!$BKXGEGumEnio0j%wG)<#yuY}mzF3t{_ z-@meze!sO9o4Mf-qL2=FJRZ?#uV-j@l+Dde0II8;gqJdOG?_`Ry`!Q@(Qm4^6b?X^ zWdKsC6blOrQhGCkQe(naH*f&)?ZeCbS5XK6hr_|dM2Lt;l?l!gKPah4OSc{^QB!DvWY-$+wk}0=xt33!=+Y~gt;qA19+jHYR)Isu0#?r3X6 zsWFi&)?hRw83Hh(9E4nJ&K4vPjzmaiRwTo-;4I3`1-aHN0IF_W=h}}oRHf?F9&s+R snHz+vs$ynlMyRSP{>c>_*U^#v2f*+Zl@rb`p8x;=07*qoM6N<$f=QfabpQYW literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_citrine.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_citrine.png new file mode 100644 index 0000000000000000000000000000000000000000..fce15c08514062df3ebcf0dc77b7679360dcb157 GIT binary patch literal 573 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..45686ab6ba635da8fc156b1d2656bd0177dddf70 GIT binary patch literal 570 zcmV-A0>%A_P)Px$^hrcPR5*>jk}+r#VHk#=lXfnOCovrimz+?jS1s4X3$a}^P$C60NO7@taVXWn zp$-|3c5*Nh=u$A?lCj8biqL=%Z4uHyRhrO?B%B1)4uT!zbBLETB#M*o^!-2o_k8dF z^1*-8=9;j)AgNSJj$aS?#RGXJkFsx>e_p5IH7Qm~if!AX>pEkR5CD4#4H5u|<2VX{ z(m_4GFN6Y+e}z3c&D`uY0MhHMEQ?Gg)9nSAzj{MRCq+c$&dQd^ z&+mP9SzhQp11J2V;We=*r&)YhnSrQtP+8wOX#V=~A= z2cYXZ>l=CebVmb0mTuo8m(TLLTqbT95DNSmFct~nx-J0KR!#9I`;eC(-}Nz@wbF z#p*=88>$aT)mo5%)X^}`lc&84@>^k5lhuhj=gypNpFg*q3>~vBmSy2M&cMG`TQw!< zsRD57{8>(Z`vk4pz_))@Sk=TdO(_%#Vw$E5wEHhIO;Z4V0g2(rkk}mJYXATM07*qo IM6N<$f|O$e`v3p{ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_glass_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..44af75df9c0cf060c77cee325be856c2c2b7202b GIT binary patch literal 779 zcmV+m1N8ifP)Px%#Ysd#R9J=Wl}|{MVI0RlZ$_lxpTs}w9rB89fuYmnZN(@FQbUG<)?uerUV;s~ zNpaJGdX>7_20KnkT5>y(PC|Jewpq-Ak7U~*margA5jT%7HG`;0c%hB8^=xP;02=V;Y zyzqED!fv+6kVwU1kOO-xNq@hkk3+`SyCORG*7GZm)w z(G5_bl+e-ELUsN;AK!LhwOaXobswWa=1I##?$_Q)g$V6t7QpFrQrA$6rfKBv<>2@G z8GAp>b~FNj&0#s>I#XODq;k_!m{+e)kf7byB4va{#g| z0}u{}Szcb2BC$A1S;=8>o5jM{i7)B5A`<{+vzd|6@x!aO9^a4_0s#OXIoeqW1Q;G4 zBDfpDXpql@&;^ieHpk@)E=r$fzwzPS7&eQAH+}sK^!E|k*}`a$VKbT`faw7NiTF=y zJ-#6&)5!mGh3*$_tX3s;H}LRE^->=75D>e4Eqs;ZcroD{06ihr^NCw2VE{tJF=3m{Dg&hY>M002ov JPDHLkV1gE{Zgv0w literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_moonstone.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_moonstone.png new file mode 100644 index 0000000000000000000000000000000000000000..013e0e91c3a128b091c0a4fa709af4c4bac3b6b0 GIT binary patch literal 540 zcmV+%0^|LOP)Px$)=5M`R5*>jl0RruVHCxGPvYVd6eBeXhWrrrC5zDEA&6V12tf&jXlVjznvjx3hYr$~KpbEEZ!r8Umo63PZ}h?l_KdVnF*) z9&FoIty)p7T2Vfq|2;LcAj`63+x7_+0A%NvBuNkSRupp5@xhQ>3b~<&o`p`YOR-qw z+5Qeh{e0Oz!`DxBB7v|P{iZ87>Ytobty+>a^nA3S~kj=4mFbUdk13Os^XEXJ$X8w}E2S@1GsjC9%PH;rH~Ab@jMFLL&K8~V)&xr{+15SD40DwRqyO;aP~ e{tHag6u>V~Px%ut`KgR9J=Wm0d_vVHn4MOK%i164&e)O!g57HcL(vQr@J3955UqqOj^hFHTAj zgx+*_hIJW4$iRyUeb|NKg;#me9Jq!`Z3rf8!{GD;JxTHUnY%{jd1 zy#MF_KJW9s4-_d(pHuiybr`X)yqQYE-%jHT39Ub%H^Z5=} z?Q9cTW3!%cxecs;6KOO}6XB(x5C>m{s;WX!6p=N_*_M0!PfVn^J2WRWO%sZu2w9eM z2N}GRb6j@~Y;JGicDspwY39;Z8{_T=lxZ zSWnI|?(SeJu)xa??`d*4xYc@t>-ASMR~*?btO1wH#f6LY1Ofrd_DTRaR|=0`cmQZ} zIItQmhb9V{0aaB+ovoI8gAdu+*#Y3$?f&%l0k4O~n=P4>YO4!pK$0W?;_*0(i;IS> zodf{Gz5Q(LCo|F2)s=fI3Sq!*w=+8CP2XzKM9eTB4g)Yh`6m6}fY(El!|_WKc@tg= z3RP9JM6E`Puo^95sHZREo*3%s6Fj}2(?tFmm>v<3O#gABiI^dkjiWWu{m286-OQrY zZD4klmB?CFQ#p!%IcS&Px$=t)FDR5*>jl0Rq@VHn1LCv|Zt{yB-s&~V8Kg?d%EUQCE)k%F9v?I7Y}?INVq zwJw6l(e9Cei(tl#9d6U52f|5%kOr#Kgr<^k8c;h3I>_q~FMmiBC!gv4KEC&Pp7;4) z_;1+U5LTDOwrv@_o(PNJlgPr298*Jw0C8Pc84^fm zF3Y2bj|C9Naim)DrCRYNpU?MI7w5&cZE+lD$OQnmt}F;3A|iL!wnTn@8?npk(n#Zx zuxJHs9LHh#fyaf5N#;^H-oD-?p=$l6LuIoH~Rw7I{7KyTQ z=RUY;Fj^;NN;RUjZaz7%bmg z!Lls2_X85DCiPB3876q~uDc|Q^Fl1zO?&SUFFA=9j{q9m`vKMLZPsTG`k{sdcB2DX zuzwuIee!&G!+s;7YO+3iz|`qe-Sfw;lZgTAl1`^_U3cuP^-e>H2C4v@ID3ZUUq3*n wG4}0Wkx(@;O;gI{vY4hRW9|M6Ow$yAU+-DYG(seKmH+?%07*qoM6N<$f}H^XKL7v# literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_onyx_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_onyx_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..caa36d6dacde548717653a50371d839a26d05107 GIT binary patch literal 779 zcmV+m1N8ifP)Px%#Ysd#R9J=WmQP3&Q5?rVlMyNSC-Gk+GNQYIVQa;-)lzmy4H=S@4xYC15{%d_ zszVYo;k5$64jOg{g(xLFL>#58h=k?Pj>~=dpj&4v|B6G9;DwnIz$3q07sReL4ot!#djmP65b3FsE*GvD) z9#+C3030@3d?iv@0bSQcm8G2aj{B^xuEzZH%4olJ4~NahgwIFzNhN+#c}eO3WLX9v z7z{E!JuQV+BPc}$+u;tIjgNyLl5a&S0IXIky?q1QU$uqEqBP<20dTGLIukx0Jp(WB zM?;jB$ooQ=0@(W4?3UXg=MstCPUmGNmOlEQM19Fw!j`R{p(O zh%8E5)yV#Ngtoiw*zI-#Ys(ObCcT~q2N;`YF0ho)RCdelpOjX@AuM@ic)eZ#jA9Ew z0>puPfxeLydueHi8I{VhD;9{xo|~uL4Y9HZaxsc6G&R=a|1!hW>};Ihf!ndBX+lvH zWLd`J@$6d(*je$pni`a%0=5pT+dnCp0x+X32)Vd0b|8VN*;y7Mi<0U8frDrvvM6l= z2!Q+($2qpPjH=|Pt~>s&Dhn%ws;XjWXh^84D*nk9?A7j;{R_fM6&4TClFa}B002ov JPDHLkV1g3-XaxWO literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_0.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_0.png new file mode 100644 index 0000000000000000000000000000000000000000..345230dc2524795c7ac274faab6f1b4b6bb18bb9 GIT binary patch literal 560 zcmV-00?+-4P)Px$>PbXFR5*>jk}+r#aTLaXCmmcw6eAdimLw-cV$pJvMw+k_-XG3dIaDLmVU^77{olY05z=h~Og6A?Cc0C{BLU|2^LO{@;7= zga3xghLF!nJRTQkdd3-~my-g}?f0m)8j4{UqN*x>-y8rRmprfpfK;nh1we5&Klh)6 zZVzK2LgMBP0JgSwFin$D1F5JO3lR#1f`Sw2<)n~`iipVlM{h-be4CI9Kt4N`vsuD{ zpv2O*X@8AyWzk1*J;9MV0HAGk6ubG!Gi53Pz=vi-E?o|AHFzBWUDs*tHHSONEyCL7 zxNP9q=wTR!0NhI4;m91I>pJy%on$UeZCxk)^xecXV+5+IvbDWqFRQiJB$LT-_jrfW zcMsR*=LrXb6Fad9{JuF%)3j&q_Iq}7u~_89#aViX)*lp9HU#*6Dxj8IB>cF{`^qk% zP>6E5Ol)-pugf#VNV}hgCK(~071lPD+Axyd>o>$!S9ti~9)tY@+}n-^wSdOQo9t0000Px%(@8`@R9J=WmCH*TQ51*2sa;e-rDD{Mi;+AEmiVY0wHB3v#v;Kq5y7km3w09_ zSE2tvL|jTYLJ?|K3WXxYRU;UM4n9k4Kok-PrPeg16uNOEw~I7U>!Uc-Zklg348u9! zJ@?+VM+?XJ=gYU3_L?Xfb{QQZY*NxWoc6tQBOz8EAfAeA?e*Il3Zco{N-HG)>Dkot&B`91b6?y0=RN8ruJk z0Kjr|MPgz^%!IcIJnX^M?VzUK&d{*`%uxgAx^A@HX}p~tL2s83LWn2NmP8;B5KgC4 zsH!SXeLOsH`rR)KAHp_!vv}m~A@-x4yZ5aGM_uF}gkOc6`PrEK%(FVF3B&8R?; zQi`kFfu(SX;HV3Ln)Z8CR><@@Ih0*dPX0k2O-)U#uCC%4 z^a9Z5=zxh4!N|mgQ#K^v^Z7)zwThu(KgnbgfN#5>@%#M*gFzY|cQW2@#u9k*$6AI2 zWLX9vkw~z!fnaRMI>X{@WG&E9UNv)P!On$BLeSSl{P zdbD*EG>u>|NZ}oY$_n{hiOUDk z+?as$__GWT2&~00G9kqPdEX>9=R&l!w4m!c_OkSrS(0Xvy`F{zLOX1?nvat1jC;Nu zU6BA$`Q9yWMVF-43FQ z8>~elC%(IM5;~nup(qNnETilCnVEl_OdvJZ)uEJ?@@{J@D`-f-2pI{v+(czX`aG;f zBE(X0$?)IsGGz8#E;k8)lH0eq`TZlRQgUHNTnQGFS*WTiW@l%Gs;c6jY{Bmw|7HIK XpUf5|ZDG9Z00000NkvXXu0mjf5^;4x literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_1.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_1.png new file mode 100644 index 0000000000000000000000000000000000000000..7f13ae1a6d23b0eaf5739107e335a7d258ece735 GIT binary patch literal 552 zcmV+@0@wYCP)Px$;z>k7R5*>jl0RruQ5eO4Pdd1XVx-2wkUv786f9Sw($poUl_w<$R5Qh@2ofk6 z70h@cb2b+dHyUp;d6Lx8c8ZnJ=49H`~A-0-UBD5 zYDw7I6w@?i@_24?lTD-rpxf_Zw;G1lS|X7M(Qp8Oo#h}b10c0p%>Xbahu=oeK(~ip zT4DXpZ2(@rdV}LQ91f64ie6fwSS%V$Dw{|PnWTt_Jbd<1WVAmO7l5tJzs^n_F1mfs z`O$NmtJlL^i{0Y;=N&@6;56hoHNP}OM*E_a5~Y-AttFdCOMD^bLCS?G*f@dKS^(~@ z-{Y4vB$Y~0uh&UG$#QdXk@!MP2+SYvZdsP(^LYUX`GS&7q{Xrr#t9xBYFdO%Gd)`O9C8y6=1g-#;0a;JY1<%Slw8g zdQ`7S+dsULOsZTEJ1|fDMTOS`m(`6mo<4rSaCZ-X-zRpfVT=K0$MqVPNeY+z9-vS* z0PF+ahj;H~xVy*Y3+Dj{4T92kJI35ZbkR3vH0(faw`2JGJ^?s)*~K1 q@&!dHC6;B0Qc7mJ{g0GV0`LctB-6?)^09mX0000Px%+DSw~R9J=Wmd{I*aU92APj*pINj9~|!y|J~U`#W8(g>A6C&K^-Q; z)2KgSAs)qx7a@1bQ%ZQsz&Yq)YQ=0IDic;{jzvVLF7oX#Hh*kJd(bZJefsk7d_SM} z=l%Khg(8Y5qKG2?cSslRVPRabw1xMuj6@>A;^N{7pO?+r_4E!3fR{_JP8jrhy+W2{ zR8^(XUJt-#rwxEmD3oKz6ai1~px8UuCmf4NnRA6=LD%)H)9IO6LZQ%6)I)tD(As@I z1OURZh{WWWcp2IxaQ7Yq{Z5)%9E|$>d8Gz048yFuTzGm11w(y82q7LmT@ismK)75k zp=p}Pd%-u7_xmNY1ojU03AA?e=vkPXx9!Z&&+{|!jnZEwG+1r-CC8dp)B*KgnbgfbZL1@%#M*gF#yF_fmdcN&oB{5sXcqId4o6 zkYyQwL?XfZ`nt5AOrca;_^_~quImJYK~z;`*xB>P=uHz)Rh8+P*=(!DQ@hf;jST>H zc6PEPCLY-Ey#9Q$9!|m39B8!H=S;P5EF$eEQ-U`z?CfFjNhbh~yKS%xU37?WERvIo z!WCE;7m$|!G~%gUDemcJqN5DY)GC2bhZu%|Qf;BGR?gd=g)6YM#b&21chdPr1olcY z1-Iwu5G;eETITKcN8D~VYtbkTR-1^YcC&X2Cg43ROCN^%($UnV3-WZIhhq_`i*)YY zZZ`w{PGZaNS&K$b*eiG)yId}zCnSUG^*>Byrfl_TDQ>>YKxcK+LF%oi( zmAcxrVr$VT@zkzldK(skOwQ#Rs{p9Fc9knXzMv^pf4wu#4GmVC&@@fV&CLl-)5JeX e!D$>{*}nm literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_2.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_pulling_2.png new file mode 100644 index 0000000000000000000000000000000000000000..588f78338b7b1c81cecb855d46f4fdd4781341cf GIT binary patch literal 544 zcmV+*0^j|KP)Px$+DSw~R5*>jlD}&cVHn3hC+!%5;)%wgA;}4ml45x!UYqI?19DQ63=$kd6&yS3 zknw2$0GBQWo5^g+a9am4Lx@m^5~zYXxJp9gz#l`04&`yUCMGmiC%@DCyu9!C`*|K7 z_-|@#3hQfPS(c1n&x{wPY(W5egFekpTeEFj48tIqhyrksi9rScaU4ej(8fQ%Nrs`< z$6mb4>Vx|LY;Eu0c^;1AXcTi|9nWH#CY4G><4k%nCn6$GU%V4JIXZ*O`r2d-To@jD zgCP0Y%Oy1uLR27Nv>c1I?mn{!j!4)&n2DZnTlpxJ3_fB=}LNxfc&&@yp7CSBjv zCJlB!1xr%Q3D+aRv_Jo(nF!MyVuzO5&pcsc;gHBcm(zg2z;b=afOR~J^Xm2Ff}AR@ z$7EySkhv?DgZgVgGBbuQrfK3h&eUGJzNVzJTveeS5CrdQ6m3QmfTO iDJ4^J|3ykE0r&+aHNZPP+56W30000Px%yh%hsR9J=WmAy+FVHm)FSGy>vRE*loaH6?_C4SUiZBtqiOauw_3kRp8Ep&-U zr_lZZDbC$o9L%Isb#ST$W56SRv?u{lqZo>*X{0orT;%PLCN?GrIbxUQx7=~u`#it* zdEfVWp+t!iB})A7NY|cWVN$TPi|4$8Xf(>=;$l|Ln`YyVIfn(n?9zvv|^X)btF2K;UB5BYncx*VU?YxjMu4KkyyUY^7i(*448Ix!;Bi}9 zb|s2g0guNcT5OGsPk4#P;{g2F`-a!+#qamiIq0PFu97{dv7vYZvMd7-jYiqn*pOoJ z1WH{kpBI+UbsfLokE*Kqm!cQ~s;V+IJ(D?V2Z=*zb$c6t{r&xnMCYIrYlD2HgsDEz zVr$IlYQbtu)|X|^U3#5Xj=K);Ld@+RwBTUqf6zK-2)w@?%XS(Y&jc(t=I<-}H%HzQNZ8N8tpET307*qoM6N<$g4BOz Awg3PC literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby.png new file mode 100644 index 0000000000000000000000000000000000000000..8556f4a2688189c2a10b12946caf478d484f77e0 GIT binary patch literal 555 zcmV+`0@VG9P)Px$jk}+r#aTLaXCs{=lBk0hUOHPPH&~O?9NnB#8#Dq&g$rR!m2pzj* zJn39qicqkbatM+P2PzK5iXlTBLO>95a7bgzK`MxD@*FhvLQ`?-H@)}&zwhyV?>#s% zbk>A=RdTtU_@4v*q?{=V!0z6doncQgO;a>YBNAQ$;A2vSBmiRDwgRB|$*ss4*d1fW z(iHC90bpZu3)gj-5-4TGjHPKb8VY`tGex146%mm~t8Ybqem^3YdUZDUD@aA-vRuwH z`j+PUtuW2U1rFQ^03**)SYHuV)|F!$01Wy)xq2+IZ)HE=K%=qt1|K&CE$}TW+F}F#p`*)X5=}_rM;j4oV$FHvtK`h=gh7B tCqhA0bX^zAvP9Q)nR^`n16|hz;1?uX%YX)8HG=>E002ovPDHLkV1grN_oV;; literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_standby_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..24ed6e0fe1fa1585df6178e35ff30e96a9fbb6c5 GIT binary patch literal 783 zcmV+q1MvKbP)Px%$w@>(R9J=WmfuTLVHn51C%edjMzZyi>-kuZFCBkYY{;N-i)V<)0T6(+_Ac8->a9y zd!Fy-ectDN-WRB-qKYc2=zkaU*BzE;3BesmSp!s6#mdS`f#-R>aXlmB1OShMPYMD` zl0+=a!fLgmy|o1ZuzkY}00@ObMR9Zict*x)Z$E{#c$mqJYdIrCQOujpFDxPy3jJEO z+evcQpdP#90RRAgFTw33S(Yib6(-7lCrOe>5CkgtVS0*qo-h7>W(c>Fh=}e!SS4AO zNe~3$dA`uZ?=5Mny9ftteRRun8;Ng&xO%M>ff*O752^qFsdNU3Op<}$OYr(jdYsb> zP|F$N8g;-@vx>ls3jokD*p22!788zPoW}f20HP?OGvMltd2>ZkFf=rT3CA!7Y<(rOpbNliwPJo@G2hh^nItpUXMpEn1gTUC zq9`H|2%ziE2(EW_mW0p+kZU%1{VceRXcW&MKf|l#U>>68GKc0y_C$#CJK^#y0b2SG zn*&-V0AM|4A^_;`?}wr&u+?i@W=WeVHz%j^GZ5Ut_S<(_`lqLkJ!)(5FtZ+uA^vg; zwu>xY?7oKWX14}$7+j+c^w{l1^UCgo zf*=sbabQ^%ilP)7Q)DQ60Xre*l>SA0o^CP7444 N002ovPDHLkV1k~xVITki literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_topaz.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_crossbow_topaz.png new file mode 100644 index 0000000000000000000000000000000000000000..83283426b8d2a8d90267ac32712da5186f3ee64b GIT binary patch literal 573 zcmV-D0>b@?P)Px$_en%SR5*>jl0Rq@VHn1LC+!%D;+2>ThD#z8>Q&*In2=HsO(~Ir9YkELT^wp% zqZph*yGH^=ESNEF9S#>=dLTqwgfvifjuLs=X*{^SM=Yhq=H;>tO>R6SMlFeo%91b%Q3IMR3&>#VTn5L-! zC@x_5{&UfjAxaOQke>1|GkqC=mDK{aZDX3I!faAfhl9joF*2EqLZ_}@x+urLn)@}+7^+eOkz^as#{B%yv zo*QL6I!PoFVe7{xeyR*{lFunYqRn`!ieXo8${Q_MJL$U1wr6 zD*YU^0O4?$mDK`nx_+;Zg`0QD7jnERmx=2-1iXI+jD!N%whchFQB&N>F68Bhw>{16 z4AzzfXiaxB0VJ;L%->!h5{a;}>kw2msWxg#H{iwl=90`N1;4ME_RaxTXb3Cd1vEBx z9mEV;j^QWehfez~ui^VWav+rN4 zjhfPx%#Ysd#R9J=Wl}$)gQ5c4wn-M9DTKLx$xuP?Ip;xQh6q0T72N@ES7PFelO)zRZ zu@GFygzEyq78=$@AxH@ql|kc#7e`w-42Uoe4&pE}EwoLxkkeuub#xHCjBT2Cb1w(Z z`#tA9=X?j!N-M3j()!;eoq2_+LBY%l&fP3Rp%By4(+M@t8}+p}voNl{_2{$9~b_kultE_ra>$ zn}qB7-P8a8boF^qo6Jmqub|g{gVvTts%xw0?Cwb#HGr<`M#~+Sy`fE*>U)I{LOkxB z6)u-c*laeTX_`nnq5DzN@pDE2HX>nqn@w~)^Kk99naRmXeuaLLxsyS8e%bM2=A5KH zh5@pbJX%{CDL2jX_C+gJtCimucPTECdC+)|`l?%r5P|K~0yrEFs%xvzb)C$e47^@1 zqpye9h=c*CQ`N*IQkj6$=@gabQaZbP*xcNV`RA6<`S2-qs>+1f z!oMA+xJW(`!Vo~b*&LR~KQF!i@|8C)N2ya)p7#$hIM7dEYn|dE8P*~x0+<>U5R3n) zR--{Fo`&hq1v;K|VzpWcY^_6JJL&a2J;2Ng%Yn6|oh~kqe_q;%gfZuq;PrX|a21*X zjzOHd6+3scVn6LoF{5HRcEtkQvG3k#_dqQ6Kn|`#Gp#L+_`m&NVQDGB@6^w+&1Msd zq9DsMx~`v?1RSjRW=#!BK_2nL>haG@h5(Ex4j~uj#||X0u(ZT#G$VvjfzmFJfUP1D50#Dvf^P5hHBII6=>_Fq`w3pnYq8f*Xn002ov JPDHLkV1oI^Y@PrB literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_ultra_greatsword.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_ultra_greatsword.png new file mode 100644 index 0000000000000000000000000000000000000000..f58f8cf36fc02cbfe9a8c4cf900fbdc84e1e2e76 GIT binary patch literal 370 zcmV-&0ge8NP)Px$EJ;K`R5*>5lRrztP!z>aq>F>7IEq7g9UUB=I5`O&HS_~WyI!aPJ2-W&6&x}+ zxClZAGYHm?&_QTOsifi-1jSttC(+~ZNXgLHyu01U`<-*{`{Tg2YE@=i#}-!YJ-A!z z0D$vK8w)mY>-G@I>#u?D-v9t58~E<=9m)Oy)X^DGS+;Oyk80dy!e^pcCwz}kWfp?f zxJ&dqY_Vs+e#a8_Jp(uE`LKvkM3{x)drad``#fi@HG?29BDJbPx&E=fc|R9J<@m0d_vVHn4Mv+jbds2E4G)p122GRDCmXopBvNLksJ(HB@y%<3Wu zDiDgglXWp@WJFL9A$?#ADpHYIH|m7hO;8>iifa%iUPL$M+r_(`O?MKeM|*C@`|$4l z{h$ByKJRg`SW)X2R%yp#!5d$k%1Z|iK4$4+!Q0}a7{gPjrA6%bl+YF*1)ylL;F;L( zDIpjcG1m(xV216+@Dzj;MW%rygF7f8U2%8lVEjGBD}FLl7+1SC?Zr4ntwfEksy z#YZt}_MwJaWTLDX)u&(_x(CKLhrI&Q@Bm&j_1?1=HS!8vPADq|m(zp;HcmmV?Vc>$ zAAc~XYkPKXH+6j-k zAo^M6TuzKzoe~anhJ(dJbmY*Uj2ICcAEWWbDftxxZhL*W-ENL{yoG_U@(W488u ziB)pdvXwV}k4@n6ZesPub#!%qWZCi+OioTBevXq&CU4p$Aa4w}mv0p%PKCaK0g}(& zv2y(?0CZjF{F&34$q<=V*(x9xZu}UMfFDC>nkJf?n*n&(ayPTx77^wF+sn6#Z50(f zZ|}^)Eke^YbM$Nxka>1>UFZ6RYqP=^Bm#jz_L2Dy;jr7%LgOzQ6qovonHhor0000< KMNUMnLSTZbgpgVQ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a98b13cd7a08e58cb86cee2696a194f0409a57 GIT binary patch literal 509 zcmVPx$w@E}nR5*>DlRs!vQ5431PrCc32qi^Hd|3h^NVv^|N)lY6b|?}Dp-=_I=(N{QB5Hr7`~x*d^jM|d_T4S6Wo8Hr2|BsD0NO60O> z3hy2<=2RJTs?2`u(!9ThIy?;FR($%s?$m3dwU&DeTOuN&l#-40RdHQcsMmygO%fA$ zo`?GSlUz2-(uho%WJ;(hd&XZ00000NkvXXu0mjf>>K8r literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/glass_crest_workstaff_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..a82d0c93db7216dcca0d0913021a2beeb59d415f GIT binary patch literal 800 zcmV+*1K<3KP)Px%+DSw~R9J<@m0d_vVHn4Mi>|tnj6#$|n=6F*fxK=Y*^tD{3mJMLcw;G1EHX%> zF7(R2K!h?J8YtP_qGU=aSrID;Jf6UrAa%C%CNd%-!b^F(IG(vVSGqIjAI`;j&v~Bb z|NP(Q1NIn}q%9k2WWsM_)7$pDKWPGhwfi*g(wxYa%)Oe#iAes4`omaeNo5e2pA}_ zK|uzT*zlY=8K%fi|}1fkzCDkWcp(Xi%A0Qq?VfRA$v3=WUteKDnz+k7oi zDw!rAgpeac11yG?0nju(n9XLRY2`f~?d9|}K2F#frU(cjWM^k5fj|K7N(fr25IxTT zP=Ed8=J__dzK38kkgzsP*MO#JD2f8PnXtTqs;U;QoRd_apzGR0e7ElsSUUh9V`^d@ z`^*yX`~3j;n%bB@+06Wh87c1#z^hM)gNM*GjZ1AU3GGc0P*v5Us;b4|a8Ou~$K=8h zipm^3dHNh4Jc?vnRBG2%0=-}xYNRokOe^5=c%-5zOiaC`qAZWr8}IZF_peH|yAhjB zA5v;=rXIY#9$Km*one}Qq9}|E4G{iwinrsps4e@ZcS2whM&AHnId0ddWSt8Fi*(c< zjo7DT5DgBGQtNWj+v|^<3Bb4-KqnN`HpX@;2nZqM>`Z`irz>*Ds;XLq5Yp{-1JHW$ zvfhH>CBrQ77TpOd?M~_Q`J@mc&Y=)O8c&>|HD5A*M;g;J>EPF!FG%a*W63$O<|j|U zbns2s(I~F8J7rE*HnYJX;U8a8vdFgGhLv`wtSBx{X>i!40=tp9f&VJ7TbUd9r^DUM z+(1GFb~|$eTRKih<_6*vNLS_tVgjTy^Eg!6ol>r?rfkCP2p*3|`h32<3oh4Ix87Xo eK*F_|Cj12_i%0J>%djl~0000Px$KuJVFR5*>*l0QfSaTLctX9Z4$a2O^nPGSiTQA1OTbchaaakMl!+Y+rU(bVh| zG)S9+At#}mL*WvdG`WNw9>P(R4si|TaesbpEq%A&d++;s@5g)a?%HWSFFVaA`#U5v2_Zmk4FD`J#0C^%QIeSi&DuHg=Bmp)dHdwBcnO^@?Oe%9 zH!6}3Fjq>Mv9`NHaQl&Ie-D67n;UBozsh3UybVvvQlNNsX~CPR4F{C00@Ue+;qBrz(iA#l`2bHM=tZ% z%iT{dVghhgd$3pP0vLt~nhKh?zlvd)c30;r1J1H{b1EF)nOk@VzX=OqBNX(Rn}fda k5`BSkJa3665Sjl(-{hfnFI~hCxBvhE07*qoM6N<$g7rM20ssI2 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/golden_bristle_tea.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/golden_bristle_tea.png new file mode 100644 index 0000000000000000000000000000000000000000..5457837b3cbbc0cad6026b602aa184201f33b80c GIT binary patch literal 492 zcmVPx$rb$FWR5*>Tld(%1VHn1LCtWI4&WK7Xv`r!iJ&UI&gn}R$I<%pjn~=#rpb^J{ zIElCl4uT+vpa@PGq-GEop-tclC3h{RX-Stvk{ZvnAi8``cjR)H&1d`G_kEuCectc; zpaa%)RU9n57VYu&SXUxY&k{Wr0On^e7)(Uz4X*;wtfr~$Z;>y( zL5;-d9vTG@XU35P;Et1=nh~k@vw@3pP_EwrkSi8xTwZWy97(Q)eDM!itKt^56SG!@ z_1#U*YkxgCkA-F3VkM(+Uh{Wf)-8VjQUH+U5TC!C_ytxn3LEP;f#ata6+-=L!3h~n@F7i0000Px%14%?dR5*>TlEG_|aTv!x@5~L%vEI3K4!2GrC_}p$lQA#}V!L$c-mP1Q*nhCg zHiGE1TM$@a&?R>m?`!NJ7vA2W0Kb3W>@9B9Sp6B~~dA<+) zBc#D(BN#QUxa=zpHP&YqCH>1+0Mf5g=Lt4~QFHb2{a*6qCE*uuSzntX5bKgl+t^ks z031&)NZ(scK_ZFa*NRSfSs5a z8LrL{zc~-l2=Ppo&Ey^mO#rm@-`S2XI`YF?{$svLffTM|sw5?VM#Ja*Vy;L;;vtxA4%d<{u^-};mK0j(o zL3YV~7urAC0OZm(0PZZ=dHT_LPVV6LM!f<2@iMlu%qTW~k91Pi$>p{FD+l}`++GhSRo#T1RfAAd3c%2?P%uaWy(h7JwjjG?$&zgi{}=oQ XuhGWkq|o=n00000NkvXXu0mjf{}2rf literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/hot_chocolate.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/hot_chocolate.png new file mode 100644 index 0000000000000000000000000000000000000000..4543fbe10ce04433718bec27c97df4efec9a6309 GIT binary patch literal 380 zcmV-?0fYXDP)Px$Hc3Q5R5*=eU>Nd%5t$R?>-yiy+8C?CV@J<2EZMx95vwFj^Z7$-{{R2}0xLd$ zXwCl^U)TTW`dDBLD{Es015+D@HQfyiqH;1Qie5i@!Vps0z`(#TlVMs%#s92|4n_G`u~IK$}qvu6ykVX+u$P+SmlZ9T&phCr+agj`$C5Ce@NacL!n zV@GFV8n8wykRjySdImMo-zb`Iy=G-tqZP>TlK&n90|Ns?SwT5GN>L1W`Sc#c8Z9g? z5QWI~c0+7MP7h4T>R!G5g4OxRa_ET(?gFU9|JWo31~FkC49$z@EybD=F$A!sHf%Oi a4FCXqg^2o6Q+W;m0000Px$Ye_^wR5*>Tk+Dt!K@>&L5<)?YiK0;ij0tAfEHQ|k6$Mzi7#m|FowXmq52*h^ zC3I?n6$K%Lf;HQjD4+>SVFIyQ3z^BzE}h=$&AfZ=yqSSNO7ku*Qwdkpx1&YU#kA}_ z)ar^?DC~uADk%V()dBIbOZ%(FQTbX}+<8GEKg?MLfc(-#IqCeQKt|u8P_kU_epqqM z;H%b@{p}cyk5e}6Eya@2cNiKkuI+R+C7@XyK=p#F))attSkuwwI%mf{~PfxdasMY830fj`-vHJkz%tXK>#((?x4D`Y<``Z$(fW=D-(`sr# z!fQ!G-d_gzrx1`|>#^m)p7Kzpk#&pKp$*r600000NkvXXu0mjfyYj*> literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/lucky_pickaxe.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/lucky_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..33f64c99bf0f9e7599c19dbd8950f9587b5d8f30 GIT binary patch literal 401 zcmV;C0dD?@P)Px$OG!jQR5*>TkugXDVHk#=i?Hpm@ESy#Bq$Wp!oejMmn)DKm((pQEC?l|%~iF)DSe(rs~@BQC{KS~*8ILpn8^Qqq@{WFnfK(6fU~M3dQ>PY(B09&S4TJU@o*?}bWp zWQQaYx`-LFA1j4brfZ2#I2oH`a`lakg~7eE>3bH7N!v5#1+TBfIK8}~*EW@x*9oFi zApq8*Pj-CQ0T#S_a!s#oDgYOau5w=Q4ta+LSh1b3Q_d1yHy`iqh(8#YpFGZAI0P3r vw>@DuDHf~+0^HRbuCYhTAB_Kc^S|i}+;)ueGRx5f00000NkvXXu0mjfuI;N- literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_bident.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_bident.png new file mode 100644 index 0000000000000000000000000000000000000000..628c85a918ee4b9aebc71db87bae3e1477696591 GIT binary patch literal 412 zcmV;N0b~A&P)Px$R!KxbR5*>Dl0QfSaTLct_J>M{2oWNe^mOeUuC1YloW%m6r6!4ka%gF-B^nfL zYHEt$z@>(kEC_59!WI#`j0%b(w4ovT^J_ToLg+5_yS(3n_kG{@{k;dBAQlnCA_AbR zZKC8CEKEbOg4v`sHOVhnUKFch&v+kf8qpDwUm*E~bg?DKB#mh14RVj8vTqcELqx+q zQn%meb2~`cCG_1A$RW_HxE$5f3D(YQ%*ST|7{5P-n@89_1ik74=(bglPr}AN`I#W@ zXg}cx5ALZ?p8B9xeua|0Zf~Jjfno(^*h67#gw#ro-hoR}`FBHI4q2tP79?*#Ovo}< z^*ai+7f2@{SB9fAYkXU%swy;16OuPz{B|ZO%#An_O|tlU6N;i3#jO&}u{BNmCAR>} zi>j((u>L{z_yqm=+Sy|h8mHQ>a#I8AzB_=ciTK}o{=g4mL7I_LgQPx%4oO5oR9J=Ompy0`VHn4MDefX7lpIRqTPZ?_L0%FNLa>w@rJPPKb`j*Db|}>D zf;K~kX3ybd7qEF zgQVryf@4c)jwA|JIpM+W#E?<&%ACy0npua(dv+o|sho5l9)MM|7KN*v@c#Lk9k&Cj zSu=njYSpYo;JwbAiyICwU9_MGaG7`eNBH+%g5SxYax#DTl;!#!+_(mQhfHj6$2JAF z^#!IT;M;eoZ<=!fTx~ouX6O(xcY(Sx0!POz?)*fr?%+LJqP_l>5I$YB@IN1$=wp>* z3$rtVV~gi`(r)ZZyRj>BdLoMp3)0Q|%3NRJ4ZZ^^Cs}5dIGhl#5EfEY@h2y;ckV$Jb2Pfl$N9buT;;d6IHnS3J*44<1(g z{|Aq>TGH^;BCq7j>B3X1_Eh^kNqFC={Ns2Xq9R`im3&!l6$**LBT8?)27fWBwHl5c i{cTEEnZ(}Tf6*_c|3YMZg?SMG0000}M{P)Px$@<~KNR5*>jl0Rq@VHn1LC+!?6p2l=AToNH57tm|sg@}tSlt|DHBL2bP;!x5> z>Xb3GI0#Y+b}1O_lCi^W?Vv$vq$0#ZRhrPNB%B1)4h|XQb+}$lNLrkHruX~!-rxIt z4=?;Tt;`F#tfbRv>AoKFiq4wI`lBk(M;_C3T2wZxN}*7YNF+iu90Xu1r9lb+u`Ejg zP&~k^3+rK!va$T9k1dx(hkVK_n7k zajArt?x;V&^t~C1r3K#BY9w_Xg8st+(QpvkwgITO8;UpCgRFh|(ANy!9<0m@a4_A= z1dybzbN|6K@pzn#9fy#rNxj`rdI77S-6fft5Jm%T+S_|n!agcNKcKO(<4{Z8VlK8z zz)@v?fD1@B+K_^DXBg|*i{1s+m zfa7ORGxGB*v>OB89;uM3iD4L0E|j$mUt}1D0Q>>LM8mHR8moi=0000Px%)k#D_R9J=WmQP5NaU8}!tB4Z()9_!f$Sb-PhE9<;4XG||$`A#mgQpc;f{ES~ zym%17lZOh!4qAgCg(xH>q6LkCubb=O7>F>%AsZX(FuP<2`E{66=a%4`c4^P$eR<*c ze4p?0`+gr@$RURua>(I-hwjWP%#RD4YuI=52!%o{EG(qeyr7l0*W4`tW}WZT2<>*e zkR%DC(MYYK3V_wy)d09$t_&Vc0(#Be!ZG}gr6CWP5#eZr0=XEQ&9+~3YTALzIEq0dks7Y9v z7;rLHWy@B&yUb|F7KSDrleYA z9557S<4_Vz!;b;H=002ovPDHLkV1nB;Z^Hlp literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..1f6db6455de6ccdc2ab0a82ee89eb564f021bbad GIT binary patch literal 554 zcmV+_0@eMAP)Px$jk}+r#VHk#=lZZo+VDThIf+5LCT1pD#LP<$*saZ~xR*~S8IgrWC z`Dmw3E-r$CLjzel++-IC2uDeWBj^du(KIApIS?H(R4kuEY)oxhoP4MM`}x23f8XzW z;lE*PU8t7DFbo;L4viP3kM`xm3$%8b=m-exG{1&c@*$ zq{0-l5xlNSQcXxZ@P=|z;fv?wG;NXNf!tfTD%FP(d0d#5((;NF<`(5V1(!|^C%*1K zc!Jke`SSG#*;$pJNAFq6WGKun$|MCN0!`C+`RWZP(+yp@%g)Du?5xVJyU9`}1M$fD z1T(2PolXaUcHk*JzfUsui0z#|>DUyz?&d_>LxQb!0T|zHqh%`}9EXK;3AZ~S9h-uE zpQM_Y5TxzT!;q{NgxB%5cO4Qv}|QWV0Z!K!8p2% z_2TvEg#AWRO~~5(0k>~lAJ&J%^@hfzOD>ngvaE?-+kvM0BxbzJ~{0b%FT7)-*g3;+NC07*qoM6N<$f{B^`kN^Mx literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_arrow_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..842ec4fdd52c1752e433861d9141ef11cebb8d1e GIT binary patch literal 774 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_glass_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_glass_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..7999918e0acd6a8fbf68d9a9b1405e6599942d85 GIT binary patch literal 788 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_onyx_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_onyx_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..080b640adbef694e62dae8eddf8230ff3f8cab6a GIT binary patch literal 788 zcmV+v1MB>WP)Px%&PhZ;R9J=WmS0FyVHn1LtB4Z()9_zMjhS zqKht)kON)?6&QA*Aw(%eAt4bNGz5oJFB}6A=5WZyWL;UByTW+CU~&m9mParcWMX0>Me~qR-VR5b02rNon?k5* znvf(3tJO-ar3!$>i`4+QT&^@8Lk2n=ZQ{|(H?&>9OoyXQgd$-I1Y4F`R(Y>E!g8I^1qIubz(J z@pu@1Hb5v62EcB!r6%#41PmF_G)>f6s_5#z%i7vnoWH1&uA4oZr}vV7N>1HWRlauy zBuN4w7z{EuH)jg3MUhL3x5Vu>8y`mBaii%9m+H>%TKR?ySglqDheo!#+Hy2tn)Z4D zxY}`zX|I=oktg^z!c>$?yP7a$Akl1+G3A>vz5e)#=Z}Z6+icwH?W4c17ytSy73C7F zME1zQc)x&n{5!E64VV&X=Px3R#wsBnh|My=xM%ed2TV^~j~gB#JfBr1t-RAjyPORuV5rV0K}FH5Z7K);Xv9U3sD2n(epI|4FNA@ppZWg%m S>tzA}0000Px$=}AOER5*>jk}+r#aTLaXCmmd*C`K?2ElEy@#3JP+jWl(sNhMk?foi50kb+C- z;AqB^&c&r51sfdC;*DP`FU^} z+8vDfC04Ir17Le+7t693Hjs*mF~3AUpI2}ry_^(MF}W|#gj`nS$G0)L0OYbGIfo@0 z3QIhFlYH+p1g6oRzU9d31JJTf#c6)@M43nc@S#zcihZw>pHbsjpTZo>O-CA<9B1zj1Z`*%J$B#v#jQRgG?sF?c*lJ z?>?@~%@GZS$9Ccn1Ou~JmgUUc?slB!LZQHk3o~?j_8%0KHwE~8DxkW)K=eV0_vJkz zkqD(yiTK(Ievfa0k@h|fOfp0+D{O2j)j=ek*Kdfgt#I$|9r_1{c)K2{HtUK*kTC6m z!%{KfoEP`0hJ~+Qyp;aIAv0%A1K{uZq-C4RluNo8kqHj_g_dn9-mXUgPMtr?$**6) xHYb(-9e$5bG)Px%)Ja4^R9J=WmOV%tVHn4MS36XpO2w!>hm*v#SYi}=DvC;nXpx{zT+DPh)Fl!! zlx*D$h@*57icmub9i){aT~aUvJmOc04Tw^OP^zXW($PiU4$-Lfqj*%8<~O|@FVFM8 z=i`3|IdbI4k>h_yy7mk+!-DWS-h%>?$t1J0v!`<2HX7ICa0`IR@Viq1yI>>xBnXf z0MSHDV$?4tBWnbobkoz-K~0^FL0{n9QUmC^ZZzFlJPx;@w^O_jZw0=75ex=})9Dnd zs){q0ef?*j9b$M0+iXqZsi&KlsjuL8h&nV){(c?++o?30=`AUn{MDNa^B8VHp;AIm zR|kBA_e0YF)U-clZ)1lRyPf$}lZYl_5>-W)#<^uwfTn5G)Y;H=o&5bg8XFr~SXjV4 z-~ph;Zii97z(0Cvl?@5-dcC5$s**upfK)04z~06Vfk1#zC`A1;2P1uEEWra3mZogE7Apu8bbCPHxCXF-|V0r$U#N0BPrV$E-xcf+`R`{8@bcf~q3$k4l?>ylWCGGhv#Wo6&V0TWO|cmXuj!*VC|o@H%U)=3}QjXV0UF zm;{K5A3w2`%6!`RjLYR>F&@WaIxXVL0=x$WnL}@9rlc2`Of(Ub+Q^jM<#N%})j?uz znZ-i_Kn9Ks8p|%#Kw1lH!J*?6V{12QEA(xq`D9_Bp zVm!`fdP_2F#aH2|=W>}z02DvC&%IyYP?h3KJ>puhn9M>|RWUU+B~(=vH`0PXIr+){ Y4IDTcE$0gHO8@`>07*qoM6N<$f=~)-oB#j- literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_1.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_1.png new file mode 100644 index 0000000000000000000000000000000000000000..98383feabf934522720ef497a4fd104aec9260cf GIT binary patch literal 552 zcmV+@0@wYCP)Px$;z>k7R5*>jl0RruQ5eO4Pdd02#Yl~VA%BEG=}@i&rKw9yD^E%isAh@*5hM^Z zIGXW7rViO$L<9#PF3Av3$QCd}&>;q@g#;dwG~q#X=@>qT*QSxA;^dj`z1;724)-4T zZ>pArd{#`;l-c8@*-bi@6oCG4K%>(#wAK;|g$M_I0PJu0VFLiE)oKQSF+2P=ybS#T zdVQ0fyLSM1@$xmcZF4d}DlU3`lVY)GFspPdDWu}^Ox_6jtjOeOE-nE1>>p?6P8R*4 z>%8~04#8z^L~ir#(>?)@e;#s{+Min@lOs_|iBd|m){>4TCAu1MA?3mxY??r8Edcj+ z?(@?glSm|JHk%|Lr@6JZMszhI_*Tw#w=7F?xtst5Jbp>Xl44nwn5HR~WeL^NX_7?= z!a*OlZ3EDCdPaXZ;7hemCX?a8`5yY~gu%#}Gj;*hk^rY)1vEM><72x$9j;U=Z0&B( zJ*r!z`ggY^vnm&);aeg4yuz!I!`ALLPaZvFd~k?&=#fUJWlRBP&v6@;iVIi0E}&30 z02;@<5AWW~_~4LhmoEVj82P2^^o*sM=%Q~fXxOp3PS5ZTJpyp?`V}tx`TPx%;z>k7R9J=Wmd{I*aU92APjyi!Nw!swhezg~!k8BJq#!y3H$g@=C1|IIUFxt{ z9b$h$gYeKHx_A+CbkIXI3F*)R$H0fF6|;e;Y_LLeEFwB}k#C1Ff6izR+NHfuUml+C z=kxx)Kkv`y`-K{6sG)`${&z^no?-g2AihFytDby5&&JtkbO+&g4+};H#6$5y5DJJ$ zBqF?Cuh2A2RNN2>RQ!IzEP?gS4I&*bp4^Xv`x3EOjGy^$)crb1i`8D4L=0NPyF_`dp;?)G-(maHO~NtMbF3J9J(uh?;>70`8^wyRDI!=UchNjf__ znV+9$_>Lcd?)LT_B^(Wh#xX@87z~P5M>F?AVG4x;0N+=?5)OxnMx%7xbaVQ$Qu;X* z5IlH#=)5sSK$c|y^7%ZAi;L1mp@?F$@L@WRuIogjQB+msmZ$%Zr#DSNRaM5uC$?KH zTg*vwOG^N(t*vd77`<)B|N1k%&aOjEY08AHj^+bXEtyG48-=3aE!^_-Gjq2G0B7Gd zn1x=tc1*bo)hjUlSU^es{m2$`Qr7Qcw5uNfvw0$)wlE9>#b%-Dyj-z8t5+bt!g7!O z;G_!$1dayEhFf=b31-1*lXrBr*L&&SZ9hs^AI7SicG@v6R#yPx$*hxe|R5*>jl0RruQ5431PuejA#U~nvhL=1cQc@^a!fR7qVnCkMB!dKpki{`B zt{ETg)XAkw!3GDjCBxe?2pK|zI+Q>aOyE@#A_4yl9Xgcb@S2#=Se^W)doK5W-|rj_ z{5RFNg;G&$+m`9;h3O)n$_hY#IH1{SYmVcHX_~~MVE~Sj1|$Ix*L5`jZTj=uSP=RH zoYnhmK6(hi?%qD0=i$1pMlLP(=^~b8Q7)G?E~Mwu@>1RirJ~5$$pu_W#n~FTGCuT& ze)7(X21JA0OFZD?`y(Q{@%vLWc=?K)GG);E*_8CvN^X`B`p+KclVf9IhwRjxDH~(x9 zi-z$$4}k8dr}c*eKGYi%lfd1jxo!Jl`MZv9)qcXsFA1fNx;;Mvw&ibP@N}>)8c4S41~t zYvq`w8`u5%t532pg)Ww5;kxeJUb~~778>dTaP7`5uKxG}qu$)NmnxzgqLh+qwJJ&} gnTz``Qc4NHFKJc2NAWOfpa1{>07*qoM6N<$f=ERCx&QzG literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_2_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_pulling_2_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..505bb9f0e4c6adca47e8b2f8d4d2f87f8858c1d3 GIT binary patch literal 785 zcmV+s1Md8ZP)Px%%Sl8*R9J=WmcL6IVI0OkSGy=wsTj5AaH6>uON^3UEs<6P6G1}#g@e=4rAx$i zDESK-aO%*_#lg@)hf*D+LsKvWJmQZQB_L`PLou30q;_(Vw?i5=CKbGDm*!dS<+%6x zKJWAW@g5XVKmi35@V`U4_6XA>g5Vn7;}YWWI5RUdSut;#JvMA3Bu8clv$T573jKt5_EKIoKPrqdg}g8;diuM zjR1gfG$Qf#rI-k<;%|RScbA*SW*bApzPwfg7=~dsTrLJ(eS-c@@k+cC3_lZozh8Jf z9-(QP$h%?qS>E?I%nI1qOW=33@#aMkT=$ron&M}CpW>q;>MeD-!K`I@c}%CERH>l5 z%MBl4>h*g78rvRlu)a&H-Ok*KMTDb~(=@~m^YWN>K-YB|n{60|LGe)$EiEm~&(G8M zd=P+EyFJ^9KR94YfY<944c1zQhJ7THNdOMkck%gr1OfpZJuYtDSF$(NR$rX}S(X8a z$Kxz6E=q}H3Z=4wFVjJET_+F-psFeZ?hc;V9_25}zY(CSDx+iLC#|-b+LGp0Rsh)8 z*f$&}y|47fW^L^#`>Fbiz&U6Fw45dmrY&to&S zB>~K>SVa8$KF)S0hGAftFF#Spjlp#HAhZ9+#vS{heu|8adr!vBUK9ceRHhZF}qxe{V0{U2dYYODrreXYpP7 zI`()xLQxcCS;jDo3!Q+|6F+QfLaD4EQ>>XGb^ZSXXGF+V7HX=~ExfS2%w}p!GChhf zgG}McRTcqIe)kTye|$qz$}gM|*MfRWozOH*OioS;P1D3bNx^xXy|RA+M7Px$jk}+r#aTLaXCt0N^M$n-xmqds}kZ>9TNnB#8#FR@w$rLgNjt&l8 zG9Gj;E=4HV=#WE@WH?Z9C{zs@;t&FYn1e$a8xB$z-Q+oF>V>A_)Ngw4|9{`(``&wS zYG`i=Mpg3py!f93{-m5O3c&ush`m8qF-=nKZP01Q1xVRKDb+f+_$0MPGs<=XWaHxjo1&~=@`ZjWYRk$Gf*GtqWdP)Px%$4Nv%R9J=Wl}$)gQ5462lPyZfNXD<{;>qY3#;BoBMM(`BC*+~21kUQ=rp=3C z7U8a)1L9KJxN)JhNJ2_NDlljed^l?1G$4vfQ#d+JNSnZo+!oVJe(StGHqC!^d7O9t zzkBYv=R#U(rIl7%|GO-I-C?3%Ftv=nn@KnvW^!_JpXYhAdEL%V0q|t%*}jCjt_w+$ zu-omFl@tN6bi)RK-|s(^#}t6u*(o-*B20&7Es1rOY(>+wr0LM`2!6l+*RH!86d?L6oE5z=1q3gO(RaNZ!!P6rYMLGQaw;{S*;(>T9@bn0u&nHw> z6^f$lHyQMvXll9%8y$7xw!4jo(N%C>Md=&o;!Xwtk!Xyy*t&&5ufRKaqKD}w%#y9N zx3<7bc-}V-KzUO&+bf$iR8%lf*LJEoz&W!3nx;{H-GN~kT-?c^wzif)AVB9mHv`=^ z+%G;+oMSun%uNC4x-QB}in#CTB^r$au)VTLZ*MQ%7uNB8*d@EP;7qwp0Z5VrKsX#` zetzB(iN=s~tx0pkFlcUW=5EU^8Xa{fR>2g2-EL=ScqBR1)?(|Hfx1lGj{-y@5j0I> zbaa%eJ5CxZDo%tj1&|mvN&W2hxy40ZKYhi!iK!&SrE4;U`O>ivso#Q$egX0F?=^>b zB>-lEIRc=*z8=FcaOB31tT<{DiI{{^ufWtYORFE_<@fX)dDW&vvzD1)kkH!&9G4~D zth~o@vpNoO;AW%@pzmhJ7hNu)7@=e1rbDxqjjagbFJI~C=%Br|g__FBLvbljLRD3T zEXzoegkczmp4Wp)?6{_~5;@n(OfZ-PGzDNr2?!}Khr;}LKg=yIvKCvnm>$KcDA9OQ zUc5Q8OAEO2?K6s;{pViCv#L19CKN>xV`F1NQ55k{j^Lp7KG{D2FybG{L;9sm00000 LNkvXXu0mjfP9AaZ literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_topaz.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_crossbow_topaz.png new file mode 100644 index 0000000000000000000000000000000000000000..7d3f03deb1f976dd88fc107ebe7683b131aa3d31 GIT binary patch literal 570 zcmV-A0>%A_P)Px$^hrcPR5*>jk}+r#VHk#=lXeV6@oG#5Lvj%ca#^ld5>f=QDJ2rHgNTd4#i6E) zLlA>gXeU7`fg%9T z|CbN`n^qQtY(`S4lyqJXc*WD-Kjg;k3g_NDpy{-ztXGvnp&*e+gi$RBz(yhj2>`^h zECoRE0K>PQiJsJ`-g!uF%13&75`d-U61Ht)S(d^~Qc}Bv#9}e>`Mg4>E}y?BzKNXN zlqW(qBl7EKk6p5v?lW-2E1FJ=+?0>IbE}{YF*bgd53e@}tD(P5+E7n4`+&-NRY^}z zBKL|Ik6&V%CV>+wW6>xRXU1K~=FY)@LZKi47t)vbW`E`Vi?#z?CVPVKpR%VMw`L7Q-;4uibxPx%&q+ibAioZC>f921(=P3~ye}{O zp6~O0zJGo%WRXP{S!D6Q!*JperiKJF%ec042#3Q=Pfw@BJfoM_(bz5kCT8BG5V~A0 zAxRQ8n~h3qDF911$^h_sy=gqU1UMSoMaPF1boKjifQZDRv7S0O;!Xp)^~W{!&4o<0@^fO;p!b;qLCuXf=SQX?nw@!_n9-j17I_fp{tC z?i3!6N7(Ilp{lCLc%Zv8*|`dW-U>Y0JYOPEY1zK6eY{^x1REoJG!ta%xE zbeAAkHq+MH1n|`Incv((8R9bX= z0whTSARG>}u&`i=Zp4ub%)7zs6@~W`Z@JTSi-xM}nVa%&1lVjgMn=bXM{Om(YM2cK z0BCXCW;PIDc>D>$ttiDs(xD=B2}mxR{qP0n46i?a;`!q->J^2D1A`0=4iMU0r?^Oh zwb(HUm>Lq0u>T-d;;V+F8^&K}xp&`9U0ofa&2vcRI1!Xv%7m(_Vsdg)sH!UdNeK>O|CRk42Lue- T$_OG#00000NkvXXu0mjf-idGs literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_glass_arrow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_glass_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..d7a8c8e1aeff2565012d6ed7c491ab92d57af5ed GIT binary patch literal 317 zcmV-D0mA-?P)Px#_en%SR5*=eWFQ9wx&4PRnMl^CtoWZnT8e=o-jRWUfq{XUXwAxs{~3&R8H%^3 zFuamvXL!H%1_Q&9b0oSzg`Xjd!H6NiK$?MJ+d&3~yZ0Gch<5tL+YAf}5)8_dW->6` z`N+Vaugbu1_dfB?S3chf@jna`3v6}F|6e+Ll5~wQ&E-+4|CL3RaB5`4r&(G;isAId ziwt*P-@~a66$H8cXPB7(ALeX)He-T~?f;AaFZs_9)QUo|yliAvfVaLy#LH zv?t~hXMpng&i}>#mq0Y;Cj5s-8B%&D4&){v4B6ODqGlx55bboVfDD@ft(Px$JxN4CR5*>5lCev}P!PtyXhA55ii<=<%j>3t!-12FLPrh#10*;;h#5K;1cy?= zA%la9Q>>GT!yG{ zAz1X=jIhNG_7xbmG-1zGuw&=LQc9Lm@;D67<;?yl&r>EM4uU{6sn?WJ=0H@G`ZU`_ z#60}wtXb0Q7J_H9gK3(l&&dGc-Uil>S1|YRg`3SX;NJu3Yq5nRB4yvPnTQI#_GlA# zw|2O?xCT1wKn}~ezPbc0El(9K0qPg#KY#F;B#2*P0{}-+1k17jfa5sMA3;jVNw2Fc hPZ()ZUH{TQ@dxl4vNFV5F0lXr002ovPDHLkV1hlgsnq}g literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_ultra_greatsword_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_ultra_greatsword_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1e8319111896bb90f6151f0897b2fade481ce7 GIT binary patch literal 876 zcmV-y1C#uTP)Px&CP_p=R9J<@l}$)gQ5462W9@>Ws0|6Hv}dj0P0#DI(viAHtY0g5S9}6%d=9-JkLnU1UGWJ3^41ETj_ML0 zk?1#dUOfSeY`4beXsX;sq_tn285&(B0gEcP#^mlnTLns zJ@Sx9N)cD?D>%5-f)qS+y2F$biuYiBv;okAS{5AKaNr+sJ=!e~elL1K-U8b*V`VpC z20T60s^^I$dQg*lU)byjhn2J-v+_g|ke7_!+OE#PlJMmVs0|6d`Ct}268$Fk92TtF zQm@Lr1u3{SKBrRZh8vqvtL8LtPLZ1fwIM;n0X5kqk_+Jzc201}#eo!@L{e3%2Q?`s zWjp1&bAo3H2#3Q0pslTK;S2r+?--F)`!s2NYcwY~ENVetUmvDvDj{jO-h2=qet_7B z%=x`ox8F-REE^6E7tyh!htp!j!1N?d&+Fw^47gJoBoGL2{M}0!8kK*jFqaJnhZ!&o zL-hB?XuNb4P167f1OiH2=eU;z2Zc9jW|(W zBgCIy!Y~X$ZAhT+nEzd2IIiKDbB)AeF#w(%DZux(j+2K@Q&v_cAE+>;11?maC17A+ zzyqLZ8jm9n!0%Nv0D!s2RoflEhSOiCux*>E??1WL38$Ja0MZ#=PrBOkbxz4G8}e`d zo}9s7x{IwlxAEcQCpK){%Jv7^0=61%QtByXnVW5uskNzi6-6S6s}qx9{iS4q+IE zT0K_;q_17mG`Vr{`jYTfiEubPf64rZ@VIShuJITCFq!sAk{;9m0000Px$ut`KgR5*>DlQC!$VI0MOC+=d45K=9Pmn9H_$j1d*lS79V9ZIP~p->%)2%$(Z zh$y%z9geKsD@FJ~dyuUUkbZ>@gL$ylPB$F8KAyf6eneeEYKzv~&)Ufk%-tk?y1Hgvc%0j)!L-Jm*t zl^_T(2Ya+zuUO(M_3KX)!=jWDt+h12d=lw)M7kYebx~@vBG_4pOyZvaIF3U;m!bIK z8S3`Oa5y|beLIgjJ%};J0yvT6?z%3;Cy&sn5zOo;?&k&6&OXgcGdPYD9&&0-Viy2- zo`>4mC!fneCUxY!OK;ZU=4BES7-Os`;@bKK&9hg~({q^F(U5S>r8aSnf8L;6D9QZ2 zyLg_5@B5hH0rd17-&@;|I~9_?{fJ*sE|g@XSmfdS1KPV=mQqR{U#!q*GzfwK4)*XX z>G%ZYLP>^FX`XLv(%#+b^~Cr6-sQ2g(tiI7;AoK|=YDZ4qO$!dzCUwI>@(++|3VU~ s)v9Q%k1v*PN0d_kFNUyn#})&>0oAv#EBx|>wg3PC07*qoM6N<$f}kGkV*mgE literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_workstaff_oversized.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/malachite_workstaff_oversized.png new file mode 100644 index 0000000000000000000000000000000000000000..9cc5622cc717cafbd876963dde1bf007b3a9fde0 GIT binary patch literal 794 zcmV+#1LgdQP)Px%)Ja4^R9J<@l}|_%VHn1L8=bmHMj%S!wr(P9D)Q+OQ1wV2an6wVVu=<-O`=i^?^CeH}k&l z^FH7E2aXuFv@Kg3Wy){Ua|iZ&JZ%DiqyG}#s-pONaPbGxfsgzDyqEAc$@B?K&)K43 zT@C|OI*l_=IfV6nnA#;ph4hRxB$2eF0MRv5YDu#PMrL-OC89JBAJtF=!@G{H5in8d zgwi~ybmF_*6qnlX_wSG?DZnu@4v{|zDy3h9yWy})0QqeNfaS#%#wG&z-_082_Fl^_ zl`InwLdePSQC1`C0O-0A%;|K}zVVr!?iz;Mo~P^#O9X@vvbVRFP$-0dBLbcEh=ErC zXup3kc(seZ%?P{=rK}ChHK6M{s;WY9KCEw`X_}4OS0oK(^xb`ia{nQr*a-lcP!roY zW|crN7z99R?_%j<2TNb(rF=9BAHE_^o`R(rKjag+&&|N zXlx>Y;%Q=NXefRr0P|`9gHTxC8QYm4AcT+$^C4>7p7p%6lvPm-a-E_wYxn$t7w;P*PNOULQ6={a%O(abY&+i#oWCw1;I+t5ssHn(ja5$g>*~r|)e-+49<|h8>Fq@g1NU1=! zGdHoX<6LBJB1wTPkWo#>B6Yfy(`Fv7Ql%oqSV_W-gu3RAH+RPFD Y0%|EqXb+*i{{R30 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_glass_arrow.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_glass_arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..f41f49a6dc5e7d80187eca331db2acaf6213a090 GIT binary patch literal 5375 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 n?zPL+IfHCEmbf?y06PkNbiSi*k+S0Fs; literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_powder.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/moonstone_powder.png new file mode 100644 index 0000000000000000000000000000000000000000..6babb9e12a19add351236aad873b171162f6bb6c GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|wtKobhFJ6_ zCrGe1%S7C4|GRw?|L=Z(UT(XynWC;dAP_IV=STg=hl*~Ka@ra{t@`@^^y+K>uTS58 z__ffSS!>@M{`dOy?Sq*mUwdB6l1|fc4ZJWx@a%`L2f5imAdi)^Z9RXSfkHLAGS56) zi_-^ypy2O^;NlAlW;odvakKsJ{nEeYcN$o4`~SHzzgIbZPcq2ipZLZ;eE>p7em b9~c;tK09*GU$!?2=voF(S3j3^P6Px$en~_@R5*>Tkv~g9Q5eR5=8cxbp~33Trd=#>YE3MJf~M*l_yGhR`~(gK4vl^T zYYGY^M5x6SDpXWl`U6r84N{<>aT;#taIg15OV4!PbDrmUpYy®TBv!df5Zjy?PV zMJQ&|;vl=G9$J+yo$8pIyCMK5r59H-ZCc!_bcw{mL}Fn&)h3zTqT~uUBh6Zz=9&OR zVy4mO#}zOKKqj|HyX*xJRufHjZ&kVg$RwTW7(j{?cDHnTkMp9`YkO=7%-Ht-b^Adc zo@)Rs`^>xOhHjrhz463qWtK=RtY*-uj;S}EIJ!7fQ4=eM*j)btAeHn(!4Rch+oPGJ zeG$I6#J8{w;1FAJf7`dE&;Ul08hTL2h+oq#dl^moZdzB&OkWuBZwE=ne|`5l-ZW6V z6-M0Lxtz2lg#tq*j&A7W3j-Wm0Q<^9fuW<@QoxzcHmJmkAyP@dsxQyq)OlymOlR%x uFpwtjyDAIvg#my~>}oJ=Brz@gH~av&Vw{yDoj3~s0000Px#=Sf6CR5*>5lP?a!FdT(H2oemC;5Yy$m?2rP6NJui0u%`+K%g-sIL<(D*ku8O zz`_CWU?8(UR2R~XRYQ;iDXKwkb0FlQTu#84HuY@QoxOr z-RoRf^9BGMKMCW<3V`)}Uf6HAi~+Gs!$l4;lavC??#EB!OjxL3nst0{0FcMsz0TYp zhyMY(^KbN7d&r=#`~X_|_NX}m;Bwva=2Px$P)S5VR5*>Tl08eqP!xurn1EBUNV`M~34z#7p#?Me0a;sJoy1k$6vW9voSoci zC&8bfP&W&uAPAz+Aqrw?A%l~}!NqbNYD$VpD&jj`?z!(d&pqczjM2QdDuT1;cX|JO zkiv24r)AWvYbLsE0nqM0(e6A0aND_*049>mp5H~6Eh^0_m1Y%Pws4ISx@Hc^lsL0% zlyHqf)towuu9=)Sjse(M-lxrgBr?G_p78uGz#xHa(FncKH51RbMPd&CQi?5d>MX8N z8usDprq1@_CiRzEG(lMT;tbi$H1$?3GM-4_IAyU=$a8jaP5-qIfRVSDn^Jk~`Aqgc zlFcVa2O_N&hkKAxY_YbqBT|Yjf+<9f(Q(RReWk$RX^l7kE|N0XgGlr4*4{|vuu_U0 zc^`}YYmKWMCn+#zGZ~uqt=K;&DyPx#{z*hZR5*>Dkv(g|P!xvW6#qiX)hhJ#uI^5*S=uRG`mtmwwL=I+!Jishx?rKa*l%nhzK|DqXHsTxrU4LYXCsW!lx?N z(0S}4%RcZl86!RRdvizap6wN#L-L8LV7gdfmA&u%_ZQzI;)t8rhbI4L)MJ|o z;d|uz(^8HjA`A%M%eSqCh$FKGdfsQ7NiK!~e@^y&dvn6zx5=nyDQ~4Qj=qxulfMAr WhH`dOGTkZw0000seM literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/onyx_powder.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/onyx_powder.png new file mode 100644 index 0000000000000000000000000000000000000000..27f44760ab62ac7ee2509437db3492c995eb74fe GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|)_S@)hFJ6_ zCrGe1%XF-0|05pA|I>flGlBO1|D9$2{eS)}Q0=UM;MWQN4HOb4|BpYQHowC8f@wEU zB~YsE@{3oJ7fq$Ft#=D7*k?H9;qS|zc|c&!r8b`X^XH}i`1MpTMxJ|D=bz0AU*_4f z^60Fef5>#R)DMF{i3te_4WBmdYG?$4+3r8>mv2!#EFYM;V+QwW7B(Pgdz&5-kaIkX j;fz4eqZhN-*%=tN@9>@Yr!bru=x_#4S3j3^P6Hj2;~kq*|LrAqfc43E2RC-_-?_7m@$OHHy$67x;6bGZ zGY~Yth&O9nAO9}tYR^?x9w5+JKi}ws&8|}i4j(x7;lc0HIkP@`{!w>2tI@#3py{G= V`L=!f1E6ymJYD@<);T3K0RSQ>TTuW2 literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/paintbrush.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/paintbrush.png new file mode 100644 index 0000000000000000000000000000000000000000..592e544b5b2e83b6864233f3ee07bbe5e0c21240 GIT binary patch literal 361 zcmV-v0ha!WP)Px$BS}O-R5*>DlD$d;K@^3*^=C1HjE$%?Cgx zMN`?N)!<)kA*2lk(g-3(EmCczFK{hF7FGkhn*#&Gz4M(ja~X{h<@Zus<^Y0K%wl?;?KZ2_1F0!xM=0L_;tV2`uf zHE*vUUO&(Ppu9W_K<(&|ne}Y|+Ryh|D1)Z^%}I6&>u0`SaNB)@Fv%51iS!bZj45x` zGkK|J@)8JJ>4LPXx)f7N0Fp5!CBu-xOakHK{R3H@TM0a@4TF~!;Px$MM*?KR5*>LlfO#>aTvy*)X|2T5$ps20RDXbD@-zrHrRn*?JAU5h2fV<9Gc_)t3Z1UiRH2i- zxBeDdj0O~r>_8Pd^N%T1_q=%e?BJ?;Homf{HEC*1Mgz*|F;tvnMASvf?z7UK^yBuP_iGN%|!#*6>j z_GIM{_mAgree{i!ojU-)^7*NwJUjg{G^z&x8f7m4;NiuOPF(;1whj-ly;{fGQrC(1 z=K-tjci_eK1k$@*Y%WyLD0>kRK}1Awr~@AWNEPx$Hc3Q5R5*=eV4x5%5>gNtlJZ~X^DYJk1_p-7J0CFyhNS$5$*o^Ahmi%BCK%h^ z!IiB8_%4-_a7NNI%oF((K#~|aU??)_-?3t^e#FHvQMgnEL^V*@Y)80IhgzoXmo|D$te|J~KJ z{xdKzFklS>WMF3I^`AvVgu%hA0wR#g&+v+I1p@Tk#K!9X0#ZhB{~8$wV1xly7nqrO{g3uGWT>CHo#Df? zb9mDVh5;~Vlyqd8AMwn(%5fO%?7p@TWGgcrVWkj;g aR09CS)}Ql<3;pZ>0000KP)Px$FG)l}R5*=eU>Nd%5t*Z{>hfPs)&{G>M~{y%T)n-A5nY@GS+j|uFN2@53swU* zi3l<wQz$yof`gQbpZ?{s7o^NnF=y6 z1UW$j*6m|3IQ^4h4+8^(n`1PCjj$O50|UeV?fV)SQNqB}so{T$c_>!rV|eH89)?$M z-ZO09*T4w(!lTDW7>>L>g;Ud!x2G8D*5qTTLGePLs|Z8UZtRBixr#7&-GRiAkN_XU zne&@54Jg|EhM~_@1mS-eShtU%X!jciF-S}>?ApH+9;NUwfJLK_03TKty!-G8ZYy$B zG9fGa{N+1V&B$`-=>YBpsKkE;1{Vfi9!?C+H*fF3ni4Stv{haHql;m)nQ8z4zQc0< TRePx$iAh93R5*>TlfO$sQ5?lTFKo!CScAAcpF9jvqoUEFp(vucDF}yxu%V@;hG=MN zs-egTT3Vuipeag-awv#|%p$3t4Tca%Kcwk4$P=%=TI!77d(QcOzvtcye}vLlnCkBo zU53+^eEsmr&dI%`ao7<@M>WC$w^YkLy>Y#H*Tl6o2nXD(Z{Ks3F9XmU^e{W!X*-pz z0q~>XSA*ohf~fcp0Bk4dGMpqG3u5MYMQJivjrWK|>lnGAOm%{dxZEmpR?X&cjEet2 z%=I)*05g!2E;SOTDSES97;sA&SJZOf>;{F<3v~yZ6 zK8fF?BlTrJ4_*)z0F z^J{%!*0C%GW*}(h(+5#8o128#{g^jYKRlJ*CfhwjB4kSBN1&Pmt=4OJ%=-!qG&Bqi zGH%o)CnWqhHbLm@5rgmVV%_$rDK@91KK=iH|BJu>|GV<1e-TXOxH;=37lZr(k1Mqs SPHX~tj=|H_&t;ucLK6VZE_d(% literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/tender_pickaxe.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/tender_pickaxe.png new file mode 100644 index 0000000000000000000000000000000000000000..5d914cf533ac2806dc0f29e2006e05632d0b2cc0 GIT binary patch literal 392 zcmV;30eAk1P)Px$LPTkiSa;VI0Ok7fupnc8Xj=kZ>Xqq|gOTH#OK)tL`lg!O zZL%eTezPLYdR+l0RB_mEQ?p*UF0t@@TSaT)+N~@B8Qmi!JTp7M*FG-d; mBFnU1-`2;ru+~lfH+=)ic6F)iUO3|b0000Px$8%ab#R5*>DkTFZcP!xqvTIp64M5t|-_z;C=amr%W_X8eILNSZr5;JtjPbe8P zIyqPe!KJf{5ErQuQV?A92Uu{hb#Tz*5UPS!-s^z}mj~auAJ@VhS@w@PolB-*)r(kO ztzm0#8vsz&g{xk~O3T5~NgFR4ix`~U<1N3zf{8(?wT>NY0yLL!adnAt8e4h=N)jW$ zX%O|(2|n&JRKzBb0+v>Ruqns~1j2)viK`S<_b3mLabIdy;jpZ$OQ|NTGL^X7h! z-(7mIUh%ca8oh%Cp_aQo{%=&h3DzK&J6obIruxi>e+QG<99bjVzVpi&FWB887`yrI zq!JNk{-bA7D*it(WCnsTXM;lzP8Joi0YO{(_veRm(-RUBCVbh{q|xxHu*&g-)zke8 znsk`kr|HD_co|M?1cHZeu7v!Fb1-9>ZQ*I?XwJak>>MyJWD1iV&_4{Gu6{1-oD!M< D@G)o; literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/topaz_shard.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/topaz_shard.png new file mode 100644 index 0000000000000000000000000000000000000000..0e7a62ad89f612de317ed28cb044ca3786c3ecd5 GIT binary patch literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D%z89iMbLo9le z6C^%02*x^`uzG5*cl3SVxq|`y3vZU*{QtlI|Nh3uNB-;o+pYKezx?!rIxm=vChAK{ zNJL23+%hw?xnI`P2n3D+j$%hkPv{*qcyO|)kgfmsXUV#l>N5#*Y^AdloZcmDH7pb7 zh+O_>`j<^fGsJ&RTiAE7`yoi>%oEdjd;?VFa%XR-n$0;gIqWIx_Lujrsj&e;+mfe; zcz&6Q@|@o;oBX5jt>Hg|icK+d4kl&`AO6kW|M1V|;NXq7dag3eSUV{$Ors`3p(x{| zk%5e}DT8XvNDNEN UmzaD=6BsfKp00i_>zopr0NaI(zW@LL literal 0 HcmV?d00001 diff --git a/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/vegetal.png b/src/main/resources/resourcepacks/spectrum_generation_1/assets/spectrum/textures/item/vegetal.png new file mode 100644 index 0000000000000000000000000000000000000000..69708c9217e3e9014eefc3f3e4685f34318bf91f GIT binary patch literal 307 zcmV-30nGl1P)Px#?MXyIR5*?8kulG~P!xuriXCC>LgbsO9ZVLf4we21qtW0Wu^7c97Q|xFp{Ys4 zWF+|hz%@v(-YT=fyWE>|&-tb?WkS@=0x^&0?%zbb$@2PaJ?*aZK|#OREt8BhG=#_Bf~t&%7^T>v?4;pYIj z9_O;}vfFbGPTC6~f=j)zY+i>MBsmL zc9BN_0D0`GscEdMsmT=( zBsdn;Ggya8v>cM>$nXk@B|r53^eN@b+eZl>tEs9Va-Beatu2?VUE{-v3)Mf{!!&d5 zY^!X~Lo|v%n|}0$8q0pu`QqX%*Cc$@ehtA*!S%Sd+dw7F{yRE2dakQ?qD^pcU-kI+ z+P!^#SoF0$wo%H2h({4_qa%ttbWbgHO`Z)t@1<B{S|19 z4D%#tZ0}11U4Ko+fLtQRKU$c}c~Yq>FT@0Eb?`ZNpy;rCrLAp~>;vlNSx9_gNM9;jpV2)*dc?8xSs9x| z1o>fgOGm>|;2Gdr@ot3`gP~y(F*$1OZG+`^TttIMKVK=;;7(}?NK zIe4C3Xbc8F@q1wQm214K2F)@>0}jOM5`8`TDOi9ir;mFh&qz; zVMcr_p^q$Id~U6?8ZmG5Mf0zjTc8bv1VtPeXvn$M6V+*7=}M_>|32?kOgGSoHQ+z) zRXlDlNa+3a@G)WwfFD(v651CiUgC> zmpjQ9>lOz1whz4w>wyv~M>~r<>4iqCxI_0DJe<$GOwFeAZ{U+Hj^1B~sP(x;l#=X4 zr@%#Ld%9XmPi6aD;e!6I8J{kaSNAPkV?lQ!>^at_td!Kt|E$4z<3qx{rQ3Z9TS@-F zlr}}i74LwnaC?+yk<$g$lSlWQ1rl5Y5}JBWfjbG(g1u8V9u6Z}V; z5+?BFpWU%G8YoWkM%L%l*XNyhV*;*{Ry+JX{gV>+Ddgv;WWq zd?T+isLSpC_6hWIPF^dn@C`v+_V9VoW08@X;pI-a!04vo_JKJslPHtz z68`iJ`WK1ahaYbc;InyG_&$mIXRQ%4mf!oUt^Gt>d+$8FZhNlg7bBVTaOas~8;XG_t9ZQS;^GR8r#RbV>2cqaK*Bfg5XC_G*&4t1T zanfPUalxku-aaUTw^EE0E*?kh@tZ83$#JIj!oHYCcC7I}Y->GcR)PU@Ji@A!MX7_l z4(K3zUakq;JB3*UFvTc$q0$m}9eNsxVvuz%^-inF($IlgF0Ow|nKs*p6Bdu2!WQ^~ z9^}|&AL^evOR6JXAz*wG_sbXTsg!lYu8KQug9u(b9(4s42M^OOq?)P-0lH!Xr)YLo1rpe_yb*QgAn)7%_WC%sB9>p+um^ zunG4qILkkKcrSWz`jdRluKx74*sj_YPZy!xD;PL*gCshWq$uSFk?z0c)a7DRs+ZtI z&8OJEFpIq1Zv8tOS@j2P=m+Q-NJW`i2XlnW*@ZO*>L_?9>5BdrEg?-(HKq4U)aW-^ z=dX^(z7gq<9Ie9qVR}jzGgn?yo@_{di7SN2LnRL-odLdo@qJE;PcG~EYM7#8)SLPC zQ+oXcJEnb(5ePG%C?fQAzuT?Gz$-im|2d8YM82Y~(V3@cIVZM2XrT&t;Uu1HM-{I5ypnSdhU!rX0W1M`O%y#bQjTN~X+t7V(vi zN0$-c70MdXij{oqY7I}cQ991b-HX_Sae2ODMn8>fG*EdffcT5v0WOMC9HQR*+wS|a zi=0XgoXEe}(86godlku7c2VDWylsiN80MzX^#*F6g#)}J+es?oRcHHeA-!I^lJI&i zL?3orjUs9T2HyYW<-sP5qW%o@yUfx+cc!E^`;Y|3E5Gh0Hwr~FoLIgOKnmPJ9_32| zyq@BsdD7k?Ecg{(_9}4!Pq*>>m0otlZSiC29iekT=ZP%4!jt!dz~rz9S__kcz(eyi zFyjHzxynWV0{Q3VNs8Z0lbp)Y>iV8hQd%xYR6(-nK*`JN!159EEl1`)S`ow!tf}Re zIg3{yHDM2WF#VvtSWU7I&c9fa#WTVf9(CovcUN2jxo)X;7+ z?WiC=&%vvAbw|AE@Wboa1p*F`EpWC<@C!gdc@HUIDg1Wb^UrJ~jxyrP36M|mn01m~ zr2dJjmh$?)`Gvhaae&NHC>v4z{A;xQ#-9_YMEAiv%ke1|49(9=BF^QDsGC&NE;GA6 zv_uUlv;WBTyfagFn)tQplOyh|?|O`Y^-niP+Fgyazp*zWWU-}5Fg}nDOWyF~U2@MT zVJf#H=84UD0wr zU^Xm{J%Xf?SptFshxolSxm^*=60Z_DHvF9M--k~PvD&O>Rl4voUsI$i064_DQkGuX z2`$x7P*Sl5CSN&W?qiD4sK=`I&lzrLa@tTNm6$KN4I!;%Pf=tZ#6Q#Nl?-wBST!BD zGo4`E41F>D__kpxHUcbN?KSfgR)l5XYXg&wz0drWX0*8NqX7v8Df*qz9Q=u?{rc|{ z0XrhD24yf0l1LIu7W^T1fCAE(NtxRw`X2HG$e@Cg<5YtMTcvhB4XF`$UD{NK?iH%2 z@u@0g{UeE0Tr>L#+3tYlBBLY2Zs<9IPXGDsJIMX)6Ni`lV4fyUDtv*9|Ly)N3P!+s zVM^f)wL=tVp>sxHOBxL@k;K@zlk1p>O~TYo3Xr({>}5_z(xLnNYLYu2s1c?V$IK5| z)&Ms^WJJxuO^0_S4MhJ6_a3L=F6tFWRFa5Ke--%fncDe@&ZlQ8$Uf8tK6k5^cZL`zpc6(BzGJn||>%B8~f)Mk{= zKwbR%f$t(xx>gR<8695PN91aJveKsx`gH>f%P3vBcr>5?D^IQx^ZWaS4EgJOR+yib zi<_2#Tz5>C9xSGfz3=Aq*~}vSUBd~~UPX-Qm6dBx;N6G0c9nN+(0|d|aokx%I$i|s zfR5L#U-0qIiXS6KyWze$C%IVn?yAvNL5q%^4C?`*c&_3bh^{yXfRjiS`W^a=p+8>R zL`4zYMmswE;mj8;p0=_c-c$TOkGEiwB}uCF=c)B!KHx#n)!lIPf+DN>zsTU<<`U*U zJvmwO76o*wK5yaoJtS0AVR-~tsY6L0%S#92`l}}AUHi!3o>43N>oM9s)Exd``wo(J zU!`ARIcS!6F7G0t4WgKCE|Fk zkPOQJJfT`t+Dqw=kPb$V&xdSH_$QE``=FBv&d0v|(R3GW&$7f@k z;*Wg-D=Wunx1|Y0E65|nYaz`N=9Z2+yoQfKJZ|a#s$q2D1cZLu;vEQb5$B^jD9G$q zH3Zr7jRQa$UZzc5fm(l>~r=BnGjPZiYpEEsB(qxj<3`Z#o=OtB4MLx;+>$ zl|m#m!FD13g6cJ~B~1Ng6DzH5)GrXF{J3eaPpjOjxD#tuh~5Jk6_o-{L9$HG$DFN)cga@5xiF;^`uTG%>P65GBhR}bME^!TOknq)f0ziiCZT9%>PEp zzvRMz&vfF<6hh*8xEecF{;5-Mo&cTzv$ZZE`+u8^L&gB$gT3yWIl}sW##unzpQy%D zBwSj&=O{8CF9Umy7`5nma2xFNeD`ZQ>Yku?XdXyh9K1UsPJQtS3}GLtK0k?jX#L%- z{;YF~xFbD*G=InfR7{%9Bv1jSF142x_6JNvkYV=G>-e1J>{XZ=@ivrkhEv_^((GJ* zKt|~EB5K};i?^~NiHe8=5>0lZ^*%s4zPcn1+7Tz`pgjYTz5+hHX@J~|Ye4g%Hz=QHIDqcU09$HjUHgCp5zHAi z?5JZU{SOUe67S+P5qudZUd_+lDV~D?Hi@Cb-+b-EJ61vc{Qq?audV|M7Y;u@FrLgD zo{K+GEs)^7+@}UZYz_1V;#*QY%Y82c{+z>$-3OqTunG=~tOs7NK46YuI&lPp6`(Wa zP7MgD^{MgWz3MNw#hFehcN?7Ms39>UP}4(J-u=QRQQzt}1t7%v9PeCQKJEYGHp1lYG&}w0Y>l zgNlrU>!tLoXyacRsS#xMlKD%~gK@3Y5hE@zqJyWyS3b{*cGXiWk#nI`$qfuskYfQL zK}TSuKYXtG@R^k&Va)OfNM-rDb&(PN(&9`J*Ox_kYkL;Be$DDso?@23*2i-H>tDPV zyErU-xX1l-(xj6)XfPCR-=F4Yc$3Qs%-kqEpG+X)xw;As|8TK}uW$g|7pnn9 zssBI``4;^I%?`R_Rw@wk8BN^_RCq7lBgohE^SI-!)g2UNo=^6^DG+dmvR)wB)ehNL z>!S3LVl(l*oL+~2Ss#iWHy*@)yE(>MzU#i4YF$lM$<)y{TgnV{^{Y_4`ja7|=p0d> zXAJY4A{msIVDB%H{DCvTjw9uWvuWqZB+iqG{G4X0ZQ4d&;lj09>y(?Rwee>3{zfUk zVcldq61*n9&ET_qf1xHlDo6$#)X=0x?XFx>8$=lC#F_yI!p_GtP`A8MyqRq-!XNkz z`csOh;B&m(el6G)7(DQxt6`#KSbyX){O#grBE6xi$#uYp(ZN^%d(Ql< zv|yl3!@F#LF%)&HOs+T(HdfO|>^{4oytNvgsUnY?c?r5ti`B$C_$-1xF$nw%*w}{4znRGf`7LsWiW0TcT08XOJDgr2b z`U9SWc@VB7@l($Ht8J4WIx}YgMcA1nl5%P8$lqu>ZZyyaO%Zf~s+V?$ra%j2{v`tA zbG*k#lt0vh>56A=i%q;IXIL#C>i~}xiw*h5(FFnBmLWo{J7(Q-(db{Cb5iT47N!s1 zu?n&>c;+&s_bW$~!~i+|Vto}cRjMQU>pQvL9v{(v@gouJR9N%(L(C%IrP;ug^PIgb z@*`XY=M$1}C3ZRVi?tR_&Fqe&qLAc@y&dIi7ahn95dp|XoLVBo^uK4Z812IuXk1>V zC&kx$Uur;wG?4R-F$o{G5;4mt!DEXT-%8R&b3(wJc;xcLQK!T=T2p6+7Vqb%TKm~U zXXztYi2}b>kKTOpcmX1OeD4^}`u>UB;Nf9JSy3wgYcktxM%X;v*`$vSsD-rTzrX*{ zTOjw=ZOjO)Le*dWk6?(iK8tUISl)^WKV&EJ`|JzJwFDFhK`(ahMzdDh4ZE}qPhSl1 z0kpPM?>}k5N9@6Z`^a{AjKpsEaG@srNe9y zzSX5U3jd>Tk7q4tyRps#{I(B7mE^q)HtE+PywaWnHb5Su>?&w_3lv*IkSLlCZ5|Oy zRPtXEI{E9sKOeRh3PPZT4FFdqLpwu+gn2XJN%UG5znn0A7Es~QsXMY+!@4HLHqx1Z zWVQ;V=dnuOUxzWUkN`0LC@L0W2}R+e&V*Y{4WZ*L(G1uD=PqOzA7lae6R?GjUlHpbRPw z>3*Sj*+^=s11o(I#5dia=WVMFUWfsb(zk&X9bj5BpMP!ScAPViCorK41@Np9{N|Gj z0Tm2WF!id;lkjvO|CV_Vog{ZoL}W8(gaZ-hL{nV4ippO>pc&`j)p!M?2IT|>C}JpB zX&cDgfr^(%yckjlKgdd1xyOH70Xva9M^#&va~ahoYU)X#yUw&muB>aOI=t_2l(;&bQyvW8+1-9NS~#fYeYCvb4z-W5GJYyXci!N z4CdOne%+4+=VETziHAQlfxJsya4Ed+G=oy9MA8c}K4|s&w2n71k6}GAJ-bNvW2jIL zCPM7zorITq1x!AsRGWmqbb=P z!7{o_s3W!olV(wjYT%(mfBLYBHT)`<`AI4_=wmA7p2PiHSMg-F2jVMB)q)z8UTjAL z573)=YEP${`CgYmNzu88B=mDRB2#<&dXvm_yci~n*QQ!w%b`CF^yvRA`m?}SS9 zZ{T+Z7%`8~dPW-&Eg*InSP^uZoNC}=gu%sp>%-Gx9)QT<$D1S*ytYjegE2KJ`<^!m z_>l`%*7D!1yY2Yi$L<;zxF0=fSO-Fi#SFMmmex7op}gPxA9M{FFRiYj#>j5Oc_WA^ zp49d80sYp$9Qa>t@l~(}J_|&V+dz;!3eL7G!xJ0@LFrt3dV|^uGNOq`SZyUubkh-K6?_ z5DUo+JDxAW{-iPg^*rf!@)u!GhEuJ(N?f5p(?tN~mZl%+uC+F7;Z5jI+|GA##76{Y zL~A%${;bggm1ciog=8^UdCj8hV3AmtiVcTQBNK7@URQEqA+(g;VxrgZ|1z7GlBz-f z7?f*KKU($oyB(HAUH_;cMF?wPlBsDG~2~2CkQzli_n9j(g;VnFGL!BJv z4#v_^t*gk*Tb{rx^GUGVU*M`^IlQuzy}@&ctG&m)NJ8mWD6|PEchXeXB@E-*b$-8V zfiBnNtWLUj4=i?m=;7LQv~c;X!VS$c<)PBHM@w$G=CdF`le^;)N`YjcyuT==z%u5C z^pN?>v(*8wuRY*klA{asT9RKB5Y$?e51~*ziwHJ-hM*scuvR<;muzZ$1Oc-3 zrO52ZQs!xOmo!lmxjCQEv(UiJekG^JB=0xrLzNn-1O9m|@-|{B+Ef z_SK`M5M<9Y!j&_)ZVki8lE{b823_3bK>rhe?6}ZY_X*pb^DG%H_s9D4CiUm9Zu8D8 ztT!YJuJ(3^47QidodFW03Vi0@$H71_H!U9z{ISE07us5}KR;)t)OD#6Asm>rEYU)A z@XpMi-fik#%knX{_MMZW$pr)j7Ht3PxFC;~izx!=d!_PExp&nlpLu<9A{`%@ zPCiQh)Om2GQ2Se_nA=k+%~c8Q95930Q%Wnj>wI(8eP7&@tu?N2^h-zq(X-)pLq;Iu zO4mYk1WSNbWaS?}fA8OkOR5^LZ|(B&dnP7v?zRDYC(KJLyO?qJ`dIt!y%(ATn9f>;%d9V~o5RPm-|xlj zmQ#-&r}&X@2}ufl_EodhJU13Of+&D>knYo{t$a~5aoo$QbNa!abv!bxD%W)xeyr3R z%W&dKlE@@+*~F053dfz`(>jxQ}+XITxD$ zZIxNiI+1veidNKWrOf94%nan{>^l(Ib6XXeatz|7m8HHDI0ud+sUxl#pYj9kACDfSEI7)P2I`yo@C-iQCl(yX zRC@E!X>vWL(;A+h8zk!Y^>~*Era%p*_;SH6y3w{jq&P+B$IeUkB zo22?e_!unYCB%8jy_EQ|HUq@TgjABR!7R>s{*7bn1^7c4iKvdbh}rVp$_t#;wx!}? zm~1t{eBwFsPje6Eki)%eV4PtL2)RJp7o#;;tsvno2+fEqET~^WA7%exQVI;Vm9#l=gl{5Dh(vvW~P- z*ZmSq72tt5%GrKKhX{wPFinXQ*vkz~&k4M**9Y;Zuk-UF%lo2DX__O9@qMZ_#^&(^bcJs2RbTF18GHyvFEj09+?xQbkx!YD5 z-PxY_&8$kGwQ%7f*xc2C8A6BRkF&mGrBJI&;gcLp0_Kit zaMPa8;}M{9eX+%cIUd!wj`>)Vd^mqGC)qk?qvT#p;wvB)6%xV}8^eR2^D_7esGW>H zT|e*TDveso5vR(+dnJ1CB!SPodwnTLZjOV`_2hkV{BFbIxpqb;5F5Bc;!&F z=QIi%iC{V%EFiD~h6en5vQ#1oYx7vbu?wul-yl?*iX(K_7|=a5Cq0tHE1P%4Kl|cY zwn&ii35sB^#w5^?JbZ%{lih=^TyeQC@gpX)_uRT zbG}<|3%DwunEgA%IH+^EE51wJe1u|d1UPvuW}wN809d6mh_wB==6RBp|J+%PXr5KW zCF?{u_dSsi9S>gV#^R5Ih~KR9{UG;%BYn9PsKp?A)np&+gmOMwbonj!>pqmJGA9rC z=qfX3ZD?;~5SU}dhIl`I=AZo;$wyRY0~^7Lh_QW7JNq-BdCNg=+iCFIU{}YWG(SVX zjN>!cX?SA@WFaZdC<+OF^_z#rC~D8^KLq-@B$*=@rYGv9NfLcwXte_ikm+0dSd9OH z^6l$u{I|uWFiVQ>gPS})#PhT~O<&fYz9Iw|?tn^QbmK27i^A|?;T7Gya>|U@2}}Np zpHbe}8<0S=_p~E8z>#wN<#c&^5@$AFA<33Ntn{6&O7LM)5KZ^)zZLiaMZ9>4&C+c= zZ&Nl(InO-sclxBn7zr(93^}j&D^O8*ce``g7mxk=eW2=_z*kIv!$i=poUt6Le*;GhBJbCc3+YSNMi?rK*S1gtNV3u6#U*T7mqsUVi)11UQFKB=I zMogy*H>842T;ce`Rq3OO*(33;LL#&w`pZ;%TMlvi+(+Jq_h7eh)>bW{1}LP8yJ_SR zXt^hp`AsJWw_*)WNj`QzA^J=cuCdE^z2PyyrX=yz(f#NAsNZ?kq7h7Lh9;oEUE9lw zop%)Xds+3A_{0dUFWKr;NeDFLg|w-C{qm-7FLy+?D_x}Fvn*M&3;unTUMoalI6d9- zW8ZQkf*Rs~u&E=uF`XHu)f-_V3RE;8@lt(X@heq_?W^nuVjx78&>Tv^`c0Z;oKGG(3eV!z+uRSd#U@sROtb zC%65tP0vg#E;XkFTyRED^&m_J{#l1+A)b^~Wgl$TRc%1Oy$flo7Uw#R|3z|Ob7Xag zcsnVrPN2O(v3~fhAnxb<#=&FxL6->E?13QpTw?i%o>I02hq)V72`%|GLmx_~yS1gR zHeGznUDEwCE0T*hUR?wW{PF1PF%C^(t07J~^7Syyg2SIHbB5#zm-Oye2DGWvH#G!* zJ8i1Pu#>Conb_A@p)<0dRApqQCJKwFN!5#DGz%yzOAYi#7n3!VXQp@!A=Jm+Hh?h> ztWg~m18zIne=q93E4}a)OouF(j$(u4WBy~v8XvQvISwpVn?F3)n!rbe^EJd%IZ9S3 zZ^11F&pHaCK?7#7kIHuahWcE!sE9KRZr*xWGiGLviji{;L)b>bx8!y8u;Gk(%50-(5MXgqhJR>={vlg^$F zt*s#w(*7U#lYAV0HNvZcZ4OA0rEEwU2s^p~{n_$R2g|*CLygHMB}%378Hh5(UoDs1 z{{wnQ9mP7Zrv$c?oMHGcxdI%(wFkulzkJLc|a#{WFQR^Ck&P z7q_Qw|72WGlm*mlK^#?vZbRB|J4s&egMNo+*8NH=CDQC~F35i0(Y}%#t~jLh z;T7yR|AUUd@ZJ0Tp$b+S{dJVwy9J_Mp?7d8{LFlEr~Y#`d83|_(en@H&2(EvDHpxc z@f`s)m<((1+{pxVXPJ;JmZUu;5F^=&F+?CyKH|P_37FpzmY%d4OsPCT@KA>7D?u$s zvX>o9I-`}*vXe`(JKuqV#5BBzAgIfGcl1*1;+=Q?57d1r1n-*?lyyg@;0m{U9l2#* zb7M5YYNkKk6K!lTJ>z+;)n$3~!@|lkn8ewvOZQX4Am4iFA@xn-SmR%lnkjC26BK1( z>^|xx6w^%5toHkE`LXBM92;+nJ-&m~N(q%}y(lc%BOHdI|zxs``9E;J;37*s8!sq9pN#%Tn15ta;OgNC90OYkM*B#kLEYSz!ys2+e{} z_jvH+WAksU2%U<ILX&5bZ9)sUk(lPEPiv)N$wg2b>62 z9j!-Z%AkQ)`#GtpW#0e9oAM_6CNWk@D_Mg6bdds)r!#R;(+e7)OUwMF$>DP=r4cKI zkmlv#P4r0%3%0B{&Oh#0i13IUa~(t6(3Wt?_Fwg0$rieHWwpe=xkD6p4dA{POM zO@txmYC>(*gfmLA*UPak{j*n!m0*^@P-iQ#r3(|w?^+o3;(z6og+d5c*8Nqn1_O5=SB)aAG=D%XtdtOLg+N%Z=LkwO(Y(LUZ&%M=gao{Px$>jS! zig_2_i@jJV>8+ldzX`T^`V0J!X>dBc+k-e^e=6U0XTiF@Cao|#t&z9W;KhMt_$XVv zcKj=;QvkdWlMZ$xQo&07@+MdK(L^y%(?sdS4{F!}?0sSYd-S4IK%uj5IfbpB5H7eP zp4)M65|!9D$sJ`zlR6g7Nxj?X5kG3HlA*w>MMWCN$(p2(t_RMK^ zwEY)%2;Hb!bT$ci@k(}=c-@FSDuX5eN62D5-iH}FjYwc#?J=H@9M2#Gwo*^BJl};$ zn*{wZAfim62;SSus`cv{CDMG0sv14h_bqyNgSIB$DyesFcQ;ssC!?z|6xY^SMr*|9 zS@Oq3cxzxht~TOx;T%INB2Dtx41Tk2d6{~I6|=murjljK$!V0bBS+7CNQgNAxP3bA zfL)g!dceG7;fD1~r@?9)7Z>%)qxg|q7k^A_1TD0GHQaNr566zHVVy5tzI5qAb{1}r zuid2h@bs&+Lb_g*9FWIBBI3PoW$z?4lWCb5=bu{7r!;J=FFSTqY9G~Y>^h5wtv*J( zX{J$%c@5kFxfA!U53U-L*+%)$R7oW6rXvKMwzJksi>bjaUfqBk$(wHrglDJdXlZ`}%(*m%cMUo>-3jvxYjFrwOpGa)WH{ zH&`u7XoZ)MY-%raU;rdD6xrh)i{Rn;E=#YtC%k(`vnEdusu_4ni;hgkN1y&Ti2@Z7 z_3jtE>9RFEp2Hz_l`4yHPzvY5?6PqB4NDs|7TdYd?|WRG=-t_&q}spi2@xY%G%k zo^NejLk`1NEQK-@j)sa)KN-0LwSgGIM{llKznU-j0Wh@{psw_(0cMf9Wv2RceE_<{;?E{rvl+Fw9R0>S}gH}_fIkX1bsejyzn`2}mR;X5iKzkr( zU(tnxMO-YZ-r(6>_wI{f5B4seF5BpHzV|b`^`DHd9F`YyPn7E78o<7zFu0`13ZV%z zR(xfc7ueAIVZX$nN6>%EPv7A;=e}trjcR6@Nbs8v9_;dvt54CjMYVu&$u)EkQYCH+ zJEK8}IBE>*JU-E!jokSwMr^zh8<5c~W?q^4-ptRT)hl!~*YVabXN>S*vX?6#-yQOC ziHuTW2JzR@v)?l#Aa=LPpvTDXt*_RF?&;?+V#cz+i{E=^MHGFVK#r9Rv@QiFS-NEv z)eqUhs-`S5Bh??2dMO`*qV>7F*JDTrqob|rK9z%~)H-C$bf2QfXj);R9)+I<}apkhY5w$T44zZ4aywihbcX6ZNf^#JteXWT9A@ zia-46O_cQK7piH(6pTng4W3_~U^YQRopp#58~z#^O&$RokTSK8QC8`kF{a0;y10S% z>2kCju&&b@ncc79DzIycf46;>H$xySuGO^Db_2ZT0sA}|AN#7Un!gzTt)u$woocGb zUs~E0Dt7%aqU)Rs1&oC4zwaG|rY2&=CFuzzf$v22SD|XMY)OkUA9}2*upgZSGY9Hm z68%qxdGTHd5Zw+fA>)7I3MyB3DWBLfF5} z8-otI++SPTK*ypt5b*mp5M!?buuf$lH^h-+$vmVfl3W~q^fXf_pe5)h+Fj@`1L#Nu}E%k!e-%f42qqVg|)ADHs+y9oYdGJ4+bkQ4? zAI{=FH74)Ind{(2d*E4-*5m3Ox5T_l1u~9E5q+}-I1jm9nc6R-Rq?N=m7i)NS;k3e zisk!5J8-NITlw)SXlVt#Qb~@psjk^Tyf5Ix7V!yDG5=g`IUoivR`U*Ikk!5)jR?9} zxY>z{BL{d>QWCT9VA@Q64t+I1!9?jyYImK6Ne<-J{cNnmW6HPnbpO9>R(a3MZ1D<` zx^f2>730fSKsNhG#cYhN1w7e-K0&M##HN33($QKr7&f)x)W4UiH~=F2I^R^!p&fVa zRDdP$)du3&kv3FKc3D(K@9aH2nZ9VMeGu^I=G`B(8HW*~L&GM0@MkKw+|4R0i4dbO zr~BO7_l4`zC|t2}61}4}IcuZ=)&~7!BLgZ_?Mh&7y_gREVt9eXCnP=&JMHn-pO1XX z8Nvis05`tP`K-a`(H@0#c=n&i)D2_O^?QXmHRR1QnZMM2$Jn6vNMaJZ$>3C2m$Tvp z{;ASAW=Kx9ALfq-(HoTq(z}+4?O&{b(B?)kwDiEwsPwmcZ+nEpW8H;BIIO%R>g9<> zTwUFt!#C_K*e@)?DAK+|o12V}kr}QP{H~y>^$w%7YN#sOjq+arY(02o?%w0)bfl3f zScVfx*gjt7Lcwa{;BHUR{VK-H=oEm3WbRq6yK)HnlZQpBPQa6Xcm^ z_(FOw=BsvNF$$Oj1H+;DVW(YiqUSauf5ucAMCI&BpLh_i z68^n}Dws1J|HkbKm^I%;(tXI+GL9uRI2W#2(Vm_i;yi{b=)Xo|6w~43M?aZPa+yvm zK(!jeo{zd7;)VT9%&7kh#K=~6mPBV>+?RrFl-)LGRGfZ{l_2q*H-DsF=F>yoqH7RF z(0hoL=IgH;N=I>4B;RG(-d@}%TuV+5+CYF+v=r!sm+m?7`ArP0A;K{v2>OSC$YW zRv7?u=#F%<*JJmIs{d3RH+RGhu{PN0oJ5>>@10-$S?^#@ADkv#xG{gxguEA!cDNVe zoO%?(dydqEvh8lOSVr?_b%R8GfWH8nl5B9gSo*K1c;vXhFntLS9W4?=+)MeavM(ZA z^VXOH-j4!sz(Yq>Wn*Q6ZZBX_G_-3H| z`c^V`ic+-WZlmw6r{w+0T&K(AxSGB>AST;8CAn|dC9&63+Y|fhvn8NQ<76EZbb0%sKYzih|I&set_t8V&+zjO zHqXnU$CiL`!le|0JyXtVN(QK|1410L|9bV@7BQjiAy40*C(9jB;l#x04kW6bI{46M z^vMSb25z4ZyxETvc{R3pahHxT9Zza&lYV!k%>Xz4FtRcT=``6(?#<~yL`7UJ$zmv@ zh7RV(_g^pnYz}*B-gOe*1$N60wSBcplU1`g z@@=a&&u^2kc`{uG#@+z6suw?5O;>s_yIlW+6a^jL$KFQ&gTYI%rbvpno+W~Q)TCgg zxNS%dIftkL^FA_vUb9B924of)cZyMRD|E#eQ4DQg-q{#5z`fMIG!&nf)!L8^!yQB# zghT0Kp?8y>sK!cn@cYZKgw_tx2tGZvnQaZxX=@E*c?iBAW{x?c?fH2+F|_ z1vkwF5}^m^@Ija7%nE(W4iC)#hp}&~73bL}$LS#__}ayaFSj$l8Q{z$RBmn8aXYg6 z9iB%B9q#dALeajCU!p#@#(6?kUG{6D7u;?&G7*vkQ5y;v&OjUCmCLNT4O*Ju6qRAe z&5k0;=XeSw?8KU;;?&WO22T+*$Oe68&3Serj=qlJ@A{Ah?bAv~FvO12eqX!}7&Mb` zt>6tg^zzO-KUPFz^!P(32b^o1Cpg@I?30N)D5eoEd`P)oDtW7kzFHf1qxHTct9Y5( zbY85d@&G|BK|L#3Lk}Of77=CFz^UBA-nSYG6FW0P+Ro1ssKthUQO&i;tU{igi7 zZATd}@n|sTWJ2aRr2}26r9t>JS1iuTNAOR`1f0hVGy35(A36vV;fPF|dP4O&0lY9V z7I_=tp@zsO=%HyZ18O<6%g5gQ-%QGHV`OUVg0ojw^)Df*}nes%XYPm%d*5MpjNW9cY1H2r;yYM;7}ANeGK z1F<0Iy?jVF!F64qbe}Ot6h`L%oTPSM1Y{ZJIIzRfJGFwc}iTc>+h~ zuqRGB=E>N4mpr(76Q6#bq*fVPPLjtj+a0B3E(RH;qPi!NV$0i<;xhN0>x8MDF0qA{5a6MeO8c((Yo=7YuCv3ZUO?%e79DuC;U zvag-({asuWoOEg)Jwe?xY`kbADKCGExzwBJEu77y^5jTT<+*OzxzRzQJmxIN=e&u{ z-9oo5IF#$U9ED-)9kXmQERDjO(!w<>PyiLF9>1+6ilYiA3?Kr~_xSO&Y_UU5vtgem z*4F*{>?1Ti_tjvz7qY8mt@Pgo0~q0rhQEszzrWGWL6*2{GZgR|Be_NM+frbld!HyDrh@?{7Ca( zlNH{sp>Erjl%k>Dr-(t=U}Jas4Z4#w@C}SdS6^@--Z;=E9}t;ER(08jlYl-FozX{p z+3k7|!@{cZdIyeO7*9|sPO1h1uE^oikF=PZW#UiNpE;oeWX46&8>2gFH#y2F!^>+b zP74e?1>AbRj&cXM-h~-|hOK+vckE$|Ak zR43c(!jf-z=%8tObrpBmm6l#8qJHpSkyBdq_3Pg%4dT9$VQ;B(u0aSDWk3ZO197Y} z!MtU?fL*s8;DZ$~RB!3{etDH0^^_$F(!AJPpTEP0xBG|%c>67c1x1_SV`PFwsqRLt=ErOQFjx)^;Q=@N#O zLz;g$(A8YB*HsqMO1C>8TN_03sT63KMEg}&jpDc+IwDIA9yE9uHB0CNBLn#3)b|(E zoj*&TpIF7DdL`)%U`e9tDKsd&qr{I zfU2)9hb4{oPJ8=W6GuLh z{?l0lCevnYuRl&ZNiOO)l+IP8@f$r4FO&(X*YjX^NzQ*fzSlWa+@eLHx9?VsaLjwZ z$gN$Jp4Iri9-N6k^{aW_1>v!EkmsM|%^&oNHI*!VZED3qoO@1=~Hn6On({lemQiDkNaD)0+eGKc(mu6jMgNWWdW5BOq;3jp_`x>h5(vruA z^&LF-KHKlGH=ky3E4Qv1)64M(`6mFY!CW&_oluwxktnYeffF& z`Hq==kf7&c&gAezb1X{m2k28xwslCB6GTK3dMZei!3|bL2|}aPO}1FV>E!G+Qh!LJ zums=tL+@Q{V2rCKFh**0=W}K~$L#ju++RrQys&L>gL0LIYz+36zx})4LNun^K6dQr z)4B5G^k{)#(N( z?T(yFeA@ceX@o>HsV0}c9y_n5;DV8!Ia-%q1Dj$7F#LyJp6%EqAbO0NvkW7AqM{h> ze{&9z*Cm{g{O`w+M9)F@o%KYs{(K=@MU(M&+q6#CO*BRha*0eKK}+oGX-m9M1wYYN zRa?{X)dI+bC#-ok9p*M8f7-CfW08$C+0}Qd3@PbbrPy+&>Q;W75L{?o3)oK}%}Dx} zS&qeR2!-{3%!rZEFBO z_RoWBNf`J%ak6#(>O&F@um#ik1{5+pt4wfteW8d?eGck97eOTVz6>#eN&dUI&O>>L z*XTc?6ts_klao*=Px^ntlKK}+d$0hzMsNjg_2~UH+g52EW;`aKe(bKBuAYlFi65}D zO)8MQ##fM0fW#FTvuOW{F-0sdYJU8XeXgK#Zupm5GuS?<40InB(oY9c=-mKp1gHm` zvYqo?#vrH@-U&vB9xM9wVFCJ?K;t{|x{|qi42|T$AI>b!Gti|!TTZr!SfaFTL_OpE z?TlFmt$mh$KC9d5nJ8eggRAjNT;||yekn0?F4#`ZfeUyKG<>`@_I`!^b&`uN27A!@ zyqYXuj+fPD&TVk9_T7$|$ye<0+0Y)#u3=IzB|T6kC_#6lA3fAUvZ}pt`k}_+IPmO~ zvqbKE{+|cmD2TH1$wXW>U>f7u0#ob8Poio(jV3rGA@~+=s+1=m?}=u&eV!D4+%vJr zHWMj-<{$aVKvI#UbgrsQqe=_)!0X}IXO%0shv0Qd2+y}YNXV>~L!6FEjI&5n1QksO zW_1Xv(KndR$)Qj;=jJ&EaAU*$uugJ^8^KeLvvhQ_e^JfHX;}mjvtAGiOE&<*+4xis1& zeM7V9Kc5G`i&#*@!3{c)nqzUKRBkza$yMt-m1q~^8Pohav)heAoea~;J{2{D#n@=A zp}c-?8W;0~Ad9*){qr9kILMdA0_t|J5MqLH&zD+uzt9)b^NRZPY|Oz=;?qEKuQ&Y| zE6^N3CUdY6g$R&98F!cgruM-fb`9`^IwR2B%qOrAe?BKv9+Af)W+krDCZ^NPcQdFG z?sf&M^}dg9nVNI=ibh2jX!4Mu$XY`B*PSt1DA#|^H8g*r%CVdnUVOq@mn4A(n)F&_ z=^$`kG{A_@ANSCM$)dsLdm8`U!ERoN@Mmbk=nD$LoD20pZ^wjpmi~iwi&u!C?(xSF zs?N)p#Xnbv=eiaF|oy|(fIx?q0tRypZ>u0My?s5aVb-=xP^hB>DqY{BeLE z!?~0011dd+e-~)|;m!}uyB#f?tpKvDGA>`_VJFs(kW!f6ArGA4mVBJwB~CMwHuFC? z4qQUePE{2W&tX;lq3@tC3Q{wF^GhkUu4hY@L^zuf8;9Of)iu@jqzN32iOM$bUTB?I zlV&>FARlEf=on45?GvltnCObB@PQ9)aYUwEh}rK@x-+Icl~kclLZ{^XCagzx5^saV z&G29`Z|?-gOoK|hOYe%G@Gk#>@mxKz(aB*CH3Tk#_@4-(eh>O;CjK1hJ$;~WabL$? zyjW_ROzvqgb*WL;PUCdx^D(2Ld^g~8=Y)B#?}i#(z9t8LIPmCOMf35}_h)Sdunl(Y zPGT&C|7C*bZg0?>=(bN)Y<%!3?7#){j|bMzUa1!$_m@%TBc*jNboOXO@MSFEL8vR1 zNVR9RHb4r!lVsz3YKPo5h$fwIO9+`|sepPSrGHO40TQ3aK<8S^%~wLMF~B^7k6S${ z_;Nn4(18Cs_E@Pqj_|WZRO1eqKOYfdQ8pkEi8eB`#iFvs;XXMk|Z-P5WM#9f4 zzW#(1GNh?lDWy>j>DNb|4*v55fIJBy<}GNbo{q~L>k)mU0cgmog7L05RW zCM_EgM%ZR`UZ1Ek!LVW0#kep{nNgiLC9!1Gf#!-!tRwtp8ScQ#$-6-Pu2bsgq()cR zUm0K~EvE(hCdWA{FvVDoZ*wZ=D%Vdi zaK6F)3-3W-nCq7U(~A5`Q;$JC5hu~0T^|0I@${G5Hud_Sch)XiZ`T;mx69Qin~loH z6T29g#_4O@@5F|r`A=P|`FF5DxV-cd<)bCNdB6^`pF)4Ary!QfZzstgH2?eL8nu&i5I^r3x@L%oeIFCR~W+qE}g)taV%jv3M@;(VkM&q{1xJ1gwZ?3;M#@@j3H*`3UyUYmR+gO-l+`exHIot zM*cMt!#gJ6aZ@eI*=C+G``iMog0G#QvtqZRr5T?|n6;z|lw5C+7fy&Dq?57;@Z1zf z@smIq9kB{V>CXk7qkUU^dYaxLS4qW$3wE+beo|lUx!Z}Y=%zLL{XKY9D@l7){`l6z z@rWozTShNceJ{YxOf3FmiLup54LXyyhd|=E?@I$mX}(ECy%49* zJ^RkrN#ARryNm`C-mF=tr=F700(6&-3gN$v^vNYZnm9U@#DN|54D&}9_kNptp!qI} ztm5LFH_e)o)|BvimC-#p6J0dPWsIC5QwqYwmMLZost#pbe{y+=3NZ zl^C`2Sv!2x{dKT^2WFDOI|$nbSLI$+vI=>veVjM&%kNAuVc(~)Fw?$eHhHdZD@YJ_$*Ea&Fr+VE9 z-SY6BkwGNr`s7PW>UP>gp%|xaF}tl}5E$B?|MRDPuHxsZ`E(V4jT5#kAkD(Sdg8Hu zXRW7xwrB3UtFv`>nrSen6`3{%F>h(lWK}cygg&9(Aae1cN|Yx)G)Y7@XJ@+m6UQVc zJ^ff;-y!m?p>HYmRfh6Adm}qn&OO7@gHD}xbF5C$iRxBP41ABse_Qw^a7c{ zlNUEGh>-rY>|Gim1V3l;dGj`KhPdTob}~-`xu}6X@+M2Z#hE*M!Dzi@hk$G4JBA(; z1T-`>oQfJ6lvs-4o)mTRt|cIf{N!yc#~2js#)!}9^^3!mi-Ee-Jg}wDn`EcOe>TcC40X@LPF&wiIzgQl zaqGv(mlW79LK*HsOGt6U6!6W8q8bU}0$UF)*2rXb>%cit?n7LpNO8XV)ds~vloO%VTN*ZLm|cQFS%TIxkL08~s-q33ZqjECk}&B=JGn zjkXKh*^(~oJ?3K1Z(M++$7;BF=|v0nSIUTUo~L8p6WtL?0S*qslViySc@+5O{oVHl z(TPF+W239_f%0`YQV!XF2B6(LY%<(`_^&4Z`(&|dv`>8vl5quxlq3h!JnmjpOVNO& z&P<+h4w)}O$TcZThGpjOFUIG1rMgdJ4IhtfBW0s`BdrT$+Pxl2#!5#g&z5_~EP7H{ z_*Cm&^phRNAnEsn#?x%L$YI{!2Hk5{pKf(_b)KQ~xdKAi?YrCDTTB5RJ1H%`hzH~* z5J1N}IBK1k4^xUy;*CavEg>ONr8FsoEG8|Ys9bP@By;CWQB9fqw73CYNT3)*NaO-9 zs{nx=J#>F0;@wuINm-h`ak8}(w%(AQ?YX|}j;Cd`eyT6Wl!fkARmnALml%q8PH+)o zGDC&T^!J8ZEnXFnX_K=n214v`&fYfZyFGiS7k9Qo_mk`1#>(6GofCeJ`aUw3zGgi()S9u zO=BT{SQ!X_q)o+EWM(ev6~M4ko9f|de8qAYct1< zMf>?Q#gJ|@l!ISQuVB5u6f>&)07vor-8@v{`rH}m4ZNVWP2V)69>3z=ai)yy0P<91-oPJB> z0YosWukO-@8!I^gG%04{u2-dGGipWlsC(*4#i=n^SA=_?RyEGkOimdRzkJ;K7qfbw z^Gwgi^18yX(6}~C#!`Qur811S{=G>?y`|rcuf_Nt_lUSN1w)zlqhh$g8;9ns@_kXn z#||`gSxdy04s4I~mf&5yvO34iC{bgdS)_M6OMSXX{6ITsx-N2T2huTvqbsmIoY0w= z7X0j?OB)>}bh3i%J4oWw($?)<2|26meaOF+^j7K z-~F^h_j8`YXgN){J#gYSkLL>MOtHu;frRNqH9v3oN?Z>BsROrp8gGR1Hl(p+Y;6Z8 zrDdisnqOi?IuELIOX05vE}Cp6kx7SfHk4!#e0mh|flVUZ zRx0;AK1wNl5l{pJOl1qKye={9B{rmnfMLd9$)_n^y`>Ze`96`m7vIynQMqx~&u8`T z7!e0$f3@lDxdHXQ7Ow8N(`}Pk(e;-=Q6==N67H{O2Xv;<)jV3PuJ1OSL^))p2Mp1a z(ea*$m`gpMRxIm&E{xVLX!-|8i(&dgCNO1uc6gj61Ci?=`J|TXZyR~pWcA)ERh!9n zSnoK)TxU@9#G$(<+ESrha8&{}A>Wkztp|RT9Jr_Z>2SKf7J9vPi^`xG2S#`PX-T}V zV@EgJ%_s<${>>`Yd`sjCsruVil$oNbW&Yu>HrGnWTQaHF_~#hJNRF-y!OzuxgW8{L z4mkJI$3drj5gCf>g`I`0K}}jYcX!{A;g$^!((pNf5xd4%-9FzaZK_9dBpuDA#Ez?S zdN>E>YSaZ>`%60wyUcJfHIlzd%GPP{xfVsd;@#K$o=;{mPb?hcPX%aASfCw4Da zVIo_NDn6~d+jr%8&`S^*R(KdbbIermPLIeFMQzsdWabKZm3mDCn}!n^ZbS$EgI`He z1JjT-tC6j^7l&TrA8JU-XF&IT-f-g&!sX6?EA2nCtfPe^klL+8ovnZC-lAE?^w(0O z9gRii+FfB!Rxw764`JC#bE>Zvk(B~V8XHkz-;oI1D6+DMxYc3!gjARH`@lu!*~a*o zd81$*CJDttEzL{FxIYGP3X^rTqFwAn#Oh2(`93Frrf8{T4W6rJsGsqfxQu78;YljkTJ@0vsG5MROo#-qYDdH3_n;ad-GUs%`VQVn*d7-$+_j)VUUf;BfkyHAlUC zjWmLL_^3O-<#&uT4w8F+A}ZeV#s&5TvNP`za9QgaVmQ&NEI;e8(BZ6V=`Iprfh|6*0ZV-Bz+xIA+yl>5i0BBY=?GG|0={VuMRZ-Is1z3{bw_*e3@J4?SRZiq;dTrUz1 zfZsZigui>?-GG22k3wU>M*3BdtYIQTm0;yJ+h@^DX zDp<~2O@)kn{Zihb!GBdC6u*zf5C38y$u3^UQ}Fcu8f9*!UBj<3Mf(kBzv0!oH`kN% zDsM6y?j#EsEW@bD*H;`@`EAXj|43s7%62EZ36+^=~mE|F_>AhcQ3y^Vl4gMY7*_sUha zB#F0L^jOi{)&0lS)WhRWMS~{`SSIv6MFZjOa=o5ZFpmn=c3matmqUwze@U|&?_2F# zOdt=3-Uh}G4&5JWyV?{Ah}`>==Tmr$jEG0u06LE|Xzu4RUD9aFRy+}w>pPANE9Rh|3dzR*aZdI~q3JU%8rS$Zah_9>|7q@Bcsu0*h64AhN<^{dgMESv$wQF}0+s2ZyjouAo z9#xM0WJ!T!240FG&?TI;Bcxor&aq(F+js?}Y6``%)y_O!_hcAFhke|+sK#_IlXvPc ztyJo5*iY|Sy}Hq?KLjyafn!3Uynm{w*NC9iilW#0vbI)dOBeDKbnQYP$dZNJxTFPJ|r~>vtQ9_dpYyy4h-0G5wkqqjqhG}$?=8;59n3zO`^h00;*-*w< zE$@L>vDJ7sP<$lVt6OJ#Hmz_Hoje>%4MUeZu7cy}rl;>a>zbu;~) z|9V*&_R9~o(GGS;1)a>^#{ zA({z_7fx%a)cc>_S_~?lIMj+Yq`aYCYBHvo@8DfK!UDzr{g4kMIuH1-cs;%bt#R~8 z`vEt{CxgKPWSfrj)Kk%y?7glJoe2D;e>gI$J^gh#MOy0j`;j^leC|i9LF?+qB58@s z-{wjs-6MSZ9_PI=z|=*Izq57KEnt>@6rp z-nLCslH%6jX#$JJj=(ea2Ot^8#1CtK{)Fx$2N9B?8I)14KU?lRu8kO&`P}}2(Tj;E z3}KuuslprIm(bfEAYS7ebIB0p6Q-;Yf2gH0#+X~RG~)u>2m8J{Gw+OF%xR-|`I?E< z<7TntrZFxb37IRPUUo5yAYgFY{>61HiCYcisT1J#7ML#=^cWo5^S z@F2wbcG@IF{IKz>V;SX3?z%*!RBp3dZ1k~aez;mv%ja2`f>a~BcpwpeAMNNMI8?jf zwI4|hY=(nbeWi`-%T{}QPvwlW@aN>V;Iij8xOFm4T|X7w96fs*9ImQo5po@&J~88h zP(Axn{~6c=ZpY5r*tH0OVmgi!@A1NU;WI>W`Yl$#Cd4o{%PeHPR)RjCsGuO!5ub`X z@8OO=c6{NdBNwLO$`_{$&qY4$uxkGrzuefOUEv)lAqoIkChvl1N7R=2wnIz;siLyOez5&uj+O zrStI_cfznDJ{g2_=?cK>=j(7Pq|Qr$_|Y}$@-{Pzcw7T=ag23HQQ>O zD4X!EILc?|Wd zft=xlOg8?U)6xxF9 zn;{R*!nC>5i}%6FPvYawRH$z>wz_QZPXd6?Sv&dpXyfp#v=lhd9C_RRc|}{W4HfFg zjbx|>POrL%>BvRNqT~ep!aq}1iQ(`2fqEVEN`W0QhfEIf`Kd?0hZ#NAI6~BjwVq=S zMMMd2Qxfy58F&jXhv@x;{wE)TgYAf8R~_FITjA^<5}WstfTB(8rXsFWKIix770rq5 zL#?7i?X=$v&V^qr5;(6WMZuM|?tI9MQpMr)_Fd|?_xzibhEJW8L4X>P>E<0Oy8Kw= zI-LN0Y!$xUf$inb^k%!S#fQ*LwwiC=EZ^)2;|~B?!fybtI)3C_xd4?-z|c);;MvuG z)wC}vlz|==PYO`y25_8k1qLMz&jyf$B#hSPwEF9O=`F2Ii$Gv+=DQn>A6Q%vP4H~l zx66)Q3uR7-#_BLltTb&)hz~{=7*i`Vx}GhLk$jkbgkQ$T-%VGWTOjd||@lwC3H~ued+?^bITWbW*_OWw0 z*8&uA0bm{ntE=SG@s`Lz%2vqT2jHex>ciZp#Pa(i1Tu%yLFal1Wm}!a{+8gEz6*Z# z!}u$*LpFr`hKH_1S>EKK3g7zJZfxUw!zF!TJ>C_%%>xcuN>xf-T19^x4i{V9S)%o3 za8T7xOy#vrEL*mt#S0K0&BpZ-MHsTv<@z8MsfpGXgIF+c6NnqGLDi?`r4{;x5@^In z#M-M49Y(i?h`H4+7pr>^%W2(VNv1%-u#S- zd!Z9iBKpp^4=yZd@~jlYDl(!J419y}l;_nffEZdswO8MTK0Ema)|_%NyipI%WEwDf zAq&MH9qdfW#;0pc6;OLMQ(Pq%vZNjtS~aY~j3uy;BI^HJ1QgAt)t=d70mP6q)$Luz zUUcMY-8_zos<3=*r>grG0-%%i?zC|-lRQ9(7KXE?=Ibh9@)Cf{J=>wvg5uf!l*Tdn zroR*cHoc;@4LOUre_Ln^FhgZuUVcN*VUZ`g#E=|)DKdK3v_OEcf6e;2?Y6r{A!^d8 ziWGQe@cT(&&^LrhJY~zDOS24Ck!RQ|SK-Fmg-oUzG9bEeC3@4%NU=3xn3ZC%w zY$F1>cfy6WG3!Wx4I{7p`cLwHW+0 zV9iiVQ=X5>vK12D(I$V%d(sxCqnugF&I=Y%#EQHvAvU!Y@!k`-nzb9xpmf1EC9rXd zEf+IgL-S@g-dAe~CzIEt8vZs~b^I?cmb`|^BwKmD!2LyY3!>m*fv)kUQ#}kaGg*Y9 zFMzAZ5^m2M&LUGb+}nA6W%l;X+U>97j7mLCtp%D4%cIbv_U=j~p*V7i)<%s7+N@Jh zYiKNEb((@(S5U~m5dkcoH+By3gy}xi!Fq9|>O6IYT-oiP7CQy#YHcak#KzunuSdzd zf1EtSV;o2ik<+xUZrksaeO2$p&C&0@JHc~L5mJVM`( zOD+U?yho5s`_-OVZ_hc&h2Mu!bjAAw(oR5r$K9G-F5*l+K_YiO5p?&Mj7ao^PgR`c zk)+%XVGH_`|3xxaNBPnH3-pR4|G0G6sb$85g%^PUPF1z)w zc~U>PXNSIYS$S1-wKNKb>M71Q7}o7kf#z~9M9r9Fu;h-nF{5ft68OXT_dBx@2d76` zOlH}`%~wq!q{N^vvICZwsC^ZJ{w9j#q2rzLCykHvEm}5*L&qIt^}6x}8MI}N4|mH( z5Pqv5Dz6hVV@|GEfrEY}Qf_^GZ;9-(h{q`b}iQh5m=vXA)r0GPpM)PE#` z`u*yrMeO+nmN8)ZPe5usN#IRzLfPHg96k_sh+wIvKbXFqN+B|E7Z73&+>acth`<2N z^*0^Vz;Zj*q9ID4($_C|nDH)zcjMm)yJzNgFK&}tul_6ketebf74o)2$#K@MtgFiA zugGegevS`ip1$d{HN5-ay;U<-w9ELNb&deCqNcGV8phOixK zqg2n*7N8&fn}aDQ>u{-bDlxrslZY=?wEJr;pmGY&Fmciw1N(LU0jZ~9t$-M6Z5Z-|o^OV=H}Y<*=J zwgz4ZPiJ!^5y@{`%W!kWdJW<04nbm=OjDC4r}hi}(kmp-rpw{0hJYE?aK_X3#MQqP z)cbtQt>l%CeUl82lLv!gv#M)nor_-5IqPMrqUwZOP z%oI7L6h{mBm|=6ALTEeWK0l7uy`xb#IaQInH$nCL_o5TUpM(gM_c|pQumIX~x=gxmlHHv}`oso;sKtS)&=w_Wt$5l~sY8UD>5a!9ON1f3YV_$MY#fl$E{}(XGAv z=tirHl?-MsgnkpNfju5raw(HS=8QcBl8x87cwFx031(PNTkDzaeE5opS%*u(tY!X* zlB~Bc@#+Y*YbS(G2Uve`@NFm*`L6|{H2Pp>kR1~-%wZiB*u(Xj1_$udML@kTnB(~or_465J_`rkzQ%m&FL_>hsXK@4@_md4xxSPx z#_AH4$gRD?LH-v_2e$}N#`moKw*@j^4?0sMRM(;q2{C7Rd2j^Glcvgo+SC4tazd^z zO^7Dn<ThUXjBPB=k94&r8TiukAKm~{Z|F$ajF>1}!Q0W=Z$7B;YI zrw-J3ti2uP;UTeC(eMSpL*nHQRQQ$MA5N#uvLA2XnsXM9Qq?S0`&;2yZSAK``zHsm zq?ZIY?$UdPIE-T5K22(6iTW#t=?8tsrO`In30QQD|AudgnGDsi| zA1`T2LR%=Iv{>43KvmhuhBFOspuKjPu}0Y&!QoYYlPY6j+n~o(9#8m<-4di)FikaV zL0luKnY9(4(?=zlAszI?sVGFu_Jru?ASu#iH#FRvj>Sc9xy(43IKTf>%ydSn(YZaS zKjK%^U02Llf{UeNi}uEO$w-Y9<|gPKn?)FKhob0;qz7ZGWu}%-?)dO)IYI!%e`A>s zLz2C9Pkq5fE!KbI$WD#hDv9k9_l^xH_d^ATp~ZD{w}1jxTI+I!9sd_Sdi0GL3w8p@ z6vHI92l1|XE_9dIuT2Pfx|m#8+W0?Yga#& z`}O5F6T5n@xw!cf_G^Mg>(eCOE$>`-rIDNy;NR8_#n#0DrX3Kz3~p&Xa3n`KFGDa4 zL~VGx+I`eszrL+Ay>lmCzhBPLa4R?Mk4btZT_jMVGdIbjW!!2yr=f4f+Q8+yA*>@k zWXiy8yWfPsuQDnw*LqvVfBW9KNXAj0RyJA|Brni~i_zEVx3LTXE)*;j)(G8Rl>HV! zIi8$yC#8k-Lbg)UXbE?6=)*|u)#?wHrUzYSBHB&uzb~V{ixH&YIh0dRZ<>etLhcQE ztv2WSd#-Cs^J8SEdvuX9^>3HwGI!nE73HXZ(*Tt4+qj9cANjZ)2u9Ga{9^U5jkm8;VjvwCn`zZYLWUkiIRoPm%IFCDt6=bmK?--NQ`;@t?u=}j3z{^UMt_raJFkoYu!?GkCa0C#bcdT)-0c)z&3`Li*GE7ZH~&f#WB>Qjm~t?%G13zSo?* zvgCBm#OPYT=C(!dp^79ij+%lo&~NklF!0Xp^S#H_>xx-vsm;c2GWN{Yq=_dtOowU0Y$ff%&PPyEha{bi&D%WR;!c@dK&X4Wy}1)0x7qfRrtFQ<&a?(rB+GU zI-))9-4beu$2&B?{6=PfiCivDn%*gp1@Ts>7AfHLH1LoCAd!2D1<(ToKT3P4BLsUj z5~H3-LxM4?Pmb5V5U8j$^F-jw^HxJumOj5a&imA=JMC8M9>(Z2tBUOS#*U5Y^@w4s z9B@umYh=)jL5YnMZ8rR3h#z@&cDBtCfs~|`WMA9KJ?;1F zewofJ?*{!V5P$y^nRgPU4`u=4p``gE<*XSK+PWVd1n@G{8~!0c!ps-`e26#~g>L{m zDcW%F8}yc!yp13BaD!#qc|tA!`r3Hl|6KVpc*`+qH$Inu|Bmy^HCr1zf-3l(cfCh%)ulP_WQ%W_m^j*8i+gKndW0PNI zwR?JJ{&Z%8*c3q1O(B1UD)ji!IjbmRZklp|>P9_wncivd`@(^H6&Ia`maX9-@isLM zVQN+e0+Gc;rbsZpOm@v z>X;8y0pF@58l#_BbkmW4PSmtRu|*_Uy--%58SOKs3Y7Nk%?jDd2b@*MUAah4`^+zs zyQ#MA=ijFlNT$*+djt+nP}kp>i@2R354bOmjvWQj1WU>0mhK}d-|$rId7>6Efa2b~ zkXpl6+MsX)J#YvMfO2?U2P_>~wKGFm1FC`)^Ig}YqkpQ%&|0kzO@aNbI`l;2bosIh zSzeOjHB4t7I&+w9)M*%N&an(HmPq{InxsjFcfcpb=2+eNw>J5)MD(&HeevZ&Wbzs7 zo2?-VlkJ8*Nxmdrm6T4bvFcYSaL*qbwAd)BmP;3xR75X_d1ON{rcP1~oUWei-06IC z#i@UZuEPM~JIUab20H}5YvYo|l*7Y^GK@nQM|nU?+$Quxm?644?@Q8xoV^ywr&j9` zPYcqJJaG5#48jBIA3H5ZJs+_D+2MssqZ{{%cPS!K#~CH$F0L3b{doPXU72?L-yQ!L z1=XARoS2@Ml3~MlI;6QP#gxpa&qzakQOKc*q_@W=gx-g{Q^-27GbjikJ4CRSSMK9> zhj^1K@8{BwtQe+kJ)YcSEy-wwmbEmC=ui9tuaqLxm$ajUPjo-+48JI6dv)~Vf`s+; zdWGwo5lzg!_U>~mF*pmOy6B8ovCOuiyM%QGrIo@`;NV;4miIDHMv;EyUQu1D!!_*8 zl5$UW-=sKMMx>cuE7ac61^&Pjsdq24n}>dveOE32bK?55)n}1DW;7UMA`;if>fU&>@O=mR*R^yR@2ji32KM*@u5e^U|+!H zjs?0ej8o+XB`DEyicxPY6cV$=CKkDP5m#>Q`=m>LS1HPcmc@&-NE#(pp~>NwGFTPf z_i<0Fr06tk>sELpmn@WMb854Zl9}*NKC-v&9f3F2=aD$P+-J%~VdvnQZH>?P1!@z` zT$Wf~?|2pY_F=?d-=tRvy+{7Lz{)RE2H(}>YEo`@0ufvZ2&`IWEZR1p6Ut)`3IX-t z!MKq|WDNuRucV+aPZ!q6Kec76yIow^Ib?(H2Iu=Iey6(b-=#y;G2`8wA<)dQkvAO9 zOfP`?CA|0OU(Nx=%koxI6&F?Z8foR+zrmqBE5&w*q4aSUK&-ZNqOqW3E^Zg2E~>+k}uEXd6aDaP`ojjR`oWYv3w8zu5=L~@p}w6*25LMa7? zg9|Vwz$4DoryCu3laG_Zq$pWL`_)J2q3>Yy{IqvrmU_G)|Fyw?C=uVA=>=8N3<93~ z8F#B9KS=y3dSxzi=;InQzxPS{p0o}<$hkqZ^?fIwKl`=#kkk}0o|*!(?*7!oW+%fC zlRnIoXMm`4Hs09Sa+R#-mgVe6OchVnz{EPEQ>UCQ!L3pQS)YB%|7LJiHJUb{cYetlwgZ zu#id_ciU_Y6fthZ_};2eu1sGhFQ<}cG?qA$jzFor*|zyXVju`=3~AA^Z5R|KO%VxZ z4t+7=gbH3n>;{XV!bXq~=hI{1jV1?ntAwd4gZ&czqkCOb`oXtOUF*mpbmOSww$t$*zBuD`5TYfF_$hi_+en>5jShb4mScA|hEj9=bjI?D@YR zx#)|HRuQO~`ZmaiQ-sY63WT#y`PyJ_U} z;3t-q4QTL5(XIqFp0+$1*gGS-l|;Nmd}BuK+TlqN9aCUY7QP)2;C_`t;am z(&kC8T0-gVGq<;Ik03yL752zMA(5!L9VubHkJK6f1Zh14b{BQpRlp@$Cy-{V|H zDy>dPI`%NjFBFtA@zwrOWN>`k*F{bIV;I`jYmYrH};_1L;UTJ$PXqx8eS8T z@K|5A1hB6Myr9>SVYDo4i|kdXa!g}%vdXb3@K0JE`mJ{XQlR4!PYV0alY24!D8yE! zdm$rJlhmSBsZ zK`3FSUPt}bE>WqbLKrP6NI!9p0$ABqmvU}hOp;MSr(Te=p96T5MrHBmUCTqsMa%X3 z8^5Z4uUB;j0+@sU%jBF+GE2UHpx&&|sfXjk3$KVN8jbo zd5fIlft-s3sPo3`KtrB`y;hFzhOgfhN#5CFjhpx9> zg7{rQhA)=kit()lwjmg~p)@4;Dciwj>)3bg?Zve=*sv1)-1Wbuwt4%0(u6)N5$TzkpSed&t!F6*q}qAs@Qd>FLAVEoxyJ<@7A85 zbGv$;esBWKX?ezr--I)-6Qg`lMKt}syX@b$Ou1QS$~M0A&{gvg4bq9rOx5@!Tnw>f z_t-5=X`%@zL_H>LJ#;zPEnym~qJxY3B;O761#XZ0WyBk)Iq>oF9DW#29(&zgAxA_$ z!F2U-?H;h7qAqR@V)hfoum>9s=l%YgzYkU*aa-^ zx{oe_CgVKUa5lxk-GDY@h=?|DlSWemT&`sUauw&>WLLN!(0cyrAka9!+oKfMUjzsu zxqlQRA{<@>ZD2Kp)(y}Ut7r2Vb2i{U7P<6Jt7L}%)Z2z;Myr1pIla-Sq!U{FifBGX zjr33Gq~v8o+hP0b_y`jweLcx(N2Js~SHHx2QA01+;#F<2RLa4z`W!~@o09Pa%zhoA zLLpdi6?aj8srfCw&<$IOX+cbtmLoTvPPPB=5v9CPF&;Fy zPeCTXbYwZB#N=c-oJMQ!%i}<3VEb(~Yxd=O=&~6P1%(Lj!34-4;A_fkp!(ZkL?{iz z{p`_`Bf>X7H`kNMX*vNFR<%>}!2SPd`pT#_yQXU-K=9!1?pD0G6^9mgw?eUE#oeJe zEnc8_aVzc)#i3a6;!e=y%l)kHUHNzYoSfNb&fa@wmhdXHcX?gK3->UUU~);vR7V^L z`BfLTiR96WE-%8C0b9E>FQU4y#qiXUdV5yTV+~r-IQ-_~yHgOMUimHfpo&n%xNfr} z#*1lV7S&Jm`x9#q)f}$dV}9=0Ph0W&&V?qRmU43s@R7ExL#Wqi>p*U4%aY z9q;C9uo2WZ%=LykBkn_6IvcY7_5woaeq=f=hQmy0NnTUfyq!6=RVra@z+zIw_6kSg z_vXr$+cc!y;`PmIBBTr*m50kwTI90Pd(aaZQ6dNc--vJ+Vh(+fddh({1z~DDC|~L# zz(7(zue!YCofbq0gQy;?m26RcZH(Paq2|TIgO_yRoW02-8LGJO-L8u-TUeK84{1Rz zC5a<*jDh}ydLOzel+Z)b9fk!a1(Q>vYWQMv&g-7?w1c{4QA;@tPfQ2f@hf^=r72fH zdP)0)Mb~rA)1`y><-B)QWIa^2U*+_)a4?1Rqf92NXrcMMWX2$yK=ROS=nz>LZT4@( z;uvtQ^`8wpTN^U5p<#8CY#lrKR!R&^RqP#aEbW+4gyXN~_p+6*GX^u(le=m>vvS9{8bYmPC4Bs^?GQ z4GS{b3qCBNiF~WuVy_yf^|){y^QoLP@?F^jdrH+ZLpWvinnZJge70s+d%ms#mlyj_ zUzu-~&Y^Ljbh23sWCGHtSc|X_5q0zd2X@(zW~N7nh{nvtW}@6?Mx@fb;skOBkkx<< zd+RvDL<%T|mjH8&RVkXRB!y*--a+7ABW8YQ)7tV~P3ih30$jL-+vG$P`yIZ>_KKj& zRGsl~0o@D(nq@8C*t8~CsVo=6jdkcYkv%*bDfzWH*?LO`BBgbm5{*yZy4<2b(VOs% zD{~nC%-g`0ppVq#!PE{2!M|}763NkqAr;rE^hyHC7w=k(0}p%{z#F|h3y@kkdY~hC z9Nd~vMIqzCgpnW!!AK9?Cucs&xqqDB;O)JOfFpG%`p8S~AGNh*uNz@}-ZbvS5$F(s z_bZ7Gm7yqU2L$tDSG+T}ewmb>Tkb`&Q4+m(49417D(v^$eqAOi@#ww#<68ZWuWKhB zRm~~ZrCM>O+qLZd(@z-DN>2Pff9Q@o;Dg zGK;)HPaYtId9&`6;^bK${!JT!CRL#9<8F_{PK8g`Ou5e`oCkjmw#!}F;N2z0Ln8R& z=+k-9%@-}SEigYVDRHE8EH3I!9O{zr&wI4f)xFlGEO4R$m8JgqML@c^wR+f7b=6o#Y(*8Jt z1D)?l+5oxWd_5o42c&y9B#YEZdYJsKx6)4#{uhk>VoDpo?F^lqPa=QrszJY8>&;r2 zE!W=deE?kU)7!MhBV1Bm=09~Wmb`!%vqVS8V@e1_8lOJa2yBocThf3$_>1*34Rl_G?JAbXD}nun{_}%WocSA`hCGDW_+6)+qDQVrQ zooEl-V1b`tpkr!7T>vE?Duahb50Y>`Ur&3tO6}H78t1(l2t_dH)$YvJIsHjW9Na8# zJ=3;7+G_c5Xl;(0#uHeeJo}ib8K|a!sTmNT7(qAtLZ96$wMImya{Q2=xkk~p-FxF+ z6LXO?@^PHDgMD~4+%(?fE~Wd;=i8e1{bptQ2_ce~j^LSi*C9EJHHn+giiut8_vbfJzx-A_zKBl6%6lQjaR?1nyYLJ$&`)#Z81XhEx$D zpecd?O*t;9z85qMKr5`8rf@z)#YuU^$5_(u+R@&fy!T-pkM`%ebH5j$eKNHeSeiLrY`%rqLBkjhZz8%qn8zF4T-g`Y|?oDQHDsIQp;PoR+2-v zx55>dmCM6+ZTbA-#>k_}gq&S3qdOe=7Z^(e_Yne&OkZZ8=onq}_=a)8+$n>=Aro~O4 zh}|d+&M?uo44kR|aH06gi=L!GP7N84+KDW;KeDL!;uB@AO3_hs0H}pTp?295yT?^SEVNFK@Wxd3uivdUMF+()_fq_Ne8n|Kp54h=6c2O-s$Z>p#mTpbMW^q=$jFy-TQFd?TZ169*XuoEW zopi+;*dHY=vALK{u}a$?gV=4rb_3xTc;sRUUWdaTOuoBR&6!A@-LKrPA27xSr#)iCWbUPg8ielMZWE?%?`0cxb(RK5nu{~dQ z%!kMKtwn7MbMrV1;wfc_27})sn>~^3F(r6tzI^+%6^bw*J64^#Pxi4(a);Bs~n$lBz2CmN|``7IudyePO%J)aV8e3#P4vZFQ7ziH%uB!!J0U_C?<#VC)*k5hqQwt z|HcUVovbvu9OaK18y{?4_`@WHW{X93#aRxd!>IN^yJAVh)upxHfF*otPK5E3OD(~} zM&wtfJB|?Ats+j01>U8=+nd{=r^MIF{dKE|uO6{iz)g6Po?=Rg zZbG5gTpS1suP{L;H2@casOJ~AECN{VVAg#w(`DWw6R!#gz~~;v7d5nM9U=3M^r13@ z-9T3RK%}{&XZm_J{}qw>3F&InE5Rt~(@3g9(w6x&DcO(%ihX3*#Rbh?Q2N#qLX?7F z;HLP*k9}p^{N#VQUsiq;KF<-EI0i;WsRc_YS&qKEAgvkaVBM_eplFD{-MtT+uCN}R zq_1HtvgEqGVHnl8r&D`F|G5Qy_+boDNiVD}`XgUdoj^1Iky-iWLAsRQHmn|jw;$)J zTh>B^G+vYlE?3ia(N*8CkQ;FCtDKitO7|g2AqAjHxgYGpW8u0~G3m>O>zL+2=CJhN z^(g(IhX+;Q`Y+86t!V8vwwl==KU@SAlwTA1>ccKjp*9)I1c1JWCaE8bzK<@Bj9fo> z6$e4t#TRt<+^0;HNqyzfUM=4XP2^6axs>q4m+Vy}>$7$3Et!2~zxscWGCX?n*pAx? zN1P)SMDkSEWE{zzIuKo(>4}-bj5;w+9|$-_3eNh9SO#!^=jn)pj%;V{BV}2Io)DQc z)wfbi2f0_$9b$U(&toJ9b-2itpuCQb<8;z$E~*y9iz*6EPmSFeX((CWlwaI#z*^8a zv^#ryvVqs|cdaI2g;EriSW)9hSE}h^3;6=Mh2qk9z&^kG#Q0Ii4;jG;h;I3Hkj3f3t?~%Jn9Xew(NHz1IEUzjfD*+Fct={J;jTG4Z;qjd;M6EuJk* zdGqPPHI0=?-3XY#fyAr{U$9ioafI7p9Sw83Ru=qP`e}I;7D>Qh_K&a-TuJY=^!Nd0 z8RYfZKsRt*v9rj;!fiqTgj)NUsjKUjRC74P|953L$s0h}Oc7eEz@x9{8Lj)ts^4!9y#r3=2awb;U4}{C++K1MBW$9- zkVohK`A|G;8aIRNN@8i{|L%WB;slHq3OoD6_8NTAvANvWDxTi!2&UOi471C=j=)c; z>YAaKEnB3+DBjrG@+G({9)uU3pC;AR04sD)hJ04p*a#a`7s4(g$lO{DQM=(3xnP*}@1pn=7NW_Xa-i1yJ1^9>PKUZS@n+~!?`tiubh&7_isEdvW zHRSYPTM3%E(4AI?8gBh#*qFs$4y&}^Y}cK}?E-yuv>l>gs>8kwaV2>m{j&@|7aVKP zI*)eX0__wU=S1>WQK%~(w7*2s*-H7o?Z1OTjy8aB{?ZL|h5ar7oqRq7fNPP1am@cN zAZTbSthE8PNoUD&K0O9(ovvc3U&)s?C2hLp=vkv$Pli5Uy&m@Qo@l4H3%kubB{eJ{ zVB}z;6i7(+V>l}%sc<-ZMU#4`IKLgA(fh2hEBK>P{d3E9a8EM94i)~om^&q3RI{eU z#iNGfMakzT(dY>fUsU;UF$OUsmhq1&TpYG#h?~Oh@uR#qGdxr%?7Vf6 z5XKAj{_U8mFVbhzOEg=hA*Wbw< z!`~?5;q_bae{mp{j{zo@G+)eyR3<^oqbp0BTKIQ*!ZBF{xM$LBLahb8(*hkS0g(zz zzjvvx_#SJI!{q<$3w@W*zm1Nbus1cdQX<=T7(BiR#K|FQy}O}i#8Y+km$3YfUxLmY zhogk5dNO9AN6XQLF>;3(3TOZAv_BPLE9*FRG9`2xTKp~dj-cHHYfm6~WqNo9w$APM z?)4P-A8?~>2z_4GuoBnj-pjZ?<3Zv{8VcPac{rg;>AN?jM=HN|d2s6a?>@n005<^( zx)%ZeA3}<~SPGy$5Yr2Pgom65YM2kQX9jA=D!KS$G@x&mQa(aP9^Tc(%bYZK@~N+M zsxw{+dfUT#jiHE{RIAvBI<5+_!?GT68fYLFPtY@HWDCO*SfTc_hncmA4|K(yX0S?= ztZgz$Cer2>isk~HxE_~;el$^Z$!`redQ0d%?C-2&^91t#SdjSs6u=*DX!dC+4Ar-(D%h4Q^2S5E*c=i+CB zM`K%lzyrhZsapjw8jp3NqGGI-PL@GsTg3u39B{X7FT_eeJoNY-im&4ZZzJsEe#N>* zQe>K=;LGJvqjjKrP(`F{6hnuqJN&;j+Y~JOT=%9=ycwwTiPeSv6i}`!+J5oW2c~Fm687A6iymu zM}a;NSIHazT6c)yc$JugkHs2}%Ik0;d|(3=Q+mWZCo^Z4cK=M0@6nl#0DpXvdaHEJ|ya3{fiQw+d=)8 zf-Tb4y$E#H&|2ha9R-ygR(cEu^X89OiB0XQDnH%Fxq(ZWST}uDK}MOltj>J*7}=5^ zQ?7VJWk%*c8b8JErp1$$N*97O#OXG-5pn+6LnC}X0tW)tSH#aGPp)8&OhH&C2&@dy)9yzK8lf7*%&WpX&71G9t0Pt|S(twYwy#>MrT z!KEkZN$izbNcsihRf(CJNM25wNiC@W515Q|W&Hd!`t?$;zdY9Uv5~^?lhQA6rnmzk zsFY5IQ0Ff-XqpSuVqfu@&)i>mTKki$Z*qvIzD05CM^*!r-|cf80fN1mH6n`RwLz~| z*FBO~wk#&3?+{;xcQqweJLKd;Ko5+UPhu$5+Pep=A;1R((oU+)22RS~rVgpaEl$^P z78Y7?^diIpjqgS8tk{xL!=Hbg<8h6iS_;9m_iPAl=n@l37T+n+0EO{NgZ|dspOf~e z#P)cWi(NMqE?;z2yS8mOUyy?|xUTR?1*xW43p#uTAMK7i`399-VVS*=-ejz4#r?+jE1{Y2&oCE z2>)wymYd9=DhCrw7`Nxh8o*NFU=!nSOc7qOLM*&YJOV}L9Y09xvg+33Ok-0Sx?-Ye z&P1F@sq_eMj)i|a39?s+H zr-UOsB>T3WUi2qVJ-KdUT&l9-dcLCxk-MlH>UloXGl=MV@?I>jcMXuZq!aagYN>yQ zf*UVLA{A(zA@n&3)N+Awixop1kYcO7BrPcE7F2fOzNgSC@f3 z3=GiS_LYIzkUj?yX4I$3lTU)iW&r7=)9SFwz=vbZvL7 zvKH^~Dvy^Z1!IPnyh#4oZ(Aat`>-t@j_(mgCTA;d z7+FzCp&u~r!j+QnU6ZhDq#wo!)Vq&UQ0RLUKXW39fG?0>NUYTGm?y3YK5CbuoAlB+ zFIf+MTwfd=#_h-1h7p77`Hq4KI_K_TFxiJ+ay=9{TnI0h?RpQF#{vsPaK7mj&GT<+en#Rs2)SgJTmn-`#k8Y}t=;z2X1ARSEADU>${QB=)^*>| z5hQD;Ouv6)rwtIS4Gg0~mBmLXaqO*sKIHA=vM_SUBSC6G9X)W%3RL^fi*)O`|1#>% z;Q3fF^bUajU&*RQxJCVe5usY4M&ViR)IMLSX00nagPYDGaL<6P(|@uAqJ@}**5BIW zmmi(f3`{U*sSVXF#C<`!3=AP6g|3$6cb*LcD;r{HVh!L7-MQFl`W*}(PLF6JxuSLZ zzd(eu@9aY_kp zx?zLI&HLgfaz*G*y!XiQ72mM3@MN<72Bn)@&|~K{6MfVbnAKVXP z@!5p=!^$NuzeL0@Vj%qUJk5nl-Np%zXEz6uHEy3DiQfpO#T z4bOz;2|=-RogqdQ40_*b>LfS6XLk?fux8)fdqdfysS?ln{5SE-v!KXUEfYc*MNwCBa2 zioMa743XHEACjf+_INhATMaU5QJ_)*6P}6WK7`x2A?AMA{V)x%Fb?EOD)|yS105kw zDAeAs<{C!D2d>R4{e=VPG;B!`r0DH6V7**wFEGyTNf?#&j#PaBj>W!5UzwB;c)bim zjnyRiq>^2mFol^-5lcBWVdOwJUR$W&NY!j_PeJku`l^^}r6x@|GN>J3Doc9|qiCYi zC-#Jka4*i&qgqr~G&J#d!l;Db;7f8>)+uwos9%O@49c?piHl(TdNMzs=N{x3G5sc> zHdy>l0!k#dMB|e1f(vYvymF)ZV56_JXv*^rgIk3y4aW&7u5F)c6_=vKUG8q(M7ARh z#DrM$$V?zADWT?@OW&0O+d895cu9Do7%~s(m*IhwT)ZzzJ3^PTNeJ^sBanZW>bq0h zYAX1UZ$|m4D*he~3K_t=ABs1NUAB4>l%zvA-9gO%(I!de!bL%c)g<^2%q5k z(Ysz}>P+*%3x%)YmVz#%!Dd|OkpcuZm*KV58aYmFe;}R+N++%e_KW6j4=i!)wfsWi zVb=HqLODt(x!|v8rTxhx+)b;9U{t9zVX6yE%|u8I!^Gh)lX1f?oj)5M0apY;Hp?23 z^_8iE=x~-6mCo_~E31?)(}aLdMxTSUVWyIkPxpa}ZE>h4C4+E6-^C9Q!&(gKJ z04GVvO%2ERs{+8DD*Oy@T1<}zas-KwC4lMg_%b%h(!Kc_b?vmXrSgX{g7JE==RLK+ zE2)AZ?gzVUeuh!BS`gCPt5$ac66QAEqIZ9lnhFDdZaFD%Qn^|p$$2sl0e=3iM7Wfd z)}uA_+Yr5N*Y&_;s4^LCej=?1;{!|)TiO$&7mFu9m@5Gh{%{VM8p)`}cQj!bN(LoW z;>C2dr;2Y8^ETD#bq{yBLH(Wy;?aX|w+*Q!H#fU7ltQ*ppnTo%wGjVBwY7S+4nAc} zN~scOn<4c2+yUK;ym-T;m@m?I8N;jN;ELO8BnE^$x?5HTQRLCNECRTnsIL z#ufwFUY($HZa>&bRnsz~S*`v3zc(~5`h%>uyU2^lGif3U33R#Ne~4M@>b++7?YXV5==r#^T9lpB&3y|vMsSq46%?H;Itm71rCQ-3CsF{bTqG{ zXw)DE&)1s1f`-yp=oL-$2izETOTsjv?}Y8wV=yuBoITYL!r;5oO37W z_UQHppQJo{7;L^G-0#?~$7lWF>|x@rsvBP|VnFR~Ah`LLLn11f^+RmYxXgF?lJda} ztRMO=W09r%Y^4<&y3~B;OFaI}@A~ zKLa84Rz)@5*YPwt{DqP7YFVHy^p}Xeax9@&5bHa6!!8@irXTK7uf<1fV;gAx(QWio z`&?0_v&nJ8Z=qYVpEXH~aZe%8leOkqf0FD!=O@xZrgEyN$2Nds_EzPIWzt^qM*U#JnUl6pm15Q~$Eq9A~EifZB|zv8hoW@%G?WyYKOhRU*a4=0@Q7<_yL zdkxx}c}xfMJNA?$^^{+VL*DRq-gKitCp$CNRX|2% zX+m_`K)j`p!%!*QYQzC0xFIbSTu~fb#}9RB)FAn&hDmgPMMIp^n}f%#Zj6v^@(7bb z38nfk+{QFj{}uVy=`lTz-=(0~=fyOSy~5xsobSEHZGGib#zu;-r?zF_G<8V;0ig5z z&XwM!C1y99H3&QU*}Yrp-(kQ`>&(pr>_8zQg@FL+n!Zfxw74?e*6@s-PZGh&;tZF2 z-qcA;9Q9NSONrg9s#b)ppJ38EI3L!Q_+zn|jWt{P zUlTnN1Lu~w+=9rHUQ%Bv$1S(X@IF&<4Rvkx{1UCKx-^;KSdOR87i(Sg{*d-aAsL6Z z!zo-)>&5$N8?OBuo*x4#7ciRrj5xaX58Y=~)CahMM*|U-z3XZdxRhj4nhIuGgeYOW zB`kgLWa*a$rGJMa#q``7D#)|w6|6HmBcV?unmpl{U= zQ`Omo-#ssAUu$bLcd z-*@kWHE~rfEQzZgnf}^JaC+Ok#X)GA86X=B>^0_76lZ)|sK9Y2$1la(RzHZ32e#Dh z4Nw}3n2EKjYquSDkBCHJHlkbF{F@YZm=!&3F_m*+Q;fgh>LRV+KACaB#D{T3dNIC(pXg78*ET0EwAvr zB9x#GsS`FklJENy2@%{e-1CAy?BSb8uB7nbngYk}ZYCINfAV@4Qt!uDM6V8bCTJq~ zp0fJGq@Gf68GB&}xd15O@@IHZCKuN#?+9E0>KN2utNAg>#obsJkiZ)E&D?}MOX6HY z^zK7m#C9E6fTm}V2eyv+Ss$~1#jUQ>m@FyE;BfRN_XlUv=k%?qR3A3WhbZC=H1Txh z-eU=u&jAt*1&n5ZW@2H=!sEIwmnKeJZ+!2mgr@)<{(t+B9LO8uF5oBr z2A_6!7l<)^D*dcMrPTj*DRvj&{+YMoGsm#QTUl;(xugvNYC7Q@{D?lug7&NOelDp> zx4=@(R(&1F#_-n1Anu~oq}chdO97q`YRYVBBURW7lTeRuQl~I^PSUuUuqZF0!e2ym z)>I+xgep&;&t`i@-9GvER?%&Xg`QSNPUxdl@-KLQpdkNq`tzOfU%>aasMHkOJTJ4t zjUsD13s)$aBw}q6Epw-x1j5V0Y&T(d8D1?*!gwiiJvj+@se>Se=O9BU@uhYr-z5ro zgeLGb)>(zV*BmjZni#=}(n)o1Kk%g|hKHja1%4-Vymor#rUf_~A@zFhns*;&;%ff) zh@(aZE5Xf$Z67{`eNHfnxm2(-(KiC}{ zWE&fFvSU%wUrcyTumnSpie<)Fg8d^g3(g6c!_fDbb8;>6m^k?1m9bk$GhF}R+0~1J z8jI}-@V)M%R*kI1oTuGxg?#%PM8c)&EF^p5tSSGeX4B4mwi1IU3*{d} zhsRST+^+P0u2^GAktCum4aehEBU_CdaRzUf`T??@EurX>oA<COS? z3getogJ$4mtJ&-!6h3aXI!hJXMp2zU_C{5gB#FXjDvR3tFfYr`BD1{bF)DMPSaa+&>hxC_LFH zm}8a1%hwt%`JZLu*F1^%L5=M;YZQvDrQgxIkZnfkmbkL>H@azjJJWt`pX;&iCrL=8 z@Ve%25lxUn#MzQA{T+Gz`;#%4DvzEC^^9(ks4xM+2x84@#FFgIySB0z-gWAFkNSxv z@1U4dOOGvyI4sDfupB9hd}0hQe{I)B!m_$3C0ze{^iGCrgvpf}dH|hLHF$EP2_gzr zwB^>32$-p@9sb9CtBYZ1buL<2;O2hZ&}~Lefv4#o836g zbA#~QyW-fcbNPs%+L?@-too&f=I+?W^Pg6|I7hg0qN5csbwOP41$g8x@EVS659@g7 z2kZXbq5gnWD)Lar3woh!PL zk8mXH%g}?`oqD9{uKV!zugRQfgN%^32!w^QQYE*9F%fmjF8-PN3&46(M`Ow7rM>%M zl_+Q**?jN%#_WX0bMa(_|jSX6TPj)c37?F3rhY1qU~94EYVoA+NS{_Fyaejee6< z;maw>?0Mn!1Y7QP(k@lf%p2bcX zbR>UpPf>ah>!U!2$$`s4&x?~Ku2vb^&e-6t$F<|z`r)cgx!n>74%dkkup4FDd{9JS0P|DnBlQTxRX>b9S&1BDWCMg{ueDWkLjzBKrsp-AzHG zzCO-Qbcvnguyti+{4Je_(b0pjHi{Ri@mFu2@Zav@gSWqw6Z!yAZ5tL>F0PEuB_fBB zzc&Ad#FO~5>Zm}G85ry7l90~*ERtw3ehM+WDg|iiI$O4X_D<`pvuUsTe0DmB5^Alg zevp*htk(>tq$u#q@B7PqOxQe6?!~=1A%|5w?QQ}J%{C2AW(P%~f;76%N#k+z0C-^{ zJDCxl4vus)Y*Mdp#Ypv*botEgftS)O`!lasJli$Nxz~Job7tqcYh5uDhdlLP9ErS= z=y_gZX6k3R@X}!V9=w<@7?=8&Xbl)9`4Rdd>;k?Qp~QmcM(a$0FVT@h6h7T3mb>LB zA?9GGnXA0S-=>Ab+gFrsc0C8d|8c3Ppe#SbX-@C%e!xMQdRo%kahLUuVqu&Giu9tK|7-s^T85^yXPl*TBZ*FKK#+`2fFABbKp*MS^2 z=Wbh4o$-ZL;0`(M^eXs2KPe-abBELRo9F(xt;$CZQ+;|_{$*ww!>4UdAxFK>RQb>A z{tfE>-P>yfJK)T}d*kZ_shh)JZ%DpmP|W1eGaS`gj8E#P=$HoKa`MnHd}`_gU}5eL zrN~vdL3C`n(c3S4DFlAy1F1zKzn$rH=bzSTwznf1OW2g2kbHrynEdZ4I^3s>4 z6ZV%y5DOVZr))h*s6nekmA9&JK$3(9Kuok-%Zg9ln%1>S$7ZV;GK}}S|Nc==kK2ds zIyL!q*bjQcV?wWnE5`43!Jo`ZD9~TJ9Gy<*+=6X5`m3=AfGE?bE+U|SCk^niC2DPn zwG;haADE$w)UKN=+p5KVFyB#-(i>O-ccr4pvWh=;6&{mfKUM!SqvK(xoE0%sMQURm zO0@4GIhsrlYNOfqI_`$Q6Y!YmWbk!rS~qyp>b{kZs$6ULsUH3g!uqaufz)5ElnvpX zwu-YX-PWSTk;}}?H8BEn$ii*)Gp3O=;4lz%Lcf$Y>seYrg(#;PrO+*$d*b3rfm2dzOLaSAsQL#6>v9Zm>&QU_XY3aYlFa_5Rr!% zHDZ2{GDPuWxi7(8AJ#Sd{qa11HrAzot|ygY7}~L6v^F|RCi<|zxWLhH#Z1|!cP5bh zAyh1*^Ty4E21XI$N(S>&f5PQNSWkA_c0fV6m3U}4Aph^_HoTJd4D+1nh6Qz|!LZ=CGMN%qH3< z(=5Vxiqh1-DJzhkm^>7O@)h;^IHT%V8DfIg$cw40<~GydiY-!kSC-VUtdKW=jpkt3 z8Bjo;#iA^QeDd`igeuyxtIC{Eq^qYo(Hc0`6>w*KQTC1bZNOH&O5~`1DvVLthvVv3 z;JJ>azh@pNMSXMk@bSLtuG03udyT{Nw~+P=!9AE!Cm;a906FOPsw{tf9qm!LS94o^ z^P@oT8lkxDYqR@S$}W8UIz6EhJwn15tWml#>5lq;lt}MJ6yl{ioDzxtCHDlQ08d=$ zYT+UWJ4(%1lSTuIgm*BD2eJTF?8AUbE=~dfoq#81iKFL>Y;9@)aN01Ae?*jNLdl<5 zjy{NS?#U^6>#@1<rVf!->_r0WYrlz3U6w9vr6G9GS#@$)v_!1 zMZJdw|KJ0ikjKr2$s(?`Yf1L=g-jTzQ3OqU5OBB-m-U`a$Imm(IfXld;RjI>WshlY z3g_$4COFcCYU^nltr($pj+K5;J0XTH)_M~Ao`UQGvQeWhw7d+8 zXy7zx_oX(@B&fk!p@WGd^-^CK1&0W8V1^|B2cR%pTva}l>7A}*r**{$*xv@|yx?{L zYB$>U2n51hgA!r{Dt9M*sLK_7J=gylgdD)NIRz6B@u9ho23ShZ#h~{Grh>Y@%uy)t zP2FS3fa(KY7%fS4gLVx5;veR+{A{sFrwX9Vjj8Jr1^2u>#oH98Zov|DpH5KhYLmux z@q=@E!P$M0{g2N`EfhPdFSs(y;d;?^0^t!?(8$ay<+3FH&%E-{46eDh8=+%gKdg|7 zszgq`AH%7~B9^1W|2HTrkd8d@j$T%X^3Ta9%bMb~iw%BUzfF^pcjEtKUU`R+jLWFz z9U@AmV!rL)=QR^x+%BWtwhCNNHniu_WVgj~ppR3!Gbsm8iNAi}x>AbJXjCSRdh^|d z{A@ZjrUA@>^t=5%YcLpGg++*Ww4d%dh1=z zGqI!(G%)4RM8qfa$LQ+j3M~ybt}c*fANzVsz z5Py0Z`T2vOzmt3L6GD7w0}fdKbNvRtx02rAc4H|<`A?Y5hZAR9;F?~}%iZ3bb}_?$ ze^&4iz4Q7YAtH{xKa%I1y$vLTF1WN09BLG_ql)Ql4b^TNb&FV4g6;+i4ts)b`8SAo zkW7|oEOHV4Mrk!gb}|KA6@9hpuUV04RQQvBRfD;`*`@219@^Zt=mqDkvrBRcb|OP$ z&>3`5{U>jbLdh5aND~zxbze?hcuPUGS&=X$co@C`H68(Tr7e;?Twr?>ne&gMLPRKU z>-rDD<+dAvbhF{VrQFl(Yp+)3jH8;@01EU7>h$co=b;3(i zh)Ziv1!Ao91W*|vzQVQrTSQE_>?K%v65jOOf##T>cNbW2n7g&#)f1SL|2%!JQf2xT zWK>*E+m=wTz51TenHPyju^-jMJp~XD8&1Vu|Fsf-L|Iq5g&?&Ji8&nr)a^xiPp`nK zm?BLKRQ}fh`L=rW?dbWe>-E!N?u&cS#=HRh2Z3y?LX4TbX4bl1p_`t5(>JgAhx`I4 zMp?4GlFlmH;M^fNtZYm%@B>i|&uNFBq9-v&&+;|&b}8rGM~!K|{UAr{JQ3d-tf*Le zSF*;cZ5vG$NPFFL@?bo1r~m8E>N>3|eyU9HR`9ZsQYvZOfKr9?qf`N65HStiWd`JB z<@wrl`izB)B!os8zCtHx1|eBsdY1+f(E{Icrq$LO(Sj40;I4+$%d)o$Dwu&gRf0Jb zLfOrDB|Pj~y+&yN&kLXfV80vhDn^tC4gm2i?Fvus9d_E%aef;?GRv1%=xY3knQeD@LTxgoztey0M`f`L%Z9k`qmp(TaRa;WW zvo+cSCyNBkd2mhX?Kjo&{{G)uuFI6Pu&0S8C!~siG=_y*kZDqHu}cMqGVz@bVKwJe z8VQPmwna77xdxAv1D^1hQ<}(Lw(ZnR;}JQNiWpWyZTAfZ>cjoy>qRS|DZHvY)f?cq z3Rj5=JLcJB)5{iiEb0fvY0|hvT{Zr;yX_>8!j=Qun&{8?u)l$Sy~)wiQVw_|yfQCf z=dB>6ZrxqhQyIJ>eEpc>@su?b92!xB9Lu*)xoaY zA5l5G4o5bZJFMfR5MGw8TRlWb53hQhE*pD;N2rmxA6h( zzaB5~^koIN69E%xbe@Jr7J0j?wd;GZ*SoCImS1fs&i{J2-;&k6DXpX5W100+FJXkn zxp|Ni4f)g|#!q<09dgU1exU;co^r$svqTTZmu!cU{%sYS%r+MB8eTPn7SJF5v?LI& z8kiQ%pQV$J)LO= zQN6}Ywl;9YDWbG)EOUtLw$vje&x$8cxTq3&^r39F@2Zux^;}PW+G>>_tbs$EUP?4Q zEGzzg#2iN^Yp@5O;O!$RepIQ5+X#htd}C5TAW9DNi1|W)<{jo!#RX+u>5tPo+Yj#2 z3LM=xu>t`XK3(68nCu8!z?oF#gStDcl6oB$iSWOtc5VCmX2z`*h3cEGIoSV_H` zi{ONG#Yf9*%G0W2p?Uh@ zBn){4o}Va7W_wB6wA8uPxGImg_ULHq$Y}w;0KcTN4a7ZnaZhke6k7u2>%@?>OYR)i zz>&GD-`La2a$>F(-i}<-hcwo;{IPWR3yC>&9w!{^Vj3h*AF~`C+|oDnQEOpwXkh{2 z-Ac}RCE3&%*NLEtcBZaS{fO9#)HB zLNB!%m$~$K8`4i3pJPF(%S1SRSdo5f4fRRMue zp>O}NfawUb@;72yG~tR4Hk|9QFhyihLx>=W{j%!{`^5vuqK1(apl%Aad}on+81Z|l zRSCfMJu#a{xMxAIxgFjWr?=`AF}2vcRJtdpa0($3zqNOt)^-uj77dK582g~ZE|~O2 z`K4E~m_Zqp)S7n*>vc&_{vE35jHFMv`P1I=KaFJrS4WI}Oc*u+djjxp+E<(G3D54l ztxONTrpNFSw{=PbJ9-5MF`0gMseV(!TQLgGT22A-$eX~pDr^qMMMn+OY%7lz87*|M zuF)#&;Q%+Tq?a($#wC28v)`zEgkhan7{sw3{{BjoNn0#$iG$ zO|??>f|3q~BF>A*b~J!B1`%QY#!cp~yaLEclm9!h1pKimCqMY3Kl<(EYZGImd2|@( z@jr9|z_*kK*8?~1o~|Jru0}Q<*^$7@I)+(kJ4;7DYi}irWN$VM3LvjB}0`Us+&%v(HzrEbxnea+P+VsB5)-;pir6xONSq z;ABXMbBGSm^@i`}P;Vf5$9s$5vK)J30dwu9uXZi!*e^!~NR1;YAhV7ecT@sA6ABeA zL>j8W2?+ru;TZI~7*o*ib=mB75r&*k?;K8t6qP1Uv~Le6nzFbB?N&s4s)`OY^@%E? zMuOiC52X+?*i2Zu*Pb!F z{r2LyNQjhB2_Qa6LC!i*g1T@Ti9*!W1k$McF*60G=kxGQuZuIqiOr!CsAY~*D;8Zi zCNCS=$oHxYeW$t%X7MY-}d$I{`61%z4AvtKlV2F;*Z`Q*1wbRw}4NMhv;F| zcP7gNWAH#*G#;;q43~E#;y!L~r3w7Zo5y0n@e2U5RU{4P&;p{4DKyhLbQ}>xAvy}F zwwt&8?9PMKSi{=J3L-+F1LCMcphJ%1&ZsDItaD^pN?v3PGlW;lB8Y<|V{Ty;XC1~l ze&-LL<+op4Vj@tSi-X&}Y(Uog{+nuq3$+&lj*Iw*5h{w1AS7tCZaK+2=g~PN4A2+O zl$`)_-0B8ykRF>;of?O+(9Iq5`R?mvKKJ1O(}6JQxd4?wj%_lXF{H@==PawMD-6;U zFSZS@IA#imh$603z36(3 zbC?#s6<{ZKEbOuuy%^v)6AFzGwDLm0af)3;A!=p<0&kZjjwvg}`7u+PpxM4v6QIbk zS%%BAW3ySVB>(lyac15y^Stp)NPvo@{Gl$h2gjU z+j_1b#)+b+w8-Pe{`RpFE?)9&0ClMD-M;f7BL23p6q%vO3g)hEkmY-y$1v>@B%6q{ zs3IMSkEE4i_S9*DFhU0bN*~=E9%e62YGJnG_g|>xXyuYE@_%NA;L!`d`u`qbdL7K5 zkFy4s=SMnL0FBfU6^@BD%gl4;{$##1nXTD~cfI$Us5fJp?JAW@c;tdypna>vYFs4< zM&sU1L@=gcV{MJg&p%6%?~N9wsii1v*_h_&g@C-sF~-p8cUjq3-KHu3^yfaPOaA)D zdnGup6^!%v$Jl{?4txyZ-ye+tpxpbh{3FIK03S|4VCw|^$?N|6ODp?W9b=UE#Gl!P zzx|wB{hgfxz!sE1e3)ne5l;|As83H2#?eludjMZtd`dvQwOxSdpu~TR{P+7k9Bw3T zGy6%3F^(@i_X@xC@4k*8Y-GiOFLzu$!p$`OcYTa(*W{tq;d&S7rM zV{a~lF{Kc2aG%~dFxGKxU`gGr_GA0xcs}(7c%-VR28R;?tSLpMUWet?l@o0hdB0ET zbbu2@TA#s$@qUieyF>s7oIBf~b*hfi>Y+4_*7$aCgUy7wYny((?VCLK-`9Cc+*?MR zMNGl43o58G6=!B@nrgl2>xyj4F9DFZs?Za5$VpXA)_=vQ_p6PLj1OYPD-Z%N* zHZ*`u6Y|Y9AI(%0ht-v+W)5+1;T1!3&WpUVM-5s8qPj+D;T?bT4P1O|iXc$Lm7}?( z4}yStwSg!fMKTI7MS(G36-I_3I@8ZoK~k zAAFs2OaRwk>s(}<$3MmcmdE5?QULZE0q_ps+@NW+rFRYVS_# z7Rk@@j3gP11o3yykrxJIET8z?SNWqC=ILdIoBizYZkLn=9kjxpZtpK8Kzwexgc0Gy z^mZtSh&uc{8Vk;1H#(RXuHee{S9=Xd-uktE;kc1ltb^=`qF`fz3sprekbP?$&RQIf zjnx&py)M>zk!d8zY)~O-&f-Mjl;S9qQmuqDr|Yy&H~d;r4~P2dthWp63td*0`&b8g zaoBUjA=V!cAz@8?>jUeNBpe667*_jLbOZ29|+6++GwQDvyzK zm4od?U_1IrKXx8{YWkKCdT?Xy#bZ;DudRS7d(iK54!6kvo zzU{lt^7MCHLPQ8deSmTI;RRZ2>eYsC%{wxC(z0;#1~;!=1?R}~!wJV*XYXKOu+|-D z8(M3z&N9EUNN>=)^KX0!_`&yo;Daxe@A)@?-`LH^df2d)$G;olALsFpaSwbQ__x4+ z^`K4wdldk-!vDt+0Iwx6pa=ZNUHFwIyszUuk-s_?1MVdN{HFQFyMWgNzgUU@>?Q(4 zdZ{dqU6Cnh__n#nD8d znJ=;0NqAwY!}VT9ppN*?MSwWKo@zlHK3Ftx4qa;yG+Vbv030=p#pM|;%Q4Ts>}vx& zfM@`0rk1tbQ8?%y!!*{EuUbAC3awZ@_|PfW)9Ug9d0vngIk_<-aBt?Hz=jo)#wn~m z`W)UcR8%5OwGuFMvF&dR<<%(!IOlNIv3zZVK~j)phCH)J9#y8w2!N=+N|1ILc8diE zgjy2@Az>IWHFMgNzdg=lH*+j!4(l9UJLJ8%gZu|iJ%-e3ND#o0rm8qxDOl#4YuIG4 z=iMmIlmEw_E2ykkPyFSu>(+}_6K7*4Pgj^dU*|9Ul_v;G!B=E&5lvAPQ;91GGBV_U zOQ4^hyT<(7E9BYH){ohW07w#_BCuCvdB*(8BGwwR+}97f1786C^7}vV!A?0x|0(dH zhg|^J%H#h7;5&ftEngq!@sF_w{4-=bFyu%CfHC=hEu$=E&HFm=e>UO0Wl!?4Ah2bt zKPB&e`ak;3U;D5)_!#hg_jFpz+`~YGV3#ATHq|DGBUGS|jr8v(0#xHFB8sW@^j+17 zt+fo2{;5i4Yi6yhpwT{6FOk-6+LkW?Bsfya=v4lKJ*jQV| zSxaxw$5=Ze1lUnj+T?K)L}7yHINu5#2ouc+r4`d>o4$46tEEPuK#>%z-0WbDWxbPO z3U}=3WXj}-H3V6oaIiKKWJ@bWz3RKOv?r$sqsl$SiS^VnC}3cZp7`&7FYZt?;*j7C zkD?~q{>J|pqbyvWKg%13o z{U7}KOU#~Y`$(&MAdX@xado6_{jD*~UA;^)7|`!^NC$&sv#r)Ttc9YmWSPB>sSuJZ zVR3bdUeYfc@a+0be_RRxo8|eXfd3WviHDK!@0Q0uCj4XU16#L06A1Thz4bt^v<&|r zlmFK`wxVx;xhz)pD_dXR?7zP6wJQiXaouB1{lr zbQ$M6k}W+3W6@$B=5RPNi1go=1m|!dXlmi97kdXt8L4cBBYYc}r{^GTHPUN3=#w zw0y4rF|R!dLqsA(Yg82DikzaeajT1f_>kz+85eb%llaw8w^9Oe#gW)3NdhvWkWo2zX0dbb?Y zVG;i_Y~3kMUY)>+##9=(AS~zcM4Mm(u(aZd^mJBGALN8_K($pFA>&uxoZtGIM_g}@ii5Ou&%aj>PEMN16o;1o~1Yy;G#MfSV$eI8{S^@ zXOSfosGpl6o@yc03Tk@7Pw+|FFz1jUM2C?t4yY8?Ic%@P*`qpwou*o?5{H$MN!bw*l0l!fl@*FSW8wN7)|!3S zq&U0~Am#G$7Yljr==6H5Y^>59^nIO-`;XZRz`x!}W<-&?oOcm0cb7QuDk1#iJpM6` z8E*!j0G>aT0HCg_kBrB1jC~0Lid%I9e)!D~yBN^lWh6cYJXvnQ2Z{jJ`Sw`-?togO zhSF+iH+?qG!8z7D9c+;kSL-y|(?s#flMdf|yX4tP&b9d!k}T&p{@vI3gPR+)1H~ip zkXkC0wnJ*4I;#q&Tsg>|KQ>5mr`HR#p;P&4^hMD$RJf>F(uw zC!G{qSk_nitga@*8>gKjfM{%Mis^}nAa5bo&|g|5+2{?eu7bB^j?J`S&7|1ClAG%A z#IDFVwri_5U)6#;zY>*ZqT8iL(TJ_ zU*oyYu5;;4lLRVeV$yQ%k%&qqC_Cc}kN5*5g8>USuKPlNJ6<2oGeM=|FE%>e4$JE+ z^pn2tp7CIORf+sB|IN>Rz}>-I-u`NE4s(2azTd~^@xQBleVoTX#xbL}mtP9T<21&x zi2-+}3-H)2Vc;PZ1m69gAGW}UKKg4Pe%)RKfNfG#7}l27K_CbNf-pdz)XlqdxU$`v z84Pe`Q9ltymh|a3XtsR^f*_2J-I1|gbo&WP2}`RTKJNxgitTO020>1L8`+)VUU-ro5w5s}QZMQw&lD>zz_qloNe8rz7&( zBzfEz5xd|+-6vWRN(obEngl8%TUkWK6@q3PM4`g)#Dxkc5EPDyr5>k0yMXTc97Hz) z_q|$cqEHitA=zrkr+(!cab5FQf8+@!XKFNBF}1o+7dq)j~2%|r-3_rJNzo}&A>k%HNw9$kN@x9hwzWd{}{)JI`FUH z{z92N;K-`&RY@3Qj6LH{+yCko1l}p{e)$hZkx=o{9Ki*uz ztyWA$K`|KIBDnW>E~Nw7)3b!p@r61%2faapv6jz%=_Nk$`4_2ZMd2Ks%nY{{no>wD z2CWHRe+jAAb}AOH3OMVq#<1|U%PihlrN}KK(wZ8bC&ayFU**Z<94o68A#PL=t!TgQ z5vtQuyUwL^4ngRy^|^VyLz)f06`|n6Yqb_GJ~}~I2~k>5`gpHJt+CjW{9n7Wjxo-+ z{ThL_Q;9W!5+aGlwJD0YJ{o&X3)R>Y z+1W=X(BUrKUqleC2`6WetyHiRuytW!335YiGv&-@7EpaNGDR?zQZ#CHDslC$O&OM* z6~62HFY&}1XVHP8T8mEX+0rE8>PyeFv9=1%*Yz3tdE*?NUZ0n*U8gX{r&#UpPy80} z?)QJ-gT)xm8I{W7^TcQ6Os~b4yXiYYcmTd2EcuksO()7N>f9G?VB4=Y|f%epCqDu8>mxOcV zc|n#NKK9I?^3}ODHq)G5Vd)n`o`0=CYot*nc*A4f5k4Vj_{hnl60{09{l>=-C9KS^ zV~i!whfi!x7&B;}L##Qr{_dg_IttKH$jqDGfUZ`2UhF;Qa%=C^C##%O!i{SixU!f1 zu!24uV64Mf$F(c#0GvJ7q&`{oq2|YM6Yrd(w>IGB4R4#XeE2q51j4{qu|IpEMYS2< zyTDobT4idIc%qFNBrJdRc}$jLvSK^x=_q9yrxZ>!X>%4^iU1>F0|cfgD@>nnBf`Cf zqf#8sSC)KaT6+o|SIRVx9h`Htr&_m> zkpnvm*4`H4@9h4`l_?4~Ru^eao+7T+IBccut$fMVjV{0OdtaiPd7H3u z6vQ9k%*$&`erXNWHKP-mq%_S&6Rq@~BJu_s1v`9%Bm9L4Rbrge;gN^g}$9R?E6A$`@ z2MGX^r9rXi#;66Y5pMeJOpKSYu`#hViwe&W7WJyL4Y9?kT4wMq$jKL&{ zCo9Gr`bO0hIi2+tdYyGDwFb3D>tL?32rthq@|iEcOfSiK=A}gj#t|tY7=hb${pfk$ z0xJxWYW(Wy#lF|i7yI1ai3_vTXC}zHeO~&~IH!`DF{N%^tl%55Zy7H zb*$aoBuxtXgTnXp9tBe7pjHhycd1QOk38{r`?o#15(6;x)a$Uu(7V3C`sEvkh@fy3 zag)5_yAar5w8X;m=NnX-F*;D_1JqD)rT`qK*TJR<5{87Wi9?G3+E~tieT8TvBU(vO z9dmb@;IM3@)->x)!Z2jda&$@Z`x^zl)ecduPfo07a!r&nbx6+x`@!(-04$; zUH||f07*naRN&gnFVfvy_o+%F5|OsByvqFYGD(_w(fr^>hA5u>`ax(Gfjdh z*fZe}5sIu}W3h`hj+M29JTt>z3(kM8smTfxGrm(wr4b*^GnI2z^m^p|0ePp#>T_3o zz0W;~0p30o)iznRjny$DV=&4>f9KCPX-?JlwH6+<#zbpWr3Ok7G+Iay?0IiFf$E@O z_Qf?+W~sl_MQ;{3J$#$vaKvFuC9a^9A_}8J&w(i%2)yynPct!7;gQ!*@z@hHWiuJK zkEJTCE-kXLzD7D2u)exH8ioF>Wqx^uJTKVj_827T;h#(R`S<_a2mk(kmf+R}<`v-l zLEk3D-*9db{vW~L?EHhVw>`$I8y(O9yi!&!?h3S6Ea8!7RmF{8J+hBXGI6xBxat_r_f zVUJl}@YNUQ=%+b<@Ml-~zg}KuCeTcVLoDs=d>=+>)=+0pL7>s6reVvOb?!B>t(~NN2SNT82t&t&Xrkj5RS%X~g;d?(A0N$~klt(ti8`Dh#O3Oc7Ko zej1N*F3Ud^HzEWd8Q_4W<^FA?a!6_p);boJ`iKZYq^UJyqFRL8P0SJygsh*@@1zu& z;pRebyW_=BtNWL8Hak~lvn>czQBi!)z2*d*2=!jZ z>hcmd=3b$*zKVz%I{6n7io&qCy2||03RzLyyAH=b#%qU%cfTcAxB+zz z(4qLwu>M~tU;iH9sWJH<d5f=l7lP<8A=r6S^ z>pw(+z|L9+hoi^~niEZ;GADhD@Z%gNO?{~UNe~f{G9_RcRkkgx)|=bkiwND`fNS%s z^pcc+^Lts zwzs1|`~l)9Mkz%c#Yac}?|=>k9co_s;yTa$;Tq?js$+~J2owmMz0juKh;NGwu-3A< zzJ@6Z=C5C)ySa{1!|jJCBBWVHw?81ubFMEeVXZ~UA#*owUkVTWkW!`R9Dfb?_xBSF z?j-!*TfV+qSpTzQ&w7l92Oqf?`M<9KQ0|C)Jbq)m>IH%0=`QdC^6sZU{ea(j8Tcyj z#*(Gnec0{SDJyU5y6ZihgL<Tay~TdwYQs-cH%09 z6Gd8`^x@4WMT(4SJtS(@iRv|)k6iGT{ZDW%or9lmm}NMZ18>ZT?uOrL9Q=c}J+fwS^PyZOik zu#T+TC+qY`JAF_AMcgE#~!TzTPH@+>QddH4kqvMgt5b&cx_OFIqCk&u76?3WKZ**Ae8J{RV0>nQI6_rR+scKGLm^f4s!y{F9fZi)N=)N>Z9@SZ|Opa6=&{`!x zD`EO{oyOE?lx=b%geqXVc?vCx=`Sx*d9E`u#9u_VEBiO=O|%~VSr9}DXB}^Q=ULwT zw(|`7J+5DQmLeaWySSn-++14b=F;+mXv9IuKfurY)1Uj`Ki}i_405=l;ruv{e~dA1 z!+#I_6J&RW5!{3PhrnM4dW<^&jPbDG=;{Zo@AWP7EYC#=!ENMxm#hB+L<4N)3#Mtx z!qO^dPE8RGK?JbYkr$Rhn)Bg5xXR@k`-j7oM2LWQH48*2xM(Uih&46L;K!NPLL+xr(CNm;@`Z*2T>7+%uH9AIO8L? z)Tr!9=l`!>YtT4KfhbgHCB7pG>W(CiK?} zGNo|1p|-2r%25x)kY=rU_?-2lB-fd5E&AEtz07Am`5aTH6yNl%5n2mDC_^=Eg)uni zxUsmz;>!AQ5&!MC+v}fLyg_~P+&GVaj4^h>&j7#7Ju+K@-S?#A4)@M6`5)t<7XuDb zKfp>vq4$&|`1wEh98;&JdBZn9h0WPou*;l)p`keez&8^Cl!xsXS zZ-dpGsdGUIbJsQjFefUU`1cC49$|kC!67E6C|&HhyNuMQ$>TcrbjObgx-Nt)0f^vfYWc_E-ysZyy_5#&H^b&qeC`mq=!1A2oV);KnoU}Zib zt_n|oM}t~J55=_QdCv1!uQEsyoD-Zo9`e6c<6}R6{q%V@PCNeI0(^AqwQ(N*7-Imw zSouphLgen0{(D6Lyn~0n@zoe(>_HINt$x5D`T_ad-}H&S{MpXhCRvh^3{t`<;E8W~ zl1i;o?k>5@N#AdQKtWKVa1N3*V_|s}r4*CxCbdd@tYqxDt80AW#Z@*21s|R3dxu%w zp4*v~w`2q7U|>f|1aN~4aG2aPp|J=6&KQb~HJmlL+;@|>ZQe!DkwycjF0@gy$?|G) zBAjt55N2Y33l{2Kx=UM!^isrFoD$r06T;C*@en1{C#t-z7E)w}YgaeOPbe)W8f>7m z0b&c3N$(=~Vhh6l8bQ**L{+lt#ECpt7$`1YY7<17APP{S8Xd1AH^@o{u?~_PjJrix z1OoBm#l@Ppz00X%r8uF7chGJ{oWAI9{YUK>eWDZc=#2`MzPhbr=N8$n##N#)!kB_i zuX~~*K)qI{8dpb(_-_&4Zoi8$hQbt{1S=>qSiNCT8oubdgpu(2H&&QE6P;KZR+eSF z_{uA+tgmB?A&#mCuazM8{-?E;8`o~o@AVK7w~zfG3-H#l6FbHjccBLS2*NMzVLN)5 zOQx-^s;fYIJbq)0!R_?}EbkO#PXfSC{Lp*PJLi7fIrmSrR+V#?F7Wu1uczLq@8bBl z`~LG@Fs7iN^ntAwLXK)BW@@5EqgFjK2TMe-*7C*Ymsng+cy7MO$6hJh#O;CAYhWhy zx3=v_2=%Ba0S>7|$n=CS40z$JuORwfAIePsb zg(;3Dia|uE*Xn4c34>th74&x-hu)yaAQ@ntMeecStnnu7{1XAKDb4h3z{N)^TU+0YG*q9wLG%3^%XeWbwwlP5Q~da?btB|L6aE=J|ar zzzA3c>SJehj4^J}1K@PI=~nh50DJ^^$9Vk47~?kdfgjkb08okm--a(p+jP$H$m=h0 z>2;6MY&GxE)@px3fENIIcR3ZcYK2-QCJY0b^@A0Lk}|}4kQ99F@(M|A_{3LN`2EEM z0zs4`2yya}KREwQ7xOrRpQ)Mkuh=7(vyTNl z@WqOF)G^v=1C(jMor4z{GCt0C$z~)K!&_$^RH*92tV0 z2kg}st{|eAIyFtTTA@8TamV3*M=^j0)CLeygh51J)KYAwBx`#isT;0w3MqtFXlDXJTl=r6k0?6uJpiBTr6h@xfYf9yNOcPl6GmYKU`=wT*O3RoVB4RVG6hDPju3!P>!v z7!h!maIosf&l>Vd8>0+b@m)I^228c?lA)F!L9jls}&L_hWU{oTah`g5>o3e5V2SXOS$7fK>^MoN|>Fg(VlG*#=$)V;7rP;W5zfy?#EHTkFtWZ9 z`V~pGItH9fUKYE}5U_%>{^HF>&&2bUHF~+zZ`?~$#aqj6` zJX7(?i&wbv+)JFfc#bFD_y!tHUyb;dbGLU9Kq*BO#uO&M?a<#kY_q&zX?4RpMoJM! z;XQL8xA?-^WPO*9&F2ns$5bH9ig%tz1?KW~a1M3hH2T6> zq*{6PivZ4Ivkd2~&-34^0(TU*unvMqGj*t5V2~p#-Ez|iE)IuZ^Pv<_D$SS~KnDtA9P68@zs=jj<0+FP)(~Vpf9rpwViDVa zvxw?ArAr}TZ$m!Oj?r3}JXI%d#vDpDJchBCBtw?FkQQ48^GFD?RxnjjWmyzUYM^Hw z{k`1KI!734+RX?Z2vcX9=ui)x_=C^!pDYyZRMAK^m#)PqTb>C=u$AH{CXQnAB1Z2MJ8f9L+vAq+Z>&wsLq*6{RStT8baP^~Fyb-lHm_ORp} z-CmEEuU%uk(?R423MAemrfC_HD0-dl7j3 z*i9W{jBWfl_h^c->qc{deJ6$d)>r@-V~pF-_nSucm1p)7KlI*j!MEc0mb>cW>zc)>`_>0}3jY?T$`QPn6LBa+ed(>E{@0`TZ}?^RK_QN<|5a zC(ycVLJMcAKGaaFk!cm}3D((D=!<84R6rcR>K3iD7OcVMImP-)*`xlL=d>iY8;e~Q z7kXrw-E~rH3IY)(L!lj?(5#EES>a||xJY}prbegbT#*$lUfZB3EWM<_6mHkCQ^rU9 z#QimN+U0n|8vNfjaf7rr3CMkg03|}Z8FKoO34$mXtqpA*7=sv#ENntmzRoF1d(-|+Z>#X=>nmt2RI2KM zy0;n%_aOgSnlX3v8Y>IS+wXmczVssSlfV1Sr#^jvMOp>EG8O>F7~?j4rTqF9?#QIv zT>!vsB^1}jV>iYaw+R6IjsW;OKlEPZJo*1PaPF={TPeaQB#cA8<*jd_*=p|M^xa$S45pCii+NoM%9&s^cTm6WB-ay7RnHn4&Z{|?I*ZzGWsaBG4< zE2L2)c*A49Ho&W(TfkNYf79<`Ivak;SbMV1;2fJvJr)1Tajct812-WuY)>@3Uq*=x{UV4dsl049Vc%T4qpDO=(mUH!` zE37TA-s^q3!1oLC>EC(gllxy`j<=NGeUZ_U9LE@As3r*b`v@O;z;@jh0M;3I02pJ8 zJMm7xY4)80z)$?pdmjZp16;VbZ!I+14Ziv5Z((9`;vV#U_kZqH0N8ezv|@UqMY~z& z=5mkU_}m=*-14Q>lpFWBaXcw!v!>wu4iR8vPI4tkyFu{e<482(B7k$`8*A8f0M_BG z8QP;*V{z7z_A;(r-5|nop&|q#TO542&=5mi4H@m28K-^nF zoJCB*@Z#wOrvscQ()tW0h!KI=nHrO4TV;6i2$6pWve82}2A+u*c9@Ssk~>}*SWIbG z9B|=6i^f!KWQhMx^8c3WRq8#BE(Bc+=lQmXbdo0Y2mKvpSv>gI1@J$NUDYwh*hZQ6$OOV|j^JH20L&%R z=IWUIk1@vXXWahD|K1O5M`yjmvtRi-Z+O#FOwUa3QXFsx^Ork*w2uhj!dTWeyIj7$ z%;&zb#Ba`*w|FvK#_fQfh55u1h%gZfjc7!iI_q$qKKbf0gaJXbjVg;*jU@RW^tPh_ zhN_!r1p!obg~#3yAjT4{bdcPP#&{WvtoM;#ii-o>bYo;h03G=2y4I-%$|S5jyNoi~ zC@iuv`T*kIG8V-@L1hP7TMXRw)0x-rHJJCM^zi&^T@%qv#FMZ=hmZz4O zoSx#;=~KJ>DRZAiiZse_@GqeS@MmKo#l8MV_c4ML9>dyhPrN31&}iKl@N& z9kSN*`Tm1^B*_2vUWfz2DQ{1xMmQxSQ5HxF~+zHKZ4_z5k7NY0RZ^unEa11#*t$c_#c6P z$S!pNZa=UU%kztDuB|iZ4GErIqL4In`1EMd{(3}6w~bd6L- z;})-LK~hU@1ua4|l9S;-JA262A_%naA-`i>ZJJPY1eK;p5Ta{!hTmV#6Gs(Se9=d( zDWDVqVCW2}92!@PVcLgcOD~1q!P~DLDd9F2*&LMZ3mtBv4qAY?jlT zU!uRffoL^Sxy^Sz^I&xon4=h^s3@d%`V^w|iH{w5fpikE)`$EXTei6z0d`F(CQj9H z^~x=CF#_b@2t3venCS*oQpMD=&!=}Iv*a96SRv3MS_Onbbcfz!$?}xE$cDC0(k!Jv z=#l052<=q?EWLDvUcSh5QwXau?ywVk5AxsH?2rr+x|J_KAn|*-hF`QMSe>pkO%w9&Or^!{6>Pd36aeRM93w; zjED%3IUfu3J{$ z_gi~E(>vFAhI{UOduA|kLX(($h!x=oA`}Y&0ZR^vM40=7u`scS7$TVuK${jAun|Lu zEu1hIf-oJ?vd9Op6iWuWZJ?)nyYFzOnycRN8TMZJu-~e4>Yj7z)Lc*Zeg3V}=T@Dn z_u0=L*MIG`{tI;_CW>owODj=~mqTb~Hq4rnPoblQg<#0rl#<=MWo5YwX zy5NTcMTJcA@MmirZv7t`&nqYXoisQUds+CqCU6o+{)^*?m+q&mtR=LjHW2@sOt~b^ zh@+G=X_3Z{3ei~`5!o0KgEa;bgTEx*6GbVCg0d=^%qF3PVJ+6G;MFlJcPPp+!`VG5 zm$P^yA?w%^ukFykawPd54M(isUuSE5i`jU3%%}_jWF6#t{`DVy?9Len!xBoKeOY6& zHfV5wRbY)Db>r*G|2&BdKM)ewNGNh!oKk*F4(S1PiAD}-vN=X^Yh;AS)2ETXqqa%Kba{nT#hP=0J~2{tx~mI)~SG zDBlZwQ^R8#G&sOI@LP`~ByY#x2L7<=uLcbcFu96{s`se(hzYlUuBv$Lldtmf`v^_| zYu|Q|D#lpU>!U`}(<0N~_HUhPNQWUa+r~$IW;KZhs1!aw4XzdiV*mgk07*naREEWK znb1$n*`oohf!Lz4MOS(c^1k(SV^;2Nfq;nl^#Zip=4W8g}-Y+YGpWs;S6cT_|<-J4xIyBo}=C~zH^`LSKoY)<|AJORjlUk zviVo9p{gvt@*JIKt|P`^)AW3vQMyptZ)=2%YNn4MK$hTFgUH`$_mqoTZn476X~g?p zZxQDP(fWk@iwM?OjIp${9!5^KhekH0+aBP(V>}z8>T%wkn+kvUJdbnk5c#hIoG(%J zVY%AsQ@&rsnh7&vh|i;|PCaA&|QDJ!D+e zOJH$YV%GNX*ZN`poS}}PD++c#{W&HZ+o%tgxz1Ei@oY#{l_+|qb*8G!@|@9Rbntau;MFmjtue_r=F$>}+ZMM&gwDwZ z!bC;k8xa1S`IoQ;nHzXE(`W4bnIaDZPux(s0Wr?Tm% z1`QrLP=4Z^xa))y1UNs=ws4i>jn`i1t=HdT<@yS@o`3crJW}K-0f=&(1N!X-50kv{?ATlQ^wPA?VNS0p1sK( zCPi3Zk8Gn>$cp74_%!KZ+46S#X$UC{;pPGhz< zXmAMs2<2-L^2a*>;2+Rb0BF$QqA&tJ1pE`u7^YU_1**#Zx9*{;Jp00Pb0@$tPxiM( z0~o^-{qKSj`<$EQCW>J*?lYEpq}P=i{^Y7K^-p&KSc6{cqmhN!%wPN>S&t8;`0^PN z$Harh!*!Xi)Cmx7CT*t&K()71uhn7=y4*zjJTX%j-v0ofQLM$rCTEb?jd zbuwl5v!BOTj@kC!JBIup>OSY0tZn1VPhld<;9V~gciP9Bvy&Xz9EDr|I=)-K74$=D zcI$6|53FY_?nT6ICHf$nng9H-G<+{;)cy zskDdk4Zz15le0mC1N@7J$^Rn`06~6K(H|g$JU3|2;KABBvkt&7{a^pw{m=jX|L_S# zH_xR_A{0fz+MP9uyda7rZax3(@o&>4gb4P#8DIYu&+-3!{4KT%_t>L4H~~UR!g2`` z^%o_o0*oCqyZ3J}ud*Hc4v^8^P1GyZG^f}b61Q8luC0WM5PMT_KBR%< z!GTsA24)0Z?1V^_b`pgCYT}skK+g&9-b{&{u(TDEX+i>Y2{9QtC4G1fg^@Mzi~j^9>Z8S09j*8xcp2ks*nKR>#)n z78`3D6nSx^^U_rnu5u@N_C=H#`d@&r172>d&ISztcmvp-ZxwoI;VC)*{%zAo4H_K6 z$AE7<=g&O$f#;p0Dodg`e(FK3Ub*|m9m=X;`PvdmnjA9rk913%P#!q-Q!=L{tqwj- z*sY0>lmd4PWi=MMfVN_Eq4S`e-&Nb^s<_c!$RGEPsM|;4q#nd!u0C(u-2*2@HQcL* z6JWo6M$p0BN4-xBi|XpzClX50ZI-CDj7pCOhM&93Y-1B+EhaKG=t3olB6__(0K?%P zMO9t7BS4HWUfW`HcZ1ea5APL;T6FfNh;yNT>msD78XQs!ZFHgiAeyKKYuE!$V5u~` zvX$`6-4x@3x_=!M{=+$=SR0WgEz-FI;Hr_t+1#gNiKCLd$Qe$DOlFgsl=XW+=8I}f z1Xp>6lM&u|*6yuQ7Ufg-3RgM2bH^qBuLHjhheMOk z0UrdOZOqpO4G!=k@Cw3bA0Z-w>?-;PO&>LAa0p+6@IjRS_Z)4sKemzm5|rnib5A`? z^I3u27t1;ZHg0dA-qY^2Nz#N?r}fl>Uje7eNh**jLL7Sr?Ghovt1v3fl~r!D0!xu# zfyGpat)NAPjAp1c=U>15EMyUI<6&rb)&^@s*}xjXw!5I<^C{{azQ}9Sf4b0_pI{bd zB~nzi2o3iLlbPeK?LA6Wk|M%%7N9CHF6XKmsB_|)#4&^ZfZjr=0%43{cW;-XEJL}& zt6mmq#yB?&KXni7Eb?4Cq8$sha4)Jt8lh<%%7!kq=aD^E-!xAk_}6knzp(VDmS^sy zwJPnWDDAjQ619k;m^5yoc#3L@;;BPuhqX4O)=7c)o-|G=%Az)Vvhy>>`5NQd#ynj@ zjwJB=Fct>aqYxQ*4B{^WRavpOJ7i~l=Rmgj_>RJ3kL4$TpZeE-^oQ3M>{ENGP{JyXL>+cqk zuk`Nef+g>5m`ksA+_0MYK{! z7JIxCN^dUJCQbx;R_I&dTFcN)1UnB=l)OTQGo-9S?!T>5$tyw20yiC_mBS>-fiPcP zV3Gve>L8KDmqmTF0rru_(9Iw+!3p55hK+fJ$}6)9-kAAtx{Bc9j4JJdu~=6idinjQ zKo-ZONlLHVqrb2es)dM3}Tml0+Gm zuP|cfVtiNEXy+Z%*_dfQM%9z08F3WjybJBSvIq~w`4ZKNX}QU)*m+7@9!&*^QsMaz zv`Je}JOAWB+;4AZ$l6=?iQ?!)z8P0J{4vf65y4pVX=BW9e(JT)`g86w!-L3zv@v5F zG#~+15Ps`mUwE+WWil54Y|x-Vz=R99miP~>>(_t}q#kCISs)STNv<@w>^E+&QPhA4hCl0X&OSkVXv?k9ub?!gIoW_ z%*;u`6MlGFV%B!?*9K><-+mzkGM`fJc;ba+5EDcKYt%lIwulEpxw92Y*?CtVAwHOw za};D_IFEzAobqsfo>ej|Ja_W&!0Iv2Ez>TFkWMy(hJn8v75ii!IkdRAOsm`5x4a*= z!s#t6(OXzzIvTRQy@{$)RF~5}H4%uAx0k7sN9Bhq4GtB6XHub;muJq7W zy&`n>sotP8eBgGA?$9Fh>;Afse?f?Bf)T@wg%|0hgNIrURw5R%)v$*0&4XwFe~FGV zuR&L2G8hj06>wG6rg6lF9XQkE57{UtgB6z2=Z#XY=M^XDG#*8fq$%_G%+-u}DJ zIX3RCv%S6r2o>bTYv|rYzX0ObrQQS*ozTw#|5NOp?aD>r38E*3O<_ z=Z5l2$9|rGOp5TFc}TV~%3`NP2u^@~l60>2_*@6B ziT}fJNt;QWVO&WzS_AKb(A_yVQ09iaHHOt|H;9w;Na4Z#@3*>LvUZ2E$XQ>zhw~oq z^;l)nPSuAtX4buiw{a+q`GofE_v_tUSuY%eNLYEA!|z-syo9PD*ZU!Qs7?+!g;<4_ z6TbY-7Tvvi-S~%S4MSp6o>_bsk%_TSh;9-IW7$iWAcbi;WK`_T*V)B70-UQD&-U=D z=o1|9A|c1V+v$PAWHw7wl#k!)4eRp6l9*{YutKm@TCtR-Gprrg=8k1oKz)5`|Z=5Gu@6|*&h@%cI`oQJik zr&Jhwr97tjsv;m3XAIN+4Mdf6yoo8#cZ12&l;zcH7%|xR_^Cr82C;lMt!mPWBi_>H8H>HL@RjJIJCl4FY}+<=YW{>Fo}HUkCn#P&%VQg9Z>|`Pc=0 z_CEs_fWN!{4I5dqc1Av#@vu0csyx%Ztn5=r$5j0?|Ol5zxx>D z<$MfXYZQ#qG2!#i>ICQ+xSkn|Kx)q+7r3ZGDY@YcS_#^3)oS8tSy1h6Bi3TFHn!cV zRr@4Phz3jG9d0_tjYst%NdhEczWL=IA|qrtJ9GOAr)=knQ`oG|axX4;8=_D0&N9h( z3tNoO+&-^LuhnL8d4(iBeQ8b+Axc8~mRDBU-rQg~onX#7zN)yiLzxXwF}V12Z7dab zT+l6$nP(*n4#6|iFa_y!VVIqjO8) zE2<&0Y8&TgkGyYL6}Us`L-N!~lXMNwzBeUG4hvR_2>GmF<6cM;9PaGlD}SagmZy+^ z8y#|{-TTeo`<+)Wa60yZ9|C@fhxE=GGeOfj>z5g)TQ}~GG|tdDP4Ky z@_t4PNt}fDlyLh!&8L)Qd5W@{;ov!n`~!IJ=4laf?5S;I==7t9^7+Hf{%ks9)WX6JR0$w&j@3Pk_eC>CU`u5!TCVgM)~@N{5NQDfL|q4#`y8W4uDF2b53;PrjHsl z2uFw@lMDR(#~w`k2c@+(7|-ST3UY}NHtuZTooDg-A|k@V@_@)%{`$+yly05Z_X?~$ zFif6myFA4S(9SCMBRRKbmdYJ%Y+R3p#6T+&TBkAUk85)wkh>5KFc&k_PIk#EV@JiUWh$62HR?bG4&APQw`+{lN3{x;g)wi3Pq=-7KO(ljnOQDq5=ikn;w+4da948 zQYsIl>io(70l|wiT++ftDQY9cJEGa}$aS}GurCf4h@yzB-673d7ZQ$~w%TMO#7RON zCsb9%&fe|=(r{$w3su^uXfNQS6fPi~`~Ex!W7R{~Lp0wvjx{#~bdUw1zfM{!@~=Ro z@Sfd-q!L!QV!C_vBK`;SuydWI?u}5|PdP{3i10aC)D35%M8qzm@&&VMJYT|3?~J0H z;nh==In_Ck|HH?KkR{pttP{$(qN*zLB0rWRKvBwSh~mks-6xX&Lub~hj}u`snvl7Hci9 z+*;!GwIQ$W<_}c@IKl}aAeD!_4E3>(=CX9!4-A)H%Ed7N= zY#j7HE>f9XRY}r}Bx~Wy0ujM`$7no$OzA)cF}S3QilJyN1fjnRc37>K%6h3RSYag% zKD;z~0@X7T2)~hV>mOULxC-5&G4=wP7hV`fy!ci|k_#%}Yg5Hku_mUQE?|shrFVvZzDhW*9Me_2ku*AgLpdC)Z`cWHx%JvcSc8PtqhKO@yM%F($OHc%oRU zpg78E%%ogLwc>Fl{2t>0IQ2m{9nV<5yUya$94c16Y>;~%1snw7;X>wG3~xanQ(&!attNKpl0$jajtDz7*XZ%#eA zUIiai)L8P)a)_?*72=8qP61=-_j)WWtv(p{%Zvn3#YQoUE7yXtZ`Rox4yl|&B$V}2 zo8V1E-d#cE^5^D`Q+6jxD)8J~Brw_+3{}8N2=`y^adn%`lWA_p34_wmE)1`{(IP6P zUU~i~k%{QHmbpH7{y@C%vN};wVw*Cs*KodKk4?NfDqkE_4N&!=iiJAHv*CqT6L@tjL5(A zsxj~@M@0izYiZ3@`%iNFA15)OOvg{pdsc;FR`8ime44dMO!Pzp;R(?Ir?CCnSs*o1 z#;l}f{(dzWd9TR&FudtPJCryyQm@&mO1Za9ga&N@ky<$df`ej#3UJd&xS{s0KJ7CS zYP$onGluO6lbPqunMZkgNxuspUNPj|)j%dD+eF0}3-r4k7M50OG1g)X3rnkjFqw>T z3e&hl(OwLs;|dqE0yBlrO+$3TbD5!&S;Pw3P7ag*+7N3L13{tBsL~ zF~-tO7q~WfJ}Bc~A*_j5$gZI%!+ev%P4V6{E2m8J(R{1Cy2Wg*WzZdpaB3=;73rt38CEIy}xGur$K`TmxQ1Cg`d&+f_xjne%wKR+C06J{Z3Umyq@o8 z9)(s~(QTI?O08;Hc@2($oe8o%I{3P7P5?LDrC7g9wYM`57q1aSu)P7vwHrkJK_IO) zb5bAz3mwM&Huoz~BUeuTA2VNCB=Fz&a|XP40BZtci_;)To$@7Ydx{&tFSQakc*#IVx4#Y?MSdQjr8 z9?MuTV(2D|EVXW8C1IM6gFt2tbW%hFV+`GPhe59oX2!JKMDfQb|0qS7<4)*Am8hiB z`@Hqq>r96y$z+rhzhjc6$0h#&`EUH*?_9h`SeOC7*jSql8U&LY_<1B;_(x%l$R8*= z0R~O~G-v<_KYn##p;s$K|FkT`!v@0H+9?9wI%Z~yU`Snx)G6N8E3!93rX?C%bhTG2 z61yK>?v==R(eS)?DyQMIygj}^g4Vxpf!t*aK5VvA%WKe5r)jq3W5&qi!jNZ@^ zl?GeYs}qCcS-3uUfkA5pW9lcWt|;Sjm(tB}T9PI0g9w0n93zg6y*J3qF=aJ7)wy|G zXThVtSW@Q4eV&|gp44t)7#cKau#Xb>eUt&hGy-rhxB;&>fNx19GF;363J1Z2$i2@!hq%J|UM(4KkQ2CHAE`;#mnh^=qqbqdg3Eo$1?7qR? zWF6gLfig;7^edc^mHr;ke)Zewvi>tQi@rA?B8h{PfJcx$VtF?WH<}z`Db7yl~iCtX{E?V zSgpxz)4o99Fb`i?L3=Goqx#sx-s7i}10jW|w}8ZPJ<0_h^rK+27O(`~<0d0~KC4a1 zKruqvOF`i#aR1I8qft3e7r6Q+<_c?NxYklUR-hL@sF-olOQ3MduvDDF{o>Sjk{8FS zRq1tOmala&Rs#7qQY(?aN?@fhyl*XIX(PsXYE{|~Li9@#WnAk&Pd{747&|A?b=gY< z=SwE#9;%*cHA2-Nl=m}YFi{f96lQ{|GAkxjzB<#8%U9-Zp~x2BeraYQROT)UstY+DP& zzmxXqW(&k7VbEE<6vBK`a$Wh7ak0y!+(pr2wJ|Sec<(5yg3=Wi_FjUJS5vl!ci0}? z368~6?i&vm0G$@0{U>TkloPe@AEB@FXuFaueOmdxv%m{{^Kbm#@BH>9PV5-?ZQ$!0 zv$jD4{tEaY!f1b${|PVw+D+dyXut&c$xD1*^mKULd@KL}AOJ~3K~&~*7HjsBtl)FD zrz)wyLgW=usaG@rAbWGt+Q~w0aTeEV61(vzl#*+Ah@*M979SyjOPiiVKJ36QiJCbAY^#lJwedwkwY!Bc@>;b| zRmr+3tGB?I5zZ@nqk;=9-F-sbEffl6ITBW~(5%>={*F_D(uFjjjhV7p)o;%cfqpN+ z8e#cnm$Z}CM!0dm4-If5w?tleaXn#aBSvc_9}+lGJL$37e~xz2J8%fp?kw;nqkNlL zH9phlBvDEdrBtp0fRb zd?HFqg78=!;Kh^MoXlkyt)Z~*w8X6K;ji_B27)!U3K#dY8AU!rqKJ5L1rx{A?J~q9 z3Gu=b<<1uBJ?g4jrBd1q6GM-jIYa?)T8u6dL+Tkl+?a&%qj6Wg``%0#= z&`!EMzx-aFUwJ=iT+aZ|%9rd+@3S?zLs3mHq#ukJx~)FF<a9h(FzdY~zAZ|k#6 z^4+-u!JlSpxpMLkA^+b-_FSGMk3M?_d@t~^OP=hzz>hU%ZG#2}_}}->D)9V&O@B0K zaDa~rmr?-$fPef?f3^~lH4!;sT{Pi1*#p)ZTJ83UoB$TZp44LX9f*|~1t&nx zG@4SGs&*Wk%0uChwIMPsYB{;J3QmAx{XT9sty${?F&42A@xl_x>J4nWTel`+B7==B zE4Kz*TW*CS0X1_3j6K|*c-|O$CdbI#pOnfQW6$k5`L7f4-|yem<&2l#x5AAV7Kv(> zZeuj;#Ltal-up(2bZUqSsU7hLp_2``x$rVclwnO&%Np*b%h{c+Q~Cn07whyDF&Htl zvJU;u(mWdC=swAdF>h`BC3iMI$+Q@rI{id0YzNRM(($9#+4;K}LCk*g|C?-;L0Q}3QPZ~4;giYXsmu>w%|Kc@qURk@hO+G76aS$Jo79fJL z=HgYcL+tQ{-zs|vH!Ot-1UvFItngD*$mS@d0(4Te->RJxKmi@@0E%tZFZ@?*7}u!R z2NB$8uXb&;v1Rc_kN!%V>9F9f+rwJ5Z{)+m^fM(Zgmxqh(!-m}Zmvu!W#*NkrqQHB15>|F%;!;Sb^$V_4l%>vf`mGhLu_RGe%dyU@F_Ur_MEcz2 z>VX&u=VY2>L^i^!V=@~ZBKLwY$#+@beSIGCueA&LH^~%}?s1u+F><^&yed!A4*`GN z7`P1@0Pqn69}yJK{{;BDrcWBYA$l^-|$yS|X}Ygh++DIROB)DCTAOa!ed!JG~k@0%D?04-+S-tEh&% zwMt!x(ug>ViIRwyQcG1j?%W>Y9JL8eA9@&irR|l{A8yo6rA+Eb{O6k8x1Qm(Ebl>C)~Q9l8pm_)S4;$qp;k)$x`fe}_4C&0de-A&O}9E1Vu2oZc)K#}94APi{R z9WbUwBwLXv!p1S`LWD^*+5_)v6L+tw*vQaZ?IUTMcrfPnXYP_uiZJ#yY3Ia2rOLG= zv}dhQiW*fj*cT#*6U()0ZHzT^7hBlG)<)r90VmLQ!n<}7VkfL_#$*#i-SkOC49lJC zSQFE4Es;j8T2)He$Fv;bwPIF{=j2~%(tkplv{ChJ4ezqK_ZHJ)4-s>2D*s3CE1t@g z7yOj)<53)k2#9kc|EdrtmQJ^Yh>SX&?3bcAdgF?Q@_T^Y#^=oL#&N?KHhlfHLKUU3#r(|$ z>#s-|e12=G-86*%_cFAd)=q5iagKm+yS@{?Hs*l{Uu_0i5o1D10HDs{^BG!|S4*%} zktD^$2@=Od-9C%`0U(sqoZa<3_O{1Y?g;1^=te?fpr3|uwc;r}jH()h|0}dx5&eEb z6k7(@x`>s->C9IQFR)M=u1zdyWq9s(N>mD3w_ATztch6Ytg_O(MPy=h{=Yg|po%B2 zCX9+LDqkWo{MrzVkY>Vu%rY%1=9OE9An*O%UQZLQd$YmM46*PyT!T zHr-wuU=R4nPk!X*-n^p0yiQ01_-X2Wr_rFng~PzN{>|Kc-@XPwL;f2y2>2*MeA#x= zcYNsYul?fBe)u1Pd=;?J>v!n&+e{}p-fuIVoF*6YAt!)80;-+C)bZbLt%q(nZtJY!M;E0D#g5p<~w`yyp^C;tz>hI5oVn;=3wSj4nC z^>P9Lh#~4P08kBggA>5H;0Uw#Jw4 z1n66cMd-&uFFE||!Q2s$6-rVnr7C;wDkdJZGRx}q4!xDm;dNDqbwMEb{YrRgJK@&t z^g!INZsGokO-Z8`NtAJ|{~Sha?W(4D^*CSRv|?|zfmc_vQjUTA?~d1b_4c10Xc35* zQ-0d%+i_V>(-ZvWk@@}#act@JJ9K-8(%!DJ1m8VE_fOEuKncW6 zw={UiL-?SmTve!;zP&N6cFOgeOWeD?NuC#{;F95BHpY;(GbW=kdXaU@Rgvu}EE_bt zx-BI*0+h(d7jIZv0c+93qO1K{g?yi79LwEpA_d!OfdqB_x*_WJq1(qzCscdeAw}TA z_Xr6Bg(5@?OTh_n#BleYy-xqx>r6IwsQ%;U84YKb);}EsH!?#S9X%hriO@}iyi(jW zQ~|gwv{H*T!t(VFz2#0VmqWiYL<%o#Cp>c}t(CI>q4i*57CYBj?%w1y<{B3cBfs`69YtP^B8~;D)=HR-3555PGmq z?>Hwow$%m^s@<(XD*VMUSQ972i_2i_yav5IrHSF++bava@Z~S_`o~|TsyumKT}VE* z0Es{(@NDbp9TZXr$o=Ty(Ak94yh$DkF!mSq;NZN5N$*KS?Cw$4>jKOY% z@zj$1TN9#RdndP4z_+e+c>h!(!{;>sk?iAIc5xjPCQfyC1(I^8ZjM{b}Yx zHo_#s3tJCQdOI6gmR9=2$>Fk+0uI;${1qC}qtm7d&Z@#R2iN-C+aYDrvjeog=h=@q)z zMhESX@BhUJ?@_={#}vg36U9UeOZAHe5W!|GOnhUW#;}1_)wx@dCQXSKmXIhuMH7W= zvBxX_#Ru@E-4B~GU5-)tk?G}Tb2;*w#pqSUMzq#-dS=_}MTTk+jGAg#ot0`VxEy=&C za&PN3Hur8*xq`CF&oqC|`kT%>igI@H2nq4?6I)L7SUL9lJo=N-oct$g{C4sW@LAx0 z1a4p91WbY70)81t8#A}TI~?Btd?W&Xy&?Y%8XVv!6m1JKxq@epfWJo&s`<*dlZQBt z0p;5DMMQ+X-SLIqnkmq?j`zkTpDN=oP$z(*68-?^;{*^vS3{1!M)r%B{6E}}-h=nJ zs)C&@qQMek>*oZJC_=0yURb8w**Yg(0L8X@*iJW8<%mw7+9Jjfw_D&n&wcsJn7{ZO zTWiB}(aX3N3kyl88j{$vQIN=l|GLqF>niLN%KcK$WmD<*Vy-_oAZaB~!%P_utQ3a# z-)&(XbVjy@bjVogLEx3Ch`GMrvj85Ud2${}8BR2%b98$EY6Kg+$X*T{>Y z({a*s;_PoFZ*LU-G>(#!`U{MZr0Em2UY<(+W6R?5lgPgSOo7k*)X)5Ud1V7EdNfK1H3!O~?4@5~Cqm_N?rnXJ z$`x$x-6k)_r;4Dsh+Kc?D`v&XBmHb^2b1g_yH&;*(suUP%Y-L|{HrRhc1ow)3i?8= zSum_`-+#2B}4#xTVv)nXuyBAuL01I{{{_U*T3MumDjJd4bf9iZiTFs zva~!PYo(M$#rD=Qa{dJ3IHt^V{0Z2+K17I)jcE~X#^d_j5-Un+9)yKI)d`^U|7*o) zCxghK-B!>Mo|Bq)Bvf&e(VS&F=ngPx{hR=*eI0lmGspL)J=io$=E}#ZF@@ zMh3MhOpY&zB%=c22#xEhxl@`DjcCT@@D4`{__BQsfCdd3z{lo)t`Z*j_rR9}H;&^7h~tRWYYV7XM#Blt={Z)R zQ-~vcs}(rYtUMkex}<^wXLSOUltgMtTpFSQgmB|;3@o(K{m{mS^gq!N;HDGYbb?7z zqQPQF38ejb#>DZQ{L7^ex_TvUrL4Z^xln>&8TpVfmRpHnz1R{vL=G zo|#0v>vl$KY-)GozfYb!X&)n&7aIf`GEYFjPf03)v$(}e`wFFm~e0FHSTPD z`b=Vp7k%rms`wLDGO@-W*%-0YW4BO5FxDLW^b>FX1+px`m{8&`O&^edIr_c+9Qd&- z&HsOZXMk^N4($dFm;(PH0)CDr4WK~-fUhIei`~7d27Jed{(kj~Kl|Yy23CP@KdwO$ zMV9L~mjETtORCc0-1+2O8dV0O>@Kv?oiS2*a31^@2P>|`p*AP=8ImUGwE;x7_704? z!52B@&KB{)GGa^+39MOZH;H26#T8VQYG(^y6`)`{-4OOacWPWEqBP;gm%f5}Px7hP z8E%d6dC8(H>1XB~2*|nlept#3;MuDbi3~n6bh`;l&kPVl?MnM8ka?k739ZWT-ZxsL zGgCX_zfaCuagUn|FB97o5$c)i?<*8#m~W9+;~J8G4Ql%8xxM)r?r*(zYVvmm=MBSD8B~$U~^hG zc!#3}{OW!LKtui;G=L33cCWe-b0>g1*>4HfT5deEj4Ety?6SQ%eDtV`;wy$LeTk8%BY`8TPjGGfJ%rzOeC5*Uz^Y92HQ^Q9~(H`hRfcyYOY zDFJilDk8)SO9wMkL~7-%5F?1OtiJCBRu$acHT>(h5$EgHl`Lh3#mK@^7ag?btG<3~ zKJ|iCxH*n^<;@nN5LNYC<3@!nD5HX}lh7mb=rJhIZ0eR%#lQd>|rH_s5Nr`{mrh)+9+?>)4 z8ZZGq9AWtb9N*gXM}r2mztCU67z-%ND+5G?&Gkq98EGpR>1A=esJu`U+wWVa;VkX9 z1CbiejyiC^u$%y{B;ULbA|y*I^(3!f2zJ(7VY1xWBpxhbvblaj&2ED+ruOEmnU`8L z&s@V-x8UXNIxTTDu>ZTV$jg)@|`iQ|Zcg)V6pQQg1skw&0-V}- zMdApO7-_YL-v0_XhkN}FI-30d?7exICD~ct`TNc}5pmaCtE#K2tGilTYi%J32?Vl0 z1_@*dFc=x|gJBHVz&wmt2WA*Az=JV1>bBH0^fR>KkMVc}Gb{#UG)S_c!3YUP7DA{c zwYt^SU0r)su6K>?eDg=#%-XUl@6F76>sDpF{q!G|nQ`OX6DK0R_dVbDev`|tP(>Ow z?D3;uEoOG6@XNTeO`-_4Qbpz$QSZsx>u3^BGy`O#*8i0kBf`|sT(?tA{tq^fQ3+~< zL6y)}rn1&w5c*l0cCt#6_Xkh&Df9RcVXbqK<@K{9S)Y~G*>O|%F%f?mk^C#UT}Gul z+Q{|#b2VmaG-qlAfxX7)Z{!(y{=r{-^lzqU0V~Rv087AhwkIl4Vlt=!Kjg6d1X(#7 zB}xGAnG*8P_rCkbKK|Gv5B=qC1OQcVfnz3giVDok4>T z@`35W!Sx1LZ={Jj3_wJh!1vS&>@UN;EV_0k)WxjqFfh(NVr;+^k(iXX9#941Z{-=-l z1FUr}apuxfEUleF#O%oI?^f^n=RPOTuMf%tSD5u#r0!!Q{{VTO zkzZq0=v=TV0PNN1jj=fAFh-~i()}CFT9NXvyPS*S;As>9-cQl_%u%Am{>BeE;K$2( zC{bc6@f7eG;1zoj%!$Cl;w-9AtwprfTCAP9n+OWVVcRSPZN@*3y86Viw6dzrrg2a$y}mJw!VT$(UwnKPzV7fb_8>95p(DO zeszsJ_eC}Ux_co&Ko({ZXE8_b!pzO?T&z*WL={X_L9>(;#rJ!AL;&Hg*iy}eL+b%| zoeQV(Iw?xzszk0zC8!UK{-*O8=+%??1g|;k@e*G1>D%>3@S4-=E_34SU(@Xu?=mBH zr_248lmD&0qqUCEMPq2GsRj9ORGFJ=Am&E<{j!s3coz87wB3XEd-?mHH>KcQq6B~_ z`XS(LV&02N%yTbL!c%r0H-qK$)@p z_3R;5jom&Z*vtg*MP`6C+aGYdJT#3VTs(-a*2_$QU5f$WnlsqO3}Q+_W!J=Qy-ohi zN$?)+^sXq!8C6vfWTt_;e_--A$cEW7>XBungH8dOWw3)5avSAH^Qqw#XR6GtxZ-D1 z`Y3TWgxqIjSwfQac>45zr=N7jP1`3%{F5{$ z%hOFUBMi19|B6aN=1!y1+x|pS!~jtxVt#R!x%uW*pTA>ohs%eY0eh3|M zq43chURAy=O6+sAT}l2+lmG^|MK`pKk(iE@SFPxzjEg6`FfV+3+ys|ZR2G> zJJ%#VnsM&*1+u+%6c^A&1?k2}yN}M+wm;xD5dqYDlBJ6T3xo9LfhbU7WTpX7cmt^7 znllA0D(7;?FwHvVftR9bM)u@0(2EO#oexQ{twEfFYJ_{~3kT$X?;*|+E*wNrvegxQ z+%Hn#hZF*gLd^@#3$Hp=rMc#IpSC(A{o+uu4wm&Y%(xMgEO7hzQM@+EwI#m-YS(Uf|2X z{|fy2G_IWtz6E%B`KBnb&*6dhilVE)Y&jn#O7Js+{PeU9>d!v(dzF41-~HV4XXf)f z|25#%d-1txlG5)bv|Am{oH~zs#owfN_edE4n~xbCmBqo8lbe}W%^kcRgc$v3YTC3DZBl5RT=5n