From d4556e7f84c056fdc84477ea535a5f7e688a6270 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Mon, 1 Nov 2021 22:34:39 +0100 Subject: [PATCH] Biome colors is calculated using the block color wrapper --- .../lod/wrappers/World/BiomeWrapper.java | 51 ++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/seibel/lod/wrappers/World/BiomeWrapper.java b/src/main/java/com/seibel/lod/wrappers/World/BiomeWrapper.java index 05d4552e3..042ae33f2 100644 --- a/src/main/java/com/seibel/lod/wrappers/World/BiomeWrapper.java +++ b/src/main/java/com/seibel/lod/wrappers/World/BiomeWrapper.java @@ -48,57 +48,72 @@ public class BiomeWrapper public int getColorForBiome(int x, int z) { int colorInt; + int tintValue = 0; switch (biome.getBiomeCategory()) { case NETHER: - colorInt = Blocks.NETHERRACK.defaultBlockState().materialColor.col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.NETHERRACK).getColor(); break; case THEEND: - colorInt = Blocks.END_STONE.defaultBlockState().materialColor.col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.END_STONE).getColor(); break; case BEACH: case DESERT: - colorInt = Blocks.SAND.defaultBlockState().materialColor.col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.SAND).getColor(); break; case EXTREME_HILLS: - colorInt = Blocks.STONE.defaultMaterialColor().col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.STONE).getColor(); break; case MUSHROOM: - colorInt = MaterialColor.COLOR_LIGHT_GRAY.col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.MYCELIUM).getColor(); break; case ICY: - colorInt = Blocks.SNOW.defaultMaterialColor().col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.SNOW).getColor(); break; case MESA: - colorInt = Blocks.RED_SAND.defaultMaterialColor().col; + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.RED_SAND).getColor(); break; case OCEAN: case RIVER: - colorInt = biome.getWaterColor(); + colorInt = BlockColorWrapper.getWaterColor().getColor(); + tintValue = biome.getWaterColor(); + break; + + case PLAINS: + case SAVANNA: + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.GRASS_BLOCK).getColor(); + tintValue = biome.getGrassColor(x, z); + colorInt = ColorUtil.multiplyRGBcolors(colorInt,tintValue); + break; + + case TAIGA: + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.SPRUCE_LEAVES).getColor(); + tintValue = biome.getFoliageColor(); + colorInt = ColorUtil.multiplyRGBcolors(colorInt,tintValue); + break; + case JUNGLE: + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.JUNGLE_LEAVES).getColor(); + tintValue = biome.getFoliageColor(); + colorInt = ColorUtil.multiplyRGBcolors(colorInt,tintValue); break; case NONE: - case FOREST: - case TAIGA: - case JUNGLE: - case PLAINS: - case SAVANNA: - case SWAMP: default: - Color tmp = LodUtil.intToColor(biome.getGrassColor(x, z)); - tmp = tmp.darker(); - colorInt = LodUtil.colorToInt(tmp); + case SWAMP: + case FOREST: + colorInt = BlockColorWrapper.getBlockColorWrapper(Blocks.OAK_LEAVES).getColor(); + tintValue = biome.getFoliageColor(); + colorInt = ColorUtil.multiplyRGBcolors(colorInt,tintValue); break; - } return colorInt;