public ResourceLocation func_152789_a( final MinecraftProfileTexture p_152789_1_, final Type p_152789_2_, final SkinManager.SkinAvailableCallback p_152789_3_) { final ResourceLocation var4 = new ResourceLocation("skins/" + p_152789_1_.getHash()); ITextureObject var5 = this.field_152795_c.func_110581_b(var4); if (var5 != null) { if (p_152789_3_ != null) { p_152789_3_.func_180521_a(p_152789_2_, var4, p_152789_1_); } } else { File var6 = new File(this.field_152796_d, p_152789_1_.getHash().substring(0, 2)); File var7 = new File(var6, p_152789_1_.getHash()); final ImageBufferDownload var8 = p_152789_2_ == Type.SKIN ? new ImageBufferDownload() : null; ThreadDownloadImageData var9 = new ThreadDownloadImageData( var7, p_152789_1_.getUrl(), DefaultPlayerSkin.func_177335_a(), new IImageBuffer() { private static final String __OBFID = "CL_00001828"; public BufferedImage func_78432_a(BufferedImage p_78432_1_) { if (var8 != null) { p_78432_1_ = var8.func_78432_a(p_78432_1_); } return p_78432_1_; } public void func_152634_a() { if (var8 != null) { var8.func_152634_a(); } if (p_152789_3_ != null) { p_152789_3_.func_180521_a(p_152789_2_, var4, p_152789_1_); } } }); this.field_152795_c.func_110579_a(var4, var9); } return var4; }
@Override public ResourceLocation func_152789_a( MinecraftProfileTexture texture, final Type type, final NewSkinManager.SkinAvailableCallback callBack) { final ResourceLocation resLocation = new ResourceLocation("skins/" + texture.getHash()); ITextureObject itextureobject = textureManager.getTexture(resLocation); if (itextureobject != null) { if (callBack != null) callBack.func_152121_a(type, resLocation); } else { File file1 = new File(skinFolder, texture.getHash().substring(0, 2)); File file2 = new File(file1, texture.getHash()); final NewImageBufferDownload imgDownload = type == Type.SKIN ? new NewImageBufferDownload() : null; ThreadDownloadImageData imgData = new ThreadDownloadImageData( file2, texture.getUrl(), field_152793_a, new IImageBuffer() { @Override public BufferedImage parseUserSkin(BufferedImage buffImg) { if (imgDownload != null) buffImg = imgDownload.parseUserSkin(buffImg); return buffImg; } @Override public void func_152634_a() { if (imgDownload != null) imgDownload.func_152634_a(); if (callBack != null) callBack.func_152121_a(type, resLocation); } }); textureManager.loadTexture(resLocation, imgData); } return resLocation; }