BakedQuad quad = iter.next(); if(quad.getTintIndex() == i) { UnpackedBakedQuad.Builder quadBuilder = new UnpackedBakedQuad.Builder(quad.getFormat()); LightUtil.ItemConsumer itemConsumer = new LightUtil.ItemConsumer(quadBuilder); itemConsumer.setAuxColor(r, g, b, a);
private List<BakedQuad> fixQuadTint( EnumFacing facing, TextureAtlasSprite texDark, TextureAtlasSprite texMedium, TextureAtlasSprite texBright ) { List<BakedQuad> quads = this.baseModel.getQuads( null, facing, 0 ); List<BakedQuad> result = new ArrayList<>( quads.size() ); for( BakedQuad quad : quads ) { int tint; if( quad.getSprite() == texDark ) { tint = 1; } else if( quad.getSprite() == texMedium ) { tint = 2; } else if( quad.getSprite() == texBright ) { tint = 3; } else { result.add( quad ); continue; } BakedQuad newQuad = new BakedQuad( quad.getVertexData(), tint, quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad .getFormat() ); result.add( newQuad ); } return result; }
for( BakedQuad bakedQuad : bakedCell.getQuads( state, null, rand ) ) UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder( bakedQuad.getFormat() ); transformer.setParent( builder ); transformer.setVertexFormat( builder.getVertexFormat() );
for( BakedQuad bakedQuad : this.pointer.getQuads( state, side, rand ) ) UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder( bakedQuad.getFormat() );
CachedFormat format = CachedFormat.lookup( quad.getFormat() );
if( brightness != null ) VertexFormat newFormat = VertexFormats.getFormatWithLightMap( quad.getFormat() ); UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder( newFormat ); VertexLighterFlat trans = new VertexLighterFlat( Minecraft.getMinecraft().getBlockColors() )
CachedFormat format = CachedFormat.lookup( quad.getFormat() );
public static BakedQuad colorQuad(int color, BakedQuad quad) { ColorTransformer transformer = new ColorTransformer(color, quad.getFormat()); quad.pipe(transformer); return transformer.build(); }
public BakedTintedQuad(BakedQuad quad) { super(Arrays.copyOf(quad.getVertexData(), quad.getVertexData().length), 1, FaceBakery.getFacingFromVertexData(quad.getVertexData()), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat()); } }
@Nonnull @Override public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand) { // transform quads obtained from parent List<BakedQuad> quads = new ArrayList<>(); if (!original.isBuiltInRenderer()) { try { // adjust side to facing-rotation if (side != null && side.getHorizontalIndex() > -1) { side = EnumFacing.byHorizontalIndex((side.getHorizontalIndex() + faceOffset) % 4); } for (BakedQuad quad : original.getQuads(state, side, rand)) { Transformer transformer = new Transformer(transformation, quad.getFormat()); quad.pipe(transformer); quads.add(transformer.build()); } } catch (Exception e) { // do nothing. Seriously, why are you using immutable lists?! } } return quads; }
public TRSRBakedModel(IBakedModel original, TRSRTransformation transform) { this.original = original; ImmutableList.Builder<BakedQuad> builder; builder = ImmutableList.builder(); transform = TRSRTransformation.blockCenterToCorner(transform); // face quads EnumMap<EnumFacing, ImmutableList<BakedQuad>> faces = Maps.newEnumMap(EnumFacing.class); for (EnumFacing face : EnumFacing.values()) { if (!original.isBuiltInRenderer()) { for (BakedQuad quad : original.getQuads(null, face, 0)) { Transformer transformer = new Transformer(transform, quad.getFormat()); quad.pipe(transformer); builder.add(transformer.build()); } } //faces.put(face, builder.build()); faces.put(face, ImmutableList.of()); } // general quads //builder = ImmutableList.builder(); if (!original.isBuiltInRenderer()) { for (BakedQuad quad : original.getQuads(null, null, 0)) { Transformer transformer = new Transformer(transform, quad.getFormat()); quad.pipe(transformer); builder.add(transformer.build()); } } this.general = builder.build(); this.faces = Maps.immutableEnumMap(faces); }
public CompostModel(IBlockState flowerState, float height) { this.display = Minecraft.getMinecraft().getBlockRendererDispatcher().getModelForState(flowerState); TRSRTransformation transform = TRSRTransformation.blockCenterToCorner(new TRSRTransformation(new Vector3f(0, -.218F, 0), null, new Vector3f(0.75F, height / 1.81F, 0.75F), null)); ImmutableList.Builder<BakedQuad> builder; EnumMap<EnumFacing, ImmutableList<BakedQuad>> faces = new EnumMap<>(EnumFacing.class); for (EnumFacing face : EnumFacing.values()) { builder = ImmutableList.builder(); if (!display.isBuiltInRenderer()) { for (BakedQuad quad : display.getQuads(flowerState, face, 0)) { Transformer transformer = new Transformer(transform, quad.getFormat()); quad.pipe(transformer); builder.add(transformer.build()); } builder.addAll(compostBase.getQuads(null, face, 0)); } faces.put(face, builder.build()); } if (!display.isBuiltInRenderer()) { builder = ImmutableList.builder(); for (BakedQuad quad : display.getQuads(flowerState, null, 0)) { Transformer transformer = new Transformer(transform, quad.getFormat()); quad.pipe(transformer); builder.add(transformer.build()); } builder.addAll(compostBase.getQuads(null, null, 0)); this.general = builder.build(); } else general = ImmutableList.of(); this.faces = Maps.immutableEnumMap(faces); }
UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(bakedQuad.getFormat()); transformer.setParent(builder); transformer.setVertexFormat(builder.getVertexFormat());
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; }
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(); } }
@Override public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { if (bakedQuads.isEmpty()) { IModel crateModel = ModelLoaderRegistry.getModelOrMissing(new ResourceLocation(Constants.MOD_ID + ":item/crate-filled")); IBakedModel bakedModel = crateModel.bake(ModelManager.getInstance().getDefaultItemState(), DefaultVertexFormats.ITEM, DefaultTextureGetter.INSTANCE); //Set the crate color index to 100 for (BakedQuad quad : bakedModel.getQuads(null, null, 0L)) { bakedQuads.add(new BakedQuad(quad.getVertexData(), 100, quad.getFace(), quad.getSprite(), quad.shouldApplyDiffuseLighting(), quad.getFormat())); } } IBakedModel model; List<BakedQuad> quads = new LinkedList<>(bakedQuads); IBakedModel contentModel = getCustomContentModel(); if (contentModel == null) { model = new ModelCrateBaked(quads, contained); } else { quads.addAll(contentModel.getQuads(null, null, 0)); model = new ModelCrateBaked(quads); } return new PerspectiveMapWrapper(model, ModelManager.getInstance().getDefaultItemState()); } }
UnpackedBakedQuad.Builder builder = new UnpackedBakedQuad.Builder(bakedQuad.getFormat()); transformer.setParent(builder); transformer.setVertexFormat(builder.getVertexFormat());
VertexFormat newFormat = RenderUtils.getFormatWithLightMap(quad.getFormat());