package appeng.client.render.model.pipeline; import java.util.List; import java.util.function.Function; import net.minecraft.block.state.IBlockState; import net.minecraft.client.renderer.block.model.IBakedModel; import net.minecraft.util.EnumFacing; import appeng.api.client.BakingPipelineElement; public class TintIndexModifier implements BakingPipelineElement { private Function tintTransformer; public TintIndexModifier( Function tintTransformer ) { this.tintTransformer = tintTransformer; } public Function getTintTransformer() { return tintTransformer; } public void setTintTransformer( Function tintTransformer ) { this.tintTransformer = tintTransformer; } @Override public List pipe( List elements, IBakedModel parent, IBlockState state, EnumFacing side, long rand ) { for( QuadVertexData quad : elements ) { quad.setTintIndex( tintTransformer.apply( quad.getTintIndex() ) ); } return elements; } }