diff --git a/src/main/java/mod/chiselsandbits/client/BlockColorChisled.java b/src/main/java/mod/chiselsandbits/client/BlockColorChisled.java index 8183959e..49d0139b 100644 --- a/src/main/java/mod/chiselsandbits/client/BlockColorChisled.java +++ b/src/main/java/mod/chiselsandbits/client/BlockColorChisled.java @@ -17,8 +17,9 @@ public int colorMultiplier( final BlockPos pos, final int tint ) { - final IBlockState tstate = ModUtil.getStateById( tint ); - return Minecraft.getMinecraft().getBlockColors().colorMultiplier( tstate, worldIn, pos, 0 ); + final IBlockState tstate = ModUtil.getStateById( tint >> 8 ); + int tintValue = tint & 0xff; + return Minecraft.getMinecraft().getBlockColors().colorMultiplier( tstate, worldIn, pos, tintValue ); } } diff --git a/src/main/java/mod/chiselsandbits/render/helpers/ModelQuadLayer.java b/src/main/java/mod/chiselsandbits/render/helpers/ModelQuadLayer.java index 6b2770db..75875dc4 100644 --- a/src/main/java/mod/chiselsandbits/render/helpers/ModelQuadLayer.java +++ b/src/main/java/mod/chiselsandbits/render/helpers/ModelQuadLayer.java @@ -30,21 +30,19 @@ public ModelQuadLayerBuilder( public ModelQuadLayer build( final int stateid, final int color, - final int lightValue, - final boolean isGrass ) + final int lightValue ) { cache.light = Math.max( lightValue, lv.lv ); cache.uvs = uvr.quadUVs; cache.color = cache.tint != -1 ? color : 0xffffffff; - if ( isGrass ) + if ( 0x00 <= cache.tint && cache.tint <= 0xff ) { cache.color = 0xffffffff; - cache.tint = cache.tint == -1 ? -1 : stateid; + cache.tint = ( stateid << 8 ) | cache.tint; } else { - // remove tints, I'm only support grass for the time being. cache.tint = -1; } diff --git a/src/main/java/mod/chiselsandbits/render/helpers/ModelUtil.java b/src/main/java/mod/chiselsandbits/render/helpers/ModelUtil.java index d1c04c0c..e5a74efb 100644 --- a/src/main/java/mod/chiselsandbits/render/helpers/ModelUtil.java +++ b/src/main/java/mod/chiselsandbits/render/helpers/ModelUtil.java @@ -17,7 +17,6 @@ import mod.chiselsandbits.render.chiseledblock.ChiseledBlockBaked; import mod.chiselsandbits.render.helpers.ModelQuadLayer.ModelQuadLayerBuilder; import net.minecraft.block.Block; -import net.minecraft.block.BlockLeaves; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.block.model.BakedQuad; @@ -25,7 +24,6 @@ import net.minecraft.client.renderer.block.model.ItemOverrideList; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.EnumFacing; @@ -175,7 +173,7 @@ else if ( xf.getAxis() == Axis.X ) for ( int z = 0; z < x.size(); z++ ) { - mp[z] = x.get( z ).build( stateID, color, lv, state.getBlock() == Blocks.GRASS || state.getBlock() instanceof BlockLeaves ); + mp[z] = x.get( z ).build( stateID, color, lv ); } cache.put( cacheV, mp );