From 7e750411a07e355105ef3a2fe115eaa6ab724777 Mon Sep 17 00:00:00 2001 From: paulevsGitch Date: Mon, 18 Jan 2021 23:05:08 +0300 Subject: [PATCH] Capsacis tree enhancements --- .../ru/betterend/blocks/CapsacisCapBlock.java | 16 +++++----- .../java/ru/betterend/registry/EndBiomes.java | 2 +- .../java/ru/betterend/registry/EndBlocks.java | 4 +-- .../ru/betterend/registry/EndFeatures.java | 5 +-- .../world/biome/CapsacisForestBiome.java | 6 +++- .../features/trees/CapsacisTreeFeature.java | 30 +++++++++++------- .../betterend/blockstates/capsacis_bark.json | 19 +++++++++++ .../betterend/blockstates/capsacis_cap.json | 12 +++++++ .../betterend/blockstates/capsacis_log.json | 19 +++++++++++ .../models/block/capsacis_bark_1.json | 6 ++++ .../models/block/capsacis_bark_2.json | 6 ++++ .../models/block/capsacis_bark_3.json | 6 ++++ .../models/block/capsacis_cap_0.json | 6 ++++ .../models/block/capsacis_cap_1.json | 6 ++++ .../models/block/capsacis_cap_2.json | 6 ++++ .../models/block/capsacis_cap_3.json | 6 ++++ .../models/block/capsacis_cap_4.json | 6 ++++ .../models/block/capsacis_cap_5.json | 6 ++++ .../models/block/capsacis_cap_6.json | 6 ++++ .../models/block/capsacis_cap_7.json | 6 ++++ .../models/block/capsacis_log_1.json | 7 ++++ .../models/block/capsacis_log_2.json | 7 ++++ .../models/block/capsacis_log_3.json | 7 ++++ .../betterend/textures/block/capsacis_cap.png | Bin 0 -> 2189 bytes .../textures/block/capsacis_cap_0.png | Bin 0 -> 1565 bytes .../textures/block/capsacis_cap_1.png | Bin 0 -> 1563 bytes .../textures/block/capsacis_cap_2.png | Bin 0 -> 1554 bytes .../textures/block/capsacis_cap_3.png | Bin 0 -> 1540 bytes .../textures/block/capsacis_cap_4.png | Bin 0 -> 1520 bytes .../textures/block/capsacis_cap_5.png | Bin 0 -> 1506 bytes .../textures/block/capsacis_cap_6.png | Bin 0 -> 1480 bytes .../textures/block/capsacis_cap_7.png | Bin 0 -> 1477 bytes .../textures/block/capsacis_cap__22.png | Bin 0 -> 2233 bytes .../textures/block/capsacis_cap_black.png | Bin 469 -> 0 bytes .../textures/block/capsacis_cap_purple.png | Bin 521 -> 0 bytes .../textures/block/capsacis_cap_white.png | Bin 526 -> 0 bytes .../textures/block/capsacis_log_side.png | Bin 1700 -> 1837 bytes .../textures/block/capsacis_log_side_2.png | Bin 0 -> 1839 bytes .../textures/block/capsacis_log_side_3.png | Bin 0 -> 1842 bytes .../textures/block/capsacis_log_top.png | Bin 461 -> 1741 bytes 40 files changed, 172 insertions(+), 28 deletions(-) create mode 100644 src/main/resources/assets/betterend/blockstates/capsacis_bark.json create mode 100644 src/main/resources/assets/betterend/blockstates/capsacis_cap.json create mode 100644 src/main/resources/assets/betterend/blockstates/capsacis_log.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_bark_1.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_bark_2.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_bark_3.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_0.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_1.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_2.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_3.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_4.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_5.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_6.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_cap_7.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_log_1.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_log_2.json create mode 100644 src/main/resources/assets/betterend/models/block/capsacis_log_3.json create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_0.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_1.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_2.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_3.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_4.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_5.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_6.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_7.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap__22.png delete mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_black.png delete mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_purple.png delete mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_cap_white.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_log_side_2.png create mode 100644 src/main/resources/assets/betterend/textures/block/capsacis_log_side_3.png diff --git a/src/main/java/ru/betterend/blocks/CapsacisCapBlock.java b/src/main/java/ru/betterend/blocks/CapsacisCapBlock.java index 18f2974a..514bb05f 100644 --- a/src/main/java/ru/betterend/blocks/CapsacisCapBlock.java +++ b/src/main/java/ru/betterend/blocks/CapsacisCapBlock.java @@ -13,11 +13,16 @@ import ru.betterend.noise.OpenSimplexNoise; import ru.betterend.util.MHelper; public class CapsacisCapBlock extends BaseBlock { - public static final IntProperty COLOR = IntProperty.of("color", 0, 7); private static final OpenSimplexNoise NOISE = new OpenSimplexNoise(0); + public static final IntProperty COLOR = BlockProperties.COLOR; - public CapsacisCapBlock(MaterialColor color) { - super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK).materialColor(color)); + public CapsacisCapBlock() { + super(FabricBlockSettings.copyOf(Blocks.NETHER_WART_BLOCK).materialColor(MaterialColor.MAGENTA)); + } + + @Override + protected void appendProperties(StateManager.Builder stateManager) { + stateManager.add(COLOR); } @Override @@ -27,9 +32,4 @@ public class CapsacisCapBlock extends BaseBlock { double pz = ctx.getBlockPos().getZ() * 0.1; return this.getDefaultState().with(COLOR, MHelper.floor(NOISE.eval(px, py, pz) * 3.5 + 4)); } - - @Override - protected void appendProperties(StateManager.Builder stateManager) { - stateManager.add(COLOR); - } } diff --git a/src/main/java/ru/betterend/registry/EndBiomes.java b/src/main/java/ru/betterend/registry/EndBiomes.java index 8fd56735..dc20d7ac 100644 --- a/src/main/java/ru/betterend/registry/EndBiomes.java +++ b/src/main/java/ru/betterend/registry/EndBiomes.java @@ -84,7 +84,7 @@ public class EndBiomes { public static final EndBiome BLOSSOMING_SPIRES = registerBiome(new BiomeBlossomingSpires(), BiomeType.LAND); public static final EndBiome SULPHUR_SPRINGS = registerBiome(new BiomeSulphurSprings(), BiomeType.LAND); public static final EndBiome UMBRELLA_JUNGLE = registerBiome(new BiomeUmbrellaJungle(), BiomeType.LAND); - public static final EndBiome CAPSACIS_FOREST = registerBiome(new CapsacisForestBiome(), BiomeType.LAND); + public static final EndBiome CAPSACIS_FOREST = registerSubBiome(new CapsacisForestBiome(), CHORUS_FOREST); //public static final EndBiome HANGING_GARDENS = registerBiome(new HangingGardensBiome(), BiomeType.LAND); // Better End Void diff --git a/src/main/java/ru/betterend/registry/EndBlocks.java b/src/main/java/ru/betterend/registry/EndBlocks.java index b358dfb4..50dfbff9 100644 --- a/src/main/java/ru/betterend/registry/EndBlocks.java +++ b/src/main/java/ru/betterend/registry/EndBlocks.java @@ -195,9 +195,7 @@ public class EndBlocks { // Tree from original concept (+ modifications) public static final Block CAPSACIS_SAPLING = registerBlock("capsacis_sapling", new UmbrellaTreeSaplingBlock()); - public static final Block CAPSACIS_CAP_BLACK = registerBlock("capsacis_cap_black", new CapsacisCapBlock(MaterialColor.BLACK)); - public static final Block CAPSACIS_CAP_WHITE = registerBlock("capsacis_cap_white", new CapsacisCapBlock(MaterialColor.WHITE)); - public static final Block CAPSACIS_CAP_PURPLE = registerBlock("capsacis_cap_purple", new CapsacisCapBlock(MaterialColor.MAGENTA)); + public static final Block CAPSACIS_CAP = registerBlock("capsacis_cap", new CapsacisCapBlock()); public static final WoodenMaterial CAPSACIS = new WoodenMaterial("capsacis", MaterialColor.PURPLE, MaterialColor.LIGHT_BLUE); // Small ecosystem tree diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index 1a976641..de96bdbc 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -64,10 +64,7 @@ public class EndFeatures { public static final EndFeature HELIX_TREE = new EndFeature("helix_tree", new HelixTreeFeature(), 2); public static final EndFeature UMBRELLA_TREE = new EndFeature("umbrella_tree", new UmbrellaTreeFeature(), 4); public static final EndFeature JELLYSHROOM = new EndFeature("jellyshroom", new JellyshroomFeature(), 3); - public static final EndFeature CAPSACIS = new EndFeature("capsacis", new CapsacisTreeFeature((random) -> { - int state = random.nextInt(3); - return state == 0 ? EndBlocks.CAPSACIS_CAP_BLACK.getDefaultState() : state == 1 ? EndBlocks.CAPSACIS_CAP_PURPLE.getDefaultState() : EndBlocks.CAPSACIS_CAP_WHITE.getDefaultState(); - }), 1); + public static final EndFeature CAPSACIS = new EndFeature("capsacis", new CapsacisTreeFeature(), 3); // Bushes // public static final EndFeature PYTHADENDRON_BUSH = new EndFeature("pythadendron_bush", new BushFeature(EndBlocks.PYTHADENDRON_LEAVES, EndBlocks.PYTHADENDRON.bark), 4); diff --git a/src/main/java/ru/betterend/world/biome/CapsacisForestBiome.java b/src/main/java/ru/betterend/world/biome/CapsacisForestBiome.java index 4c7394ab..eaefb4ef 100644 --- a/src/main/java/ru/betterend/world/biome/CapsacisForestBiome.java +++ b/src/main/java/ru/betterend/world/biome/CapsacisForestBiome.java @@ -8,13 +8,17 @@ import ru.betterend.registry.EndSounds; public class CapsacisForestBiome extends EndBiome { public CapsacisForestBiome() { super(new BiomeDefinition("capsacis_forest") - .setSurface(EndBlocks.SHADOW_GRASS, EndBlocks.CHORUS_NYLIUM) + .setSurface(EndBlocks.CHORUS_NYLIUM) .setMusic(EndSounds.MUSIC_FOREST) .setWaterAndFogColor(84, 61, 127) .setFoliageColor(71, 45, 120) .setFogColor(78, 71, 92) .setFogDensity(1.5F) .addFeature(EndFeatures.CAPSACIS) + .addFeature(EndFeatures.PURPLE_POLYPORE) + .addFeature(EndFeatures.TAIL_MOSS_WOOD) + .addFeature(EndFeatures.TAIL_MOSS) + .addFeature(EndFeatures.CHORUS_GRASS) .addMobSpawn(EntityType.ENDERMAN, 50, 1, 4)); } } diff --git a/src/main/java/ru/betterend/world/features/trees/CapsacisTreeFeature.java b/src/main/java/ru/betterend/world/features/trees/CapsacisTreeFeature.java index fcf88690..edce411d 100644 --- a/src/main/java/ru/betterend/world/features/trees/CapsacisTreeFeature.java +++ b/src/main/java/ru/betterend/world/features/trees/CapsacisTreeFeature.java @@ -9,15 +9,18 @@ import com.google.common.collect.Lists; import net.minecraft.block.BlockState; import net.minecraft.client.util.math.Vector3f; import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.MathHelper; import net.minecraft.world.StructureWorldAccess; import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.feature.DefaultFeatureConfig; +import ru.betterend.blocks.BlockProperties; import ru.betterend.registry.EndBlocks; import ru.betterend.registry.EndTags; import ru.betterend.util.MHelper; import ru.betterend.util.SplineHelper; import ru.betterend.util.sdf.SDF; import ru.betterend.util.sdf.operator.SDFFlatWave; +import ru.betterend.util.sdf.operator.SDFScale; import ru.betterend.util.sdf.operator.SDFSmoothUnion; import ru.betterend.util.sdf.operator.SDFTranslate; import ru.betterend.util.sdf.operator.SDFUnion; @@ -28,12 +31,6 @@ import ru.betterend.world.features.DefaultFeature; public class CapsacisTreeFeature extends DefaultFeature { private static final Function REPLACE; private static final List ROOT; - - private final Function capFunction; - - public CapsacisTreeFeature(Function capFunction) { - this.capFunction = capFunction; - } @Override public boolean generate(StructureWorldAccess world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, DefaultFeatureConfig config) { @@ -49,30 +46,41 @@ public class CapsacisTreeFeature extends DefaultFeature { BlockState woodState = EndBlocks.CAPSACIS.bark.getDefaultState(); BlockState logState = EndBlocks.CAPSACIS.log.getDefaultState(); - BlockState capState = capFunction.apply(random); + BlockState capState = EndBlocks.CAPSACIS_CAP.getDefaultState(); SplineHelper.offsetParts(spline, random, 0.5F, 0, 0.5F); SDF sdf = SplineHelper.buildSDF(spline, 2.5F, 0.8F, (bpos) -> { return woodState; }); - SDF cap = makeCap(height * 0.2F, height * 0.25F, random, capState); + final float scale = config == null ? 1 : MHelper.randRange(1, 3, random); + final float offset = height * 0.2F; + final float radius = height * 0.25F; + final float heightScale = radius * 2 * scale; + final int count = MHelper.randRange(5, 7, random); + final float angle = random.nextFloat() * MHelper.PI2; + SDF cap = makeCap(offset, radius, count, angle, capState); sdf = new SDFUnion().setSourceA(sdf).setSourceB(cap); + sdf = new SDFScale().setScale(scale).setSource(sdf); makeRoots(world, center, height * 0.4F, random, woodState); sdf.addPostProcess((info) -> { if (EndBlocks.CAPSACIS.isTreeLog(info.getStateUp()) && EndBlocks.CAPSACIS.isTreeLog(info.getStateDown())) { return logState; } + else if (info.getState().equals(capState)) { + double off = Math.cos(Math.atan2(info.getPos().getX() - pos.getX(), info.getPos().getZ() - pos.getZ()) * count + angle) * 2; + int color = (int) ((info.getPos().getY() - pos.getY() - radius) / heightScale * 7 + off); + color = 7 - MathHelper.clamp(color, 0, 7); + return info.getState().with(BlockProperties.COLOR, color); + } return info.getState(); }).fillRecursive(world, center); return true; } - private SDF makeCap(float offset, float radius, Random random, BlockState capState) { - float angle = random.nextFloat() * MHelper.PI2; - int count = MHelper.randRange(5, 7, random); + private SDF makeCap(float offset, float radius, int count, float angle, BlockState capState) { SDF cap = new SDFSphere().setRadius(radius).setBlock(capState); SDF cone = new SDFCappedCone().setRadius1(radius).setRadius2(radius * 0.4F).setHeight(radius * 0.3F).setBlock(capState); cone = new SDFTranslate().setTranslate(0, radius * 0.3F, 0).setSource(cone); diff --git a/src/main/resources/assets/betterend/blockstates/capsacis_bark.json b/src/main/resources/assets/betterend/blockstates/capsacis_bark.json new file mode 100644 index 00000000..98418992 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/capsacis_bark.json @@ -0,0 +1,19 @@ +{ + "variants": { + "axis=x": [ + { "model": "betterend:block/capsacis_bark_1", "x": 90, "y": 90 }, + { "model": "betterend:block/capsacis_bark_2", "x": 90, "y": 90 }, + { "model": "betterend:block/capsacis_bark_3", "x": 90, "y": 90 } + ], + "axis=y": [ + { "model": "betterend:block/capsacis_bark_1" }, + { "model": "betterend:block/capsacis_bark_2" }, + { "model": "betterend:block/capsacis_bark_3" } + ], + "axis=z": [ + { "model": "betterend:block/capsacis_bark_1", "x": 90 }, + { "model": "betterend:block/capsacis_bark_2", "x": 90 }, + { "model": "betterend:block/capsacis_bark_3", "x": 90 } + ] + } +} diff --git a/src/main/resources/assets/betterend/blockstates/capsacis_cap.json b/src/main/resources/assets/betterend/blockstates/capsacis_cap.json new file mode 100644 index 00000000..4c051cb8 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/capsacis_cap.json @@ -0,0 +1,12 @@ +{ + "variants": { + "color=0": { "model": "betterend:block/capsacis_cap_0" }, + "color=1": { "model": "betterend:block/capsacis_cap_1" }, + "color=2": { "model": "betterend:block/capsacis_cap_2" }, + "color=3": { "model": "betterend:block/capsacis_cap_3" }, + "color=4": { "model": "betterend:block/capsacis_cap_4" }, + "color=5": { "model": "betterend:block/capsacis_cap_5" }, + "color=6": { "model": "betterend:block/capsacis_cap_6" }, + "color=7": { "model": "betterend:block/capsacis_cap_7" } + } +} diff --git a/src/main/resources/assets/betterend/blockstates/capsacis_log.json b/src/main/resources/assets/betterend/blockstates/capsacis_log.json new file mode 100644 index 00000000..62fca081 --- /dev/null +++ b/src/main/resources/assets/betterend/blockstates/capsacis_log.json @@ -0,0 +1,19 @@ +{ + "variants": { + "axis=x": [ + { "model": "betterend:block/capsacis_log_1", "x": 90, "y": 90 }, + { "model": "betterend:block/capsacis_log_2", "x": 90, "y": 90 }, + { "model": "betterend:block/capsacis_log_3", "x": 90, "y": 90 } + ], + "axis=y": [ + { "model": "betterend:block/capsacis_log_1" }, + { "model": "betterend:block/capsacis_log_2" }, + { "model": "betterend:block/capsacis_log_3" } + ], + "axis=z": [ + { "model": "betterend:block/capsacis_log_1", "x": 90 }, + { "model": "betterend:block/capsacis_log_2", "x": 90 }, + { "model": "betterend:block/capsacis_log_3", "x": 90 } + ] + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_bark_1.json b/src/main/resources/assets/betterend/models/block/capsacis_bark_1.json new file mode 100644 index 00000000..7d89f680 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_bark_1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_log_side" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_bark_2.json b/src/main/resources/assets/betterend/models/block/capsacis_bark_2.json new file mode 100644 index 00000000..b0844d4e --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_bark_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_log_side_2" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_bark_3.json b/src/main/resources/assets/betterend/models/block/capsacis_bark_3.json new file mode 100644 index 00000000..4b266581 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_bark_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_log_side_3" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_0.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_0.json new file mode 100644 index 00000000..81bef2fb --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_0.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_0" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_1.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_1.json new file mode 100644 index 00000000..88b91485 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_1.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_1" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_2.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_2.json new file mode 100644 index 00000000..3ce9ed12 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_2.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_2" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_3.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_3.json new file mode 100644 index 00000000..bad70714 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_3.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_3" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_4.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_4.json new file mode 100644 index 00000000..d87e3a0c --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_4.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_4" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_5.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_5.json new file mode 100644 index 00000000..834740b8 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_5.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_5" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_6.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_6.json new file mode 100644 index 00000000..130d8da0 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_6.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_6" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_cap_7.json b/src/main/resources/assets/betterend/models/block/capsacis_cap_7.json new file mode 100644 index 00000000..af98b021 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_cap_7.json @@ -0,0 +1,6 @@ +{ + "parent": "block/cube_all", + "textures": { + "all": "betterend:block/capsacis_cap_7" + } +} diff --git a/src/main/resources/assets/betterend/models/block/capsacis_log_1.json b/src/main/resources/assets/betterend/models/block/capsacis_log_1.json new file mode 100644 index 00000000..4fdebd0d --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_log_1.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "betterend:block/capsacis_log_top", + "side": "betterend:block/capsacis_log_side" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/capsacis_log_2.json b/src/main/resources/assets/betterend/models/block/capsacis_log_2.json new file mode 100644 index 00000000..94e439e1 --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_log_2.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "betterend:block/capsacis_log_top", + "side": "betterend:block/capsacis_log_side_2" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/models/block/capsacis_log_3.json b/src/main/resources/assets/betterend/models/block/capsacis_log_3.json new file mode 100644 index 00000000..150ba53c --- /dev/null +++ b/src/main/resources/assets/betterend/models/block/capsacis_log_3.json @@ -0,0 +1,7 @@ +{ + "parent": "minecraft:block/cube_column", + "textures": { + "end": "betterend:block/capsacis_log_top", + "side": "betterend:block/capsacis_log_side_3" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap.png new file mode 100644 index 0000000000000000000000000000000000000000..ba60d3393b42fd6e39b58b761d110f85fc0aec47 GIT binary patch literal 2189 zcmbVO3ry5@96s3y4-s|X6oaOeIo!0g*L${l^0?zQIYlH23?IF=a0Tw#T`SzdHkmpz zi7sf2ZVXh^ndv6()Uid$bfUz?h#=yEMAXdr07V_cfsf4TG^K*`1o`mw0>5ROty*yM6B08-g<@=we2h_)S4>eTyqmbR zbSd4OOwzn9l45uZ8|kzO0Ig8WjdBVUoySU$h0WpY2Kd486EMUv26(B)jF|-^YvmG) z9PHwv1!;6q9!)TC)I4aelLQ1dR-z!ME#EGZP6Ir^OMOtswsX*3tSms zt0V~|iWU|YMi#0fc}EVaBnSe0w z0R~P7L$C=RTDv%uCXg`HNeQSj5|cw305Y@(C#-Vh4~R1~%I32+)-H(vtMp(6D=+b) zm46Pk=kYTFAhl+*M`KhkHk(I6l;R3N7()pe6)mQ@1QtzYMShioX5$Kg&2TvyfiyZ; zO5z=9JfA;YsFY#LkkKd?Mi0$g%GnvdP<&&=9@a!jtO3R`TnS2sDD`PLPRd{1EKEgW z*dWx*GhDW7RH&N7o`r(0VJM0EPcTE1*}TI>ftWcPmBXTfJqLz7nIw&TKJNg+z@2Kq zh1pCd*+q%6(`=H-0E4h2IgTMIy^_{bv>wsvFbc8g)EHvXXtEK4VsL`OD2rCd4DUDb z^eVZy^8Ud-XLuTL{H;n5p#QYl7DSEFYJ}CR)d->0GKiAG37XMhI>0*2w$Q+6obI%a;aPjA5Gr`{_X4SCx93@FTP^eVlwFR8;lt*v`{b#v3~?5>L9E`vC}XpU=g zE?7Y?I3d4(V*XE^T>y94I ztyNaqqfYtGno%;I;Lo&fSr&Z-nr8TZb?(N`kKFrqVO?EiM9JEV4O6}dn7F^3b-5NV z5Bbvf@rMUma|1t>+{Ze4H(Uy3s;^li?$j?TZ27vjeEzKHDmQ#+a^Qp=3GJaLP~z<$ zD?0sSy)SHB6ssjxl|MsP<=vfS1&_7k zBld*v?7eZ*l+@S#KzDoglirTxJlBKkCGOH!c5mu?^7E0cJxCnd_M^I|x^Q(Xa%9~CVMBT8=dMdh8hdHv=eoHDJk z%(y8EjpSx_Gua|gTpWGH&Q+_a`(oy=^ zv7o&|O+))7apvxWYr4X*!0+}@_e0lBst@^S{rjOlcbn_BH{RL)Am`-%O7FK;2Gx9! zTYvZR>gJna(Z`#vw>EXYcE>N{C$sY2$D5Y4^&iiwhV;qx+@c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*NEJGweq8k<@=n;RMeS(Lv8`kW|!2W%(B!Jx1#)91+cfRGI6`b z5T|)iy(zfeVuVw#KF~4xpvXmvY?u%*1%a6GqzmN06Mt$RFvS-ElXgMQXJD>i>h*MS z45_%K66Bp7>?mTFp7w69=j1zPxwE!y3w2p4)*AG}N#oJARwcag`}0KBIBwy{%zUZ5wzu-R+V^vhD}v4^%`pBvH-F#fvj>m2x;JtZPw-rL zf0^Iqt5w@PAIJopzQX9RP(6^ZQ-;awOQ`8h*C~>MpJGp6<9+#GLG_Pe{-WI3bJP;7 zmObLW-|o;jA=2=VyFA;A?=kwyn+-T>Ufk7vAfPd0!pu!8k0#hZIK$Fx z_~h&J`JTNyY*hSZ&bI)LBf1$O1s_gKnmd!%t#eKl|9$5Z_de!Tsmwe!G5Kib!>ud# zx6Mx7yKv?E#8saktal$?{e}ZgG;#OjKPck>-@=rGqdZS-M7y7ch$?gl@S+f zGwI}_?GeSt7iWFyu@4UjW@wwb`trf0GCZ-3+_#sVW4ZrfLGxWZRm~4xRdd^&8dA23 h$-G~F<%~Te8-rlGoBg{>KaxQOwx_F~%Q~loCIEUgRZsu` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_1.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_1.png new file mode 100644 index 0000000000000000000000000000000000000000..59df594a19ef2f48bace117a3b89c69aae40e716 GIT binary patch literal 1563 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*NEJGweqnwwfWn;RMeS(Lv8`kW|!2W%(B!Jx1#)91+cfRGI6`b z6sLJmy(zfeVun+%KF~4xpvXmvY?u%*1%a6GqzmN06Mt$RFvS-EllJ@wQC0>9rfyFc z$B>F!DnZ`aB8~#Z0=GJ{KGBx<gw%vKRJ{j*%y3ckiT;+fBn^jhi8{b8nv&ycp zJt)I(hyv??%JW$ur!4yv){7v8OxM48`FaG zyu4(->{?{5=DsBH=eO?cjhzz=cW=M?ZJjH_2luD! z(K+|8zip_wJ=^(emx5J8UG)1Wm6_)v_w+p9Xy?QMyFY6FteVRyQxK*l7B5n#VIYwGb&~Bc;z4b%Ij$lIQ0w$(s38 zqT#d!lW?5tQpURMJ)52yu~dIuzwpAY@X~MT_))d!v1CwJ0Dd!iayD#)${U~%@S7X_d_5YqkE}i>tLtbaNd*$6z><+S5 zh04?#!YlS3x7nz@KYc%wsv4i~ex)q7Eo^ru`6|r~Nb1&0Z(fp zxZST~n2-EE=**|%sCi+l3M1<@-=I?sAD7-)sic2>&dTa{r`F7rne`;1l{;zS;mfMe zzf81T({-%J*j`PF#cFAUPj$EIiTR6n&OfzXbA7V)5skJhjOEUCMF!^^j|)Wm+Me<4 dSh=5xhao1|T{Qa7mtUab+SAp~Wt~$(69D-cMR))J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_2.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_2.png new file mode 100644 index 0000000000000000000000000000000000000000..90826dd369edc96e14a2960e17e6769f0eaa9f34 GIT binary patch literal 1554 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*NEyPBA}8JJo+n;ROsI$1h9895tU zxVTwbx*EG#I>Yq3+b4WhYLT0-lZlf9f72sZ54}Ybn#28f{&4@p z{Ey+|E7f$@Jsk>*1ew$XV>}n_KAE@aonKjcS=Fx7_ac_-y;}XOTEuSkn)DOj4dyfH zw_H9jr^PHGp<719mO&vz=whNkz|L~@Ohvi0l@HQtFK=G+zggterd6!V-rs6j+wA!z z=!K`+ndF6&Wi)+U%VvmLN{HKq^`Dx<%qgt&|8z;xmiWTmx&I!#eziI_EAO?wp!?-l zr?l=1c1*m=)%v)g;VvKByJpwm{SU6rh^#xbmgh;>lP;D^3A)kzp;A{F+-6_7;az5O zglo^bH&cBt=AN?M8!hrwajw-uDJ9o9R&}+FyZGC6KN~+0XcXe;pXA0}vFC%!y1j?{ zbvK{Sxjg0N>^y~CxnFkQIT={!cBzxPX z3LJ2L$>UMEG=lv{Vv=*if{oux(lqAGaAf(_!KU0{s=~-~dBUz#eNL711u{2oG};9_ z&v$)xYSP37IyYD*3Gz$kFnnpNdMC1J!o>HPuXRqZNWUHV<$LMjt*n7MU9-CR8~RIw zl@z<0R`4E}to!${;+*Az{eBzcCyBBpANY5Tce(rLj({Hl1;Ki$ z^Xdzl-BGb;L!T^BmMd1#U)5@oHvP?0=3=LY`ztM5F8owJc-wQIr-z`|@(UkBX3U%N cwVsKG;lfYz6Lme)^g*Sxr>mdKI;Vst0P*}!`2YX_ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_3.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_3.png new file mode 100644 index 0000000000000000000000000000000000000000..e71f7d3568183030cbab92029d3bd24654dd3ac4 GIT binary patch literal 1540 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*NEyPBA}nV4ESn;ROsI$1h9895tU zxVTwbx*EG#I>Yq3s9EANRHzZ)M{*=xj0Cu zJY-}Lh+|)IhPTUDuYF0(I zsn6?TmP+~Xt-E~Kj#{Ps{U!GsyN{%tFn zl373Xwr^INTH;#KqU%eoJvD({ z`IUUqmFIE2Qrc-x_e9@WcrO2D%DH06%XfeMnxwO|tS0`Nw#np6D<*7Q2qxQZ&nDdOS z>-|q=ZnlFa8ex5JcYJdZ zRcW_5n0WY%!KSiL$KP`OnB=|H)aWw9nlqhiSEl&MC|+G*m-|TlM}*+|?&&QN2Csuw zMxELf_~Jn3>ynj48~p;ipUt1SytuCJ%;T2!?ljBAH8_5}?NQc-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*NEyPBA}S(sWnn;ROsI$1h9895tU zxVTwbx*EG#I>Yq3U*w(8Nw2cY3X4`2J}9nVH<5vf+e35>-{01w3m)w8 z5j`t#!1vC|0u~P6tYbB&RMelj#|!OlT`zRG)IfX34$*t@<^H?@imig(49u6`9}tv? zC^Vmck()o~_7-ukROaoxlIQ(ew$2xtwroOqj`g?Wd|cd1@AM_V$SACS)hF&_d)!CB zMvSf5%53!=nSi2mcUSrdc>33-zYSrH{_%-ne{6yO$tebBYG%#c(sMFi&MhK#bAQ;K zS2N!pD^dx1F~Mx{N7=edX1{OMHtk)U5Wl!nK5RwRbn~cZeOnLOMwJKEJYSz9abLf# z#3)*Kd(iYq74<)@_RlA6dy+VLy3(Ki__Y}<*MqKaKQ-^bw$IL`%zE?L|3t9MUeqw$ z$R3}t?#Q)2Zwn2B8p@P{8(wz)e0ngJlO@tU{e#ZFh8UN^2aS^FdnaG`XR>>i$>f(F zZK-R%+?f;WvenAeA(#2(?;{H?{xZ$V(ErxsuebK8Q<|`ZX3||HQ;jlN-d7b}rcALi z>rYu;o1?x*w)4xErW+;c7GEEUJe9APaPVxj lnwd49aoV)AU+bB87_OZN&|0;_{R*fI_H^}gS?83{1OUWPG)n*g literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_5.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_5.png new file mode 100644 index 0000000000000000000000000000000000000000..d479ebacb13395097e569c2e98546cd7ff7e1ce9 GIT binary patch literal 1506 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_7.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_7.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb18653d1cacee7da439cdc28d0dfbc04294592 GIT binary patch literal 1477 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuk#7M#1QqR!L zz|zP>N5ROz&|KfZT;I@G*TB%qz|6|nQUMB-fVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$DAX(zG{Q6U zQu51-HNkp(eXTt6ic1pnl2bihY?Xkf=w)W6Sh*Ov7#mr*S(;ipn;ROsI$1h9895tU zxVTwbx*EG#I>Yq3etkdV2=D2y|n#-3Kcv>2WUXZovS+2%!A~kDo<-e7g z+2z5fC-L9D-a9wdEAZCw8k0P~km#0K2No86dc%LWsnMus{?_+ODskf1-QMKcC_bFB z*dfGgS{?V*WizfBoD~Z7(b_Y8rqCxXf9^M~d{rj}I(w%!POV#Tl`U=UmK$F$Fr7AieU7VUIcu+~H3xj1LdrhOZ~%e@nF71?}Q?&@2o(-E%BSF+33mi*^p zF=ER0mJB+kq4es*p}!Xj7e~a2PQP1Yz!tgs|7x3y*^SKYuWXxM%vYuRRd>=xeu9M*ruSi|U9Au`?Jzrby(muv_t$SPl1TnmS u*0gq;cZSxEtNL#?EdC^LgR%ENmjS~IFMEZ95_+Hlo59o7&t;ucLK6Uml_whj literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap__22.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap__22.png new file mode 100644 index 0000000000000000000000000000000000000000..a54a1a07203ad5ae61b55e39bd2c8d0fea113abe GIT binary patch literal 2233 zcmbVO2~ZPf6kZMmQJe}MDWYB1idIbaNKDAq$Q1-Ei5N2l5s%GgLspY)++8jm&mJh^ z)r!j5;yE~uV{OITR`IIGppK$|XB|aaZ7XWAw$}d3kx{GGac6e--`(%M_r3SM|IIE; zHpT}Agakkk6quNxH-Y;*(&_IFuFIC&)!^2}oiJX2psvBv=>-*+${?syHET{4Qw>QZ z%{dj6m9sF49H$$gA!tNoj+>&VF(PbXGFX=m`EAel2+Ue_NXl>nW^l(cb~a%K&y1U4 zG}AMt(ON4KIT9X`Ljng*Mx@{zr^6+XIXa}(FA3JtYZQT7A>uS05-kOUQw_;*EXOnO zaD`e<<0=ByXcf2`(-Nv-FoEG36w{!%QjXyyrY4nIxcxvtG~Q|>P5M#ovA~lKv5TUc zMA7W*Y(=(G!SNX=uGMN$j6exO4iIu7*CkRpa+ff$!-Jj?Xr6V8Ea!qHkCcVW6mu!u0bp?t)@|oRPOx*Y zaP9g0TmVp7gTWKyrCgj&PY6Mb%K~Y%7v!aA!JO-6P!l6?nLN$JWdWK4rEJ_}EYDCP z$D29M(IHfF2W2=mRuU!x9+JYktX#J6!810Do)Q@yLSO_AB$MN6Go~VOpdAs8DM<`# zgBmz1Ys-BB8et{~5(nsr=b)f#tdvOoFW5?xHjZ~vAZOM|WiY7Qm4U#XN|LdhgX2M9 zz)so9!eAg1U4lrtXeLpwLqOUJmbH>LjIb#w8zHw@aL|!96(f(p2}VvUtr`Z$G=v4m zJM8rwohgaiVQ&TYG^Mdc&=#d!ZPBXbmfXbF>$mB(Tmn{0WB=M`sJ!c+W^&WnJ zs=m6{bj7>(1NYrA&57&*eLh^dqW8qmiJYT$OMPKj(;Of3l5c#ToGyypq?&cO^TuCf zyY8N8{ItAFVc+djSvGXhu;poKCR3OoYG!yr!x}DxoG`AR*A#cVZhJw?&XenHU7SAt z0v>vH?bYg*m|n6}{m>2a+^Wf{3ElOuuW;&Gd2RC-{~Z2dWaw=1j5(~c=^hlHJoGrT z{P*DEAOA2a)_)w;^C#l^MDKk;MF-~=j9+!)q^xqc=Jeg4g^K%6GwjpL0?Lf3jqm?C zRW)not@?Ap-j`zzrT6;0ep}Dtmb6j*yoh5hMY3_j*`@oF3s;ua72ak}O?Ys(t~79U zNC`T zkGX>Ug|+#RUv%T0l!}75^8=18ZCV~b_5RKHt(ns*nsoL@eSOId6RXeo*Bb8l-OEdV zIC#^S_oC6u`1aa;4{IMNFV>;m;tv|XV|v`a@X5nnQ^NTaL+w@c%2=H2Kf8Eq`It4M zc3xlEWB24ay5kMzC4B#yN8$IcS8v*L``Wg56VgL72RH0mFko)?fK!XZ`?$Gn4K=fu z)MFyL{z^mCCIXVhvo%x&HwVBY0}w=n-aF@cet=DlZCPp2p$4jon*k6RIDnbbdgpA7QG=?2 z0#&C)M?~1x^$CjPeL27wMPwidMX|WQB-)b+;Ol-TebA#5k+?Yupem>+zz6tR`?dja zwDY4rTUgx596-IKxy|$9%YWt178dt^E=1&fZYaJ!7K=nMvlrOwnsh1tCWg5!5JDl&V6$NBp*L^V40b_HE-Y`)40E>wg;T00000 LNkvXXu0mjf$eh@n diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_cap_purple.png b/src/main/resources/assets/betterend/textures/block/capsacis_cap_purple.png deleted file mode 100644 index 3dffd7a905c7af1280dbbd0584ac7499b0248e43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521 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 aqt7g#+cvMQ{WtxumX}lD*fn**qQ3yAHji%r literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/betterend/textures/block/capsacis_log_top.png b/src/main/resources/assets/betterend/textures/block/capsacis_log_top.png index 6ddad95076788ab556cb3c71bbb2a085792f4b6c..b45ac0367e736724e08e11a1a177fcd93c40f984 100644 GIT binary patch literal 1741 zcmbVNe{2&~9KUU4VUsx=KV0S?9>*L%;@bc)g2-D`WU_oH_= z+6@ejA8{jD#A#H@B$|ngU;YR|L8D-12w5TvK>`5@x=4UIQGx~&3Hq*U8zlIPOWwWr z?tR|p`}=#nElmw2#TCT}f|U5YOaRW)jWIPJzPG#_wZo}M@wRFRa^DPN&lN3$bX{!^>JQ$Rw@?ko_EX&A(I~Nw! zb%iE~L?U5MSk1B;At_O5-lNQ=WJxW?>lAMJ4 zWnKt(-T|!%S}59LyAukthG%v5U%@;_hh|kS%re3cGk2O zen0J#G@X?=;A31EG}|l)JPoWYXQQ0exSix!++nlX@ftqtz{71$k_uDKHb>Z&z0b&8 zhY{TDeg1#mZ&n3ZTx{%~d5n@XvV!&s8jM$GrYKf`cxDw7&~zfuEN3LR3*(H)0v^kJ z7Vg;tleCE_fTaHr?n#&?hxG)j0(S&@>%U|a0re-0YMeBMxYNq?*=?1Zg~N7WEOUJb zZgQOrNU(jWuusi=v6VrPycc|oJ2-!|BOo>nlhgbwYL`1GiYhON7u`~3Up>-#D6hW$ zI6fZz;q;C3Bb!qC5}ICcaM0Q}>}-C0|E~?b zJLBs@9~|JPp12|HR%g8wDBS~&&s;06Iludxu|o6qs#DAp<7Zd3Tp9au>|#l(q~WWH z&)$E2-;>>W4<7yY7t>=uza6MrGVt_v&zehb)sEB;HZ@-OWZT7xW^;6WEB0H7I$Zku zUf=hH7g}c9Q}4J>jGoH>oSFEj);(*_0qLx%Sps+_)XhpgwvdW*VE z1situ{qgQ2@&2{mAj> z8vrIVm(v(jm09PwFzbw}0JQO0a$+$&)Mfe^sC#&KpT-PEuu?PnVbU1B0c>b+IL>H`~7u z;9_Lo_Smz%$->g`YF8o7=?wy0-Cmk^FH4Nj9XsUYM$$qeN{H}%YynJ`#Q;T_&R?ky z-6=-+f0Y{HFtmvE699R+B4>ry88H%>0H1y+>nG&R^*4MO8lJ0$VqIRp?9kHcK%N+? oxuo8_;GA-@BhD+