From bb6f0c34cfe41c4ce8d774a8ff1f343b28525b67 Mon Sep 17 00:00:00 2001 From: Vos Date: Tue, 10 Mar 2026 17:51:42 -0500 Subject: [PATCH] Finally added endtopy blocks and made the raw entropy block have a consistant name --- .../blockstates/raw_endtropy_block.json | 7 ++ .../blockstates/stable_endtropy_block.json | 7 ++ .../models/block/raw_endtropy_block.json | 6 ++ .../models/block/stable_endtropy_block.json | 6 ++ .../models/item/raw_endtropy_block.json | 3 + .../models/item/stable_endtropy_block.json | 3 + .../recipes/building_blocks/raw_endtropy.json | 32 ++++++++ .../recipes/building_blocks/raw_entropy.json | 6 +- .../building_blocks/stable_endtropy.json | 32 ++++++++ .../decorations/raw_endtropy_block.json | 32 ++++++++ ...ropy_block.json => raw_entropy_block.json} | 4 +- .../decorations/stable_endtropy_block.json | 32 ++++++++ .../loot_table/blocks/raw_endtropy_block.json | 20 +++++ ...ropy_block.json => raw_entropy_block.json} | 2 +- .../blocks/stable_endtropy_block.json | 20 +++++ .../data/acesbs/recipe/raw_endtropy.json | 13 +++ .../acesbs/recipe/raw_endtropy_block.json | 18 +++++ .../data/acesbs/recipe/raw_entropy.json | 2 +- ...ropy_block.json => raw_entropy_block.json} | 2 +- .../data/acesbs/recipe/stable_endtropy.json | 13 +++ .../acesbs/recipe/stable_endtropy_block.json | 18 +++++ .../tags/block/mineable/pickaxe.json | 4 +- .../tags/block/needs_diamond_tool.json | 4 +- .../java/com/acethewildfire/acesbs/TODO.txt | 7 +- .../acesbs/block/ModBlocks.java | 41 ++++++---- .../acesbs/block/custom/RawEndtropyBlock.java | 75 ++++++++++++++++++ ...EntropyBlock.java => RawEntropyBlock.java} | 4 +- .../block/custom/StableEndtropyBlock.java | 66 +++++++++++++++ .../acesbs/datagen/ModBlockTagProvider.java | 8 +- .../acesbs/datagen/ModLootTableProvider.java | 4 +- .../acesbs/datagen/ModModelProvider.java | 2 + .../acesbs/datagen/ModRecipeProvider.java | 4 +- .../acesbs/item/ModItemGroups.java | 6 +- .../acesbs/blockstates/entropy_block.json | 7 -- .../acesbs/blockstates/raw_entropy_block.json | 7 ++ .../resources/assets/acesbs/lang/en_us.json | 6 +- ...ropy_block.json => raw_entropy_block.json} | 4 +- .../acesbs/models/item/entropy_block.json | 3 - .../acesbs/models/item/raw_entropy_block.json | 3 + .../textures/block/raw_endtropy_block.png | Bin 0 -> 972 bytes ...ntropy_block.png => raw_entropy_block.png} | Bin .../textures/block/stable_endtropy_block.png | Bin 0 -> 631 bytes 42 files changed, 486 insertions(+), 47 deletions(-) create mode 100644 src/main/generated/assets/acesbs/blockstates/raw_endtropy_block.json create mode 100644 src/main/generated/assets/acesbs/blockstates/stable_endtropy_block.json create mode 100644 src/main/generated/assets/acesbs/models/block/raw_endtropy_block.json create mode 100644 src/main/generated/assets/acesbs/models/block/stable_endtropy_block.json create mode 100644 src/main/generated/assets/acesbs/models/item/raw_endtropy_block.json create mode 100644 src/main/generated/assets/acesbs/models/item/stable_endtropy_block.json create mode 100644 src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json create mode 100644 src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json create mode 100644 src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json rename src/main/generated/data/acesbs/advancement/recipes/decorations/{entropy_block.json => raw_entropy_block.json} (86%) create mode 100644 src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json create mode 100644 src/main/generated/data/acesbs/loot_table/blocks/raw_endtropy_block.json rename src/main/generated/data/acesbs/loot_table/blocks/{entropy_block.json => raw_entropy_block.json} (86%) create mode 100644 src/main/generated/data/acesbs/loot_table/blocks/stable_endtropy_block.json create mode 100644 src/main/generated/data/acesbs/recipe/raw_endtropy.json create mode 100644 src/main/generated/data/acesbs/recipe/raw_endtropy_block.json rename src/main/generated/data/acesbs/recipe/{entropy_block.json => raw_entropy_block.json} (85%) create mode 100644 src/main/generated/data/acesbs/recipe/stable_endtropy.json create mode 100644 src/main/generated/data/acesbs/recipe/stable_endtropy_block.json create mode 100644 src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java rename src/main/java/com/acethewildfire/acesbs/block/custom/{EntropyBlock.java => RawEntropyBlock.java} (97%) create mode 100644 src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java delete mode 100644 src/main/resources/assets/acesbs/blockstates/entropy_block.json create mode 100644 src/main/resources/assets/acesbs/blockstates/raw_entropy_block.json rename src/main/resources/assets/acesbs/models/block/{entropy_block.json => raw_entropy_block.json} (93%) delete mode 100644 src/main/resources/assets/acesbs/models/item/entropy_block.json create mode 100644 src/main/resources/assets/acesbs/models/item/raw_entropy_block.json create mode 100644 src/main/resources/assets/acesbs/textures/block/raw_endtropy_block.png rename src/main/resources/assets/acesbs/textures/block/{entropy_block.png => raw_entropy_block.png} (100%) create mode 100644 src/main/resources/assets/acesbs/textures/block/stable_endtropy_block.png diff --git a/src/main/generated/assets/acesbs/blockstates/raw_endtropy_block.json b/src/main/generated/assets/acesbs/blockstates/raw_endtropy_block.json new file mode 100644 index 0000000..826955f --- /dev/null +++ b/src/main/generated/assets/acesbs/blockstates/raw_endtropy_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "acesbs:block/raw_endtropy_block" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/blockstates/stable_endtropy_block.json b/src/main/generated/assets/acesbs/blockstates/stable_endtropy_block.json new file mode 100644 index 0000000..705287b --- /dev/null +++ b/src/main/generated/assets/acesbs/blockstates/stable_endtropy_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "acesbs:block/stable_endtropy_block" + } + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/raw_endtropy_block.json b/src/main/generated/assets/acesbs/models/block/raw_endtropy_block.json new file mode 100644 index 0000000..e48fd8f --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/raw_endtropy_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "acesbs:block/raw_endtropy_block" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/block/stable_endtropy_block.json b/src/main/generated/assets/acesbs/models/block/stable_endtropy_block.json new file mode 100644 index 0000000..8f44638 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/block/stable_endtropy_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "acesbs:block/stable_endtropy_block" + } +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/raw_endtropy_block.json b/src/main/generated/assets/acesbs/models/item/raw_endtropy_block.json new file mode 100644 index 0000000..b9a4200 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/raw_endtropy_block.json @@ -0,0 +1,3 @@ +{ + "parent": "acesbs:block/raw_endtropy_block" +} \ No newline at end of file diff --git a/src/main/generated/assets/acesbs/models/item/stable_endtropy_block.json b/src/main/generated/assets/acesbs/models/item/stable_endtropy_block.json new file mode 100644 index 0000000..2b88fd0 --- /dev/null +++ b/src/main/generated/assets/acesbs/models/item/stable_endtropy_block.json @@ -0,0 +1,3 @@ +{ + "parent": "acesbs:block/stable_endtropy_block" +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json new file mode 100644 index 0000000..c950a58 --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_endtropy.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_endtropy_block": { + "conditions": { + "items": [ + { + "items": "acesbs:raw_endtropy_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:raw_endtropy" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_endtropy_block" + ] + ], + "rewards": { + "recipes": [ + "acesbs:raw_endtropy" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json index 3edfae8..521e583 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/raw_entropy.json @@ -1,11 +1,11 @@ { "parent": "minecraft:recipes/root", "criteria": { - "has_entropy_block": { + "has_raw_entropy_block": { "conditions": { "items": [ { - "items": "acesbs:entropy_block" + "items": "acesbs:raw_entropy_block" } ] }, @@ -21,7 +21,7 @@ "requirements": [ [ "has_the_recipe", - "has_entropy_block" + "has_raw_entropy_block" ] ], "rewards": { diff --git a/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json new file mode 100644 index 0000000..7db5d2f --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/building_blocks/stable_endtropy.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stable_endtropy_block": { + "conditions": { + "items": [ + { + "items": "acesbs:stable_endtropy_block" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:stable_endtropy" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stable_endtropy_block" + ] + ], + "rewards": { + "recipes": [ + "acesbs:stable_endtropy" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json new file mode 100644 index 0000000..9b1083e --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_endtropy_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_raw_endtropy": { + "conditions": { + "items": [ + { + "items": "acesbs:raw_endtropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:raw_endtropy_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_raw_endtropy" + ] + ], + "rewards": { + "recipes": [ + "acesbs:raw_endtropy_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/entropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json similarity index 86% rename from src/main/generated/data/acesbs/advancement/recipes/decorations/entropy_block.json rename to src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json index ce22b73..abac3d0 100644 --- a/src/main/generated/data/acesbs/advancement/recipes/decorations/entropy_block.json +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/raw_entropy_block.json @@ -13,7 +13,7 @@ }, "has_the_recipe": { "conditions": { - "recipe": "acesbs:entropy_block" + "recipe": "acesbs:raw_entropy_block" }, "trigger": "minecraft:recipe_unlocked" } @@ -26,7 +26,7 @@ ], "rewards": { "recipes": [ - "acesbs:entropy_block" + "acesbs:raw_entropy_block" ] } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json new file mode 100644 index 0000000..12bdd8f --- /dev/null +++ b/src/main/generated/data/acesbs/advancement/recipes/decorations/stable_endtropy_block.json @@ -0,0 +1,32 @@ +{ + "parent": "minecraft:recipes/root", + "criteria": { + "has_stable_endtropy": { + "conditions": { + "items": [ + { + "items": "acesbs:stable_endtropy" + } + ] + }, + "trigger": "minecraft:inventory_changed" + }, + "has_the_recipe": { + "conditions": { + "recipe": "acesbs:stable_endtropy_block" + }, + "trigger": "minecraft:recipe_unlocked" + } + }, + "requirements": [ + [ + "has_the_recipe", + "has_stable_endtropy" + ] + ], + "rewards": { + "recipes": [ + "acesbs:stable_endtropy_block" + ] + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/raw_endtropy_block.json b/src/main/generated/data/acesbs/loot_table/blocks/raw_endtropy_block.json new file mode 100644 index 0000000..fcbd883 --- /dev/null +++ b/src/main/generated/data/acesbs/loot_table/blocks/raw_endtropy_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "acesbs:raw_endtropy_block" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/loot_table/blocks/entropy_block.json b/src/main/generated/data/acesbs/loot_table/blocks/raw_entropy_block.json similarity index 86% rename from src/main/generated/data/acesbs/loot_table/blocks/entropy_block.json rename to src/main/generated/data/acesbs/loot_table/blocks/raw_entropy_block.json index f5d1831..978c859 100644 --- a/src/main/generated/data/acesbs/loot_table/blocks/entropy_block.json +++ b/src/main/generated/data/acesbs/loot_table/blocks/raw_entropy_block.json @@ -11,7 +11,7 @@ "entries": [ { "type": "minecraft:item", - "name": "acesbs:entropy_block" + "name": "acesbs:raw_entropy_block" } ], "rolls": 1.0 diff --git a/src/main/generated/data/acesbs/loot_table/blocks/stable_endtropy_block.json b/src/main/generated/data/acesbs/loot_table/blocks/stable_endtropy_block.json new file mode 100644 index 0000000..e6f3c8f --- /dev/null +++ b/src/main/generated/data/acesbs/loot_table/blocks/stable_endtropy_block.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "bonus_rolls": 0.0, + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ], + "entries": [ + { + "type": "minecraft:item", + "name": "acesbs:stable_endtropy_block" + } + ], + "rolls": 1.0 + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/raw_endtropy.json b/src/main/generated/data/acesbs/recipe/raw_endtropy.json new file mode 100644 index 0000000..d3c37ce --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/raw_endtropy.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "acesbs:raw_endtropy_block" + } + ], + "result": { + "count": 9, + "id": "acesbs:raw_endtropy" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/raw_endtropy_block.json b/src/main/generated/data/acesbs/recipe/raw_endtropy_block.json new file mode 100644 index 0000000..f501980 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/raw_endtropy_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "acesbs:raw_endtropy" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "acesbs:raw_endtropy_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/raw_entropy.json b/src/main/generated/data/acesbs/recipe/raw_entropy.json index bd7b242..5428544 100644 --- a/src/main/generated/data/acesbs/recipe/raw_entropy.json +++ b/src/main/generated/data/acesbs/recipe/raw_entropy.json @@ -3,7 +3,7 @@ "category": "building", "ingredients": [ { - "item": "acesbs:entropy_block" + "item": "acesbs:raw_entropy_block" } ], "result": { diff --git a/src/main/generated/data/acesbs/recipe/entropy_block.json b/src/main/generated/data/acesbs/recipe/raw_entropy_block.json similarity index 85% rename from src/main/generated/data/acesbs/recipe/entropy_block.json rename to src/main/generated/data/acesbs/recipe/raw_entropy_block.json index 03242f1..5e2a299 100644 --- a/src/main/generated/data/acesbs/recipe/entropy_block.json +++ b/src/main/generated/data/acesbs/recipe/raw_entropy_block.json @@ -13,6 +13,6 @@ ], "result": { "count": 1, - "id": "acesbs:entropy_block" + "id": "acesbs:raw_entropy_block" } } \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/stable_endtropy.json b/src/main/generated/data/acesbs/recipe/stable_endtropy.json new file mode 100644 index 0000000..87d6161 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/stable_endtropy.json @@ -0,0 +1,13 @@ +{ + "type": "minecraft:crafting_shapeless", + "category": "building", + "ingredients": [ + { + "item": "acesbs:stable_endtropy_block" + } + ], + "result": { + "count": 9, + "id": "acesbs:stable_endtropy" + } +} \ No newline at end of file diff --git a/src/main/generated/data/acesbs/recipe/stable_endtropy_block.json b/src/main/generated/data/acesbs/recipe/stable_endtropy_block.json new file mode 100644 index 0000000..ffc3af5 --- /dev/null +++ b/src/main/generated/data/acesbs/recipe/stable_endtropy_block.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "misc", + "key": { + "#": { + "item": "acesbs:stable_endtropy" + } + }, + "pattern": [ + "###", + "###", + "###" + ], + "result": { + "count": 1, + "id": "acesbs:stable_endtropy_block" + } +} \ No newline at end of file diff --git a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json index d551150..f1ff0b9 100644 --- a/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json +++ b/src/main/generated/data/minecraft/tags/block/mineable/pickaxe.json @@ -1,7 +1,9 @@ { "values": [ - "acesbs:entropy_block", + "acesbs:raw_entropy_block", "acesbs:stable_entropy_block", + "acesbs:raw_endtropy_block", + "acesbs:stable_endtropy_block", "acesbs:prisma_steel_block", "acesbs:entropy_ore", "acesbs:deepslate_entropy_ore", diff --git a/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json b/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json index 11e38fd..008846e 100644 --- a/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json +++ b/src/main/generated/data/minecraft/tags/block/needs_diamond_tool.json @@ -3,8 +3,10 @@ "acesbs:entropy_ore", "acesbs:deepslate_entropy_ore", "acesbs:endtropy_ore", - "acesbs:entropy_block", + "acesbs:raw_entropy_block", "acesbs:stable_entropy_block", + "acesbs:raw_endtropy_block", + "acesbs:stable_endtropy_block", "acesbs:prisma_steel_block", "acesbs:entropic_stabilizer", "acesbs:entropic_eviscerator", diff --git a/src/main/java/com/acethewildfire/acesbs/TODO.txt b/src/main/java/com/acethewildfire/acesbs/TODO.txt index b39c579..9640cf8 100644 --- a/src/main/java/com/acethewildfire/acesbs/TODO.txt +++ b/src/main/java/com/acethewildfire/acesbs/TODO.txt @@ -1,7 +1,7 @@ Resources X Infernal Ashes -- Raw End-tropy -- Stable End-tropy +X Raw End-tropy +X Stable End-tropy - Mote of Order - Dust of Order - Ingot of Order @@ -140,6 +140,9 @@ Music Disk X Crab Rave X Lizard +Advancements +Statistics + Next Mod Aces Mysteries diff --git a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java index bd2c11c..30cab0a 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java +++ b/src/main/java/com/acethewildfire/acesbs/block/ModBlocks.java @@ -23,11 +23,24 @@ import static net.minecraft.block.Blocks.createFlowerPotBlock; public class ModBlocks { - public static final Block ENTROPY_BLOCK = registerBlock("entropy_block", - new EntropyBlock(AbstractBlock.Settings.create() + public static final Block RAW_ENTROPY_BLOCK = registerBlock("raw_entropy_block", + new RawEntropyBlock(AbstractBlock.Settings.create() .strength(3f) .requiresTool() .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + + public static final Block STABLE_ENTROPY_BLOCK = registerBlock("stable_entropy_block", + new StableEntropyBlock(AbstractBlock.Settings.create() + .strength(5f) + .luminance(new ToIntFunction() { + @Override + public int applyAsInt(BlockState value) { + return 7; + } + }) + .requiresTool() + .sounds(BlockSoundGroup.LODESTONE))); + public static final Block ENTROPY_ORE = registerBlock("entropy_ore", new ExperienceDroppingBlock(UniformIntProvider.create(3, 7), AbstractBlock.Settings.create() @@ -51,6 +64,18 @@ public class ModBlocks { .requiresTool() .strength(3.0F, 9.0F))); + public static final Block RAW_ENDTROPY_BLOCK = registerBlock("raw_endtropy_block", + new RawEndtropyBlock(AbstractBlock.Settings.create() + .strength(3f) + .requiresTool() + .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + + public static final Block STABLE_ENDTROPY_BLOCK = registerBlock("stable_endtropy_block", + new StableEndtropyBlock(AbstractBlock.Settings.create() + .strength(3f) + .requiresTool() + .sounds(BlockSoundGroup.AMETHYST_BLOCK))); + public static final Block INFERNAL_ASHES_ORE = registerBlock("infernal_ashes_ore", new ExperienceDroppingBlock( UniformIntProvider.create(0, 1), @@ -60,18 +85,6 @@ public class ModBlocks { .strength(3.0F, 3.0F) .sounds(BlockSoundGroup.NETHER_GOLD_ORE))); - public static final Block STABLE_ENTROPY_BLOCK = registerBlock("stable_entropy_block", - new StableEntropyBlock(AbstractBlock.Settings.create() - .strength(5f) - .luminance(new ToIntFunction() { - @Override - public int applyAsInt(BlockState value) { - return 7; - } - }) - .requiresTool() - .sounds(BlockSoundGroup.LODESTONE))); - public static final Block ENTROPIC_STABILIZER = registerBlock("entropic_stabilizer", new EntropicStabilizer( AbstractBlock.Settings.create() diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java new file mode 100644 index 0000000..ed6e97b --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEndtropyBlock.java @@ -0,0 +1,75 @@ +package com.acethewildfire.acesbs.block.custom; + +import com.acethewildfire.acesbs.AcesBS; +import com.acethewildfire.acesbs.effect.ModEffects; +import com.acethewildfire.acesbs.util.ModTags; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.entity.Entity; +import net.minecraft.entity.ItemEntity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.tooltip.TooltipType; +import net.minecraft.registry.Registries; +import net.minecraft.sound.SoundCategory; +import net.minecraft.sound.SoundEvents; +import net.minecraft.text.Text; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +import java.util.List; +import java.util.Random; + +public class RawEndtropyBlock extends Block { + public RawEndtropyBlock(Settings settings) { + super(settings); + } + + Random r = new Random(); + +// @Override +// protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { +// world.playSound(player, pos, SoundEvents.BLOCK_AMETHYST_BLOCK_CHIME, SoundCategory.BLOCKS, 1f, 1f); +// return ActionResult.SUCCESS; +// } + + @Override + public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) { + + if (entity instanceof LivingEntity){ + ((LivingEntity) entity).addStatusEffect(new StatusEffectInstance( + StatusEffects.LEVITATION, + 20 * 5, + 0 + )); + } + +// if (entity instanceof PlayerEntity){ +// world.playSound(entity, pos, SoundEvents.ENTITY_ENDERMAN_HURT, SoundCategory.BLOCKS, 1f, 0.4f); +// } + + + super.onSteppedOn(world, pos, state, entity); + } + + @Override + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + // Never take fall damage + if (entity.bypassesLandingEffects()) { + super.onLandedUpon(world, state, pos, entity, 0); + } else { + entity.handleFallDamage(fallDistance, 0.0F, world.getDamageSources().fall()); + } + } + + @Override + public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { + tooltip.add(Text.translatable("tooltip.acesbs.endtropy_block.tooltip")); + super.appendTooltip(stack, context, tooltip, options); + } +} diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java similarity index 97% rename from src/main/java/com/acethewildfire/acesbs/block/custom/EntropyBlock.java rename to src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java index 98ed8ec..9b445ad 100644 --- a/src/main/java/com/acethewildfire/acesbs/block/custom/EntropyBlock.java +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/RawEntropyBlock.java @@ -21,8 +21,8 @@ import net.minecraft.world.World; import java.util.List; import java.util.Random; -public class EntropyBlock extends Block { - public EntropyBlock(Settings settings) { +public class RawEntropyBlock extends Block { + public RawEntropyBlock(Settings settings) { super(settings); } diff --git a/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java new file mode 100644 index 0000000..d877f06 --- /dev/null +++ b/src/main/java/com/acethewildfire/acesbs/block/custom/StableEndtropyBlock.java @@ -0,0 +1,66 @@ +package com.acethewildfire.acesbs.block.custom; + +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.entity.Entity; +import net.minecraft.entity.LivingEntity; +import net.minecraft.entity.effect.StatusEffectInstance; +import net.minecraft.entity.effect.StatusEffects; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.item.tooltip.TooltipType; +import net.minecraft.text.Text; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; + +import java.util.List; +import java.util.Random; + +public class StableEndtropyBlock extends Block { + public StableEndtropyBlock(Settings settings) { + super(settings); + } + + Random r = new Random(); + +// @Override +// protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) { +// world.playSound(player, pos, SoundEvents.BLOCK_AMETHYST_BLOCK_CHIME, SoundCategory.BLOCKS, 1f, 1f); +// return ActionResult.SUCCESS; +// } + + @Override + public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity) { + + if (entity instanceof LivingEntity){ + ((LivingEntity) entity).addStatusEffect(new StatusEffectInstance( + StatusEffects.LEVITATION, + 20 * 5, + 2 + )); + } + +// if (entity instanceof PlayerEntity){ +// world.playSound(entity, pos, SoundEvents.ENTITY_ENDERMAN_HURT, SoundCategory.BLOCKS, 1f, 0.4f); +// } + + + super.onSteppedOn(world, pos, state, entity); + } + + @Override + public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { + // Never take fall damage + if (entity.bypassesLandingEffects()) { + super.onLandedUpon(world, state, pos, entity, 0); + } else { + entity.handleFallDamage(fallDistance, 0.0F, world.getDamageSources().fall()); + } + } + + @Override + public void appendTooltip(ItemStack stack, Item.TooltipContext context, List tooltip, TooltipType options) { + tooltip.add(Text.translatable("tooltip.acesbs.stable_endtropy_block.tooltip")); + super.appendTooltip(stack, context, tooltip, options); + } +} diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java index 92854b0..ec0255c 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModBlockTagProvider.java @@ -17,8 +17,10 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { @Override protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { getOrCreateTagBuilder(BlockTags.PICKAXE_MINEABLE) - .add(ModBlocks.ENTROPY_BLOCK) + .add(ModBlocks.RAW_ENTROPY_BLOCK) .add(ModBlocks.STABLE_ENTROPY_BLOCK) + .add(ModBlocks.RAW_ENDTROPY_BLOCK) + .add(ModBlocks.STABLE_ENDTROPY_BLOCK) .add(ModBlocks.PRISMA_STEEL_BLOCK) .add(ModBlocks.ENTROPY_ORE) .add(ModBlocks.DEEPSLATE_ENTROPY_ORE) @@ -33,8 +35,10 @@ public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { .add(ModBlocks.ENTROPY_ORE) .add(ModBlocks.DEEPSLATE_ENTROPY_ORE) .add(ModBlocks.ENDTROPY_ORE) - .add(ModBlocks.ENTROPY_BLOCK) + .add(ModBlocks.RAW_ENTROPY_BLOCK) .add(ModBlocks.STABLE_ENTROPY_BLOCK) + .add(ModBlocks.RAW_ENDTROPY_BLOCK) + .add(ModBlocks.STABLE_ENDTROPY_BLOCK) .add(ModBlocks.PRISMA_STEEL_BLOCK) .add(ModBlocks.ENTROPIC_STABILIZER) .add(ModBlocks.ENTROPIC_EVISCERATOR) diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java index 50b9e8b..7f88ee0 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModLootTableProvider.java @@ -51,9 +51,11 @@ public class ModLootTableProvider extends FabricBlockLootTableProvider { @Override public void generate() { - addDrop(ModBlocks.ENTROPY_BLOCK); + addDrop(ModBlocks.RAW_ENTROPY_BLOCK); addDrop(ModBlocks.INFERNAL_ASHES_BLOCK); addDrop(ModBlocks.STABLE_ENTROPY_BLOCK); + addDrop(ModBlocks.RAW_ENDTROPY_BLOCK); + addDrop(ModBlocks.STABLE_ENDTROPY_BLOCK); addDrop(ModBlocks.PRISMA_STEEL_BLOCK); addDrop(ModBlocks.ENTROPIC_STABILIZER); addDrop(ModBlocks.ENTROPIC_EVISCERATOR); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java index e5c1ba1..6c162d0 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModModelProvider.java @@ -28,6 +28,8 @@ public class ModModelProvider extends FabricModelProvider { // blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.ENTROPY_BLOCK); // Has a complex texture, use the default blockbench method. blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENTROPY_BLOCK); + blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.STABLE_ENDTROPY_BLOCK); + blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.RAW_ENDTROPY_BLOCK); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.PRISMA_STEEL_BLOCK); blockStateModelGenerator.registerSimpleCubeAll(ModBlocks.INFERNAL_ASHES_BLOCK); diff --git a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java index ebfd0e1..3051ca9 100644 --- a/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java +++ b/src/main/java/com/acethewildfire/acesbs/datagen/ModRecipeProvider.java @@ -33,8 +33,10 @@ public class ModRecipeProvider extends FabricRecipeProvider { // offerBlasting(recipeExporter, ENTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENTROPY, 0.5f, 2000, "stable_entropy"); // offerBlasting(recipeExporter, ENDTROPY_SMELTABLES, RecipeCategory.MISC, ModItems.STABLE_ENDTROPY, 0.5f, 2000, "stable_endtropy"); - offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENTROPY_BLOCK); + offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.RAW_ENTROPY_BLOCK); offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENTROPY_BLOCK); + offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENDTROPY, RecipeCategory.DECORATIONS, ModBlocks.RAW_ENDTROPY_BLOCK); + offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENDTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENDTROPY_BLOCK); // ENDTROPY BLOCKS // offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.RAW_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.ENDTROPY_BLOCK); // offerReversibleCompactingRecipes(recipeExporter, RecipeCategory.BUILDING_BLOCKS, ModItems.STABLE_ENTROPY, RecipeCategory.DECORATIONS, ModBlocks.STABLE_ENDTROPY_BLOCK); diff --git a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java index 787d6e1..01fd35b 100644 --- a/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java +++ b/src/main/java/com/acethewildfire/acesbs/item/ModItemGroups.java @@ -43,16 +43,18 @@ public class ModItemGroups { public static final ItemGroup ACES_BS_BLOCKS = FabricItemGroup.builder() - .icon(() -> new ItemStack(ModBlocks.ENTROPY_BLOCK)) + .icon(() -> new ItemStack(ModBlocks.RAW_ENTROPY_BLOCK)) .displayName(Text.translatable("itemgroup.acesbs.1_blocks")) .entries((displayContext, entries) -> { entries.add(ModBlocks.ENTROPY_ORE); entries.add(ModBlocks.DEEPSLATE_ENTROPY_ORE); - entries.add(ModBlocks.ENTROPY_BLOCK); + entries.add(ModBlocks.RAW_ENTROPY_BLOCK); entries.add(ModBlocks.STABLE_ENTROPY_BLOCK); entries.add(ModBlocks.INFERNAL_ASHES_ORE); entries.add(ModBlocks.INFERNAL_ASHES_BLOCK); entries.add(ModBlocks.ENDTROPY_ORE); + entries.add(ModBlocks.RAW_ENDTROPY_BLOCK); + entries.add(ModBlocks.STABLE_ENDTROPY_BLOCK); entries.add(ModBlocks.PRISMA_STEEL_BLOCK); diff --git a/src/main/resources/assets/acesbs/blockstates/entropy_block.json b/src/main/resources/assets/acesbs/blockstates/entropy_block.json deleted file mode 100644 index 150ef37..0000000 --- a/src/main/resources/assets/acesbs/blockstates/entropy_block.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "acesbs:block/entropy_block" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/blockstates/raw_entropy_block.json b/src/main/resources/assets/acesbs/blockstates/raw_entropy_block.json new file mode 100644 index 0000000..7738df3 --- /dev/null +++ b/src/main/resources/assets/acesbs/blockstates/raw_entropy_block.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "acesbs:block/raw_entropy_block" + } + } +} \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/lang/en_us.json b/src/main/resources/assets/acesbs/lang/en_us.json index df6bf5c..5b3c2e1 100644 --- a/src/main/resources/assets/acesbs/lang/en_us.json +++ b/src/main/resources/assets/acesbs/lang/en_us.json @@ -99,7 +99,8 @@ "trim_material.acesbs.prisma_steel": "Prisma Steel Material", "trim_pattern.acesbs.prisma": "Prisma Armor Pattern", - "block.acesbs.entropy_block": "Block of Raw Entropy", + "block.acesbs.raw_entropy_block": "Block of Raw Entropy", + "block.acesbs.raw_endtropy_block": "Block of Raw Endtropy", "block.acesbs.infernal_ashes_block": "Block of Infernal Ashes", "block.acesbs.prisma_steel_block": "Block of Prisma Steel", "block.acesbs.entropy_ore": "Entropic Ore", @@ -107,6 +108,7 @@ "block.acesbs.infernal_ashes_ore": "Infernal Ashes Ore", "block.acesbs.endtropy_ore": "Endtropic Ore", "block.acesbs.stable_entropy_block": "Block of Stabilized Entropy", + "block.acesbs.stable_endtropy_block": "Block of Stabilized Endtropy", "block.acesbs.entropic_stabilizer": "Entropic Stabilizer", "block.acesbs.entropic_eviscerator": "Entropic Eviscerator", "block.acesbs.entropic_entangler": "Entropic Entangler", @@ -148,6 +150,8 @@ "tooltip.acesbs.entropy_block.tooltip": "Exerts an §o§4uncertain force§r when stepped on.", "tooltip.acesbs.stable_entropy_block.tooltip": "Exerts an §o§2upward force§r of 4.5 blocks when stepped on.", + "tooltip.acesbs.endtropy_block.tooltip": "Inflicts §o§dLevitation§r for 5 seconds when stepped on.", + "tooltip.acesbs.stable_endtropy_block.tooltip": "Inflicts §o§dLevitation III§r for 5 seconds when stepped on.", "tooltip.acesbs.green_bricks": "§o§7Useless Item§r", "tooltip.acesbs.entropy_block.tooltip2": "Has a 1/20 chance of turning an apple into a lemon.", "tooltip.acesbs.wand": "Changes blocks using Entropy", diff --git a/src/main/resources/assets/acesbs/models/block/entropy_block.json b/src/main/resources/assets/acesbs/models/block/raw_entropy_block.json similarity index 93% rename from src/main/resources/assets/acesbs/models/block/entropy_block.json rename to src/main/resources/assets/acesbs/models/block/raw_entropy_block.json index 4768167..9b5f4f2 100644 --- a/src/main/resources/assets/acesbs/models/block/entropy_block.json +++ b/src/main/resources/assets/acesbs/models/block/raw_entropy_block.json @@ -2,8 +2,8 @@ "credit": "Made by AceTheWildfire with Blockbench", "texture_size": [64, 64], "textures": { - "1": "acesbs:block/entropy_block", - "particle": "acesbs:block/entropy_block" + "1": "acesbs:block/raw_entropy_block", + "particle": "acesbs:block/raw_entropy_block" }, "elements": [ { diff --git a/src/main/resources/assets/acesbs/models/item/entropy_block.json b/src/main/resources/assets/acesbs/models/item/entropy_block.json deleted file mode 100644 index b5149f5..0000000 --- a/src/main/resources/assets/acesbs/models/item/entropy_block.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "acesbs:block/entropy_block" -} \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/models/item/raw_entropy_block.json b/src/main/resources/assets/acesbs/models/item/raw_entropy_block.json new file mode 100644 index 0000000..1b855fe --- /dev/null +++ b/src/main/resources/assets/acesbs/models/item/raw_entropy_block.json @@ -0,0 +1,3 @@ +{ + "parent": "acesbs:block/raw_entropy_block" +} \ No newline at end of file diff --git a/src/main/resources/assets/acesbs/textures/block/raw_endtropy_block.png b/src/main/resources/assets/acesbs/textures/block/raw_endtropy_block.png new file mode 100644 index 0000000000000000000000000000000000000000..5bead744b3d3d178688a05fd1ce03581697d9fdf GIT binary patch literal 972 zcmV;-12g=IP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vGf6951U69E94oEQKA00(qQO+^Rl0}2)a3|kPYSO5S6 zB1uF+R5;5e(b;YrWdMNDZi@=WeveAJ zN(j8}{7yMjWjnnC5)7sW*+>rM>$C4KlS+oKzCFZM()gxNXLiSN@d4?G#r=VEUM)W5h9=zKOmt*d3at#`SXM@3^_h4&>i^L@0OS|14)t4Z+eWDBZPqc z(<9_;R6_u&q%v9BbPa(BVYC?2H3eqV!de&<;sw^;n!l|#+|7EF<7Hl6U7?hUCzs{) zHvM^zmFJ;MRa)aama8@LRG~R);dvgXPd-KrL)PAkY2Xm}9`EgckscmD7dx4KN~to& z!eHXr+}Doi&btiOLlA<;#YgD#Hnnse1hniHb*&D7n%GE?$;3z`H>f2mMC=HG@F~Re z_`=5tT=colni*d{Z*cS8LtG1bi!P7PKSBELiyuTh73KV*O0&JD^R|aMvj~OH*fpsX zw%JS;h(=Y$?v$jI##)TXMREipMBY#$w1+w!L#BUgU@i;_$pVrrbGZ2-`FM#>FB)XG zi$uI6-C-Z$3sO58mSdr|>=pp+*KJyM6M%b9_EBCc2n6ks&W=&1|JGnIAF!3!LXzR1 z>uVT5v zE^As1;d`uv$I5dtogT?Znrfz@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy32;bRa{vGf6951U69E94oEQKA00(qQO+^Rl0}2%`6)z!#tN;K3 z%}GQ-R5;6}ld)?QK@`S+vv+ab+qs=oYP`!`P*5@W4}_qgK}h2t5d@1=VrQj)fvpyH zYAdO1V$dQW0b`ZZCU6(`4lFb`o6W4tI<7_Va%(Pn;0II8W8Qn;y!U+q$dyuPt!Yj- zkyT094H<=ctxmib)A`)tcaBg><&(iAvMM?2UuPWj_ScB_V){`Z0pzonXUWMCLNGVA z^w;F|-czC|LIsMg))t~U-OMkXxkb;ck!2Y|2pYl7k;!4aisLvWNrF?pNS3s4WK{w% zH?@T4dHB9h7_Ty;W(udf|C%U@$g+$Z=avDGRf#h^uu~_lk|YVP>++`an6_@y)@?R- zUy$cHzVGvs^M{POA$(K)xA6*m{QeSS3~8DUXj`)l z!29euaJpEaUaJo-U+p^SZi?2L#Y=aGo-Ocp=Lw$Y5y&qEX%B?d=N-lvwAP%gTsdZ7 z+bE?D7-kK!q;)7|1S2{h#j8(`s8lLUlqU|PJZz@)M`J8Ax#gXrnf}MlzW}1$(5s@D RAkqK;002ovPDHLkV1lD02wngH literal 0 HcmV?d00001