@Override public IFlexibleBakedModel bake( IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter) { ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder(); Optional<TRSRTransformation> transform = state.apply(Optional.<IModelPart>absent()); for (int i = 0; i < textures.size(); i++) { TextureAtlasSprite sprite = bakedTextureGetter.apply(textures.get(i)); builder.addAll(getQuadsForSprite(i, sprite, format, transform)); } TextureAtlasSprite particle = bakedTextureGetter.apply( textures.isEmpty() ? new ResourceLocation("missingno") : textures.get(0)); ImmutableMap<ItemCameraTransforms.TransformType, TRSRTransformation> transforms = IPerspectiveAwareModel.MapWrapper.getTransforms(state); IFlexibleBakedModel ret = new CustomBakedModel(builder.build(), particle, format, transforms); if (transforms.isEmpty()) { return ret; } return new IPerspectiveAwareModel.MapWrapper(ret, transforms); }