public int colorMultiplier(int color) { if (colorMap == null) { return color; } else if (ctm.isInWorld()) { return colorMap.getColorMultiplier(ctm.getBlockAccess(), ctm.getI(), ctm.getJ(), ctm.getK()); } else { return colorMap.getColorMultiplier(); } }
// public static methods requested by MamiyaOtaru for VoxelMap public static int getColorMultiplier( IBlockAccess blockAccess, IBlockState blockState, Position position, int defaultColor) { List<BlockStateMatcher> maps = ColorizeBlock.findColorMaps(blockState.getBlock()); if (maps != null) { for (BlockStateMatcher matcher : maps) { if (matcher.matchBlockState(blockState)) { IColorMap colorMap = ColorizeBlock.getThreadLocal(matcher); return colorMap.getColorMultiplier( blockAccess, position.getI(), position.getJ(), position.getK()); } } } return defaultColor; }
private void computeVertexColor(int[] offsets, float[] color) { int i = ctm.getI() + offsets[0]; int j = ctm.getJ() + offsets[1]; int k = ctm.getK() + offsets[2]; if (ColorizeBlock.enableTestColorSmoothing) { int rgb = 0; if (i % 2 == 0) { rgb |= 0xff0000; } if (j % 2 == 0) { rgb |= 0x00ff00; } if (k % 2 == 0) { rgb |= 0x0000ff; } ColorUtils.intToFloat3(rgb, color); } else { float[] tmp = colorMap.getColorMultiplierF(ctm.getBlockAccess(), i, j, k); color[0] = tmp[0]; color[1] = tmp[1]; color[2] = tmp[2]; } }