diff --git a/src/main/java/tconstruct/client/BlockSkinRenderHelper.java b/src/main/java/tconstruct/client/BlockSkinRenderHelper.java index 510555e5ee7..e2d2745a8da 100644 --- a/src/main/java/tconstruct/client/BlockSkinRenderHelper.java +++ b/src/main/java/tconstruct/client/BlockSkinRenderHelper.java @@ -852,28 +852,32 @@ public static boolean renderLiquidBlock (IIcon stillIcon, IIcon flowingIcon, int } public static boolean renderLiquidBlock (IIcon stillIcon, IIcon flowingIcon, int x, int y, int z, RenderBlocks renderer, IBlockAccess world, boolean extraBright) + { + return renderLiquidBlock(stillIcon, flowingIcon, x, y, z, renderer, world, extraBright, 0xffffffff); + } + + public static boolean renderLiquidBlock (IIcon stillIcon, IIcon flowingIcon, int x, int y, int z, RenderBlocks renderer, IBlockAccess world, boolean extraBright, int color) { Block block = Blocks.stone; - int var5 = block.colorMultiplier(world, x, y, z); - float var6 = (float) (var5 >> 16 & 255) / 255.0F; - float var7 = (float) (var5 >> 8 & 255) / 255.0F; - float var8 = (float) (var5 & 255) / 255.0F; + float red = (float) (color >> 16 & 255) / 255.0F; + float green = (float) (color >> 8 & 255) / 255.0F; + float blue = (float) (color & 255) / 255.0F; if (EntityRenderer.anaglyphEnable) { - float var9 = (var6 * 30.0F + var7 * 59.0F + var8 * 11.0F) / 100.0F; - float var10 = (var6 * 30.0F + var7 * 70.0F) / 100.0F; - float var11 = (var6 * 30.0F + var8 * 70.0F) / 100.0F; - var6 = var9; - var7 = var10; - var8 = var11; + float var9 = (red * 30.0F + green * 59.0F + blue * 11.0F) / 100.0F; + float var10 = (red * 30.0F + green * 70.0F) / 100.0F; + float var11 = (red * 30.0F + blue * 70.0F) / 100.0F; + red = var9; + green = var10; + blue = var11; } if (extraBright) { - var6 = Math.max(1.0f, var6 + 0.5f); - var7 = Math.max(1.0f, var7 + 0.5f); - var8 = Math.max(1.0f, var8 + 0.5f); + red = Math.max(1.0f, red + 0.5f); + green = Math.max(1.0f, green + 0.5f); + blue = Math.max(1.0f, blue + 0.5f); } // safety @@ -887,9 +891,9 @@ public static boolean renderLiquidBlock (IIcon stillIcon, IIcon flowingIcon, int boolean ret; if (Minecraft.isAmbientOcclusionEnabled()) - ret = renderFakeBlockWithAmbientOcclusion(stillIcon, flowingIcon, x, y, z, var6, var7, var8, renderer, world); + ret = renderFakeBlockWithAmbientOcclusion(stillIcon, flowingIcon, x, y, z, red, green, blue, renderer, world); else - ret = renderFakeBlockWithColorMultiplier(stillIcon, flowingIcon, x, y, z, var6, var7, var8, renderer, world); + ret = renderFakeBlockWithColorMultiplier(stillIcon, flowingIcon, x, y, z, red, green, blue, renderer, world); renderer.renderAllFaces = raf; return ret; diff --git a/src/main/java/tconstruct/smeltery/model/BlockRenderCastingChannel.java b/src/main/java/tconstruct/smeltery/model/BlockRenderCastingChannel.java index 3c7d4caeb89..ade8edf38d8 100644 --- a/src/main/java/tconstruct/smeltery/model/BlockRenderCastingChannel.java +++ b/src/main/java/tconstruct/smeltery/model/BlockRenderCastingChannel.java @@ -187,9 +187,9 @@ private void renderLiquidPart (IBlockAccess world, int x, int y, int z, Block bl if (fluid.canBePlacedInWorld() && !useFlowingTexture) BlockSkinRenderHelper.renderMetadataBlock(fluid.getBlock(), 0, x, y, z, renderer, world); else if (useFlowingTexture) - BlockSkinRenderHelper.renderLiquidBlock(fluid.getFlowingIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getFlowingIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(fluidStack)); else - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(fluidStack)); } private void renderStandardBlock (Block block, int meta, RenderBlocks renderer) diff --git a/src/main/java/tconstruct/smeltery/model/CastingBlockRender.java b/src/main/java/tconstruct/smeltery/model/CastingBlockRender.java index e5d17669ecc..e6337b13d1a 100644 --- a/src/main/java/tconstruct/smeltery/model/CastingBlockRender.java +++ b/src/main/java/tconstruct/smeltery/model/CastingBlockRender.java @@ -196,7 +196,7 @@ public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block renderer.setRenderBounds(minX, minHeight, minZ, maxX, minHeight + height, maxZ); Fluid fluid = logic.liquid.getFluid(); - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(logic.liquid)); } } } @@ -275,7 +275,7 @@ else if (uBlock == TinkerSmeltery.castingChannel) { Fluid fluid = logic.liquid.getFluid(); renderer.setRenderBounds(xMin, yMin, zMin, xMax, 0.625, zMax); - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(logic.liquid)); // float xMin = 0.375F, zMin = 0.375F, xMax = 0.625F, // zMax = 0.625F; @@ -299,7 +299,7 @@ else if (uBlock == TinkerSmeltery.castingChannel) break; } renderer.setRenderBounds(xMin, 0.5F, zMin, xMax, 0.625F, zMax); - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(logic.liquid)); } } } @@ -403,7 +403,7 @@ else if (metadata == 2) renderer.setRenderBounds(minX, minHeight, minZ, maxX, minHeight + height, maxZ); Fluid fluid = logic.liquid.getFluid(); - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), x, y, z, renderer, world, false, fluid.getColor(logic.liquid)); } } } diff --git a/src/main/java/tconstruct/smeltery/model/SmelteryRender.java b/src/main/java/tconstruct/smeltery/model/SmelteryRender.java index 76c2635073a..aec438baf73 100644 --- a/src/main/java/tconstruct/smeltery/model/SmelteryRender.java +++ b/src/main/java/tconstruct/smeltery/model/SmelteryRender.java @@ -93,7 +93,7 @@ public boolean renderSmeltery (IBlockAccess world, int x, int y, int z, Block bl if (fluid.canBePlacedInWorld()) BlockSkinRenderHelper.renderMetadataBlock(fluid.getBlock(), 0, xi, from.y + yBase, zi, renderer, world); else - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), xi, from.y + yBase, zi, renderer, world); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getFlowingIcon(), xi, from.y + yBase, zi, renderer, world, false, fluid.getColor(liquid)); } if (countSize == room) diff --git a/src/main/java/tconstruct/smeltery/model/TankRender.java b/src/main/java/tconstruct/smeltery/model/TankRender.java index b73e7ea7194..c85dbb9f5fc 100644 --- a/src/main/java/tconstruct/smeltery/model/TankRender.java +++ b/src/main/java/tconstruct/smeltery/model/TankRender.java @@ -45,7 +45,7 @@ public boolean renderWorldBlock (IBlockAccess world, int x, int y, int z, Block FluidStack liquid = logic.tank.getFluid(); renderer.setRenderBounds(0.001, 0.001, 0.001, 0.999, logic.getFluidAmountScaled(), 0.999); Fluid fluid = liquid.getFluid(); - BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getStillIcon(), x, y, z, renderer, world, true); + BlockSkinRenderHelper.renderLiquidBlock(fluid.getStillIcon(), fluid.getStillIcon(), x, y, z, renderer, world, true, fluid.getColor(liquid)); renderer.setRenderBounds(0, 0.001, 0.001, 0.999, logic.getFluidAmountScaled(), 0.999); }