public static BufferedImage getImage(IResourceManager resourceManager, ResourceLocation location, Logger logger) throws IOException
{
ITextureObject textureObject = Minecraft.getMinecraft().getTextureManager().getTexture(location);
if (textureObject instanceof ThreadDownloadImageData)
{
return ReflectionHelper.getPrivateValue(ThreadDownloadImageData.class, (ThreadDownloadImageData) textureObject, "bufferedImage", "field_110560_d");
}
else if (textureObject instanceof LayeredTexture)
{
BufferedImage bufferedimage = null;
for (Object layeredTextureNameObj : ((LayeredTexture) textureObject).layeredTextureNames)
{
String layeredTextureName = (String) layeredTextureNameObj;
if (layeredTextureName != null)
{
try (InputStream inputstream = resourceManager.getResource(new ResourceLocation(layeredTextureName)).getInputStream())
{
BufferedImage bufferImageLayer = ImageIO.read(inputstream);
if (bufferedimage == null)
{
bufferedimage = new BufferedImage(bufferImageLayer.getWidth(), bufferImageLayer.getHeight(), 2);
}
bufferedimage.getGraphics().drawImage(bufferImageLayer, 0, 0, null);
}
}
}
return bufferedimage;
}
else if (textureObject instanceof PreBufferedTexture)
{
return ((PreBufferedTexture) textureObject).getBufferedImage();
}
else
{
IResource iresource = resourceManager.getResource(location);
try (InputStream inputstream = iresource.getInputStream())
{
return ImageIO.read(inputstream);
}
}
}
IvTextureCreatorMC.java 文件源码
java
阅读 56
收藏 0
点赞 0
评论 0
项目:IvToolkit
作者:
评论列表
文章目录