From 81ebac7cfd8150ed160735091685aac6d010bd9a Mon Sep 17 00:00:00 2001 From: Maxx <53229958+MBatt1@users.noreply.github.com> Date: Thu, 2 May 2024 17:29:01 -0500 Subject: [PATCH] everything except the vaults --- .../blockentity/TreeTapBlockEntity.java | 44 ++++++-- .../paradiselost/items/ParadiseLostItems.java | 3 +- .../tag/ParadiseLostStructureTags.java | 1 - .../world/dimension/ParadiseLostBiomes.java | 36 +++--- .../feature/structure/OrangeRuinFeature.java | 47 -------- .../ParadiseLostStructureFeatures.java | 6 - .../generator/OrangeRuinGenerator.java | 69 ------------ .../block/halflight_cheesecake_slice3.json | 103 ++++-------------- .../paradise_lost/models/block/tree_tap.json | 53 ++++----- .../block/halflight_cheesecake_inner.png | Bin 343 -> 353 bytes .../block/halflight_cheesecake_side.png | Bin 366 -> 376 bytes .../block/halflight_cheesecake_top.png | Bin 271 -> 285 bytes .../paradise_lost/textures/block/tree_tap.png | Bin 0 -> 401 bytes .../dimension_type/paradise_lost.json | 4 +- .../loot_tables/chests/aurel_tower.json | 2 +- ...glazed_gold_upgrade_smithing_template.json | 7 +- .../paradise_lost/structures/aurel_tower.nbt | Bin 4764 -> 4753 bytes .../structures/dungeon_entrance.nbt | Bin 3404 -> 0 bytes .../paradise_lost/structures/orange_ruin.nbt | Bin 2087 -> 0 bytes .../slider_dungeon_boss_room.nbt | Bin 3144 -> 0 bytes .../slider_dungeon/slider_dungeon_hallway.nbt | Bin 605 -> 0 bytes .../slider_dungeon/slider_dungeon_room.nbt | Bin 2602 -> 0 bytes .../worldgen/structure/orange_ruin.json | 12 -- .../worldgen/structure_set/orange_ruin.json | 14 --- 24 files changed, 114 insertions(+), 287 deletions(-) delete mode 100644 src/main/java/net/id/paradiselost/world/feature/structure/OrangeRuinFeature.java delete mode 100644 src/main/java/net/id/paradiselost/world/feature/structure/generator/OrangeRuinGenerator.java create mode 100644 src/main/resources/assets/paradise_lost/textures/block/tree_tap.png delete mode 100644 src/main/resources/data/paradise_lost/structures/dungeon_entrance.nbt delete mode 100644 src/main/resources/data/paradise_lost/structures/orange_ruin.nbt delete mode 100644 src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_boss_room.nbt delete mode 100644 src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_hallway.nbt delete mode 100644 src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_room.nbt delete mode 100644 src/main/resources/data/paradise_lost/worldgen/structure/orange_ruin.json delete mode 100644 src/main/resources/data/paradise_lost/worldgen/structure_set/orange_ruin.json diff --git a/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java b/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java index 7279887c9..f886dfa22 100644 --- a/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java +++ b/src/main/java/net/id/paradiselost/blocks/blockentity/TreeTapBlockEntity.java @@ -10,6 +10,7 @@ import net.minecraft.entity.player.PlayerInventory; import net.minecraft.inventory.Inventories; import net.minecraft.inventory.Inventory; +import net.minecraft.inventory.SidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; import net.minecraft.network.Packet; @@ -27,9 +28,10 @@ import net.minecraft.util.math.Direction; import org.jetbrains.annotations.Nullable; +import java.util.List; import java.util.Optional; -public class TreeTapBlockEntity extends LootableContainerBlockEntity { +public class TreeTapBlockEntity extends LootableContainerBlockEntity implements SidedInventory { private final DefaultedList inventory; @@ -49,6 +51,20 @@ public void handleUse(PlayerEntity player, Hand hand, ItemStack handStack) { markDirty(); } + public int[] getAvailableSlots(Direction side) { + return new int[1]; + } + + @Override + public boolean canInsert(int slot, ItemStack stack, @Nullable Direction dir) { + return dir != Direction.DOWN && this.inventory.get(0).isEmpty(); + } + + @Override + public boolean canExtract(int slot, ItemStack stack, Direction dir) { + return false; + } + public DefaultedList getItems() { return inventory; } @@ -69,12 +85,12 @@ public void setStack(int slot, ItemStack stack) { @Override protected DefaultedList getInvStackList() { - return null; + return inventory; } @Override protected void setInvStackList(DefaultedList list) { - + inventory.set(0, list.get(0)); } private void inventoryChanged() { @@ -122,15 +138,27 @@ public void tryCraft() { if (!world.isClient) world.playSound(null, pos, SoundEvents.ENTITY_ITEM_PICKUP, SoundCategory.BLOCKS, 0.5f, world.getRandom().nextFloat() * 0.4f + 0.8f); - inventoryChanged(); - BlockEntity possibleHopper = world.getBlockEntity(pos.down()); - if (possibleHopper instanceof Inventory) { - output = HopperBlockEntity.transfer(this, (Inventory) possibleHopper, output, Direction.UP); - } this.inventory.set(0, output); + inventoryChanged(); } + tryTansferItemsOut(); } + public void tryTansferItemsOut() { + ItemStack stack = getStack(0); + if (stack.isEmpty()) { + return; + } + + ItemStack contents = this.inventory.get(0); + BlockEntity possibleHopper = world.getBlockEntity(pos.down()); + if (possibleHopper instanceof Inventory) { + contents = HopperBlockEntity.transfer(this, (Inventory) possibleHopper, contents, Direction.UP); + } + this.inventory.set(0, contents); + inventoryChanged(); + } + @Override public NbtCompound toInitialChunkDataNbt() { NbtCompound nbtCompound = new NbtCompound(); diff --git a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java index 85b8295d1..9e2e1c2d0 100644 --- a/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java +++ b/src/main/java/net/id/paradiselost/items/ParadiseLostItems.java @@ -363,7 +363,8 @@ private static FabricItemSettings decoration() { public static final BlockItem FLAXWEAVE_CUSHION = add("flaxweave_cushion", ParadiseLostBlocks.FLAXWEAVE_CUSHION, decoration, fuel(300)); - public static final BlockItem CHEESECAKE = add("halflight_cheesecake", ParadiseLostBlocks.CHEESECAKE, food()); + // TODO + //public static final BlockItem CHEESECAKE = add("halflight_cheesecake", ParadiseLostBlocks.CHEESECAKE, food()); public static final BlockItem AMADRYS_BUNDLE = add("amadrys_bundle", ParadiseLostBlocks.AMADRYS_BUNDLE, decoration()); diff --git a/src/main/java/net/id/paradiselost/tag/ParadiseLostStructureTags.java b/src/main/java/net/id/paradiselost/tag/ParadiseLostStructureTags.java index fab8514a7..dc9663cf6 100644 --- a/src/main/java/net/id/paradiselost/tag/ParadiseLostStructureTags.java +++ b/src/main/java/net/id/paradiselost/tag/ParadiseLostStructureTags.java @@ -7,7 +7,6 @@ public class ParadiseLostStructureTags { - public static final TagKey ORANGE_RUIN_HAS_STRUCTURE = register("has_structure/orange_ruin"); public static final TagKey AUREL_TOWER_HAS_STRUCTURE = register("has_structure/aurel_tower"); public static final TagKey WELL_HAS_STRUCTURE = register("has_structure/well"); diff --git a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java index b6ae4ffc9..d38045b63 100644 --- a/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java +++ b/src/main/java/net/id/paradiselost/world/dimension/ParadiseLostBiomes.java @@ -262,7 +262,7 @@ private static Biome createHighlandsPlains() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -271,7 +271,7 @@ private static Biome createHighlandsPlains() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.5F).downfall(1) @@ -309,7 +309,7 @@ private static Biome createHighlandsForest() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -318,7 +318,7 @@ private static Biome createHighlandsForest() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.5F).downfall(1) @@ -354,7 +354,7 @@ private static Biome createTradewinds() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -363,7 +363,7 @@ private static Biome createTradewinds() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.5F).downfall(1) @@ -404,7 +404,7 @@ private static Biome createHighlandsThicket() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -413,7 +413,7 @@ private static Biome createHighlandsThicket() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.4F).downfall(2) @@ -452,7 +452,7 @@ private static Biome createHighlandsGrandGlade() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -461,7 +461,7 @@ private static Biome createHighlandsGrandGlade() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.4F).downfall(2) @@ -497,7 +497,7 @@ private static Biome createWisteriaWoods() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -506,7 +506,7 @@ private static Biome createWisteriaWoods() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.5F).downfall(1) @@ -548,7 +548,7 @@ private static Biome createAutumnalTundra() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -558,7 +558,7 @@ private static Biome createAutumnalTundra() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.1F).downfall(2) @@ -598,7 +598,7 @@ private static Biome createContinentalPlateau() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -608,7 +608,7 @@ private static Biome createContinentalPlateau() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.25F).downfall(0) @@ -657,7 +657,7 @@ private static Biome createHighlandsShield() { merge( Map.of( SpawnGroup.MONSTER, List.of( - new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 2, 4) + new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.ENVOY, 50, 1, 3) ), SpawnGroup.CREATURE, List.of( new SpawnSettings.SpawnEntry(ParadiseLostEntityTypes.PARADISE_HARE, 12, 4, 4), @@ -667,7 +667,7 @@ private static Biome createHighlandsShield() { ) ), Map.of( - ParadiseLostEntityTypes.ENVOY, SpawnCost.of(0.1, 2.0) + ParadiseLostEntityTypes.ENVOY, SpawnCost.of(1.0, 0.5) ) )) .precipitation(Biome.Precipitation.RAIN).temperature(0.35F).downfall(2) diff --git a/src/main/java/net/id/paradiselost/world/feature/structure/OrangeRuinFeature.java b/src/main/java/net/id/paradiselost/world/feature/structure/OrangeRuinFeature.java deleted file mode 100644 index 741736b2b..000000000 --- a/src/main/java/net/id/paradiselost/world/feature/structure/OrangeRuinFeature.java +++ /dev/null @@ -1,47 +0,0 @@ -package net.id.paradiselost.world.feature.structure; - -import com.mojang.datafixers.util.Either; -import com.mojang.serialization.Codec; -import net.id.paradiselost.world.feature.structure.generator.OrangeRuinGenerator; -import net.minecraft.structure.StructurePiecesCollector; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.ChunkPos; -import net.minecraft.world.Heightmap; -import net.minecraft.world.gen.structure.Structure; -import net.minecraft.world.gen.structure.StructureType; - -import java.util.Optional; - -public class OrangeRuinFeature extends Structure { - public static final Codec CODEC = createCodec(OrangeRuinFeature::new); - - public OrangeRuinFeature(Structure.Config config) { - super(config); - } - - private static void addPieces(StructurePiecesCollector collector, Context context) { - int x = context.chunkPos().x * 16; - int z = context.chunkPos().z * 16; - int y = context.chunkGenerator().getHeight(x, z, Heightmap.Type.WORLD_SURFACE_WG, context.world(), context.noiseConfig()); - if (y < 0) { // DON'T PLACE ON THE BOTTOM OF THE WORLD - return; - } - BlockPos newPos = new BlockPos(x, y, z); - OrangeRuinGenerator.addPieces(context.structureTemplateManager(), collector, context.random(), newPos); - } - - @Override - public Optional getStructurePosition(Context context) { - context.random().nextDouble(); - ChunkPos chunkPos = context.chunkPos(); - BlockPos blockPos = new BlockPos(chunkPos.getCenterX(), 50, chunkPos.getStartZ()); - StructurePiecesCollector structurePiecesCollector = new StructurePiecesCollector(); - addPieces(structurePiecesCollector, context); - return Optional.of(new Structure.StructurePosition(blockPos, Either.right(structurePiecesCollector))); - } - - @Override - public StructureType getType() { - return ParadiseLostStructureFeatures.ORANGE_RUIN; - } -} diff --git a/src/main/java/net/id/paradiselost/world/feature/structure/ParadiseLostStructureFeatures.java b/src/main/java/net/id/paradiselost/world/feature/structure/ParadiseLostStructureFeatures.java index 46e0cfbdd..a06b2dadb 100644 --- a/src/main/java/net/id/paradiselost/world/feature/structure/ParadiseLostStructureFeatures.java +++ b/src/main/java/net/id/paradiselost/world/feature/structure/ParadiseLostStructureFeatures.java @@ -1,6 +1,5 @@ package net.id.paradiselost.world.feature.structure; -import net.id.paradiselost.world.feature.structure.generator.OrangeRuinGenerator; import net.id.paradiselost.world.feature.structure.generator.AurelTowerGenerator; import net.id.paradiselost.world.feature.structure.generator.WellGenerator; import net.minecraft.structure.StructurePieceType; @@ -20,10 +19,6 @@ public class ParadiseLostStructureFeatures { public static final StructureType AUREL_TOWER = () -> AurelTowerFeature.CODEC; public static final StructurePieceType AUREL_TOWER_PIECE = AurelTowerGenerator.Piece::new; - public static final TagKey ORANGE_RUIN_KEY = tagKey("orange_ruin"); - public static final StructureType ORANGE_RUIN = () -> OrangeRuinFeature.CODEC; - public static final StructurePieceType ORANGE_RUIN_PIECE = OrangeRuinGenerator.Piece::new; - private static TagKey tagKey(String name) { return TagKey.of(Registry.STRUCTURE_KEY, locate(name)); } @@ -31,7 +26,6 @@ private static TagKey tagKey(String name) { public static void init() { register(WELL_KEY, WELL, WELL_PIECE); register(AUREL_TOWER_KEY, AUREL_TOWER, AUREL_TOWER_PIECE); - register(ORANGE_RUIN_KEY, ORANGE_RUIN, ORANGE_RUIN_PIECE); } private static void register(TagKey name, StructureType type, StructurePieceType pieceType) { diff --git a/src/main/java/net/id/paradiselost/world/feature/structure/generator/OrangeRuinGenerator.java b/src/main/java/net/id/paradiselost/world/feature/structure/generator/OrangeRuinGenerator.java deleted file mode 100644 index 326347e74..000000000 --- a/src/main/java/net/id/paradiselost/world/feature/structure/generator/OrangeRuinGenerator.java +++ /dev/null @@ -1,69 +0,0 @@ -package net.id.paradiselost.world.feature.structure.generator; - -import net.id.paradiselost.ParadiseLost; -import net.id.paradiselost.world.feature.structure.ParadiseLostStructureFeatures; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.structure.*; -import net.minecraft.structure.processor.BlockIgnoreStructureProcessor; -import net.minecraft.util.BlockMirror; -import net.minecraft.util.BlockRotation; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockBox; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.ChunkPos; -import net.minecraft.util.math.random.Random; -import net.minecraft.world.ServerWorldAccess; -import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.gen.StructureAccessor; -import net.minecraft.world.gen.chunk.ChunkGenerator; - -public class OrangeRuinGenerator { - private static final Identifier ORANGE_RUIN = ParadiseLost.locate("orange_ruin"); - - public static void addPieces(StructureTemplateManager manager, StructurePiecesHolder structurePiecesHolder, Random random, BlockPos pos) { - BlockRotation blockRotation = BlockRotation.random(random); - structurePiecesHolder.addPiece(new OrangeRuinGenerator.Piece(manager, ORANGE_RUIN, pos, blockRotation)); - } - - public static class Piece extends SimpleStructurePiece { - private boolean shifted = false; - - public Piece(StructureTemplateManager manager, Identifier template, BlockPos pos, BlockRotation rotation) { - super(ParadiseLostStructureFeatures.ORANGE_RUIN_PIECE, 0, manager, template, template.toString(), createPlacementData(rotation), pos); - } - - public Piece(StructureTemplateManager manager, NbtCompound nbt) { - super(ParadiseLostStructureFeatures.ORANGE_RUIN_PIECE, nbt, manager, (identifier) -> createPlacementData(BlockRotation.valueOf(nbt.getString("Rot")))); - } - - public Piece(StructureContext context, NbtCompound nbtCompound) { - this(context.structureTemplateManager(), nbtCompound); - } - - private static StructurePlacementData createPlacementData(BlockRotation rotation) { - return (new StructurePlacementData()).setRotation(rotation).setMirror(BlockMirror.NONE).addProcessor(BlockIgnoreStructureProcessor.IGNORE_AIR_AND_STRUCTURE_BLOCKS); - } - - @Override - protected void writeNbt(StructureContext ctx, NbtCompound nbt) { - super.writeNbt(ctx, nbt); - nbt.putString("Rot", this.placementData.getRotation().name()); - } - - @Override - protected void handleMetadata(String metadata, BlockPos pos, ServerWorldAccess world, Random random, BlockBox boundingBox) { - } - - @Override - public void generate(StructureWorldAccess world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox boundingBox, ChunkPos chunkPos, BlockPos pos) { - if (this.pos.getY() > 2) { - if (!shifted) { - this.pos = this.pos.down(1); - shifted = true; - } - boundingBox.encompass(this.template.calculateBoundingBox(this.placementData, this.pos)); - super.generate(world, structureAccessor, chunkGenerator, random, boundingBox, chunkPos, pos); - } - } - } -} diff --git a/src/main/resources/assets/paradise_lost/models/block/halflight_cheesecake_slice3.json b/src/main/resources/assets/paradise_lost/models/block/halflight_cheesecake_slice3.json index f31c4f29a..7018348db 100644 --- a/src/main/resources/assets/paradise_lost/models/block/halflight_cheesecake_slice3.json +++ b/src/main/resources/assets/paradise_lost/models/block/halflight_cheesecake_slice3.json @@ -1,81 +1,24 @@ { - "credit": "Made by 24Chrome", - "textures": { - "bottom": "paradise_lost:block/halflight_cheesecake_bottom", - "top": "paradise_lost:block/halflight_cheesecake_top", - "particle": "paradise_lost:block/halflight_cheesecake_side", - "side": "paradise_lost:block/halflight_cheesecake_side", - "inside": "paradise_lost:block/halflight_cheesecake_inner" - }, - "elements": [ - { - "from": [ - 8, - 0, - 8 - ], - "to": [ - 15, - 8, - 15 - ], - "faces": { - "north": { - "uv": [ - 1, - 8, - 9, - 16 - ], - "texture": "#inside" - }, - "east": { - "uv": [ - 1, - 8, - 9, - 16 - ], - "texture": "#side" - }, - "south": { - "uv": [ - 7, - 8, - 15, - 16 - ], - "texture": "#side" - }, - "west": { - "uv": [ - 7, - 8, - 15, - 16 - ], - "texture": "#inside" - }, - "up": { - "uv": [ - 8, - 8, - 15, - 15 - ], - "texture": "#top" - }, - "down": { - "uv": [ - 7, - 1, - 15, - 9 - ], - "texture": "#bottom", - "cullface": "down" - } - } - } - ] -} + "credit": "Made by 24Chrome", + "textures": { + "bottom": "paradise_lost:block/halflight_cheesecake_bottom", + "top": "paradise_lost:block/halflight_cheesecake_top", + "particle": "paradise_lost:block/halflight_cheesecake_side", + "side": "paradise_lost:block/halflight_cheesecake_side", + "inside": "paradise_lost:block/halflight_cheesecake_inner" + }, + "elements": [ + { + "from": [8, 0, 8], + "to": [15, 8, 15], + "faces": { + "north": {"uv": [1, 8, 8, 16], "texture": "#inside"}, + "east": {"uv": [1, 8, 8, 16], "texture": "#side"}, + "south": {"uv": [8, 8, 15, 16], "texture": "#side"}, + "west": {"uv": [8, 8, 15, 16], "texture": "#inside"}, + "up": {"uv": [8, 8, 15, 15], "texture": "#top"}, + "down": {"uv": [8, 1, 15, 8], "texture": "#bottom", "cullface": "down"} + } + } + ] +} \ No newline at end of file diff --git a/src/main/resources/assets/paradise_lost/models/block/tree_tap.json b/src/main/resources/assets/paradise_lost/models/block/tree_tap.json index 4652f39b9..677756cc7 100644 --- a/src/main/resources/assets/paradise_lost/models/block/tree_tap.json +++ b/src/main/resources/assets/paradise_lost/models/block/tree_tap.json @@ -1,44 +1,45 @@ { "credit": "Made with Blockbench", - "parent": "block/block", + "parent": "block/block", "textures": { - "0": "paradise_lost:block/aurel_planks", - "particle": "paradise_lost:block/aurel_planks" + "0": "paradise_lost:block/tree_tap", + "particle": "paradise_lost:block/tree_tap" }, "elements": [ { - "from": [5, 0, 2], - "to": [16, 1, 14], + "from": [10.5, 10, 6], + "to": [18.5, 13, 10], + "rotation": {"angle": 22.5, "axis": "z", "origin": [10.5, 10, 8]}, "faces": { - "north": {"uv": [0, 0, 11, 1], "texture": "#0"}, - "east": {"uv": [0, 0, 12, 1], "texture": "#0"}, - "south": {"uv": [0, 0, 11, 1], "texture": "#0"}, - "west": {"uv": [0, 0, 12, 1], "texture": "#0"}, - "up": {"uv": [0, 0, 11, 12], "texture": "#0"}, - "down": {"uv": [0, 0, 11, 12], "texture": "#0"} + "north": {"uv": [8, 4, 0, 7], "texture": "#0"}, + "east": {"uv": [8, 2, 12, 5], "texture": "#0"}, + "south": {"uv": [0, 4, 8, 7], "texture": "#0"}, + "west": {"uv": [8, 2, 12, 5], "texture": "#0"}, + "up": {"uv": [0, 0, 8, 4], "texture": "#0"}, + "down": {"uv": [0, 0, 8, 4], "texture": "#0"} } }, { - "from": [9, 13, 7], - "to": [16, 15, 9], + "from": [10.5, 10.95, 9.05], + "to": [18.5, 13, 6.95], + "rotation": {"angle": 22.5, "axis": "z", "origin": [10.5, 10, 11]}, "faces": { - "north": {"uv": [0, 0, 7, 2], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 2], "texture": "#0"}, - "south": {"uv": [0, 0, 7, 2], "texture": "#0"}, - "west": {"uv": [0, 0, 2, 2], "texture": "#0"}, - "up": {"uv": [0, 0, 7, 2], "texture": "#0"}, - "down": {"uv": [0, 0, 7, 2], "texture": "#0"} + "north": {"uv": [0, 4, 8, 6], "texture": "#0"}, + "south": {"uv": [8, 4, 0, 6], "texture": "#0"}, + "down": {"uv": [8, 0, 16, 2], "texture": "#0"} } }, { - "from": [9, 12, 7], - "to": [11, 13, 9], + "from": [3, 0, 3], + "to": [13, 2, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 0, 3]}, "faces": { - "north": {"uv": [0, 0, 2, 1], "texture": "#0"}, - "east": {"uv": [0, 0, 2, 1], "texture": "#0"}, - "south": {"uv": [0, 0, 2, 1], "texture": "#0"}, - "west": {"uv": [0, 0, 2, 1], "texture": "#0"}, - "down": {"uv": [0, 0, 2, 2], "texture": "#0"} + "north": {"uv": [6, 6, 16, 8], "texture": "#0"}, + "east": {"uv": [6, 6, 16, 8], "texture": "#0"}, + "south": {"uv": [6, 6, 16, 8], "texture": "#0"}, + "west": {"uv": [6, 6, 16, 8], "texture": "#0"}, + "up": {"uv": [6, 6, 16, 16], "texture": "#0"}, + "down": {"uv": [6, 6, 16, 16], "texture": "#0"} } } ] diff --git a/src/main/resources/assets/paradise_lost/textures/block/halflight_cheesecake_inner.png b/src/main/resources/assets/paradise_lost/textures/block/halflight_cheesecake_inner.png index ab8725999846e98f74bf028988ee7d714b1d0950..3060765494c6a198eb531ac4e8349954aabd1f35 100644 GIT binary patch delta 313 zcmV-90mlB<0^tIXF@GCLL_t(IjqQ;=PQySDg+Ci7D6$f4BTLXEC>KB!bTk}-QxHm! zELmKDGRMdT=xFGWg=i=!EbNBD_$P@hE5&wHl|(v^05H4u56iu$K&eyS$Nm+Naqph zA`p!N@OFQ*%##q^>I0w|Lt47QN1g#lTxC9a5(1!GefCc-6>UA9ZuLb7(C+kTcY2h? zOyV5SzZ+DU4}c1gC!vt*u4OS3aaqjB-$PouA$99XWP&R5C0VUJ(2SuN0)L(%JGeOB zTADj5>9nSK{xU|BPp38GhtJgxqPQlCYwTT>7r*-VzndmeT+96n{cw(w_nr#900000 LNkvXXu0mjf^KOgv delta 303 zcmV+~0nq;80@nhNF@F(BL_t(IjqQ-FQo}$Lg};QPBvTT?P^iLSaLiO7cnT0v6<8Dx zfQi7PP&@`tfk0G)z@R!wrfo8vq|J7NXmh7Ouh3)m?%6%(o_k@BJ-`6?==Ey<(B#T< zFC!vwf~?aPPR^F07T6cR)si+`5~;e#k-SShlZ7L5V$ z_xWC{BExch035G_-43XxV*shkJV6y10G8`>arDWu&Fn6ElDCe?H-<{L?x1ZAFxb7SOq9T@}I8AEpPbaPOj9Gi?Ln)P!V z>-=bz(--G`8FjxOpZ zf*=kqf{q2pY?(T^IJgO}(uyDs4#gH66e9l)4f1-<~Vtp%H?gg%D%Sw~W&>TA03;2;-D8n3Xe&4j+W6lMl7^t`dkmP74SHS; zU6=%)Rf5>lg-NLZfUfV+^J)rKzi_lQ)z8gnxUGocb6mr|+lnYX{U&q(=|o5;B0s0` iUhDk>$4jIWsrw(G@q|?y3L-%O0000v@1kN!c-7U6SO5Xb@py?6T0edoOUkxO*>Bdyd!Cg9z#zyO1UXwZgSQX$4_qEH2y)$j Y0~>>VbW9mI+5i9m07*qoM6N<$f&xO2VE_OC diff --git a/src/main/resources/assets/paradise_lost/textures/block/halflight_cheesecake_top.png b/src/main/resources/assets/paradise_lost/textures/block/halflight_cheesecake_top.png index ed97f2ff26c0013c0737802ebe0c75baf61d39e3..9b7d51620499635ceb10b22850ade0be1fa15b9e 100644 GIT binary patch delta 244 zcmV1%;cpoPaqLTXNuv*sk!9Dxpn#u2L| z1zKYpEb^NM@UkzwICeN1#jk zn&1=oVmZtq@julb>cY5SxxsabN|M@1EMh=YwXd!s-DtOysJ6Do(dTZoYX^%90AaA= gvJsQ}Kht0E0xV`?E&5PiF8}}l07*qoM6N<$g2td|R{#J2 diff --git a/src/main/resources/assets/paradise_lost/textures/block/tree_tap.png b/src/main/resources/assets/paradise_lost/textures/block/tree_tap.png new file mode 100644 index 0000000000000000000000000000000000000000..37c7ee6062501eb9bd7c831b29eb10828fcd8f03 GIT binary patch literal 401 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 TE*G|hTAlUV{BwSmFIey|_9C&} literal 4764 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¡iJu!@Q4Q(x#d#=C}=G+QK{Bh`1}0SidymdNc{LtrZ??INVU5$eLk~cu(GwZ zhowyEq@KT@FvK9;$3${0EP}obZ96@9XFqZf-AmTc6=MO;NjeDm$p7 zqBmw6r)r}(eO8+pwxXrCD}7!q53ZXyCHOL){6h$#La}wjrUMB->v3IgVR@EkSS6*f{DdccduwKpxTr%sKBN3{ON-b2!?O?WC}@~b^|^>RN=c|T z)vl_c{ls)kQ;+hZcvRLXcwNvslPKvZ(kGTq#by*89hldGe>A*(iB1$c9B!SS8q@9L zD9)*jN2ec^uT2QrO1YjibL&P}wd_I{w=80CUO)L-oY4@YPgeEXbc+VD^@fU~IpYa0 z)z&%Pkf?WTv{yj6xiLN7uPuG`shvFan5uc`A@Lhs$$^2oG^fWIQ|j3tvo`I~?o%gL zxzl1>0|ph1bWOJEXu%mu;m{+!N6GZ(WcNp2#9#Y|zM&~gls9TF8LG-gM*D`zcZuv7 z$Jxf>fdUEvlNG-qji@<62-{w@vt(>P*|XL^)1x3@R`-zX+MMyjp{$yr!OUfhjUq3< zi)lSm<0Tcn+FS8LihvmbM#m_zWUx|ysZ2$lO diff --git a/src/main/resources/data/paradise_lost/structures/dungeon_entrance.nbt b/src/main/resources/data/paradise_lost/structures/dungeon_entrance.nbt deleted file mode 100644 index db501b7771564569c32cf1dac16562cc11144ee9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3404 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 L;(XQ3ZQK3}?@{Pc diff --git a/src/main/resources/data/paradise_lost/structures/orange_ruin.nbt b/src/main/resources/data/paradise_lost/structures/orange_ruin.nbt deleted file mode 100644 index a6e00daa53a03edcae93bc05fb870773ae5c6717..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2087 zcmX|93sjQX8ZAvm@@-9GnmHuWs)jJ7uo<72prc}1Qihc|SID)75;6rfu8F9nlGAiG zE5y2{X3CV2gNBV{igz-}OnOOA0VS0Y@cp<4XV&~{o$o*A{Quhf+xy!a&s(ne>v?>& zo92SI=Vr1#UB}KHqXf}q<}aVpWxi_n8ggE#&wmP|J=&eS_8#`^E#GAc{k0&qx@GA| zAk{XIa5f-rft{Wf$#|)IE53Yw;iC|RRZj}L$I|XB`7)lp@=t-RBT$kd}rYhGpBCmT0ZkK2GRk8kWONa{HbPr<3TJa(RA{rIGAAn65ndFdOy#$}mk`a#Ui zYzgJb@ff52Oio?TaUa70(K(gh`ig+)h#mA{Y`4r<L+e?UBMz}3dD8Y{{S+To*}4dc39+v>~; z7snt-I}IAq)nam753wIx2J?J+K;ISGFhU+^DX;bFpIdc8^DI@GF(!oJvJK4ioT2$@O3jvVX2Rs14&LC%AOWZySHSZrfDV zHKLEL#*ee-bAm7d7UBn`KPZS;v`B2pb*qmPxz(${ic3S)cb-ClcVmp}zIs+x_>%)o zZEQp^1MWk?@syNg9B<$%kUPJdF71C{6{`mqNwU@~B4-vhvAhQi%w+~sfyQ2mO^gl* zQRW3L*fX6VM%?EFSifCqdSZ$)uZ~INOodRRII86m(a{~^iVT24jJg#n@Yf@A6SbY) z?*P4+g*BmnkY(bilbmECbsfYQ@n57p%dAR04L2bQ1E42fj`%Qhqz+HHJlq=L4b2d(D$vs{0iDR$wNb6dQq!s_1aOR#?S z1t4}Qh_ybLhcsB`@^NrKzI=_PUykhS0&=PB>q2Z{0ciEx%_L9yzuqizR<$ zl4*-H!r%~o1nNGDEDa6mFvgQ9_Q_yjP*?B+Z=0!Y?4TmH`kEkjtp zej^aeOzOV^>LpQ?Y?N26Vp!jafEZhRbxL~xCb2c8ceg3M+6(EvE>qXayDYy51!a>pYcW^l=adz>bM&qYm$r1Gl9(`G zEz!PJTsi$lxovigE*{ITY*dg)e~hUnhFHvZcG~^wRr4c}I@;jW6lAivL_te`*gUAa z`{uB6+xDsI?R!FdSm*n$rmfQ--v01mj$u{X zu;<(NGq1`%hH(XPt4`EdZ;Y`(UglK%yV)CR7jyFGunbu^mc4<$)S2aIA)@I5qRs~L z#@5x3vEH=39Bo;5s6qSDNc-cr!Jlr@@Qa^LJ{%^u#oIla9fN5O{mOjsrEK(4$-{RS wm17YBe%zV9wS&!9hK{ARzUezW|JHW&L}st{62pnz%3itg`1Hf!=oKse50{=E1poj5 diff --git a/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_boss_room.nbt b/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_boss_room.nbt deleted file mode 100644 index 61e4c13173e1aaf59b14d3f317e0b267196e0b55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3144 zcmbtUeN@u-9`3g8tPU4yTG;~0t4qCgRkBj>sw-F4PQFy97w1v)t);8X7tl7jI#2RgtN*#($l38`JU;I)!I1MI`x<` z@YL4Z>gu8$0v?b7%)Rj&VJ&#{BRkf}(Tr)N}K$?zsKDqi>`cp>y z=FU_ub8CKWX4>*?y#Cg^Tsybkvv0b`2S`Mnu*+9-Um|1H-hijt3@Jt=<2FJ~aSoi; z@#u5uRa=Hd#K!p5r_g~g?x=>5m8ELB?{fW?57MqJXTiF`AoYo%|ju)SeKB}Gw<=pI8FZd5*WWe+!-dHZo zyLYa7x`)^)9vB$q4lusGo_Ieg`BS;h(tI7M!aZs90v~ggd=a(x)zSS%8CZI6y$Srs zE%fGopS0Ho%bwt55`r~Yy(lL9X|%PWqT{A6lpCnf?e+9>VPx8LpIuLeo}* z6(l)ra6V{OMtuTrYL|(ZA}!XgZXPe~qn*-_F~RKI-!WEE_9f&N z!=eB7#iWD|w37{&Vlu`oyWT6wZ5(92svcE>z44hC|B9WXG) zYd!U9h}SUP*jZ!=-+;HzCbyt?*f@?2GG;kD_cx3OOuht{4|q2Rd}rW#>UJ~=CQn`h z30^q|34W#*Tnx9MHZ)_b2%L+kn9qzdaCA=nu+FH8T$uOepUL%$CT`|kIS&c#*9$F& zob9eJH2q`QpnWu?23BqaD|7asV)nChIT))LP75j~nw|Ru!#K^cLB%w->k4ClTQn~2 z1B^C3MN~f|Z3dd--k$ zC{Gg__D%>59Eeq1DAc-(XCb_St4tgBhU+yUpKe%4)5?e%e0=)KYzBJQc*yl;z3Vv0 zH3$~Cj^(TbCfZP#hoqt253o6?GRkw3u?W&JdFca_7c2%TYY#vvlbVADp&Qjm!(I&W zdPUE`iEh)d*&$vcdWN%TkcLgsKL;R47!H~Pat1$Dk3K)6fWn)m-=(8Zn=%R|x8dM$G5x6^=k7_`eVOz-pdCX18v`f>*EH zg^5rzuU&@Qmy`D(_ezg$Hp+0OKRFtEui~12+Jd5;CmZ_v7}A_+O*egCJOw4fDCF%* zeYGHojYkYrtatJPaWGCDb)>s#LE*V>Dv1s+qMAxOv@#9?)5)0RXQP9Qy=|&Zr3aqb zQZ$(lQVU)048JP&Zs94!SkQfA0lHHc3SGZ&1H_i}zi8bVo-Zdev!166t{OLkL0i6u zh%>N?O`RG2{&?z}g9ZH9`=WAM}6$4iwG2#!7Ia zyUC|uKLKzu{Q)P8uO-jGHSez~`eI_iR)RY5&QkInE>(mfZ%nH`-Jy+;5vf&uS<5)bnT=|l52GLpd~N4n%J<<6d!4l}$nr$7NF;?h z1$Sy%*Xs@gezcE)A19FJyu4_Lg}wQ-Yzuwlv*$Fdl{2nqoAZ~G2}#iEzrI`j9C!-` z#+83_Yn&IY-mbC7NAataI~KC$-xGda-S!1HYIb=LcVAm=($5{6L(y^E=%rzO74k8& zn_;`NI{dB+eGevWjqFnS_S~Z)Cd>TN`o6*Yud7u{SzRX`n3F%hRlO-yTo0?ncW=5o zeqypnm~^eCSR+;?P6e=jVkzO8EPpR?^e|n=eP2AXE6rkJiyTR{ zS8dI*gAZ1y>^nRB!Z#$K4-IrL!LaH^2zNZ)5^y+q^+ADmq_Hz4N4SE3Js~{lkl9*> o&d>8_5)isWH%7t*2|oXL5h*3QxL6`<*69$eC#&vd5Ed=^AJ;8wXaE2J diff --git a/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_hallway.nbt b/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_hallway.nbt deleted file mode 100644 index 02aead90d6ed2034c19adc008e5a602c90da7ab2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 605 zcmb2|=3sz;yEhKzNg0Z?K0IB~(6}Nfbmi<-wG-FuUbpL&*vtnk%a6(3bQ7%o#h2yB zv!a}%le6` zX+Es%adK|Ymfm_b&;QTqGg3a+6MULqN}t(tP)F*_rh`0PGflrVUi@_+qc&lSok5hm z#9IEIYs;M%ur2L z4sFog43b@wc>RJvTkcHLmc-~Z-ozWzBAq3+rCtm8u=(HyUFl0eshbl(>e@_z3e1)~ zT(gi!GoD`Oy`J=F8=q0Vk6oB#5!b=IX6YsU-yS@9oU!@t&qrp8Q>%7wSG2i#`OB*r zK@-kjUq9_Zxn6$R@gEO@WS%^`=PqqlfA8(-t+q>o{ASm3Ee{Hwb8r1;>&p5M7w@K4 z$LGucb>8UTth4GY|GHD{uOC}3JuLmdBesrV*Z+@f`v05Kj80!<3tw$rUwF|!{NLM} z_+M8!ZtUJKo>Dt6YwiB$CcA3>MWyW8KV@(C<>;RxsU4cv|30(WCsS8y{_E$YzBhX& b&R)Ommb~8d&w`QllkQtZmTWvM$iM&qw^%F) diff --git a/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_room.nbt b/src/main/resources/data/paradise_lost/structures/slider_dungeon/slider_dungeon_room.nbt deleted file mode 100644 index 670e116a4907479ff9cb0cd5717f89ffcfc7ee6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2602 zcmbtU3rtgI6vinNd=#Q=mhjSr=`;w%Vu2RhFyn)X5W_Z51d7F?hKEL_cC?fZ15v7T zxJjWviHjhFhYWehqkvTrr6r0|9#Vz`Zb`9K3Y50A?7ziADeRHhoSb`e?svZLJLlfN zPU#kAbHD!F!|`^I?LH`R|C%*6=5?0iYsWYKDXWtdho)3-MFeHr9IV@~ksf-CEf%ml z9_&x}ax?NC!VL-+HYk7nAe`o%mSqp#*UEc64=X0<6cvx5R+Js>(oz$}WrYQ*cdI+4 z{eyz0fK2WbLA+Z#H25ezoTn!HK z7VI5+4Z(MPYF+Sb*?2!pTW^5P;aR%ckT1h-44f37(CidMx8*d)2Y6xvAqnL>L>J5#tp z(%gM9l8a;Ic1%6scdOo9aYN#`xDVze==?Swag2tEh|TXb$A;yj&9OoG=+)Ts`IW1% zs04f;gdjncbQ!o+zFqr72!+#HKz};iF9@~+GC&K+*uXOO5*H@Ipb?{&O97S?RO<-T zRQ#zx|J|JryPGQ4XKZ1G;ZmZyKew%(vl`$enP3X7CF__%q=aSaJew#&u(YluIP>6K zO1KrNnCaNoF2 z_CcqC3w+>nBgh!|q+_^+CoM=CpPfdKvlgJcF(2+WuL2OayC*Gz07{VxL-)Z@w=;k( z=?Ki0ek?WU27qpYp-lj~01^5EFA=W*oAx%$W`NYL0^O`w(}bs21@n6C+O1KfmV0TH z>)EcvVp3cRDX!@)yD&LxZ7RL+cMAI%&VSgUU>p%dO)F~Pe=lykYiT%f^GDB#?aaMH zOkH#?jn63G{U85LZqVgF;89Cr>~%RT7P&)?TJXSI)!LwsnTgkJi7nm!FWV9;tOm## zQu;^@lH)hV?ko2qbNtGb_Zda?0vt==JmT<#yg`8=p|4QWDzhGqQ>jhK72wL$C%9bO7y9nm2gvHZ!;GKN4Zvn4Dh2pvUQE7j!3yLX)vDSZb{lnj;0Q+SUJnhR)AszK9D zbfy`8o_Fm({7~|IBaQ7Wbxg^tAUaU!<=UN3urhVHCX{vY&1Bq^9&PaEg>?ub2#j}boPHU9gb*y7R(rI`IOjZx@{JU& zCnW21pzuA1;#3c_yu;b5bCsbT(BvqAkn4Itr`#6w_=N|Gp`Kk4TitpnKsoE>=qMWM zoXz>ko#GWI(hk$B)97eMNFWp}cZvwt;LyX*Gqr=4bi-B+x(k5)+b#Ee8