Skip to content

Commit 2f5b817

Browse files
committed
Scale dial texture to the clock's texture, closing #89
1 parent bffce82 commit 2f5b817

2 files changed

Lines changed: 10 additions & 2 deletions

File tree

  • station-renderer-api-v0/src/main/java/net/modificationstation/stationapi/api/client/texture
  • station-renderer-arsenic/src/main/java/net/modificationstation/stationapi/impl/client/arsenic/renderer/render/binder

station-renderer-api-v0/src/main/java/net/modificationstation/stationapi/api/client/texture/TextureHelper.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
import net.minecraft.client.Minecraft;
55
import net.modificationstation.stationapi.mixin.render.client.TextureManagerAccessor;
66

7+
import java.awt.*;
78
import java.awt.image.BufferedImage;
89
import java.io.InputStream;
910

1011
public class TextureHelper {
11-
1212
public static BufferedImage getTexture(String path) {
1313
return readTextureStream(getTextureStream(path));
1414
}
@@ -22,4 +22,12 @@ public static InputStream getTextureStream(String path) {
2222
//noinspection deprecation
2323
return ((Minecraft) FabricLoader.getInstance().getGameInstance()).field_2768.field_1175.method_976(path);
2424
}
25+
26+
public static BufferedImage scaleImage(BufferedImage image, int width, int height) {
27+
var scaledImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
28+
var graphics = scaledImage.createGraphics();
29+
graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
30+
graphics.drawImage(image, 0, 0, width, height, null);
31+
return scaledImage;
32+
}
2533
}

station-renderer-arsenic/src/main/java/net/modificationstation/stationapi/impl/client/arsenic/renderer/render/binder/ArsenicClock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public void reloadFromTexturePack(class_285 newTexturePack) {
3333
square = textureWidth * textureHeight;
3434
dialTexture = new int[square];
3535
clockTexture = StationRenderAPI.getBakedModelManager().getAtlas(Atlases.GAME_ATLAS_TEXTURE).getSprite(staticReference.getId()).getContents().getBaseFrame().makePixelArray();
36-
BufferedImage var2 = TextureHelper.getTexture("/misc/dial.png");
36+
BufferedImage var2 = TextureHelper.scaleImage(TextureHelper.getTexture("/misc/dial.png"), textureWidth, textureHeight);
3737
var2.getRGB(0, 0, textureWidth, textureHeight, this.dialTexture, 0, textureWidth);
3838
field_1411 = new byte[square * 4];
3939
}

0 commit comments

Comments
 (0)