Fix tall non-animated textures getting cut off (#472)

This commit is contained in:
YuRaNnNzZZ 2023-08-23 22:55:51 +03:00 committed by GitHub
parent 155f56e62a
commit aff64294af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View File

@ -374,7 +374,7 @@ private void loadTextures(Path root) throws IOException {
if (!usedTextures.contains(resourcePath)) return null; // don't load unused textures if (!usedTextures.contains(resourcePath)) return null; // don't load unused textures
try (InputStream in = Files.newInputStream(file)) { try (InputStream in = Files.newInputStream(file)) {
return Texture.from(resourcePath, ImageIO.read(in)); return Texture.from(resourcePath, ImageIO.read(in), Files.exists(file.resolveSibling(file.getFileName() + ".mcmeta")));
} }
}, textures)); }, textures));

View File

@ -99,8 +99,12 @@ public void unloadImageData() {
} }
public static Texture from(ResourcePath<Texture> resourcePath, BufferedImage image) throws IOException { public static Texture from(ResourcePath<Texture> resourcePath, BufferedImage image) throws IOException {
return from(resourcePath, image, true);
}
public static Texture from(ResourcePath<Texture> resourcePath, BufferedImage image, boolean animated) throws IOException {
//crop off animation frames //crop off animation frames
if (image.getHeight() > image.getWidth()){ if (animated && image.getHeight() > image.getWidth()){
image = image.getSubimage(0, 0, image.getWidth(), image.getWidth()); image = image.getSubimage(0, 0, image.getWidth(), image.getWidth());
} }