From 757ed828173f50835e4a46105ad492958276077a Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Fri, 30 Jul 2021 21:40:04 +0300 Subject: [PATCH] Pallidium textures & block update --- .../betterend/blocks/EndBlockProperties.java | 38 ++- .../ru/betterend/blocks/FlamaeaBlock.java | 2 +- .../ru/betterend/blocks/FlowerPotBlock.java | 14 +- .../ru/betterend/blocks/PallidiumBlock.java | 66 ++++ .../betterend/blocks/basis/EndPlantBlock.java | 2 +- .../blocks/basis/EndTerrainBlock.java | 1 + .../EndWoodenComplexMaterial.java | 2 +- .../betterend/interfaces/PottablePlant.java | 2 +- .../betterend/interfaces/PottableTerrain.java | 6 +- .../java/ru/betterend/registry/EndBlocks.java | 290 ++++-------------- .../world/surface/SurfaceBuilders.java | 8 +- .../world/surface/UmbraSurfaceBuilder.java | 8 +- .../betterend/blockstates/pallidium.json | 10 - .../blockstates/pallidium_transition_1.json | 5 - .../blockstates/pallidium_transition_2.json | 5 - .../blockstates/pallidium_transition_3.json | 5 - .../betterend/models/block/pallidium.json | 12 - .../models/block/pallidium_transition_1.json | 12 - .../models/block/pallidium_transition_2.json | 12 - .../models/block/pallidium_transition_3.json | 12 - .../betterend/models/item/pallidium.json | 3 - .../betterend/textures/block/inflexia.png | Bin 210 -> 183 bytes .../textures/block/pallidium_full_side.png | Bin 0 -> 713 bytes .../textures/block/pallidium_full_top.png | Bin 0 -> 239 bytes .../textures/block/pallidium_heavy_side.png | Bin 0 -> 696 bytes .../textures/block/pallidium_heavy_top.png | Bin 0 -> 733 bytes .../textures/block/pallidium_side.png | Bin 287 -> 0 bytes .../textures/block/pallidium_thin_side.png | Bin 0 -> 720 bytes .../textures/block/pallidium_thin_top.png | Bin 0 -> 771 bytes .../textures/block/pallidium_tiny_side.png | Bin 0 -> 725 bytes .../textures/block/pallidium_tiny_top.png | Bin 0 -> 755 bytes .../textures/block/pallidium_top.png | Bin 257 -> 0 bytes .../block/pallidium_transition_1_top.png | Bin 796 -> 0 bytes .../block/pallidium_transition_2_top.png | Bin 795 -> 0 bytes .../block/pallidium_transition_3_top.png | Bin 624 -> 0 bytes 35 files changed, 175 insertions(+), 340 deletions(-) create mode 100644 src/main/java/ru/betterend/blocks/PallidiumBlock.java delete mode 100644 src/main/resources/assets/betterend/blockstates/pallidium.json delete mode 100644 src/main/resources/assets/betterend/blockstates/pallidium_transition_1.json delete mode 100644 src/main/resources/assets/betterend/blockstates/pallidium_transition_2.json delete mode 100644 src/main/resources/assets/betterend/blockstates/pallidium_transition_3.json delete mode 100644 src/main/resources/assets/betterend/models/block/pallidium.json delete mode 100644 src/main/resources/assets/betterend/models/block/pallidium_transition_1.json delete mode 100644 src/main/resources/assets/betterend/models/block/pallidium_transition_2.json delete mode 100644 src/main/resources/assets/betterend/models/block/pallidium_transition_3.json delete mode 100644 src/main/resources/assets/betterend/models/item/pallidium.json create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_full_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_full_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_heavy_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_heavy_top.png delete mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_thin_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_thin_top.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_tiny_side.png create mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_tiny_top.png delete mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_top.png delete mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_transition_1_top.png delete mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_transition_2_top.png delete mode 100644 src/main/resources/assets/betterend/textures/block/pallidium_transition_3_top.png diff --git a/src/main/java/ru/betterend/blocks/EndBlockProperties.java b/src/main/java/ru/betterend/blocks/EndBlockProperties.java index 9b716ab9..d26385e5 100644 --- a/src/main/java/ru/betterend/blocks/EndBlockProperties.java +++ b/src/main/java/ru/betterend/blocks/EndBlockProperties.java @@ -14,13 +14,17 @@ public class EndBlockProperties extends BlockProperties { public static final IntegerProperty PORTAL = IntegerProperty.create("portal", 0, EndPortals.getCount()); public static final IntegerProperty PLANT_ID = IntegerProperty.create("plant_id", 0, 63); - public static final IntegerProperty SOIL_ID = IntegerProperty.create("soil_id", 0, 15); + public static final IntegerProperty SOIL_ID = IntegerProperty.create("soil_id", 0, 16); public static final IntegerProperty POT_LIGHT = IntegerProperty.create("pot_light", 0, 3); public static final BooleanProperty HAS_ITEM = BooleanProperty.create("has_item"); public enum PedestalState implements StringRepresentable { - PEDESTAL_TOP("pedestal_top"), COLUMN_TOP("column_top"), BOTTOM("bottom"), PILLAR("pillar"), COLUMN("column"), DEFAULT( - "default"); + PEDESTAL_TOP("pedestal_top"), + COLUMN_TOP("column_top"), + BOTTOM("bottom"), + PILLAR("pillar"), + COLUMN("column"), + DEFAULT("default"); private final String name; @@ -40,10 +44,12 @@ public class EndBlockProperties extends BlockProperties { } public enum HydraluxShape implements StringRepresentable { - FLOWER_BIG_BOTTOM("flower_big_bottom", true), FLOWER_BIG_TOP("flower_big_top", true), FLOWER_SMALL_BOTTOM( - "flower_small_bottom", - true - ), FLOWER_SMALL_TOP("flower_small_top", true), VINE("vine", false), ROOTS("roots", false); + FLOWER_BIG_BOTTOM("flower_big_bottom", true), + FLOWER_BIG_TOP("flower_big_top", true), + FLOWER_SMALL_BOTTOM("flower_small_bottom", true), + FLOWER_SMALL_TOP("flower_small_top", true), + VINE("vine", false), + ROOTS("roots", false); private final String name; private final boolean glow; @@ -69,13 +75,13 @@ public class EndBlockProperties extends BlockProperties { } public enum LumecornShape implements StringRepresentable { - LIGHT_TOP("light_top", 15), LIGHT_TOP_MIDDLE("light_top_middle", 15), LIGHT_MIDDLE( - "light_middle", - 15 - ), LIGHT_BOTTOM("light_bottom", 15), MIDDLE("middle", 0), BOTTOM_BIG("bottom_big", 0), BOTTOM_SMALL( - "bottom_small", - 0 - ); + LIGHT_TOP("light_top", 15), + LIGHT_TOP_MIDDLE("light_top_middle", 15), + LIGHT_MIDDLE("light_middle", 15), + LIGHT_BOTTOM("light_bottom", 15), + MIDDLE("middle", 0), + BOTTOM_BIG("bottom_big", 0), + BOTTOM_SMALL("bottom_small", 0); private final String name; private final int light; @@ -101,7 +107,9 @@ public class EndBlockProperties extends BlockProperties { } public enum CactusBottom implements StringRepresentable { - EMPTY("empty"), SAND("sand"), MOSS("moss"); + EMPTY("empty"), + SAND("sand"), + MOSS("moss"); private final String name; diff --git a/src/main/java/ru/betterend/blocks/FlamaeaBlock.java b/src/main/java/ru/betterend/blocks/FlamaeaBlock.java index 5c70ac07..1638595b 100644 --- a/src/main/java/ru/betterend/blocks/FlamaeaBlock.java +++ b/src/main/java/ru/betterend/blocks/FlamaeaBlock.java @@ -55,7 +55,7 @@ public class FlamaeaBlock extends EndPlantBlock implements CustomItemProvider { } @Override - public boolean addToPot() { + public boolean canBePotted() { return false; } diff --git a/src/main/java/ru/betterend/blocks/FlowerPotBlock.java b/src/main/java/ru/betterend/blocks/FlowerPotBlock.java index 3d410fbc..a8a51abf 100644 --- a/src/main/java/ru/betterend/blocks/FlowerPotBlock.java +++ b/src/main/java/ru/betterend/blocks/FlowerPotBlock.java @@ -72,10 +72,12 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi public FlowerPotBlock(Block source) { super(FabricBlockSettings.copyOf(source).luminance(state -> state.getValue(POT_LIGHT) * 5)); - this.registerDefaultState(this.defaultBlockState() - .setValue(PLANT_ID, 0) - .setValue(SOIL_ID, 0) - .setValue(POT_LIGHT, 0)); + this.registerDefaultState( + this.defaultBlockState() + .setValue(PLANT_ID, 0) + .setValue(SOIL_ID, 0) + .setValue(POT_LIGHT, 0) + ); } @Override @@ -145,10 +147,10 @@ public class FlowerPotBlock extends BaseBlockNotFull implements RenderLayerProvi } EndBlocks.getModBlocks().forEach(block -> { - if (block instanceof PottablePlant && ((PottablePlant) block).addToPot()) {//&& canBeAdded(block)) { + if (block instanceof PottablePlant && ((PottablePlant) block).canBePotted()) { processBlock(plants, block, "flower_pots.plants", reservedPlantsIDs); } - else if (block instanceof PottableTerrain) { + else if (block instanceof PottableTerrain && ((PottableTerrain) block).canBePotted()) { processBlock(soils, block, "flower_pots.soils", reservedSoilIDs); } }); diff --git a/src/main/java/ru/betterend/blocks/PallidiumBlock.java b/src/main/java/ru/betterend/blocks/PallidiumBlock.java new file mode 100644 index 00000000..42f17049 --- /dev/null +++ b/src/main/java/ru/betterend/blocks/PallidiumBlock.java @@ -0,0 +1,66 @@ +package ru.betterend.blocks; + +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.resources.model.UnbakedModel; +import net.minecraft.core.BlockPos; +import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.material.MaterialColor; +import net.minecraft.world.phys.BlockHitResult; +import ru.bclib.util.BlocksHelper; +import ru.betterend.blocks.basis.EndTerrainBlock; +import ru.betterend.registry.EndBlocks; + +import java.util.Map; + +public class PallidiumBlock extends EndTerrainBlock { + private final Block nextLevel; + + public PallidiumBlock(String thickness, Block nextLevel) { + super(MaterialColor.COLOR_LIGHT_GRAY); + this.nextLevel = nextLevel; + } + + public boolean canBePotted() { + return this == EndBlocks.PALLIDIUM_FULL; + } + + @Override + public Block getBaseBlock() { + return EndBlocks.UMBRALITH.stone; + } + + @Override + public InteractionResult use(BlockState state, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { + if (nextLevel == null) { + return InteractionResult.PASS; + } + else if (level.isClientSide) { + return InteractionResult.CONSUME; + } + + ItemStack itemStack = player.getItemInHand(hand); + if (itemStack.is(Items.BONE_MEAL)) { + BlocksHelper.setWithUpdate(level, pos, nextLevel); + if (!player.isCreative()) { + itemStack.shrink(1); + } + return InteractionResult.SUCCESS; + } + return InteractionResult.PASS; + } + + @Override + @Environment(EnvType.CLIENT) + public UnbakedModel getModelVariant(ResourceLocation stateId, BlockState blockState, Map modelCache) { + return this.getBlockModel(stateId, blockState); + } +} diff --git a/src/main/java/ru/betterend/blocks/basis/EndPlantBlock.java b/src/main/java/ru/betterend/blocks/basis/EndPlantBlock.java index 69df8a02..9a064a4e 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndPlantBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndPlantBlock.java @@ -38,7 +38,7 @@ public class EndPlantBlock extends BasePlantBlock implements PottablePlant { } @Override - public boolean addToPot() { + public boolean canBePotted() { return getStateDefinition().getProperties().isEmpty(); } } diff --git a/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java b/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java index be224b9c..443ad35c 100644 --- a/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java +++ b/src/main/java/ru/betterend/blocks/basis/EndTerrainBlock.java @@ -1,5 +1,6 @@ package ru.betterend.blocks.basis; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.material.MaterialColor; import ru.bclib.blocks.BaseTerrainBlock; diff --git a/src/main/java/ru/betterend/complexmaterials/EndWoodenComplexMaterial.java b/src/main/java/ru/betterend/complexmaterials/EndWoodenComplexMaterial.java index 7b7fe265..4e01fbf0 100644 --- a/src/main/java/ru/betterend/complexmaterials/EndWoodenComplexMaterial.java +++ b/src/main/java/ru/betterend/complexmaterials/EndWoodenComplexMaterial.java @@ -14,7 +14,7 @@ public class EndWoodenComplexMaterial extends WoodenComplexMaterial { private Block log; public EndWoodenComplexMaterial(String name, MaterialColor woodColor, MaterialColor planksColor) { - super(BetterEnd.MOD_ID, name, woodColor, planksColor); + super(BetterEnd.MOD_ID, name, name, woodColor, planksColor); } public EndWoodenComplexMaterial init() { diff --git a/src/main/java/ru/betterend/interfaces/PottablePlant.java b/src/main/java/ru/betterend/interfaces/PottablePlant.java index 8cff20ae..edb64ccc 100644 --- a/src/main/java/ru/betterend/interfaces/PottablePlant.java +++ b/src/main/java/ru/betterend/interfaces/PottablePlant.java @@ -7,7 +7,7 @@ import net.minecraft.world.level.block.Block; public interface PottablePlant { boolean canPlantOn(Block block); - default boolean addToPot() { + default boolean canBePotted() { return true; } diff --git a/src/main/java/ru/betterend/interfaces/PottableTerrain.java b/src/main/java/ru/betterend/interfaces/PottableTerrain.java index 9f034393..9bf328ae 100644 --- a/src/main/java/ru/betterend/interfaces/PottableTerrain.java +++ b/src/main/java/ru/betterend/interfaces/PottableTerrain.java @@ -1,3 +1,7 @@ package ru.betterend.interfaces; -public interface PottableTerrain {} +public interface PottableTerrain { + default boolean canBePotted() { + return true; + } +} diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index b5108bb0..a9374f66 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -99,6 +99,7 @@ import ru.betterend.blocks.MurkweedBlock; import ru.betterend.blocks.NeedlegrassBlock; import ru.betterend.blocks.NeonCactusBlock; import ru.betterend.blocks.NeonCactusPlantBlock; +import ru.betterend.blocks.PallidiumBlock; import ru.betterend.blocks.PedestalVanilla; import ru.betterend.blocks.PondAnemoneBlock; import ru.betterend.blocks.PythadendronSaplingBlock; @@ -150,41 +151,26 @@ import java.util.stream.Collectors; public class EndBlocks extends BlockRegistry { // Terrain // public static final Block ENDSTONE_DUST = registerBlock("endstone_dust", new EndstoneDustBlock()); - public static final Block END_MYCELIUM = registerBlock( - "end_mycelium", - new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE) - ); + public static final Block END_MYCELIUM = registerBlock("end_mycelium", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_BLUE)); public static final Block END_MOSS = registerBlock("end_moss", new EndTerrainBlock(MaterialColor.COLOR_CYAN)); - public static final Block CHORUS_NYLIUM = registerBlock( - "chorus_nylium", - new EndTerrainBlock(MaterialColor.COLOR_MAGENTA) - ); + public static final Block CHORUS_NYLIUM = registerBlock("chorus_nylium", new EndTerrainBlock(MaterialColor.COLOR_MAGENTA)); public static final Block CAVE_MOSS = registerBlock("cave_moss", new EndTripleTerrain(MaterialColor.COLOR_PURPLE)); - public static final Block CRYSTAL_MOSS = registerBlock( - "crystal_moss", - new EndTerrainBlock(MaterialColor.COLOR_PINK) - ); + public static final Block CRYSTAL_MOSS = registerBlock("crystal_moss", new EndTerrainBlock(MaterialColor.COLOR_PINK)); public static final Block SHADOW_GRASS = registerBlock("shadow_grass", new ShadowGrassBlock()); public static final Block PINK_MOSS = registerBlock("pink_moss", new EndTerrainBlock(MaterialColor.COLOR_PINK)); public static final Block AMBER_MOSS = registerBlock("amber_moss", new EndTerrainBlock(MaterialColor.COLOR_ORANGE)); - public static final Block JUNGLE_MOSS = registerBlock( - "jungle_moss", - new EndTerrainBlock(MaterialColor.COLOR_GREEN) - ); + public static final Block JUNGLE_MOSS = registerBlock("jungle_moss", new EndTerrainBlock(MaterialColor.COLOR_GREEN)); public static final Block SANGNUM = registerBlock("sangnum", new EndTerrainBlock(MaterialColor.COLOR_RED)); public static final Block RUTISCUS = registerBlock("rutiscus", new EndTerrainBlock(MaterialColor.COLOR_ORANGE)); - public static final Block PALLIDIUM = registerBlock("pallidium", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_GRAY)); - public static final Block PALLIDIUM_TRANSITION_1 = registerBlock("pallidium_transition_1", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_GRAY)); - public static final Block PALLIDIUM_TRANSITION_2 = registerBlock("pallidium_transition_2", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_GRAY)); - public static final Block PALLIDIUM_TRANSITION_3 = registerBlock("pallidium_transition_3", new EndTerrainBlock(MaterialColor.COLOR_LIGHT_GRAY)); + public static final Block PALLIDIUM_FULL = registerBlock("pallidium_full", new PallidiumBlock("full", null)); + public static final Block PALLIDIUM_HEAVY = registerBlock("pallidium_heavy", new PallidiumBlock("heavy", PALLIDIUM_FULL)); + public static final Block PALLIDIUM_THIN = registerBlock("pallidium_thin", new PallidiumBlock("thin", PALLIDIUM_HEAVY)); + public static final Block PALLIDIUM_TINY = registerBlock("pallidium_tiny", new PallidiumBlock("tiny", PALLIDIUM_THIN)); // Roads // public static final Block END_MYCELIUM_PATH = registerBlock("end_mycelium_path", new BasePathBlock(END_MYCELIUM)); public static final Block END_MOSS_PATH = registerBlock("end_moss_path", new BasePathBlock(END_MOSS)); - public static final Block CHORUS_NYLIUM_PATH = registerBlock( - "chorus_nylium_path", - new BasePathBlock(CHORUS_NYLIUM) - ); + public static final Block CHORUS_NYLIUM_PATH = registerBlock("chorus_nylium_path", new BasePathBlock(CHORUS_NYLIUM)); public static final Block CAVE_MOSS_PATH = registerBlock("cave_moss_path", new BasePathBlock(CAVE_MOSS)); public static final Block CRYSTAL_MOSS_PATH = registerBlock("crystal_moss_path", new BasePathBlock(CRYSTAL_MOSS)); public static final Block SHADOW_GRASS_PATH = registerBlock("shadow_grass_path", new BasePathBlock(SHADOW_GRASS)); @@ -195,18 +181,9 @@ public class EndBlocks extends BlockRegistry { public static final Block RUTISCUS_PATH = registerBlock("rutiscus_path", new BasePathBlock(RUTISCUS)); public static final Block MOSSY_OBSIDIAN = registerBlock("mossy_obsidian", new MossyObsidian()); - public static final Block DRAGON_BONE_BLOCK = registerBlock( - "dragon_bone_block", - new BaseRotatedPillarBlock(Blocks.BONE_BLOCK) - ); - public static final Block DRAGON_BONE_STAIRS = registerBlock( - "dragon_bone_stairs", - new BaseStairsBlock(DRAGON_BONE_BLOCK) - ); - public static final Block DRAGON_BONE_SLAB = registerBlock( - "dragon_bone_slab", - new BaseSlabBlock(DRAGON_BONE_BLOCK) - ); + public static final Block DRAGON_BONE_BLOCK = registerBlock("dragon_bone_block", new BaseRotatedPillarBlock(Blocks.BONE_BLOCK)); + public static final Block DRAGON_BONE_STAIRS = registerBlock("dragon_bone_stairs", new BaseStairsBlock(DRAGON_BONE_BLOCK)); + public static final Block DRAGON_BONE_SLAB = registerBlock("dragon_bone_slab", new BaseSlabBlock(DRAGON_BONE_BLOCK)); public static final Block MOSSY_DRAGON_BONE = registerBlock("mossy_dragon_bone", new MossyDragonBoneBlock()); // Rocks // @@ -214,95 +191,47 @@ public class EndBlocks extends BlockRegistry { public static final StoneMaterial VIOLECITE = new StoneMaterial("violecite", MaterialColor.COLOR_PURPLE); public static final StoneMaterial SULPHURIC_ROCK = new StoneMaterial("sulphuric_rock", MaterialColor.COLOR_BROWN); public static final StoneMaterial VIRID_JADESTONE = new StoneMaterial("virid_jadestone", MaterialColor.COLOR_GREEN); - public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial( - "azure_jadestone", - MaterialColor.COLOR_LIGHT_BLUE - ); - public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial( - "sandy_jadestone", - MaterialColor.COLOR_YELLOW - ); + public static final StoneMaterial AZURE_JADESTONE = new StoneMaterial("azure_jadestone", MaterialColor.COLOR_LIGHT_BLUE); + public static final StoneMaterial SANDY_JADESTONE = new StoneMaterial("sandy_jadestone", MaterialColor.COLOR_YELLOW); public static final StoneMaterial UMBRALITH = new StoneMaterial("umbralith", MaterialColor.DEEPSLATE); public static final Block BRIMSTONE = registerBlock("brimstone", new BrimstoneBlock()); public static final Block SULPHUR_CRYSTAL = registerBlock("sulphur_crystal", new SulphurCrystalBlock()); public static final Block MISSING_TILE = registerBlock("missing_tile", new MissingTileBlock()); - public static final Block ENDSTONE_FLOWER_POT = registerBlock( - "endstone_flower_pot", - new FlowerPotBlock(Blocks.END_STONE) - ); + public static final Block ENDSTONE_FLOWER_POT = registerBlock("endstone_flower_pot", new FlowerPotBlock(Blocks.END_STONE)); public static final Block FLAVOLITE_RUNED = registerBlock("flavolite_runed", new RunedFlavolite(false)); - public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock( - "flavolite_runed_eternal", - new RunedFlavolite(true) - ); + public static final Block FLAVOLITE_RUNED_ETERNAL = registerBlock("flavolite_runed_eternal", new RunedFlavolite(true)); - public static final Block ANDESITE_PEDESTAL = registerBlock( - "andesite_pedestal", - new PedestalVanilla(Blocks.ANDESITE) - ); + public static final Block ANDESITE_PEDESTAL = registerBlock("andesite_pedestal", new PedestalVanilla(Blocks.ANDESITE)); public static final Block DIORITE_PEDESTAL = registerBlock("diorite_pedestal", new PedestalVanilla(Blocks.DIORITE)); public static final Block GRANITE_PEDESTAL = registerBlock("granite_pedestal", new PedestalVanilla(Blocks.GRANITE)); - public static final Block QUARTZ_PEDESTAL = registerBlock( - "quartz_pedestal", - new PedestalVanilla(Blocks.QUARTZ_BLOCK) - ); - public static final Block PURPUR_PEDESTAL = registerBlock( - "purpur_pedestal", - new PedestalVanilla(Blocks.PURPUR_BLOCK) - ); + public static final Block QUARTZ_PEDESTAL = registerBlock("quartz_pedestal", new PedestalVanilla(Blocks.QUARTZ_BLOCK)); + public static final Block PURPUR_PEDESTAL = registerBlock("purpur_pedestal", new PedestalVanilla(Blocks.PURPUR_BLOCK)); public static final Block HYDROTHERMAL_VENT = registerBlock("hydrothermal_vent", new HydrothermalVentBlock()); - public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly( - "vent_bubble_column", - new VentBubbleColumnBlock() - ); + public static final Block VENT_BUBBLE_COLUMN = registerEndBlockOnly("vent_bubble_column", new VentBubbleColumnBlock()); public static final Block DENSE_SNOW = registerBlock("dense_snow", new DenseSnowBlock()); public static final Block EMERALD_ICE = registerBlock("emerald_ice", new EmeraldIceBlock()); public static final Block DENSE_EMERALD_ICE = registerBlock("dense_emerald_ice", new DenseEmeraldIceBlock()); public static final Block ANCIENT_EMERALD_ICE = registerBlock("ancient_emerald_ice", new AncientEmeraldIceBlock()); - public static final Block END_STONE_STALACTITE = registerBlock( - "end_stone_stalactite", - new StalactiteBlock(Blocks.END_STONE) - ); - public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock( - "end_stone_stalactite_cavemoss", - new StalactiteBlock(CAVE_MOSS) - ); + public static final Block END_STONE_STALACTITE = registerBlock("end_stone_stalactite", new StalactiteBlock(Blocks.END_STONE)); + public static final Block END_STONE_STALACTITE_CAVEMOSS = registerBlock("end_stone_stalactite_cavemoss", new StalactiteBlock(CAVE_MOSS)); // Wooden Materials And Trees // - public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock( - "mossy_glowshroom_sapling", - new MossyGlowshroomSaplingBlock() - ); - public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock( - "mossy_glowshroom_cap", - new MossyGlowshroomCapBlock() - ); - public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock( - "mossy_glowshroom_hymenophore", - new GlowingHymenophoreBlock() - ); - public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock( - "mossy_glowshroom_fur", - new FurBlock(MOSSY_GLOWSHROOM_SAPLING, 15, 16, true) - ); + public static final Block MOSSY_GLOWSHROOM_SAPLING = registerBlock("mossy_glowshroom_sapling", new MossyGlowshroomSaplingBlock()); + public static final Block MOSSY_GLOWSHROOM_CAP = registerBlock("mossy_glowshroom_cap", new MossyGlowshroomCapBlock()); + public static final Block MOSSY_GLOWSHROOM_HYMENOPHORE = registerBlock("mossy_glowshroom_hymenophore", new GlowingHymenophoreBlock()); + public static final Block MOSSY_GLOWSHROOM_FUR = registerBlock("mossy_glowshroom_fur", new FurBlock(MOSSY_GLOWSHROOM_SAPLING, 15, 16, true)); public static final EndWoodenComplexMaterial MOSSY_GLOWSHROOM = new EndWoodenComplexMaterial( "mossy_glowshroom", MaterialColor.COLOR_GRAY, MaterialColor.WOOD ).init(); - public static final Block PYTHADENDRON_SAPLING = registerBlock( - "pythadendron_sapling", - new PythadendronSaplingBlock() - ); - public static final Block PYTHADENDRON_LEAVES = registerBlock( - "pythadendron_leaves", - new PottableLeavesBlock(PYTHADENDRON_SAPLING, MaterialColor.COLOR_MAGENTA) - ); + public static final Block PYTHADENDRON_SAPLING = registerBlock("pythadendron_sapling", new PythadendronSaplingBlock()); + public static final Block PYTHADENDRON_LEAVES = registerBlock("pythadendron_leaves", new PottableLeavesBlock(PYTHADENDRON_SAPLING, MaterialColor.COLOR_MAGENTA)); public static final EndWoodenComplexMaterial PYTHADENDRON = new EndWoodenComplexMaterial( "pythadendron", MaterialColor.COLOR_MAGENTA, @@ -320,10 +249,7 @@ public class EndBlocks extends BlockRegistry { ).init(); public static final Block LACUGROVE_SAPLING = registerBlock("lacugrove_sapling", new LacugroveSaplingBlock()); - public static final Block LACUGROVE_LEAVES = registerBlock( - "lacugrove_leaves", - new PottableLeavesBlock(LACUGROVE_SAPLING, MaterialColor.COLOR_CYAN) - ); + public static final Block LACUGROVE_LEAVES = registerBlock("lacugrove_leaves", new PottableLeavesBlock(LACUGROVE_SAPLING, MaterialColor.COLOR_CYAN)); public static final EndWoodenComplexMaterial LACUGROVE = new EndWoodenComplexMaterial( "lacugrove", MaterialColor.COLOR_BROWN, @@ -331,10 +257,7 @@ public class EndBlocks extends BlockRegistry { ).init(); public static final Block DRAGON_TREE_SAPLING = registerBlock("dragon_tree_sapling", new DragonTreeSaplingBlock()); - public static final Block DRAGON_TREE_LEAVES = registerBlock( - "dragon_tree_leaves", - new PottableLeavesBlock(DRAGON_TREE_SAPLING, MaterialColor.COLOR_MAGENTA) - ); + public static final Block DRAGON_TREE_LEAVES = registerBlock("dragon_tree_leaves", new PottableLeavesBlock(DRAGON_TREE_SAPLING, MaterialColor.COLOR_MAGENTA)); public static final EndWoodenComplexMaterial DRAGON_TREE = new EndWoodenComplexMaterial( "dragon_tree", MaterialColor.COLOR_BLACK, @@ -342,15 +265,9 @@ public class EndBlocks extends BlockRegistry { ).init(); public static final Block TENANEA_SAPLING = registerBlock("tenanea_sapling", new TenaneaSaplingBlock()); - public static final Block TENANEA_LEAVES = registerBlock( - "tenanea_leaves", - new PottableLeavesBlock(TENANEA_SAPLING, MaterialColor.COLOR_PINK) - ); + public static final Block TENANEA_LEAVES = registerBlock("tenanea_leaves", new PottableLeavesBlock(TENANEA_SAPLING, MaterialColor.COLOR_PINK)); public static final Block TENANEA_FLOWERS = registerBlock("tenanea_flowers", new TenaneaFlowersBlock()); - public static final Block TENANEA_OUTER_LEAVES = registerBlock( - "tenanea_outer_leaves", - new FurBlock(TENANEA_SAPLING, 32) - ); + public static final Block TENANEA_OUTER_LEAVES = registerBlock("tenanea_outer_leaves", new FurBlock(TENANEA_SAPLING, 32)); public static final EndWoodenComplexMaterial TENANEA = new EndWoodenComplexMaterial( "tenanea", MaterialColor.COLOR_BROWN, @@ -365,32 +282,17 @@ public class EndBlocks extends BlockRegistry { MaterialColor.COLOR_ORANGE ).init(); - public static final Block UMBRELLA_TREE_SAPLING = registerBlock( - "umbrella_tree_sapling", - new UmbrellaTreeSaplingBlock() - ); - public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock( - "umbrella_tree_membrane", - new UmbrellaTreeMembraneBlock() - ); - public static final Block UMBRELLA_TREE_CLUSTER = registerBlock( - "umbrella_tree_cluster", - new UmbrellaTreeClusterBlock() - ); - public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock( - "umbrella_tree_cluster_empty", - new UmbrellaTreeClusterEmptyBlock() - ); + public static final Block UMBRELLA_TREE_SAPLING = registerBlock("umbrella_tree_sapling", new UmbrellaTreeSaplingBlock()); + public static final Block UMBRELLA_TREE_MEMBRANE = registerBlock("umbrella_tree_membrane", new UmbrellaTreeMembraneBlock()); + public static final Block UMBRELLA_TREE_CLUSTER = registerBlock("umbrella_tree_cluster", new UmbrellaTreeClusterBlock()); + public static final Block UMBRELLA_TREE_CLUSTER_EMPTY = registerBlock("umbrella_tree_cluster_empty", new UmbrellaTreeClusterEmptyBlock()); public static final EndWoodenComplexMaterial UMBRELLA_TREE = new EndWoodenComplexMaterial( "umbrella_tree", MaterialColor.COLOR_BLUE, MaterialColor.COLOR_GREEN ).init(); - public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock( - "jellyshroom_cap_purple", - new JellyshroomCapBlock(217, 142, 255, 164, 0, 255) - ); + public static final Block JELLYSHROOM_CAP_PURPLE = registerBlock("jellyshroom_cap_purple", new JellyshroomCapBlock(217, 142, 255, 164, 0, 255)); public static final EndWoodenComplexMaterial JELLYSHROOM = new EndWoodenComplexMaterial( "jellyshroom", MaterialColor.COLOR_PURPLE, @@ -398,14 +300,8 @@ public class EndBlocks extends BlockRegistry { ).init(); public static final Block LUCERNIA_SAPLING = registerBlock("lucernia_sapling", new LucerniaSaplingBlock()); - public static final Block LUCERNIA_LEAVES = registerBlock( - "lucernia_leaves", - new PottableLeavesBlock(LUCERNIA_SAPLING, MaterialColor.COLOR_ORANGE) - ); - public static final Block LUCERNIA_OUTER_LEAVES = registerBlock( - "lucernia_outer_leaves", - new FurBlock(LUCERNIA_SAPLING, 32) - ); + public static final Block LUCERNIA_LEAVES = registerBlock("lucernia_leaves", new PottableLeavesBlock(LUCERNIA_SAPLING, MaterialColor.COLOR_ORANGE)); + public static final Block LUCERNIA_OUTER_LEAVES = registerBlock("lucernia_outer_leaves", new FurBlock(LUCERNIA_SAPLING, 32)); public static final EndWoodenComplexMaterial LUCERNIA = new EndWoodenComplexMaterial( "lucernia", MaterialColor.COLOR_ORANGE, @@ -422,65 +318,33 @@ public class EndBlocks extends BlockRegistry { public static final Block SHADOW_PLANT = registerBlock("shadow_plant", new TerrainPlantBlock(SHADOW_GRASS)); public static final Block BUSHY_GRASS = registerBlock("bushy_grass", new TerrainPlantBlock(PINK_MOSS)); public static final Block AMBER_GRASS = registerBlock("amber_grass", new TerrainPlantBlock(AMBER_MOSS)); - public static final Block TWISTED_UMBRELLA_MOSS = registerBlock( - "twisted_umbrella_moss", - new TwistedUmbrellaMossBlock() - ); - public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock( - "twisted_umbrella_moss_tall", - new TwistedUmbrellaMossTallBlock() - ); + public static final Block TWISTED_UMBRELLA_MOSS = registerBlock("twisted_umbrella_moss", new TwistedUmbrellaMossBlock()); + public static final Block TWISTED_UMBRELLA_MOSS_TALL = registerBlock("twisted_umbrella_moss_tall", new TwistedUmbrellaMossTallBlock()); public static final Block JUNGLE_GRASS = registerBlock("jungle_grass", new TerrainPlantBlock(JUNGLE_MOSS)); public static final Block BLOOMING_COOKSONIA = registerBlock("blooming_cooksonia", new TerrainPlantBlock(END_MOSS)); public static final Block SALTEAGO = registerBlock("salteago", new TerrainPlantBlock(END_MOSS)); public static final Block VAIOLUSH_FERN = registerBlock("vaiolush_fern", new TerrainPlantBlock(END_MOSS)); public static final Block FRACTURN = registerBlock("fracturn", new TerrainPlantBlock(END_MOSS)); - public static final Block CLAWFERN = registerBlock( - "clawfern", - new TerrainPlantBlock(SANGNUM, MOSSY_OBSIDIAN, MOSSY_DRAGON_BONE) - ); - public static final Block GLOBULAGUS = registerBlock( - "globulagus", - new TerrainPlantBlock(SANGNUM, MOSSY_OBSIDIAN, MOSSY_DRAGON_BONE) - ); + public static final Block CLAWFERN = registerBlock("clawfern", new TerrainPlantBlock(SANGNUM, MOSSY_OBSIDIAN, MOSSY_DRAGON_BONE)); + public static final Block GLOBULAGUS = registerBlock("globulagus", new TerrainPlantBlock(SANGNUM, MOSSY_OBSIDIAN, MOSSY_DRAGON_BONE)); public static final Block ORANGO = registerBlock("orango", new TerrainPlantBlock(RUTISCUS)); public static final Block AERIDIUM = registerBlock("aeridium", new TerrainPlantBlock(RUTISCUS)); public static final Block LUTEBUS = registerBlock("lutebus", new TerrainPlantBlock(RUTISCUS)); public static final Block LAMELLARIUM = registerBlock("lamellarium", new TerrainPlantBlock(RUTISCUS)); - public static final Block INFLEXIA = registerBlock( - "inflexia", - new TerrainPlantBlock( - PALLIDIUM, - PALLIDIUM_TRANSITION_1, - PALLIDIUM_TRANSITION_2, - PALLIDIUM_TRANSITION_3 - ) - ); + public static final Block INFLEXIA = registerBlock("inflexia", new TerrainPlantBlock(PALLIDIUM_FULL, PALLIDIUM_HEAVY, PALLIDIUM_THIN, PALLIDIUM_TINY)); public static final Block BLUE_VINE_SEED = registerBlock("blue_vine_seed", new BlueVineSeedBlock()); public static final Block BLUE_VINE = registerEndBlockOnly("blue_vine", new BlueVineBlock()); public static final Block BLUE_VINE_LANTERN = registerBlock("blue_vine_lantern", new BlueVineLanternBlock()); - public static final Block BLUE_VINE_FUR = registerBlock( - "blue_vine_fur", - new FurBlock(BLUE_VINE_SEED, 15, 3, false) - ); + public static final Block BLUE_VINE_FUR = registerBlock("blue_vine_fur", new FurBlock(BLUE_VINE_SEED, 15, 3, false)); public static final Block LANCELEAF_SEED = registerBlock("lanceleaf_seed", new LanceleafSeedBlock()); public static final Block LANCELEAF = registerEndBlockOnly("lanceleaf", new LanceleafBlock()); public static final Block GLOWING_PILLAR_SEED = registerBlock("glowing_pillar_seed", new GlowingPillarSeedBlock()); - public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly( - "glowing_pillar_roots", - new GlowingPillarRootsBlock() - ); - public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock( - "glowing_pillar_luminophor", - new GlowingPillarLuminophorBlock() - ); - public static final Block GLOWING_PILLAR_LEAVES = registerBlock( - "glowing_pillar_leaves", - new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false) - ); + public static final Block GLOWING_PILLAR_ROOTS = registerEndBlockOnly("glowing_pillar_roots", new GlowingPillarRootsBlock()); + public static final Block GLOWING_PILLAR_LUMINOPHOR = registerBlock("glowing_pillar_luminophor", new GlowingPillarLuminophorBlock()); + public static final Block GLOWING_PILLAR_LEAVES = registerBlock("glowing_pillar_leaves", new FurBlock(GLOWING_PILLAR_SEED, 15, 3, false)); public static final Block SMALL_JELLYSHROOM = registerBlock("small_jellyshroom", new SmallJellyshroomBlock()); public static final Block BOLUX_MUSHROOM = registerBlock("bolux_mushroom", new BoluxMushroomBlock()); @@ -488,52 +352,25 @@ public class EndBlocks extends BlockRegistry { public static final Block LUMECORN_SEED = registerBlock("lumecorn_seed", new LumecornSeedBlock()); public static final Block LUMECORN = registerEndBlockOnly("lumecorn", new LumecornBlock()); - public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock( - "small_amaranita_mushroom", - new SmallAmaranitaBlock() - ); - public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly( - "large_amaranita_mushroom", - new LargeAmaranitaBlock() - ); + public static final Block SMALL_AMARANITA_MUSHROOM = registerBlock("small_amaranita_mushroom", new SmallAmaranitaBlock()); + public static final Block LARGE_AMARANITA_MUSHROOM = registerEndBlockOnly("large_amaranita_mushroom", new LargeAmaranitaBlock()); public static final Block AMARANITA_STEM = registerBlock("amaranita_stem", new AmaranitaStemBlock()); public static final Block AMARANITA_HYPHAE = registerBlock("amaranita_hyphae", new AmaranitaStemBlock()); - public static final Block AMARANITA_HYMENOPHORE = registerBlock( - "amaranita_hymenophore", - new AmaranitaHymenophoreBlock() - ); + public static final Block AMARANITA_HYMENOPHORE = registerBlock("amaranita_hymenophore", new AmaranitaHymenophoreBlock()); public static final Block AMARANITA_LANTERN = registerBlock("amaranita_lantern", new GlowingHymenophoreBlock()); - public static final Block AMARANITA_FUR = registerBlock( - "amaranita_fur", - new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true) - ); + public static final Block AMARANITA_FUR = registerBlock("amaranita_fur", new FurBlock(SMALL_AMARANITA_MUSHROOM, 15, 4, true)); public static final Block AMARANITA_CAP = registerBlock("amaranita_cap", new AmaranitaCapBlock()); public static final Block NEON_CACTUS = registerBlock("neon_cactus", new NeonCactusPlantBlock()); public static final Block NEON_CACTUS_BLOCK = registerBlock("neon_cactus_block", new NeonCactusBlock()); - public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock( - "neon_cactus_stairs", - new BaseStairsBlock(NEON_CACTUS_BLOCK) - ); - public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock( - "neon_cactus_slab", - new BaseSlabBlock(NEON_CACTUS_BLOCK) - ); + public static final Block NEON_CACTUS_BLOCK_STAIRS = registerBlock("neon_cactus_stairs", new BaseStairsBlock(NEON_CACTUS_BLOCK)); + public static final Block NEON_CACTUS_BLOCK_SLAB = registerBlock("neon_cactus_slab", new BaseSlabBlock(NEON_CACTUS_BLOCK)); // Crops public static final Block SHADOW_BERRY = registerBlock("shadow_berry", new ShadowBerryBlock()); - public static final Block BLOSSOM_BERRY = registerBlock( - "blossom_berry_seed", - new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS) - ); - public static final Block AMBER_ROOT = registerBlock( - "amber_root_seed", - new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS) - ); - public static final Block CHORUS_MUSHROOM = registerBlock( - "chorus_mushroom_seed", - new PottableCropBlock(EndItems.CHORUS_MUSHROOM_RAW, CHORUS_NYLIUM) - ); + public static final Block BLOSSOM_BERRY = registerBlock("blossom_berry_seed", new PottableCropBlock(EndItems.BLOSSOM_BERRY, PINK_MOSS)); + public static final Block AMBER_ROOT = registerBlock("amber_root_seed", new PottableCropBlock(EndItems.AMBER_ROOT_RAW, AMBER_MOSS)); + public static final Block CHORUS_MUSHROOM = registerBlock("chorus_mushroom_seed", new PottableCropBlock(EndItems.CHORUS_MUSHROOM_RAW, CHORUS_NYLIUM)); //public static final Block PEARLBERRY = registerBlock("pearlberry_seed", new PottableCropBlock(EndItems.BLOSSOM_BERRY, END_MOSS, END_MYCELIUM)); public static final Block CAVE_PUMPKIN_SEED = registerBlock("cave_pumpkin_seed", new CavePumpkinVineBlock()); public static final Block CAVE_PUMPKIN = registerBlock("cave_pumpkin", new CavePumpkinBlock()); @@ -555,20 +392,13 @@ public class EndBlocks extends BlockRegistry { public static final Block HYDRALUX_SAPLING = registerBlock("hydralux_sapling", new HydraluxSaplingBlock()); public static final Block HYDRALUX = registerEndBlockOnly("hydralux", new HydraluxBlock()); public static final Block HYDRALUX_PETAL_BLOCK = registerBlock("hydralux_petal_block", new HydraluxPetalBlock()); - public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial( - HydraluxPetalColoredBlock::new, - HYDRALUX_PETAL_BLOCK, - true - ); + public static final ColoredMaterial HYDRALUX_PETAL_BLOCK_COLORED = new ColoredMaterial(HydraluxPetalColoredBlock::new, HYDRALUX_PETAL_BLOCK, true); public static final Block POND_ANEMONE = registerBlock("pond_anemone", new PondAnemoneBlock()); public static final Block FLAMAEA = registerBlock("flamaea", new FlamaeaBlock()); - public static final Block CAVE_BUSH = registerBlock( - "cave_bush", - new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA) - ); + public static final Block CAVE_BUSH = registerBlock("cave_bush", new SimpleLeavesBlock(MaterialColor.COLOR_MAGENTA)); public static final Block MURKWEED = registerBlock("murkweed", new MurkweedBlock()); public static final Block NEEDLEGRASS = registerBlock("needlegrass", new NeedlegrassBlock()); diff --git a/src/main/java/ru/betterend/world/surface/SurfaceBuilders.java b/src/main/java/ru/betterend/world/surface/SurfaceBuilders.java index e1cc9197..3252f12b 100644 --- a/src/main/java/ru/betterend/world/surface/SurfaceBuilders.java +++ b/src/main/java/ru/betterend/world/surface/SurfaceBuilders.java @@ -14,10 +14,10 @@ public class SurfaceBuilders { public static final SurfaceBuilderBaseConfiguration BRIMSTONE_CONFIG = makeSimpleConfig(EndBlocks.BRIMSTONE); public static final SurfaceBuilderBaseConfiguration SULFURIC_ROCK_CONFIG = makeSimpleConfig(EndBlocks.SULPHURIC_ROCK.stone); public static final SurfaceBuilderBaseConfiguration UMBRA_SURFACE_CONFIG = makeSimpleConfig(EndBlocks.UMBRALITH.stone); - public static final SurfaceBuilderBaseConfiguration PALLIDIUM_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM, EndBlocks.UMBRALITH.stone); - public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T1_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_1, EndBlocks.UMBRALITH.stone); - public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T2_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_2, EndBlocks.UMBRALITH.stone); - public static final SurfaceBuilderBaseConfiguration PALLIDIUM_T3_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TRANSITION_3, EndBlocks.UMBRALITH.stone); + public static final SurfaceBuilderBaseConfiguration PALLIDIUM_FULL_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_FULL, EndBlocks.UMBRALITH.stone); + public static final SurfaceBuilderBaseConfiguration PALLIDIUM_HEAVY_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_HEAVY, EndBlocks.UMBRALITH.stone); + public static final SurfaceBuilderBaseConfiguration PALLIDIUM_THIN_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_THIN, EndBlocks.UMBRALITH.stone); + public static final SurfaceBuilderBaseConfiguration PALLIDIUM_TINY_SURFACE_CONFIG = makeSurfaceConfig(EndBlocks.PALLIDIUM_TINY, EndBlocks.UMBRALITH.stone); public static final SurfaceBuilder SULPHURIC_SURFACE = register( "sulphuric_surface", diff --git a/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java b/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java index 277a7333..e7f3f86e 100644 --- a/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java +++ b/src/main/java/ru/betterend/world/surface/UmbraSurfaceBuilder.java @@ -32,16 +32,16 @@ public class UmbraSurfaceBuilder extends SurfaceBuilder 0.3F) { - return SurfaceBuilders.PALLIDIUM_SURFACE_CONFIG; + return SurfaceBuilders.PALLIDIUM_FULL_SURFACE_CONFIG; } else if (grass > 0.1F) { - return SurfaceBuilders.PALLIDIUM_T1_SURFACE_CONFIG; + return SurfaceBuilders.PALLIDIUM_HEAVY_SURFACE_CONFIG; } else if (grass > -0.1) { - return SurfaceBuilders.PALLIDIUM_T2_SURFACE_CONFIG; + return SurfaceBuilders.PALLIDIUM_THIN_SURFACE_CONFIG; } else if (grass > -0.3F) { - return SurfaceBuilders.PALLIDIUM_T3_SURFACE_CONFIG; + return SurfaceBuilders.PALLIDIUM_TINY_SURFACE_CONFIG; } else { return SurfaceBuilders.UMBRA_SURFACE_CONFIG; diff --git a/src/main/resources/assets/betterend/blockstates/pallidium.json b/src/main/resources/assets/betterend/blockstates/pallidium.json deleted file mode 100644 index 217268e6..00000000 --- a/src/main/resources/assets/betterend/blockstates/pallidium.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "variants": { - "": [ - { "model": "betterend:block/pallidium" }, - { "model": "betterend:block/pallidium", "y": 90 }, - { "model": "betterend:block/pallidium", "y": 180 }, - { "model": "betterend:block/pallidium", "y": 270 } - ] - } -} diff --git a/src/main/resources/assets/betterend/blockstates/pallidium_transition_1.json b/src/main/resources/assets/betterend/blockstates/pallidium_transition_1.json deleted file mode 100644 index fb4e5c21..00000000 --- a/src/main/resources/assets/betterend/blockstates/pallidium_transition_1.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "betterend:block/pallidium_transition_1" } - } -} diff --git a/src/main/resources/assets/betterend/blockstates/pallidium_transition_2.json b/src/main/resources/assets/betterend/blockstates/pallidium_transition_2.json deleted file mode 100644 index 923c3b41..00000000 --- a/src/main/resources/assets/betterend/blockstates/pallidium_transition_2.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "betterend:block/pallidium_transition_2" } - } -} diff --git a/src/main/resources/assets/betterend/blockstates/pallidium_transition_3.json b/src/main/resources/assets/betterend/blockstates/pallidium_transition_3.json deleted file mode 100644 index f452ff3e..00000000 --- a/src/main/resources/assets/betterend/blockstates/pallidium_transition_3.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "variants": { - "": { "model": "betterend:block/pallidium_transition_3" } - } -} diff --git a/src/main/resources/assets/betterend/models/block/pallidium.json b/src/main/resources/assets/betterend/models/block/pallidium.json deleted file mode 100644 index 7edfe854..00000000 --- a/src/main/resources/assets/betterend/models/block/pallidium.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "down": "betterend:block/umbralith", - "east": "betterend:block/pallidium_side", - "north": "betterend:block/pallidium_side", - "particle": "betterend:block/pallidium_side", - "south": "betterend:block/pallidium_side", - "up": "betterend:block/pallidium_top", - "west": "betterend:block/pallidium_side" - } -} diff --git a/src/main/resources/assets/betterend/models/block/pallidium_transition_1.json b/src/main/resources/assets/betterend/models/block/pallidium_transition_1.json deleted file mode 100644 index ca7711fe..00000000 --- a/src/main/resources/assets/betterend/models/block/pallidium_transition_1.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "down": "betterend:block/umbralith", - "east": "betterend:block/pallidium_side", - "north": "betterend:block/pallidium_side", - "particle": "betterend:block/pallidium_side", - "south": "betterend:block/pallidium_side", - "up": "betterend:block/pallidium_transition_1_top", - "west": "betterend:block/pallidium_side" - } -} diff --git a/src/main/resources/assets/betterend/models/block/pallidium_transition_2.json b/src/main/resources/assets/betterend/models/block/pallidium_transition_2.json deleted file mode 100644 index a00ba90c..00000000 --- a/src/main/resources/assets/betterend/models/block/pallidium_transition_2.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "down": "betterend:block/umbralith", - "east": "betterend:block/pallidium_side", - "north": "betterend:block/pallidium_side", - "particle": "betterend:block/pallidium_side", - "south": "betterend:block/pallidium_side", - "up": "betterend:block/pallidium_transition_2_top", - "west": "betterend:block/pallidium_side" - } -} diff --git a/src/main/resources/assets/betterend/models/block/pallidium_transition_3.json b/src/main/resources/assets/betterend/models/block/pallidium_transition_3.json deleted file mode 100644 index c404adef..00000000 --- a/src/main/resources/assets/betterend/models/block/pallidium_transition_3.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "parent": "block/cube", - "textures": { - "down": "betterend:block/umbralith", - "east": "betterend:block/pallidium_side", - "north": "betterend:block/pallidium_side", - "particle": "betterend:block/pallidium_side", - "south": "betterend:block/pallidium_side", - "up": "betterend:block/pallidium_transition_3_top", - "west": "betterend:block/pallidium_side" - } -} diff --git a/src/main/resources/assets/betterend/models/item/pallidium.json b/src/main/resources/assets/betterend/models/item/pallidium.json deleted file mode 100644 index 4020b077..00000000 --- a/src/main/resources/assets/betterend/models/item/pallidium.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "betterend:block/pallidium" -} diff --git a/src/main/resources/assets/betterend/textures/block/inflexia.png b/src/main/resources/assets/betterend/textures/block/inflexia.png index 1ef2623425c33c516146ae401ad44e904a3969ff..0dc4abb072000717a2b647e747136e11176232af 100644 GIT binary patch delta 166 zcmcb_xSer=WIZzj1A~Sxe=v|@EDmyaVpw-h<|UBBAK(+>3Zx6Wr%qY9Zq43($FE*d zsg&mh3bB?1`2{ol2LhQ3YC%8&S5Ftm5Q(Wr`?$Fn3^<&8_x_)GJzaYDL8S@vR2lDg zU3_FLo%GQA%CcSjg@$&T^H{RupF9zKr}MB%cai*?PiYec7krwTu!&XmE5n3TmS^Tb P6B#^R{an^LB{Ts5vO+#X delta 193 zcmdnac!_a>WIY=L1B3kM|A|0~u{g-xiDBJ2nU_FLkEe@ch(&L5f&}YfNg12!ul7f0 zUF22F(6Hk*`1b3s`UdHyvtcPmcbFI*l=yb+Ru2ylytk`8_S&n&d&UM!S+;w7s`JL801=w=cLj8y(!a-PnLYt>pH6n>wo_2GwuB{WmZ>b3nac-f%(n#|Jl8 p|DTz_bmSIK@bPx%gGod|R5*=Ql3z$uVHn1LZaX^9&hczAw=tdb{{jR=0@AE$I^E_Y8 zldUq*xCF6u$|4bW@jYOdz=0;&&}Su z^4^Sw@!z`FKbX$^rQ()ZURmRQ-viuG1DmCP)G7)Uw@iZ;;{E42#vebW(Tp+k^#_R~ zg5yU8{;M~x4_4eVV-wTNeVfIv1o-*k6Ep87Id5y4cz*uspi}K*~zv^UP@$Rh{`i8#EnG zpz0AmzI;W>N=t(7&UT!fL&?cea&kNyc!xAXp_}x1gQYReI@ZBn{ zviH)N#Zdt>66Y~H-f`G<)7T^U=%&rLXS_Vic!BYXWUs2A^t_uMZhx=tzQ*+7zpdKE g-UOC{;MQLZS5`3>l&@Y~4s-;Ar>mdKI;Vst0F<#_6951J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_heavy_side.png b/src/main/resources/assets/betterend/textures/block/pallidium_heavy_side.png new file mode 100644 index 0000000000000000000000000000000000000000..4a520c72f1784b6c013499cddabec785192c4db5 GIT binary patch literal 696 zcmV;p0!RIcP)Px%a!Eu%R49=>kwIwFa2Um3lhveY|E6h@HWi7JX~EO(GT6nN7ro5G#Ieipw!;{B z*+JMzaImunw^Bi62NA|DRkksN;YrJ2I0GXL(lzPQ`tP!)NmCDh@%HiYA)=hyscr$_0020% zTSmpy$IEPHCIF_VCQGI%%DH^0Kz-_ZZO--Dx~ASVi_KqlzEqHiQm@vS2|EBlzuP-G zJYo`D)9biid%`RO=$v2Z<7J5`ED3;*>u;$~sZZ}eei%^y!>2utU1`~lDChd!9!uQV z-Dk^y`T%AY=bt>9jzU_m);K9!Tv=EK;GX_-2O!G1y@MYct7}n61L{whWnEJ@w%x?D}F)C)~{G#9O85I*iK>gsd#hT># ztE?Z)z e5QVh&r}-C>3t)h%56%Ao0000Px%mq|oHR5*=glR-!nQ5?p9>Z+^lGOM%e&ZxaMwnT%)^dLn`YY;@|qEi$?$D%{0 zqJsyiQ$gf0C_I+crHG0m%L)k!*|N~a*2mI}<7gu;y2-|N*k*9)ogV!E-}k=%_x)eZ z_=}h2SX2dI$yp{ARatVD0jlnAKYk@CbO5wy#IFTBAb{n#exnwRR1qeHjv-C%-ndP; zCCu5&=P;y6Z7iz#z=_Fe^3rBvavIBV@s8!V7}Dg<$aTUkVS-AC(UF@Zgk?SA5_fThSVHIB!^Z%0iZ(LoUJPl%;6XC!UI0?vNq~w1 zLz>J@eIclXD6SR&2)Bgk6m7ntNuiTT_o7836|#Tk*L9=@hLb|4y=NC6p1z^6sgcs} z&5HD#MA0>b9%HBIpq4VRsEVp=ZF*94Uib%{ND zheN8uoBPk$e>F0N2qEwJ`$jf>YV`6=Y3O(3X**xlD(6`AF@4YFz<)geHQsmjoZjlTmw@+Lsype&>DB%M2SGgdE~W41 P00000NkvXXu0mjfv+!fU literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_side.png b/src/main/resources/assets/betterend/textures/block/pallidium_side.png deleted file mode 100644 index 0e40e4d32fbd9af4ae37762aa5a9f7eb6b56eb59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~l>na*S0K&K z!pp-UCdjWWEn}jg>u6x(>ku4YKVjzVwcFS4KXLHv)rS}Fqyp9Plmz(&GyF#Y&LaV8 zK=Fy5E{-7*Q&oGTnOqb(oI^#OW*dom>t_W z%2OtMa9EbA>g28PP-Bm)m(#W2O>3^4hzfV?wD~6V|MS(e^A+7|Hz#B=?f=Em)b^j@ X@?kci54?9kj$`n2^>bP0l+XkKy>WEk diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_thin_side.png b/src/main/resources/assets/betterend/textures/block/pallidium_thin_side.png new file mode 100644 index 0000000000000000000000000000000000000000..eed90006ec1f82fa9b93b44a2d52de351c2baf90 GIT binary patch literal 720 zcmV;>0x$iEP)Px%ib+I4R5*=wl21q!VHn1LJL|T8zt$1mokbV~Vd-FW@YE#=x$tgdg7 z%?txDIyZ^d-O2LWCjENqjQRNEmk3pGwzN6ka^jc5qIsixI3fnt*+@thr37$zbKrv=9+}!u`{u`;;F?PfuJBFRFtHyv-07S=PqqYC>}du zk#8q*^A2CW{-9oyJQ#n~hALEqDp0hvj!*@WXac8d;YgdpPJ1Lb&U)j}gSu;2WHZAE zRS=5D+A(Tr-GeqdH;E%{%0&aGYO!lrM4}1r|Kpo!FM*?S1%IfcYoyUQ#wk?@1j96= z=ect0IzLy|2%L*z{`pInmLM1o(rPNu@>8!#d`g&LIEe4U#cM6sQQDGn(eMDd%T?Mx z;HX?d+R|ec5h^`>DU?t==FtZJD|Yw9O#+~>lgICGo*(i1e5c$CG>@Ca;&B>{V^8ct z1)$ZWdE6ur4AbE~p17YL$33UTPPGlSUXv877XJXcPFpcdKZ6wj0000{HPx%y-7qtR49=>l3z$uaTLeT-JR{WcDtLd>u;?tp*RzZp%$hItC$bvi#~(|qAwx6 znZ*nxpOpS6LXwhXP>Mb*#N0!Qpy0$A3zS5cwIR%#b9aB(-T1BR!hb#dz{hhqe9!mu zJ%?)T9n2R@oy`t=W5bh2_p8h9WNBC}YhVp5mT_fWO?|D+jCcSDNm0-0CNkEsLUkrGCq*NoLUcqufd9madlaT}f zXj#MD=ooR|($q%g6fD~t8*Eipy7ieOvaep7^Kd99lS-?ZQ#3{CIBrkHq?Enl8znyP zkIK55fp=XM*NTsi4ykXx4FI@htuUfO*1!@yhSSA@;r@{xDW2RC!#7KdNCquUZR(W` zKZ#YrG5{2m7oYH%5pPC(*%eDjimq(h)7k9EMm)pmRK!ERU>cuw?f=6HmQ!(YcygGiI;Y&osNWL9_QnPP$fVLV zqt4z5ilyZxg?U2!So{0C=hetiVV)2Oh6cLdMuXe23_N^r?-Y|Y@0!<~)=-zP-X=@B z-*gf(&+6um7>(@)laWLwmBuojnEgbE&s{R97*5A=qyc9SjK;T1@6{W>$J@K*Fy&fhx*)XT@DxU`r7+C(n{t$pYvgC`eKnqrC=G$ z7yv5kYRrh2;z=yyOe#&@LBVoovx9i9ueDte`2So5WdVhh`J4a%002ovPDHLkV1fWQ BX@~#- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_tiny_side.png b/src/main/resources/assets/betterend/textures/block/pallidium_tiny_side.png new file mode 100644 index 0000000000000000000000000000000000000000..5b290361841e37163d01bb05f321a13357053205 GIT binary patch literal 725 zcmV;`0xJE9P)Px%k4Z#9R5*=wlRsz_K@`S+_b1-Ex8r0aZdMZ3$jO=JKuD~#2?(N~b~cLGYG-UM z0)h$wtB7DFVqqYpP^^qvSc!s-HfkUok<&|bJ?3t6dwX|daqf~JzG~RV@4fH)W|pOw zuZ)rx{Ufh zmUI{%-HQ%1mv79H`}pSloMlT2y9+dbHW)eJp*J+|R$dcD4UU~U#lfj5YHQyB=tdoC zU)KRRd;T=JUHRf%zt`u`(F)C<4Z7VP#bH6b)diE|^|Kd@Oq5vt@R3ftL#N##)B$m) zO-_xHjk{Z%xO9;(Z$Dv4hjyb0fKY-_-^Uh;ao-&T2822wY}JV)&B~+4WRxtKB>55V zFhYqmbxS&Itknh^Bh64j5Vq=^y)w(nqsQ1nkxjNF({-S+q=Q%XcffIXi#XC;y?rNz zg%aewvJaoDgxV!+)dAR8;~&^A4*KiWdTP;<4p{)NJWyd5T`u34CDZ|p%_?E5&QL*M z7u~e~^#0w{V!P2K|NV0nOF979La|=0r+$YDB9*$m;z*+djZlKjWM#%A4IOA2o7Ekl zSN8e+;}`8l6CLO@D_bb`P3$LYNhehR{1^7h{*G%LWK|=V>+hM%Wis2QZ_w}caipZ% z?WORSx1Z9tfa%lk^%*McCZB%%JAJ#Iq_)G!pBhJ+%~qX10`zM2VaPFb00000NkvXX Hu0mjf-o9Cj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_tiny_top.png b/src/main/resources/assets/betterend/textures/block/pallidium_tiny_top.png new file mode 100644 index 0000000000000000000000000000000000000000..acf3c5b3f575d3761e493a26c808d50986475262 GIT binary patch literal 755 zcmVPx%tw}^dR5*=Ql0isRQ51$h$0>(tE^nTgGn2zDn6e@w2%$xrf;P5jQP8HSi5Q_a z;e?PeLza?~BnVlN3&$uZ33m}h(84xC(4r*LCWe?mV5= z-NR$LDJZmUrL=9ObW>31?%^@rmh8}N$qsE>DcwChrfn;w+mao6*WSbCKTvea6b43U ziSHyPC1GI`-qcD;CK#Q(Wj5XIy#j!+1tBYfumu2(A7DI)N5-j%+48%kq~cRZ&+RW#^!AaGo&yu!qDV>l&j41l#8cae*I81zI#2>m${KA zk!)kJ(n4SCUH;~R{Ny!B9mMDXl zZz60#Fy1a<-l4Lxx=szKme$#L$|ar45^sr;IiA7$zRbnJA@W^4#*v0YC(desh1oey zUOLBk{yH0)gxQww>H#1uY$M^~;1Dk!J_8_FnRkrVsnH2KGZ#q8zjyKD{BJEf%P3bN zY(c<3n&0Gu!@?#eB|8r6F$?^GN!d#8?W=^W2!W6l`LCfcFhV+)Mc9IPyJU6g8}-_n z$%&_2?)F}x=#;6J$^@#VGWFUT%2fd7;(n-nu}+y?9~OX`!@k4*h_-^f*JmU!P5F=zkx#So-U3d5>s{ix%-Y9 z@G#}t?fgIS{*K+NrdXL8l-$~L{i@a5>}5QjT7AbY%qG8$Res@@*T7Y2n yr`1XucI6lyiHrF3x5eDH&-TmWs2!cJ?#h2uVV-(8er`C>NerH@elF{r5}E*mscY5% diff --git a/src/main/resources/assets/betterend/textures/block/pallidium_transition_1_top.png b/src/main/resources/assets/betterend/textures/block/pallidium_transition_1_top.png deleted file mode 100644 index 61d6540cf003bd6220a089df291ec4248d1b38bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 796 zcmV+%1LOROP)Px%)=5M`R5*=QlhJDvc@W1xCPBBd$u_y&bDK7MA?jXBi;3+O3!W5?K7^~if(ZKV z)4}0A931$T|G;M{eQAYjK@hQmLTo*H976FhNkcH6*OHVZWtVN!Zj;qp^&WCrbY2F2 zGvAr-Z{|D4?yo)n2w+-!=y45z@^*#Cj~)V0+$eGF#&uH3B&M|ofE)=E2?enZ4haBc zvso|D_37yu^teWOyMi9qSY7`E(=bSlj&bYeEq=-T3V?s`{CK9-YSF0I_-%d(IjRsi zegc4FJ|C^NL#|L@GoK@#NHBN%4uT}I{$!1VBMYBt7|4o3aifH)YdpBO!ppy201ycU zJys*$^41q?yM%NnU3aYNrsMpx3Dtv0o^Gg6YO`FN9m%aDE z$hjn@VRV4y3j4bj`@7a>VAC)d9v||U0Bq)Sn1+E5Kvoof{^>^qNyKT|-t@a&r>3U7 zVqIW*dInih@D0Q|t23=VX8)(wEh0!FreR=OdtT?R->Fs@h-vs=mueXT?>VD?%|CDc z=443V@W?^_N~OPFMhpgVU6+BF#>B(~f#WA|T^E44+jsDfT$;>m72cqoj-d|@VcRx8 zT$$y=zi+YaL*j`9sbrE?+o9EV*r`_7%;#8Jd4?c~9U-Z@<_Rb@I))qxd;iX6v)o-= zK<$enD@sR^hCz`MPSeIO1R@#NeUIz5iN-WfrtP=yxVyMOJdt2+`aN&M^vx_N>m;u9p%OW4fkfX*>3 z&o80s8vDBzPSZx!H6o!PDkhxOg1 zZyAVbq(;Z^%TX=!WxqmtdIq&G$``#7xk3Roc8b^eR{&hN_zeKA>mr52RO`FwagC>| atNaHUu`N*SVyhwm0000Px%)k#D_R5*=Ql1pe4eH6uinJHyxGo9u|Q*C37MwApMC?>@Rii?69srd1^5b37f z72OnfLcpyXp*!6a*Fr#wQi`C3npBV`WN7Vxl~j}Hq!}lZN~H0zDEXszeb2e)o^w2p zo<9E#@M*h5Le~LU%jbEuyn>lCP<<+{?UH_YpHJH*03JVh#N3lPYIU0~fENqT*l~9G zdjeW7Cg9pGb5G`2T3Vu7DU)4XMfIu7+?ru(b{aVnJCSZST?(()FxO48FW(S}MHq=j zxq9OoM@NrREEX{~OnQ`VoO%OA^CEjZ?Cds>j15z;hL1%EjSNz)l&M)3LBEfo;Rw}A znSj=d@pc_W^U^=y$F*H9UO0>Nx9sX>iT(jU*~L|=l`?Djy!hLAyAD9hX=3IKf$0ip zy^x9vf^T2yghmF*F0K+DJOIFsvx{rH0yHr>fw5syEaZ{@pPWj2dlXg{meIliT27NL zr5oAfVe9=Cg=~S_cW?9A{!0C`MJyHP*WM43$umfjj5IVHAs7mges~}2V@1dWP&6-{ zh~vjPqM$72B0EQ`#12H9LMr?W5LaOuir`Uf-$*#cTPK=4qQZQ}!D<4Gh*CKw8F z{`@)G?KYAmlbO$;`c&l63m4OS-&^$bDFj0y+@C+#Ha-Zs(ZeGoPMxOFaA-6fYL{%Zx$nvkgwCwQ+N&nrvPIq57Tkp4Mw|@$- znKPK0ohG5{M59p-9689lm3K(7R9t{N?A1yc*LFo8%$&j4c#@iBQLEdmPx%DoI2^R5*=glRs!0Q5?rV9vKd~<8lG<%y0yX60ohM9bB?h0ka^8->2=hi0dZ0sS^ev^Dtn)QkMJkFu-kktO4Y9cbMGX(Wtoq>{rT&CBTJJ zafKAXIjErg`2LNbpFZRFha_#AxNg$+T2$)}^Dtl@1^`@j2LR}%j%sLUeLNLDLj zlh{g08E(@9pinAueSS&Owowg@_2dR&5Z)6IS)=X^>&Xo{#qYt5^d)KA04%06dS@3B zvu33>nTG-Ce3nu7hRN+6iLDfVAL&VMcSqg`NLkgoL#+1p-E!>v9DO(445I7g%A5;KhlOTqU3&7m|0Ks7Y{{!oHWJ0}!MMXtI7uFo%t>n4hD zUW^t7A*!KaW$YEOmD;3Qcd$~M60Dm#ij}d^O`S%~WxrBp9tQaRA-%JUm2ul%i?Q!> z@vFBIrvhMQ{?C8!#hx6yQFG;ab~`O4E~YbL+mD_vg;s!