diff --git a/src/main/java/ru/betterend/registry/EndFeatures.java b/src/main/java/ru/betterend/registry/EndFeatures.java index b48a9bb7..30337086 100644 --- a/src/main/java/ru/betterend/registry/EndFeatures.java +++ b/src/main/java/ru/betterend/registry/EndFeatures.java @@ -60,6 +60,7 @@ import ru.betterend.world.features.terrain.SulphuricCaveFeature; import ru.betterend.world.features.terrain.SulphuricLakeFeature; import ru.betterend.world.features.terrain.SurfaceVentFeature; import ru.betterend.world.features.terrain.caves.RoundCaveFeature; +import ru.betterend.world.features.terrain.caves.TunelCaveFeature; import ru.betterend.world.features.trees.DragonTreeFeature; import ru.betterend.world.features.trees.GiganticAmaranitaFeature; import ru.betterend.world.features.trees.HelixTreeFeature; @@ -201,7 +202,7 @@ public class EndFeatures { public static final EndFeature OBSIDIAN_PILLAR_BASEMENT = EndFeature.makeChansedFeature("obsidian_pillar_basement", new ObsidianPillarBasementFeature(), 8); public static final EndFeature OBSIDIAN_BOULDER = EndFeature.makeChansedFeature("obsidian_boulder", new ObsidianBoulderFeature(), 10); public static final EndFeature FALLEN_PILLAR = EndFeature.makeChansedFeature("fallen_pillar", new FallenPillarFeature(), 20); - //public static final EndFeature TUNEL_CAVE = EndFeature.makeRawGenFeature("tunel_cave", new TunelCaveFeature(), 2); + public static final EndFeature TUNEL_CAVE = EndFeature.makeChunkFeature("tunel_cave", new TunelCaveFeature()); // Ores // public static final EndFeature THALLASIUM_ORE = EndFeature.makeOreFeature("thallasium_ore", EndBlocks.THALLASIUM.ore, 12, 6, 0, 16, 128); @@ -258,7 +259,7 @@ public class EndFeatures { if (EndBiomes.getBiome(id).hasCaves()) { addFeature(ROUND_CAVE, features); - //addFeature(TUNEL_CAVE, features); + addFeature(TUNEL_CAVE, features); } EndBiome endBiome = EndBiomes.getBiome(id); @@ -276,7 +277,7 @@ public class EndFeatures { if (def.hasCaves()) { def.addFeature(ROUND_CAVE); - //def.addFeature(TUNEL_CAVE); + def.addFeature(TUNEL_CAVE); } } diff --git a/src/main/java/ru/betterend/registry/EndTags.java b/src/main/java/ru/betterend/registry/EndTags.java index c2866b47..f82d2182 100644 --- a/src/main/java/ru/betterend/registry/EndTags.java +++ b/src/main/java/ru/betterend/registry/EndTags.java @@ -128,7 +128,17 @@ public class EndTags { }); ToolManagerImpl.tag(HAMMERS).register(new ModdedToolsVanillaBlocksToolHandler(hammers)); - TagHelper.addTag(GEN_TERRAIN, EndBlocks.ENDER_ORE, EndBlocks.FLAVOLITE.stone, EndBlocks.VIOLECITE.stone, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE); + TagHelper.addTag( + GEN_TERRAIN, + EndBlocks.ENDER_ORE, + EndBlocks.FLAVOLITE.stone, + EndBlocks.VIOLECITE.stone, + EndBlocks.SULPHURIC_ROCK.stone, + EndBlocks.BRIMSTONE, + EndBlocks.VIRID_JADESTONE.stone, + EndBlocks.AZURE_JADESTONE.stone, + EndBlocks.SANDY_JADESTONE.stone + ); TagHelper.addTag(END_GROUND, EndBlocks.SULPHURIC_ROCK.stone, EndBlocks.BRIMSTONE); TagHelper.addTag(FURNACES, Blocks.FURNACE); diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java index c303d01b..301748c4 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/EndCaveFeature.java @@ -184,7 +184,7 @@ public abstract class EndCaveFeature extends DefaultFeature { return new BlockPos(pos.getX(), MHelper.randRange(bottom, top, random), pos.getZ()); } - private void fixBlocks(WorldGenLevel world, Set caveBlocks) { + protected void fixBlocks(WorldGenLevel world, Set caveBlocks) { BlockPos pos = caveBlocks.iterator().next(); MutableBlockPos start = new MutableBlockPos().set(pos); MutableBlockPos end = new MutableBlockPos().set(pos); diff --git a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java index c907b07d..a95747ae 100644 --- a/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java +++ b/src/main/java/ru/betterend/world/features/terrain/caves/TunelCaveFeature.java @@ -1,55 +1,162 @@ package ru.betterend.world.features.terrain.caves; -import java.util.List; import java.util.Random; import java.util.Set; -import java.util.function.Function; -import com.mojang.math.Vector3f; +import com.google.common.collect.Sets; import net.minecraft.core.BlockPos; +import net.minecraft.core.BlockPos.MutableBlockPos; import net.minecraft.util.Mth; import net.minecraft.world.level.WorldGenLevel; -import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Material; +import net.minecraft.world.level.chunk.ChunkGenerator; +import net.minecraft.world.level.levelgen.feature.Feature; +import net.minecraft.world.level.levelgen.feature.configurations.NoneFeatureConfiguration; +import ru.betterend.noise.OpenSimplexNoise; +import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndTags; import ru.betterend.util.BlocksHelper; -import ru.betterend.util.SplineHelper; -import ru.betterend.util.sdf.SDF; +import ru.betterend.world.biome.cave.EndCaveBiome; public class TunelCaveFeature extends EndCaveFeature { - private static final Function REPLACE; - - @Override - protected Set generate(WorldGenLevel world, BlockPos center, int radius, Random random) { - //OpenSimplexNoise noise = new OpenSimplexNoise(MHelper.getSeed(534, center.getX(), center.getZ())); - float rad = radius * 0.15F; - int min = Mth.ceil(rad) - 15; - int max = 31 - Mth.floor(rad); - List spline = SplineHelper.makeSpline(0, 0, 0, 0, 0, 0, radius / 3); - spline = SplineHelper.smoothSpline(spline, 5); - SplineHelper.offsetParts(spline, random, 5, radius * 0.4F, 5); - for (Vector3f vec: spline) { - float x = Mth.clamp(vec.x(), min, max); - float y = Mth.clamp(vec.y(), -radius, radius); - float z = Mth.clamp(vec.z(), min, max); - vec.set(x, y, z); + private Set generate(WorldGenLevel world, BlockPos center, Random random) { + /*Random rand = new Random(world.getSeed()); + OpenSimplexNoise noise1 = new OpenSimplexNoise(rand.nextInt()); + OpenSimplexNoise noise2 = new OpenSimplexNoise(rand.nextInt()); + OpenSimplexNoise noise3 = new OpenSimplexNoise(rand.nextInt()); + int x1 = (center.getX() >> 4) << 4; + int z1 = (center.getZ() >> 4) << 4; + int x2 = x1 + 16; + int z2 = z1 + 16; + int y2 = world.getHeight(); + Set positions = Sets.newHashSet(); + MutableBlockPos pos = new MutableBlockPos(); + for (int x = x1; x < x2; x++) { + pos.setX(x); + for (int z = z1; z < z2; z++) { + pos.setZ(z); + for (int y = 0; y < y2; y++) { + pos.setY(y); + float v1 = Mth.abs((float) noise1.eval(x * 0.02, y * 0.02, z * 0.02)); + float v2 = Mth.abs((float) noise2.eval(x * 0.02, y * 0.02, z * 0.02)); + //float v3 = Mth.abs((float) noise3.eval(x * 0.02, y * 0.02, z * 0.02)); + if (MHelper.max(v1, v2) > 0.7 && world.getBlockState(pos).is(EndTags.GEN_TERRAIN)) { + BlocksHelper.setWithoutUpdate(world, pos, AIR); + positions.add(pos.immutable()); + } + } + } } - SDF sdf = SplineHelper.buildSDF(spline, rad, rad, (vec) -> Blocks.AIR.defaultBlockState()); - Set positions = sdf.setReplaceFunction(REPLACE).getPositions(world, center); - for (BlockPos p: positions) { - BlocksHelper.setWithoutUpdate(world, p, CAVE_AIR); + return positions;*/ + + int x1 = (center.getX() >> 4) << 4; + int z1 = (center.getZ() >> 4) << 4; + int x2 = x1 + 16; + int z2 = z1 + 16; + int y2 = world.getHeight(); + Random rand = new Random(world.getSeed()); + OpenSimplexNoise noiseH = new OpenSimplexNoise(rand.nextInt()); + OpenSimplexNoise noiseV = new OpenSimplexNoise(rand.nextInt()); + OpenSimplexNoise noiseD = new OpenSimplexNoise(rand.nextInt()); + + Set positions = Sets.newHashSet(); + MutableBlockPos pos = new MutableBlockPos(); + for (int x = x1; x < x2; x++) { + pos.setX(x); + for (int z = z1; z < z2; z++) { + pos.setZ(z); + for (int y = 0; y < y2; y++) { + pos.setY(y); + float val = Mth.abs((float) noiseH.eval(x * 0.02, y * 0.01, z * 0.02)); + float vert = Mth.sin((y + (float) noiseV.eval(x * 0.01, z * 0.01) * 20) * 0.1F) * 0.9F;//Mth.abs(y - 50 + (float) noiseV.eval(x * 0.01, z * 0.01) * 20) * 0.1F; + float dist = (float) noiseD.eval(x * 0.1, y * 0.1, z * 0.1) * 0.12F; + vert *= vert; + if (val + vert + dist < 0.15 && world.getBlockState(pos).is(EndTags.GEN_TERRAIN)) { + BlocksHelper.setWithoutUpdate(world, pos, AIR); + positions.add(pos.immutable()); + } + } + } } return positions; } - static { - REPLACE = (state) -> { - return state.is(EndTags.GEN_TERRAIN) - || state.getMaterial().isReplaceable() - || state.getMaterial().equals(Material.PLANT) - || state.getMaterial().equals(Material.LEAVES); - }; + @Override + public boolean place(WorldGenLevel world, ChunkGenerator chunkGenerator, Random random, BlockPos pos, NoneFeatureConfiguration config) { + if (pos.getX() * pos.getX() + pos.getZ() * pos.getZ() <= 2500) { + return false; + } + + if (biomeMissingCaves(world, pos)) { + return false; + } + + EndCaveBiome biome = EndBiomes.getCaveBiome(random);//EndBiomes.EMPTY_END_CAVE; + Set caveBlocks = generate(world, pos, random); + if (!caveBlocks.isEmpty()) { + if (biome != null) { + setBiomes(world, biome, caveBlocks); + Set floorPositions = Sets.newHashSet(); + Set ceilPositions = Sets.newHashSet(); + MutableBlockPos mut = new MutableBlockPos(); + caveBlocks.forEach((bpos) -> { + mut.set(bpos); + if (world.getBlockState(mut).getMaterial().isReplaceable()) { + mut.setY(bpos.getY() - 1); + if (world.getBlockState(mut).is(EndTags.GEN_TERRAIN)) { + floorPositions.add(mut.immutable()); + } + mut.setY(bpos.getY() + 1); + if (world.getBlockState(mut).is(EndTags.GEN_TERRAIN)) { + ceilPositions.add(mut.immutable()); + } + } + }); + BlockState surfaceBlock = biome.getBiome().getGenerationSettings().getSurfaceBuilderConfig().getTopMaterial(); + placeFloor(world, biome, floorPositions, random, surfaceBlock); + placeCeil(world, biome, ceilPositions, random); + placeWalls(world, biome, caveBlocks, random); + } + fixBlocks(world, caveBlocks); + } + + return true; + } + + @Override + protected Set generate(WorldGenLevel world, BlockPos center, int radius, Random random) { + return null; + } + + @Override + protected void placeFloor(WorldGenLevel world, EndCaveBiome biome, Set floorPositions, Random random, BlockState surfaceBlock) { + float density = biome.getFloorDensity() * 0.2F; + floorPositions.forEach((pos) -> { + BlocksHelper.setWithoutUpdate(world, pos, surfaceBlock); + if (density > 0 && random.nextFloat() <= density) { + Feature feature = biome.getFloorFeature(random); + if (feature != null) { + feature.place(world, null, random, pos.above(), null); + } + } + }); + } + + @Override + protected void placeCeil(WorldGenLevel world, EndCaveBiome biome, Set ceilPositions, Random random) { + float density = biome.getCeilDensity() * 0.2F; + ceilPositions.forEach((pos) -> { + BlockState ceilBlock = biome.getCeil(pos); + if (ceilBlock != null) { + BlocksHelper.setWithoutUpdate(world, pos, ceilBlock); + } + if (density > 0 && random.nextFloat() <= density) { + Feature feature = biome.getCeilFeature(random); + if (feature != null) { + feature.place(world, null, random, pos.below(), null); + } + } + }); } } diff --git a/src/main/resources/assets/betterend/lang/en_us.json b/src/main/resources/assets/betterend/lang/en_us.json index a7f86e22..8f8b2628 100644 --- a/src/main/resources/assets/betterend/lang/en_us.json +++ b/src/main/resources/assets/betterend/lang/en_us.json @@ -853,5 +853,6 @@ "block.betterend.neon_cactus_block": "Neon Cactus Block", "block.betterend.neon_cactus_slab": "Neon Cactus Slab", - "block.betterend.neon_cactus_stairs": "Neon Cactus Stairs" + "block.betterend.neon_cactus_stairs": "Neon Cactus Stairs", + "biome.betterend.jade_cave": "Jade Cave" } diff --git a/src/main/resources/assets/betterend/lang/ru_ru.json b/src/main/resources/assets/betterend/lang/ru_ru.json index c5366cb6..b9d22043 100644 --- a/src/main/resources/assets/betterend/lang/ru_ru.json +++ b/src/main/resources/assets/betterend/lang/ru_ru.json @@ -872,5 +872,6 @@ "block.betterend.neon_cactus_block": "Блок неонового кактуса", "block.betterend.neon_cactus_slab": "Плита из неонового кактуса", - "block.betterend.neon_cactus_stairs": "Ступени из неонового кактуса" + "block.betterend.neon_cactus_stairs": "Ступени из неонового кактуса", + "biome.betterend.jade_cave": "Нефритовая пещера" } \ No newline at end of file diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone.png index b1270bbb..f00ff0c2 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_bricks.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_bricks.png index 2ce57121..667f447f 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_bricks.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_bricks.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front.png index 64f874ed..b248b45d 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front_on.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front_on.png index d1ceb402..7e6d7e3c 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front_on.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_front_on.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_side.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_side.png index e7c23aa7..1efbd34b 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_side.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_top.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_top.png index 219c3cfe..cf5b31c5 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_top.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_furnace_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_bottom.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_bottom.png index b82658d0..0807c5bc 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_bottom.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_side.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_side.png index 032d2b56..ada8266e 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_side.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_top.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_top.png index e21450d5..f6044f04 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_top.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_lantern_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_side.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_side.png index 76969a6f..94298f09 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_side.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_top.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_top.png index 1fb0a1ae..d961081b 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_top.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_pillar_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_polished.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_polished.png index 31198aa5..4ab1013d 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_polished.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_polished.png differ diff --git a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_tiles.png b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_tiles.png index 146e8014..cbfcfa8a 100644 Binary files a/src/main/resources/assets/betterend/textures/block/sandy_jadestone_tiles.png and b/src/main/resources/assets/betterend/textures/block/sandy_jadestone_tiles.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone.png index 49aa5ad8..9e756998 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_bricks.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_bricks.png index b385b6c4..ebb6a9ab 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_bricks.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_bricks.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front.png index 2dee0195..d71ecb81 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front_on.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front_on.png index 5203c612..899e1c14 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front_on.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_front_on.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_side.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_side.png index 3bd81825..ecf9569c 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_side.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_top.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_top.png index e256c6a4..c81182e2 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_top.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_furnace_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_bottom.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_bottom.png index 840741b4..3e78f2dc 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_bottom.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_bottom.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_side.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_side.png index 1c916e0a..9e3e91e5 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_side.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_top.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_top.png index a43f3981..2ceefd0d 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_top.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_lantern_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_side.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_side.png index a56e2bfb..502ffa0e 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_side.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_side.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_top.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_top.png index 95a3f10e..7879b95f 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_top.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_pillar_top.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_polished.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_polished.png index beedbb1d..38460f73 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_polished.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_polished.png differ diff --git a/src/main/resources/assets/betterend/textures/block/virid_jadestone_tiles.png b/src/main/resources/assets/betterend/textures/block/virid_jadestone_tiles.png index f90da9e3..4d7db656 100644 Binary files a/src/main/resources/assets/betterend/textures/block/virid_jadestone_tiles.png and b/src/main/resources/assets/betterend/textures/block/virid_jadestone_tiles.png differ