This commit is contained in:
2026-03-06 01:10:51 +01:00
parent 9dbf431a55
commit e70c1423a4
5 changed files with 63 additions and 3 deletions
@@ -10,4 +10,6 @@ public abstract class MinecraftProvider {
public abstract boolean isKeyPressed(int key);
public abstract File getRunDirectory();
public abstract int getWidth(String text, int font);
}
@@ -7,4 +7,12 @@ public class SaturnIdentifier extends MinecraftBinding {
public SaturnIdentifier(String namespace, String path) {
super(MinecraftProvider.PROVIDER.createIdentifier(namespace, path));
}
public static SaturnIdentifier of(String namespace, String path) {
return new SaturnIdentifier(namespace, path);
}
public static SaturnIdentifier ofVanilla(String path) {
return new SaturnIdentifier("minecraft", path);
}
}
@@ -0,0 +1,45 @@
package org.saturnclient.ui.resources;
import org.saturnclient.common.minecraft.MinecraftProvider;
import org.saturnclient.common.minecraft.bindings.SaturnIdentifier;
public class Fonts {
public static final SaturnIdentifier INTER = SaturnIdentifier.of("saturnclient", "inter");
public static final SaturnIdentifier INTER_BOLD = SaturnIdentifier.of("saturnclient", "inter_bold");
public static final SaturnIdentifier DEFAULT = SaturnIdentifier.ofVanilla("default");
public static SaturnIdentifier getFont(int font) {
switch (font) {
case 0:
return DEFAULT;
case 1:
return INTER;
default:
return INTER_BOLD;
}
}
public static int getWidth(String text, int font) {
int w = 0;
for (String line : text.split("\n")) {
w = Math.max(w, MinecraftProvider.PROVIDER.getWidth(line, font));
}
if (font == 0) {
return w * 2;
} else {
return w;
}
}
public static int getHeight() {
return 18;
}
public static int centerX(int w, String text, int font) {
return (w - Fonts.getWidth(text, font)) / 2;
}
public static int centerY(int h) {
return (h - 18) / 2;
}
}
@@ -1,4 +1,4 @@
package org.saturnclient.ui.resources;
package org.saturnclient.saturnclient.impl;
import org.saturnclient.saturnclient.SaturnClient;
import net.minecraft.text.Style;
@@ -20,10 +20,10 @@ public class Fonts {
return INTER_BOLD;
}
}
public static Text setFont(String text, Identifier font) {
return Text.literal(text).setStyle(
Style.EMPTY.withFont(font));
Style.EMPTY.withFont(font));
}
public static int getWidth(String text, int font) {
@@ -24,4 +24,9 @@ public class SaturnClientProvider extends MinecraftProvider {
return GLFW.glfwGetKey(SaturnClient.client.getWindow().getHandle(), key) == GLFW.GLFW_PRESS
&& SaturnClient.client.currentScreen == null;
}
@Override
public int getWidth(String text, int font) {
return Fonts.getWidth(text, font);
}
}