@SideOnly(Side.CLIENT) @Override public int colorMultiplier(@Nonnull IBlockState state, @Nullable IBlockAccess world, @Nullable BlockPos pos, int tintIndex) { if (world == null || pos == null) return ColorizerGrass.getGrassColor(0.5D, 1.0D); return BiomeColorHelper.getGrassColorAtPos(world, pos); }
/** * Register the {@link IBlockColor} handlers. * * @param blockColors The BlockColors instance */ private static void registerBlockColourHandlers(final BlockColors blockColors) { // Use the grass colour of the biome or the default grass colour final IBlockColor grassColourHandler = (state, blockAccess, pos, tintIndex) -> { if (blockAccess != null && pos != null) { return BiomeColorHelper.getGrassColorAtPos(blockAccess, pos); } return ColorizerGrass.getGrassColor(0.5D, 1.0D); }; final IBlockColor witheWebColourHandler = (state, blockAccess, pos, tintIndex) -> { if (blockAccess != null && pos != null) { return new Color(0, 0, 0).getRGB() & 0x00ffffff; } return new Color(0, 0, 0).getRGB() & 0x00ffffff; }; blockColors.registerBlockColorHandler(grassColourHandler, ModBlocks.SMALL_PLANT); //blockColors.registerBlockColorHandler(grassColourHandler, ModBlocks.ALGAE); blockColors.registerBlockColorHandler(grassColourHandler, ModBlocks.SWAMP_VENT); blockColors.registerBlockColorHandler(witheWebColourHandler, ModBlocks.WITHER_WEB); }
@SubscribeEvent @SideOnly(Side.CLIENT) public static void registerColorHandlerBlocks(ColorHandlerEvent.Block event) { BlockColors blockcolors = event.getBlockColors(); blockcolors.registerBlockColorHandler((state, worldIn, pos, tintIndex) -> worldIn != null && pos != null ? BiomeColorHelper.getGrassColorAtPos(worldIn, pos) : ColorizerGrass.getGrassColor(0.5D, 1.0D), BlocksTFC.getAllBlockRockVariants().stream().filter(x -> x.type.isGrass).toArray(BlockRockVariant[]::new)); blockcolors.registerBlockColorHandler((state, worldIn, pos, tintIndex) -> BlockFarmlandTFC.TINT[state.getValue(BlockFarmlandTFC.MOISTURE)], BlocksTFC.getAllBlockRockVariants().stream().filter(x -> x.type == Rock.Type.FARMLAND).toArray(BlockRockVariant[]::new)); blockcolors.registerBlockColorHandler((state, worldIn, pos, tintIndex) -> worldIn != null && pos != null ? BiomeColorHelper.getGrassColorAtPos(worldIn, pos) : ColorizerGrass.getGrassColor(0.5D, 1.0D), BlocksTFC.PEAT_GRASS); blockcolors.registerBlockColorHandler((state, worldIn, pos, tintIndex) -> worldIn != null && pos != null ? BiomeColorHelper.getWaterColorAtPos(worldIn, pos) : 0, BlocksTFC.getAllFluidBlocks().stream().filter(x -> x.getDefaultState().getMaterial() == Material.WATER).toArray(BlockFluidBase[]::new)); blockcolors.registerBlockColorHandler((state, worldIn, pos, tintIndex) -> worldIn != null && pos != null ? BiomeColorHelper.getFoliageColorAtPos(worldIn, pos) : ColorizerFoliage.getFoliageColorBasic(), BlocksTFC.getAllLeafBlocks().toArray(new Block[0])); }
public void init() { BlockColors blockColors = mc.getBlockColors(); blockColors.registerBlockColorHandler((state, access, pos, tintIndex) -> pos != null ? BiomeColorHelper.getGrassColorAtPos(access, pos) : 0xFFFFFF, MOSS);