private void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack) { boolean flag = color == -1 && !stack.isEmpty(); int i = 0; for (int j = quads.size(); i < j; ++i) { BakedQuad bakedquad = quads.get(i); int k = color; if (flag && bakedquad.hasTintIndex()) { k = Minecraft.getMinecraft().getItemColors().colorMultiplier(stack, bakedquad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k = k | -16777216; } net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(renderer, bakedquad, k); } }
return new BakedQuad( newData, quad.getTintIndex(), newFace, quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat() );
BakedQuad packedQuad = new BakedQuad( unpackedQuad.getVertexData(), quad.getTintIndex(), unpackedQuad.getFace(), quad.getSprite(), quad .shouldApplyDiffuseLighting(), quad.getFormat() ); rotated.add( packedQuad );
tinter.setTint( Minecraft.getMinecraft().getItemColors().colorMultiplier( textureItem, quad.getTintIndex() ) ); pipeline.enableElement( "tinter" );
trans.setParent( builder ); quad.pipe( trans ); builder.setQuadTint( quad.getTintIndex() ); builder.setQuadOrientation( quad.getFace() ); builder.setTexture( quad.getSprite() );
tinter.setTint( blockColors.colorMultiplier( blockState, facadeAccess, pos, quad.getTintIndex() ) );
public static void renderQuads( final int alpha, final BufferBuilder renderer, final List<BakedQuad> quads, final World worldObj, final BlockPos blockPos ) { int i = 0; for ( final int j = quads.size(); i < j; ++i ) { final BakedQuad bakedquad = quads.get( i ); final int color = bakedquad.getTintIndex() == -1 ? alpha | 0xffffff : getTint( alpha, bakedquad.getTintIndex(), worldObj, blockPos ); net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor( renderer, bakedquad, color ); } }
@Override public List<BakedQuad> getQuads(@Nullable IBlockState state, @Nullable EnumFacing side, long rand) { List<BakedQuad> quads = mainModel.getQuads(state, side, rand); List<BakedQuad> recolored = new LinkedList<>(); quads.forEach(quad -> { if (quad.hasTintIndex()) { if (quad.getTintIndex() == 0) { recolored.add(recolorQuad(quad, primaryColor)); } else { recolored.add(recolorQuad(quad, secondaryColor)); } } else { recolored.add(quad); } }); return recolored; }
/** * Offsets the z coordinate and color the quads * @param quads The original quads * @param offset The offset to apply * @param color The color * @return The offsetted quads */ private Collection<? extends BakedQuad> offsetAndColor(List<BakedQuad> quads, float offset, int color) { List<BakedQuad> offsetQuads = Lists.newArrayListWithExpectedSize(quads.size()); for (BakedQuad quad : quads) { int[] vertexData = Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length); for(int i = 0; i < vertexData.length / 7; i++) { float originalZ = Float.intBitsToFloat(vertexData[i * 7 + 2]); originalZ += offset; vertexData[i * 7 + 2] = Float.floatToIntBits(originalZ); vertexData[i * 7 + 3] = color; } offsetQuads.add(new BakedQuad(vertexData, quad.getTintIndex(), quad.getFace(), quad.getSprite(), false, DefaultVertexFormats.ITEM)); } return offsetQuads; }
/** * Color the quads * @param quads The original quads * @param color The color * @return The colored quads */ private Collection<? extends BakedQuad> color(List<BakedQuad> quads, int color) { List<BakedQuad> offsetQuads = Lists.newArrayListWithExpectedSize(quads.size()); for (BakedQuad quad : quads) { int[] vertexData = Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length); for(int i = 0; i < vertexData.length / 7; i++) { vertexData[i * 7 + 3] = color; } offsetQuads.add(new BakedQuad(vertexData, quad.getTintIndex(), quad.getFace(), quad.getSprite(), false, DefaultVertexFormats.ITEM)); } return offsetQuads; }
private void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack) { boolean flag = color == -1 && !stack.isEmpty(); int i = 0; for (int j = quads.size(); i < j; ++i) { BakedQuad bakedquad = quads.get(i); int k = color; if (flag && bakedquad.hasTintIndex()) { k = itemColors.colorMultiplier(stack, bakedquad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k = k | -16777216; } net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(renderer, bakedquad, k); } }
private void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack) { boolean useItemTint = color == -1 && !stack.isEmpty(); int i = 0; for (int j = quads.size(); i < j; ++i) { BakedQuad quad = quads.get(i); int k = color; if (useItemTint && quad.hasTintIndex()) { k = mc.getItemColors().colorMultiplier(stack, quad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k = k | -16777216; } net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColor(renderer, quad, k); } }
@Override public List<BakedQuad> getGeneralQuads() { List<BakedQuad> quads = Lists.newLinkedList(); // Base chalice model quads.addAll(chaliceModel.getQuads(blockState, facing, rand)); // Colored gems int color = getColorSeed(this.id); for(BakedQuad quad : gemsModel.getQuads(blockState, facing, rand)) { int[] data = quad.getVertexData(); for(int i = 0; i < data.length / 7; i++) { data[i * 7 + 3] = color; } quads.add(new BakedQuad(data, quad.getTintIndex(), quad.getFace(), quad.getSprite(), true, DefaultVertexFormats.ITEM)); } // Fluid if(fluidStack != null) { quads.addAll(getFluidQuads(fluidStack, TileEntangledChalice.BASE_CAPACITY)); } return quads; }
private void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack) { boolean flag = color == -1 && !stack.isEmpty(); int i = 0; for (int j = quads.size(); i < j; ++i) { BakedQuad bakedquad = quads.get(i); int k = color; if (flag && bakedquad.hasTintIndex()) { k = Minecraft.getMinecraft().getItemColors().colorMultiplier(stack, bakedquad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k = k | -16777216; } net.minecraftforge.client.model.pipeline.LightUtil.renderQuadColorSlow(renderer, bakedquad, k); } }
private static void renderQuads(BufferBuilder renderer, List<BakedQuad> quads, int color, ItemStack stack) { color &= 0xFF000000; boolean flag = !stack.isEmpty(); int i = 0; for (int j = quads.size(); i < j; ++i) { BakedQuad bakedquad = quads.get(i); int k = color | 0xFFFFFF; if (flag && bakedquad.hasTintIndex()) { k = Minecraft.getMinecraft().getItemColors().colorMultiplier(stack, bakedquad.getTintIndex()); if (EntityRenderer.anaglyphEnable) { k = TextureUtil.anaglyphColor(k); } k &= 0xFFFFFF; k |= color; } LightUtil.renderQuadColor(renderer, bakedquad, k); } }
private static void renderQuads(final World world, final IBlockState actualState, final BlockPos pos, final List<BakedQuad> quads, final int alpha) { final Tessellator tessellator = Tessellator.getInstance(); final BufferBuilder buffer = tessellator.getBuffer(); for (final BakedQuad quad : quads) { buffer.begin(GL11.GL_QUADS, quad.getFormat()); final int color = quad.hasTintIndex() ? getTint(world, actualState, pos, alpha, quad.getTintIndex()) : (alpha | 0xffffff); LightUtil.renderQuadColor(buffer, quad, color); tessellator.draw(); } }
private static BakedQuad tint(PartInfo.ClientInfo info, BakedQuad quad) { return quad.hasTintIndex() ? new BakedQuad(quad.getVertexData(), info.getTint(quad.getTintIndex()), quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat()) : quad; }
b.cache.tint = q.getTintIndex(); l.add( b );
private static float[] tintQuad(BakedQuad bakedquad, IBlockState stateIn, IBlockAccess blockAccessIn, BlockPos posIn, BufferBuilder buffer) { if(bakedquad.hasTintIndex()) { int k = Minecraft.getMinecraft().getBlockColors().colorMultiplier(stateIn, blockAccessIn, posIn, bakedquad.getTintIndex()); if(EntityRenderer.anaglyphEnable) k = TextureUtil.anaglyphColor(k); float f = (float)(k >> 16 & 255) / 255.0F; float f1 = (float)(k >> 8 & 255) / 255.0F; float f2 = (float)(k & 255) / 255.0F; if(bakedquad.shouldApplyDiffuseLighting()) { float diffuse = LightUtil.diffuseLight(bakedquad.getFace()); f *= diffuse; f1 *= diffuse; f2 *= diffuse; } return new float[] { f, f1, f2 }; } else if(bakedquad.shouldApplyDiffuseLighting()) { float diffuse = LightUtil.diffuseLight(bakedquad.getFace()); return new float[] { diffuse, diffuse, diffuse }; } return null; }
builder.setQuadTint(quad.getTintIndex()); builder.setQuadOrientation(quad.getFace()); builder.setTexture(quad.getSprite());