HDSkinManager.java 文件源码

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

项目:MineLittlePony 作者:
@Nullable
public static PreviewTexture getPreviewTexture(ResourceLocation skinResource, GameProfile profile, Type type, ResourceLocation def, @Nullable final SkinAvailableCallback callback) {
    TextureManager textureManager = Minecraft.getMinecraft().getTextureManager();
    MinecraftProfileTexture url = INSTANCE.getGatewayServer().getPreviewTexture(type, profile).orElse(null);
    if (url == null)
        return null;

    IImageBuffer buffer = new ImageBufferDownloadHD();
    PreviewTexture skinTexture = new PreviewTexture(url.getUrl(), def, type == Type.SKIN ? new IImageBuffer() {
        @Override
        @Nullable
        public BufferedImage parseUserSkin(BufferedImage image) {
            return buffer.parseUserSkin(image);
        }

        @Override
        public void skinAvailable() {
            if (callback != null) {
                callback.skinAvailable(type, skinResource, new MinecraftProfileTexture(url.getUrl(), Maps.newHashMap()));
            }
        }
    } : null);
    textureManager.loadTexture(skinResource, skinTexture);

    return skinTexture;

}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号