ModelLoader.java 文件源码

java
阅读 18 收藏 0 点赞 0 评论 0

项目:CustomWorldGen 作者:
public IBakedModel bake(IModelState state, final VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
{
    if(!Attributes.moreSpecific(format, Attributes.DEFAULT_BAKED_FORMAT))
    {
        throw new IllegalArgumentException("can't bake vanilla models to the format that doesn't fit into the default one: " + format);
    }
    ModelBlock model = this.model;
    if(model == null) return getMissingModel().bake(getMissingModel().getDefaultState(), format, bakedTextureGetter);

    List<TRSRTransformation> newTransforms = Lists.newArrayList();
    for(int i = 0; i < model.getElements().size(); i++)
    {
        BlockPart part = model.getElements().get(i);
        newTransforms.add(animation.getPartTransform(state, part, i));
    }

    ItemCameraTransforms transforms = model.getAllTransforms();
    Map<TransformType, TRSRTransformation> tMap = Maps.newHashMap();
    tMap.putAll(IPerspectiveAwareModel.MapWrapper.getTransforms(transforms));
    tMap.putAll(IPerspectiveAwareModel.MapWrapper.getTransforms(state));
    IModelState perState = new SimpleModelState(ImmutableMap.copyOf(tMap));

    if(hasItemModel(model))
    {
        return new ItemLayerModel(model).bake(perState, format, bakedTextureGetter);
    }
    if(isCustomRenderer(model)) return new BuiltInModel(transforms, model.createOverrides());
    return bakeNormal(model, perState, state, newTransforms, format, bakedTextureGetter, uvlock);
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号