Saturn title screen
This commit is contained in:
@@ -2,11 +2,16 @@ package org.saturnclient.saturnclient;
|
|||||||
|
|
||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||||
|
import net.fabricmc.fabric.api.client.screen.v1.ScreenEvents;
|
||||||
|
import net.minecraft.client.gui.screen.TitleScreen;
|
||||||
|
|
||||||
import org.saturnclient.saturnclient.auth.SaturnSocket;
|
import org.saturnclient.saturnclient.auth.SaturnSocket;
|
||||||
import org.saturnclient.saturnclient.config.ConfigManager;
|
import org.saturnclient.saturnclient.config.ConfigManager;
|
||||||
import org.saturnclient.saturnclient.cosmetics.Hats;
|
import org.saturnclient.saturnclient.cosmetics.Hats;
|
||||||
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
|
import org.saturnclient.saturnclient.cosmetics.cloaks.Cloaks;
|
||||||
import org.saturnclient.saturnclient.event.KeyInputHandler;
|
import org.saturnclient.saturnclient.event.KeyInputHandler;
|
||||||
|
import org.saturnclient.saturnclient.menus.SaturnMenu;
|
||||||
|
import org.saturnclient.saturnclient.menus.SaturnTitleScreen;
|
||||||
import org.saturnclient.saturnmods.ModManager;
|
import org.saturnclient.saturnmods.ModManager;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
@@ -26,6 +31,11 @@ public class SaturnClient implements ModInitializer {
|
|||||||
ConfigManager.load();
|
ConfigManager.load();
|
||||||
|
|
||||||
ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> ConfigManager.save());
|
ClientLifecycleEvents.CLIENT_STOPPING.register(_o -> ConfigManager.save());
|
||||||
|
ScreenEvents.BEFORE_INIT.register((client, screen, scaledWidth, scaledHeight) -> {
|
||||||
|
if (SaturnClientConfig.saturnTitleScreen.value && screen instanceof TitleScreen && !(screen instanceof SaturnMenu)) {
|
||||||
|
client.setScreen(new SaturnTitleScreen());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
KeyInputHandler.register();
|
KeyInputHandler.register();
|
||||||
if (SaturnSocket.authenticate()) {
|
if (SaturnSocket.authenticate()) {
|
||||||
|
|||||||
@@ -14,31 +14,35 @@ import net.minecraft.util.math.ColorHelper;
|
|||||||
public class SaturnClientConfig {
|
public class SaturnClientConfig {
|
||||||
public static ConfigManager config = new ConfigManager("Saturn Client");
|
public static ConfigManager config = new ConfigManager("Saturn Client");
|
||||||
|
|
||||||
public static Property<Integer> COLOR = config.property(
|
public static Property<Integer> color = config.property(
|
||||||
"Primary color",
|
"Primary color",
|
||||||
new Property<>(
|
new Property<>(
|
||||||
ColorHelper.getArgb(255, 251, 60, 79),
|
ColorHelper.getArgb(255, 251, 60, 79),
|
||||||
Property.PropertyType.HEX));
|
Property.PropertyType.HEX));
|
||||||
|
|
||||||
public static Property<Integer> NORMAL = config.property(
|
public static Property<Integer> normal = config.property(
|
||||||
"Default color",
|
"Default color",
|
||||||
new Property<>(
|
new Property<>(
|
||||||
ColorHelper.getArgb(255, 182, 182, 182),
|
ColorHelper.getArgb(255, 182, 182, 182),
|
||||||
Property.PropertyType.HEX));
|
Property.PropertyType.HEX));
|
||||||
|
|
||||||
public static Property<Boolean> REALISTIC_LOGO = config.property(
|
public static Property<Boolean> realisticLogo = config.property(
|
||||||
"Realistic logo",
|
"Realistic logo",
|
||||||
new Property<>(false));
|
new Property<>(false));
|
||||||
|
|
||||||
|
public static Property<Boolean> saturnTitleScreen = config.property(
|
||||||
|
"Saturn client title screen",
|
||||||
|
new Property<>(true));
|
||||||
|
|
||||||
public static int WHITE = ColorHelper.getArgb(255, 255, 255, 255);
|
public static int WHITE = ColorHelper.getArgb(255, 255, 255, 255);
|
||||||
public static TextRenderer textRenderer = null;
|
public static TextRenderer textRenderer = null;
|
||||||
|
|
||||||
public static int getWhite(float alpha) {
|
public static int getWhite(float alpha) {
|
||||||
return ((int) (alpha * 255) << 24) | (NORMAL.value & 0x00FFFFFF);
|
return ((int) (alpha * 255) << 24) | (normal.value & 0x00FFFFFF);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getColor(boolean hovering, float alpha) {
|
public static int getColor(boolean hovering, float alpha) {
|
||||||
return SaturnUi.getAlpha(hovering ? COLOR.value : NORMAL.value, alpha);
|
return SaturnUi.getAlpha(hovering ? color.value : normal.value, alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SaturnAnimation[] getAnimations() {
|
public static SaturnAnimation[] getAnimations() {
|
||||||
@@ -46,10 +50,10 @@ public class SaturnClientConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static Identifier getLogo() {
|
public static Identifier getLogo() {
|
||||||
return REALISTIC_LOGO.value ? Textures.REALISTIC_LOGO : Textures.LOGO;
|
return realisticLogo.value ? Textures.REALISTIC_LOGO : Textures.LOGO;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String getSaturnIndicator() {
|
public static String getSaturnIndicator() {
|
||||||
return REALISTIC_LOGO.value ? "" : "";
|
return realisticLogo.value ? "" : "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
|||||||
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
import net.minecraft.client.util.InputUtil;
|
import net.minecraft.client.util.InputUtil;
|
||||||
import org.saturnclient.saturnclient.menus.MainMenu;
|
import org.saturnclient.saturnclient.menus.SaturnMenu;
|
||||||
import org.lwjgl.glfw.GLFW;
|
import org.lwjgl.glfw.GLFW;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -33,7 +33,7 @@ public class KeyInputHandler {
|
|||||||
// Register the event handler for the main menu key
|
// Register the event handler for the main menu key
|
||||||
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
ClientTickEvents.END_CLIENT_TICK.register(client -> {
|
||||||
if (mainMenuKeyBinding.wasPressed()) {
|
if (mainMenuKeyBinding.wasPressed()) {
|
||||||
client.setScreen(new MainMenu());
|
client.setScreen(new SaturnMenu());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,6 @@ public class CloaksMenu extends SaturnUi {
|
|||||||
|
|
||||||
draw(
|
draw(
|
||||||
new SaturnClickableImage(Textures.CLOAK, () -> {
|
new SaturnClickableImage(Textures.CLOAK, () -> {
|
||||||
client.setScreen(new CloaksMenu());
|
|
||||||
})
|
})
|
||||||
.setSelected(true)
|
.setSelected(true)
|
||||||
.setX(tabsX - 12)
|
.setX(tabsX - 12)
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import org.saturnclient.saturnmods.HudMod;
|
|||||||
import org.saturnclient.saturnmods.ModDimensions;
|
import org.saturnclient.saturnmods.ModDimensions;
|
||||||
import org.saturnclient.saturnmods.ModManager;
|
import org.saturnclient.saturnmods.ModManager;
|
||||||
import org.saturnclient.saturnmods.SaturnMod;
|
import org.saturnclient.saturnmods.SaturnMod;
|
||||||
|
import org.saturnclient.ui.SaturnUi;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -87,6 +89,10 @@ public class HudEditor extends Screen {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
|
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
|
if (client.world == null && client.getCurrentServerEntry() == null) {
|
||||||
|
SaturnUi.ROTATING_PANORAMA_RENDERER.render(context, this.width, this.height, 1.0F, delta);
|
||||||
|
}
|
||||||
|
|
||||||
for (HudMod mod : hudMods) {
|
for (HudMod mod : hudMods) {
|
||||||
ModDimensions dim = mod.getDimensions();
|
ModDimensions dim = mod.getDimensions();
|
||||||
MatrixStack matrices = context.getMatrices();
|
MatrixStack matrices = context.getMatrices();
|
||||||
|
|||||||
+2
-3
@@ -12,9 +12,8 @@ import org.saturnclient.ui.widgets.SaturnButton;
|
|||||||
import org.saturnclient.ui.widgets.SaturnImage;
|
import org.saturnclient.ui.widgets.SaturnImage;
|
||||||
import org.saturnclient.ui.widgets.SaturnImageButton;
|
import org.saturnclient.ui.widgets.SaturnImageButton;
|
||||||
|
|
||||||
public class MainMenu extends SaturnUi {
|
public class SaturnMenu extends SaturnUi {
|
||||||
|
public SaturnMenu() {
|
||||||
public MainMenu() {
|
|
||||||
super(Text.literal("Saturn Client"));
|
super(Text.literal("Saturn Client"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
package org.saturnclient.saturnclient.menus;
|
||||||
|
|
||||||
|
import org.saturnclient.saturnclient.SaturnClientConfig;
|
||||||
|
import org.saturnclient.ui.SaturnUi;
|
||||||
|
import org.saturnclient.ui.Textures;
|
||||||
|
import org.saturnclient.ui.animations.FadeIn;
|
||||||
|
import org.saturnclient.ui.animations.Slide;
|
||||||
|
import org.saturnclient.ui.widgets.SaturnButton;
|
||||||
|
import org.saturnclient.ui.widgets.SaturnImage;
|
||||||
|
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
|
||||||
|
import net.minecraft.client.gui.screen.option.OptionsScreen;
|
||||||
|
import net.minecraft.client.gui.screen.world.SelectWorldScreen;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
|
public class SaturnTitleScreen extends SaturnUi {
|
||||||
|
public SaturnTitleScreen() {
|
||||||
|
super(Text.literal("Title Screen"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
blur = false;
|
||||||
|
|
||||||
|
int logoSize = 49;
|
||||||
|
int bX = (width - 150) / 2;
|
||||||
|
int bY = height / 2 - logoSize - 24;
|
||||||
|
|
||||||
|
draw(
|
||||||
|
new SaturnImage(SaturnClientConfig.getLogo())
|
||||||
|
.setX((width - logoSize) / 2)
|
||||||
|
.setY(bY)
|
||||||
|
.setWidth(logoSize)
|
||||||
|
.setHeight(logoSize)
|
||||||
|
.setAnimations(new Slide(2, 14)));
|
||||||
|
|
||||||
|
bY += 41;
|
||||||
|
|
||||||
|
draw(
|
||||||
|
new SaturnImage(Textures.LOGO_TEXT)
|
||||||
|
.setX((width - logoSize) / 2)
|
||||||
|
.setY(bY)
|
||||||
|
.setWidth(logoSize)
|
||||||
|
.setHeight(8)
|
||||||
|
.setAnimations(new FadeIn(2)));
|
||||||
|
|
||||||
|
bY += 12;
|
||||||
|
|
||||||
|
draw(new SaturnButton("SINGLEPLAYER", () -> {
|
||||||
|
client.setScreen(new SelectWorldScreen(new SaturnTitleScreen()));
|
||||||
|
}).setBold(true).setWidth(210).setHeight(26).setX(bX).setY(bY).setScale(0.69f));
|
||||||
|
|
||||||
|
bY += 20;
|
||||||
|
|
||||||
|
draw(new SaturnButton("MULTIPLAYER", () -> {
|
||||||
|
client.setScreen(new MultiplayerScreen(new SaturnTitleScreen()));
|
||||||
|
}).setBold(true).setWidth(210).setHeight(26).setX(bX).setY(bY).setScale(0.69f));
|
||||||
|
|
||||||
|
bY += 20;
|
||||||
|
|
||||||
|
draw(new SaturnButton("OPTIONS", () -> {
|
||||||
|
client.setScreen(new OptionsScreen(new SaturnTitleScreen(), this.client.options));
|
||||||
|
}).setBold(true).setWidth(103).setHeight(26).setX(bX).setY(bY).setScale(0.69f));
|
||||||
|
|
||||||
|
draw(new SaturnButton("QUIT", () -> {
|
||||||
|
client.close();
|
||||||
|
}).setBold(true).setWidth(103).setHeight(26).setX(bX + 74).setY(bY).setScale(0.69f));
|
||||||
|
|
||||||
|
bY += 20;
|
||||||
|
|
||||||
|
draw(new SaturnButton("SATURN OPTIONS", () -> {
|
||||||
|
client.setScreen(new SaturnMenu());
|
||||||
|
}).setBold(true).setWidth(210).setHeight(26).setX(bX).setY(bY).setScale(0.69f));
|
||||||
|
|
||||||
|
super.init();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,11 +22,11 @@ public class Particles implements SaturnMod {
|
|||||||
|
|
||||||
public static Property<Integer> totem_1 = totem.property(
|
public static Property<Integer> totem_1 = totem.property(
|
||||||
"Totem particle color 1",
|
"Totem particle color 1",
|
||||||
new Property<>(SaturnClientConfig.COLOR.value, Property.PropertyType.HEX));
|
new Property<>(SaturnClientConfig.color.value, Property.PropertyType.HEX));
|
||||||
|
|
||||||
public static Property<Integer> totem_2 = totem.property(
|
public static Property<Integer> totem_2 = totem.property(
|
||||||
"Totem particle color 2",
|
"Totem particle color 2",
|
||||||
new Property<>(SaturnClientConfig.COLOR.value, Property.PropertyType.HEX));
|
new Property<>(SaturnClientConfig.color.value, Property.PropertyType.HEX));
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnabled() {
|
public boolean isEnabled() {
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ import java.util.concurrent.ScheduledExecutorService;
|
|||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import net.minecraft.client.gl.PostEffectProcessor;
|
import net.minecraft.client.gl.PostEffectProcessor;
|
||||||
|
import net.minecraft.client.gui.CubeMapRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.gui.RotatingCubeMapRenderer;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.render.DefaultFramebufferSet;
|
import net.minecraft.client.render.DefaultFramebufferSet;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
@@ -25,12 +27,28 @@ public class SaturnUi extends Screen {
|
|||||||
|
|
||||||
private final Pool pool = new Pool(3);
|
private final Pool pool = new Pool(3);
|
||||||
private float f = 0.0f;
|
private float f = 0.0f;
|
||||||
|
public boolean blur = true;
|
||||||
|
public boolean titleBackground = false;
|
||||||
|
|
||||||
|
protected static final CubeMapRenderer PANORAMA_RENDERER = new CubeMapRenderer(
|
||||||
|
Identifier.of("saturnclient", "textures/gui/title/background/panorama"));
|
||||||
|
|
||||||
|
public static final RotatingCubeMapRenderer ROTATING_PANORAMA_RENDERER;
|
||||||
|
|
||||||
|
static {
|
||||||
|
ROTATING_PANORAMA_RENDERER = new RotatingCubeMapRenderer(PANORAMA_RENDERER);
|
||||||
|
}
|
||||||
|
|
||||||
public static MutableText text(String text) {
|
public static MutableText text(String text) {
|
||||||
return Text.literal(text).setStyle(
|
return Text.literal(text).setStyle(
|
||||||
Style.EMPTY.withFont(Identifier.of("saturnclient:panton")));
|
Style.EMPTY.withFont(Identifier.of("saturnclient:panton")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static MutableText textBold(String text) {
|
||||||
|
return Text.literal(text).setStyle(
|
||||||
|
Style.EMPTY.withFont(Identifier.of("saturnclient:panton_bold")));
|
||||||
|
}
|
||||||
|
|
||||||
public static void drawHighResTexture(DrawContext context, Identifier t, int x, int y, int w, int h) {
|
public static void drawHighResTexture(DrawContext context, Identifier t, int x, int y, int w, int h) {
|
||||||
MatrixStack matricies = context.getMatrices();
|
MatrixStack matricies = context.getMatrices();
|
||||||
matricies.push();
|
matricies.push();
|
||||||
@@ -108,8 +126,13 @@ public class SaturnUi extends Screen {
|
|||||||
int mouseX,
|
int mouseX,
|
||||||
int mouseY,
|
int mouseY,
|
||||||
float delta) {
|
float delta) {
|
||||||
|
|
||||||
|
if (client.world == null && client.getCurrentServerEntry() == null) {
|
||||||
|
ROTATING_PANORAMA_RENDERER.render(context, this.width, this.height, 1.0F, delta);
|
||||||
|
}
|
||||||
|
|
||||||
// Blur
|
// Blur
|
||||||
if (!(f < 1.0F)) {
|
if (!(f < 1.0F) && blur) {
|
||||||
PostEffectProcessor postEffectProcessor = this.client.getShaderLoader().loadPostEffect(
|
PostEffectProcessor postEffectProcessor = this.client.getShaderLoader().loadPostEffect(
|
||||||
Identifier.ofVanilla("blur"),
|
Identifier.ofVanilla("blur"),
|
||||||
DefaultFramebufferSet.MAIN_ONLY);
|
DefaultFramebufferSet.MAIN_ONLY);
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ public class SaturnFloat extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
focused
|
focused
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
int scrollOffset = getScrollOffset();
|
int scrollOffset = getScrollOffset();
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ public class SaturnHex extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
focused
|
focused
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
int textColor = focused ? 0xFFFFFF : 0xAAAAAA;
|
int textColor = focused ? 0xFFFFFF : 0xAAAAAA;
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ public class SaturnInteger extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
focused
|
focused
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
int scrollOffset = getScrollOffset();
|
int scrollOffset = getScrollOffset();
|
||||||
|
|||||||
@@ -11,95 +11,95 @@ import org.saturnclient.ui.Textures;
|
|||||||
|
|
||||||
public class SaturnModComp extends SaturnWidget {
|
public class SaturnModComp extends SaturnWidget {
|
||||||
|
|
||||||
SaturnMod mod;
|
SaturnMod mod;
|
||||||
|
|
||||||
public SaturnModComp(SaturnMod mod) {
|
public SaturnModComp(SaturnMod mod) {
|
||||||
this.mod = mod;
|
this.mod = mod;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(
|
||||||
|
DrawContext context,
|
||||||
|
boolean hovering,
|
||||||
|
int mouseX,
|
||||||
|
int mouseY) {
|
||||||
|
boolean enabled = mod.isEnabled();
|
||||||
|
|
||||||
|
boolean hovering_settings = settingsHovering(mouseX, mouseY);
|
||||||
|
|
||||||
|
int color = !hovering_settings && (enabled || hovering)
|
||||||
|
? SaturnClientConfig.color.value
|
||||||
|
: SaturnClientConfig.getWhite(alpha);
|
||||||
|
|
||||||
|
int size = 12;
|
||||||
|
|
||||||
|
if (enabled) {
|
||||||
|
SaturnUi.drawHighResTexture(
|
||||||
|
context,
|
||||||
|
Textures.MOD_BG,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
86,
|
||||||
|
20,
|
||||||
|
SaturnClientConfig.color.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
SaturnUi.drawHighResTexture(
|
||||||
public void render(
|
context,
|
||||||
DrawContext context,
|
Textures.MOD,
|
||||||
boolean hovering,
|
0,
|
||||||
int mouseX,
|
0,
|
||||||
int mouseY) {
|
86,
|
||||||
boolean enabled = mod.isEnabled();
|
20,
|
||||||
|
color);
|
||||||
|
|
||||||
boolean hovering_settings = settingsHovering(mouseX, mouseY);
|
SaturnUi.drawHighResTexture(
|
||||||
|
context,
|
||||||
|
mod.getIconTexture(),
|
||||||
|
4,
|
||||||
|
4,
|
||||||
|
size,
|
||||||
|
size,
|
||||||
|
color);
|
||||||
|
|
||||||
int color = !hovering_settings && (enabled || hovering)
|
context.drawText(
|
||||||
? SaturnClientConfig.COLOR.value
|
SaturnClientConfig.textRenderer,
|
||||||
: SaturnClientConfig.getWhite(alpha);
|
SaturnUi.text(mod.getName()),
|
||||||
|
20,
|
||||||
|
(21 - SaturnClientConfig.textRenderer.fontHeight) / 2,
|
||||||
|
color,
|
||||||
|
false);
|
||||||
|
|
||||||
int size = 12;
|
SaturnUi.drawHighResTexture(
|
||||||
|
context,
|
||||||
|
Textures.SETTINGS,
|
||||||
|
77,
|
||||||
|
11,
|
||||||
|
7,
|
||||||
|
7,
|
||||||
|
hovering_settings
|
||||||
|
? SaturnClientConfig.color.value
|
||||||
|
: SaturnClientConfig.getWhite(alpha));
|
||||||
|
}
|
||||||
|
|
||||||
if (enabled) {
|
@Override
|
||||||
SaturnUi.drawHighResTexture(
|
public void click(int mouseX, int mouseY) {
|
||||||
context,
|
if (settingsHovering(mouseX, mouseY)) {
|
||||||
Textures.MOD_BG,
|
MinecraftClient.getInstance()
|
||||||
0,
|
.setScreen(new ConfigEditor(mod.getConfig()));
|
||||||
0,
|
} else {
|
||||||
86,
|
mod.setEnabled(!mod.isEnabled());
|
||||||
20,
|
|
||||||
SaturnClientConfig.COLOR.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
SaturnUi.drawHighResTexture(
|
|
||||||
context,
|
|
||||||
Textures.MOD,
|
|
||||||
0,
|
|
||||||
0,
|
|
||||||
86,
|
|
||||||
20,
|
|
||||||
color);
|
|
||||||
|
|
||||||
SaturnUi.drawHighResTexture(
|
|
||||||
context,
|
|
||||||
mod.getIconTexture(),
|
|
||||||
4,
|
|
||||||
4,
|
|
||||||
size,
|
|
||||||
size,
|
|
||||||
color);
|
|
||||||
|
|
||||||
context.drawText(
|
|
||||||
SaturnClientConfig.textRenderer,
|
|
||||||
SaturnUi.text(mod.getName()),
|
|
||||||
20,
|
|
||||||
(21 - SaturnClientConfig.textRenderer.fontHeight) / 2,
|
|
||||||
color,
|
|
||||||
false);
|
|
||||||
|
|
||||||
SaturnUi.drawHighResTexture(
|
|
||||||
context,
|
|
||||||
Textures.SETTINGS,
|
|
||||||
77,
|
|
||||||
11,
|
|
||||||
7,
|
|
||||||
7,
|
|
||||||
hovering_settings
|
|
||||||
? SaturnClientConfig.COLOR.value
|
|
||||||
: SaturnClientConfig.getWhite(alpha));
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
public boolean settingsHovering(int mouseX, int mouseY) {
|
||||||
public void click(int mouseX, int mouseY) {
|
int sX = 77;
|
||||||
if (settingsHovering(mouseX, mouseY)) {
|
int sY = 11;
|
||||||
MinecraftClient.getInstance()
|
int size = 7;
|
||||||
.setScreen(new ConfigEditor(mod.getConfig()));
|
|
||||||
} else {
|
|
||||||
mod.setEnabled(!mod.isEnabled());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean settingsHovering(int mouseX, int mouseY) {
|
return (sX < mouseX &&
|
||||||
int sX = 77;
|
sX + size > mouseX &&
|
||||||
int sY = 11;
|
sY < mouseY &&
|
||||||
int size = 7;
|
sY + size > mouseY);
|
||||||
|
}
|
||||||
return (sX < mouseX &&
|
|
||||||
sX + size > mouseX &&
|
|
||||||
sY < mouseY &&
|
|
||||||
sY + size > mouseY);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class SaturnString extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
focused
|
focused
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
int scrollOffset = getScrollOffset();
|
int scrollOffset = getScrollOffset();
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public class SaturnToggle extends SaturnWidget {
|
|||||||
int mouseX,
|
int mouseX,
|
||||||
int mouseY) {
|
int mouseY) {
|
||||||
int color = prop.value
|
int color = prop.value
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(alpha);
|
: SaturnClientConfig.getWhite(alpha);
|
||||||
int w = 13;
|
int w = 13;
|
||||||
int h = 6;
|
int h = 6;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.mojang.blaze3d.systems.RenderSystem;
|
|||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
import org.saturnclient.saturnclient.SaturnClientConfig;
|
import org.saturnclient.saturnclient.SaturnClientConfig;
|
||||||
import org.saturnclient.ui.SaturnUi;
|
import org.saturnclient.ui.SaturnUi;
|
||||||
@@ -16,6 +17,7 @@ public class SaturnButton extends SaturnWidget {
|
|||||||
public String text;
|
public String text;
|
||||||
public Consumer<SaturnButton> onPress;
|
public Consumer<SaturnButton> onPress;
|
||||||
public boolean background = true;
|
public boolean background = true;
|
||||||
|
public boolean bold = false;
|
||||||
private float hoverAlpha = 0.0f;
|
private float hoverAlpha = 0.0f;
|
||||||
|
|
||||||
public SaturnButton(String text, Consumer<SaturnButton> onPress) {
|
public SaturnButton(String text, Consumer<SaturnButton> onPress) {
|
||||||
@@ -67,12 +69,12 @@ public class SaturnButton extends SaturnWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (alpha != 0.0f) {
|
if (alpha != 0.0f) {
|
||||||
|
Text t = bold ? SaturnUi.textBold(text) : SaturnUi.text(text);
|
||||||
context.drawText(
|
context.drawText(
|
||||||
minecraftClient.textRenderer,
|
minecraftClient.textRenderer,
|
||||||
SaturnUi.text(text),
|
t,
|
||||||
((this.width -
|
((this.width -
|
||||||
minecraftClient.textRenderer.getWidth(
|
minecraftClient.textRenderer.getWidth(t))
|
||||||
SaturnUi.text(text)))
|
|
||||||
/
|
/
|
||||||
2),
|
2),
|
||||||
((this.height - minecraftClient.textRenderer.fontHeight + 1) /
|
((this.height - minecraftClient.textRenderer.fontHeight + 1) /
|
||||||
@@ -94,4 +96,9 @@ public class SaturnButton extends SaturnWidget {
|
|||||||
else if (hoverAlpha > 0.9f && hoverAlpha < 1.0f)
|
else if (hoverAlpha > 0.9f && hoverAlpha < 1.0f)
|
||||||
hoverAlpha = 1.0f;
|
hoverAlpha = 1.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SaturnWidget setBold(boolean bold) {
|
||||||
|
this.bold = bold;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public class SaturnInputBox extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
focused
|
focused
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
if (hovering || focused) {
|
if (hovering || focused) {
|
||||||
@@ -109,7 +109,7 @@ public class SaturnInputBox extends SaturnWidget {
|
|||||||
this.width,
|
this.width,
|
||||||
this.height,
|
this.height,
|
||||||
hovering
|
hovering
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,7 +125,7 @@ public class SaturnInputBox extends SaturnWidget {
|
|||||||
9,
|
9,
|
||||||
9,
|
9,
|
||||||
hovering
|
hovering
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha));
|
: SaturnClientConfig.getWhite(this.alpha));
|
||||||
|
|
||||||
matrices.scale(0.9f, 0.9f, 1.0f);
|
matrices.scale(0.9f, 0.9f, 1.0f);
|
||||||
@@ -136,7 +136,7 @@ public class SaturnInputBox extends SaturnWidget {
|
|||||||
14,
|
14,
|
||||||
textRenderer.fontHeight / 2 + 1,
|
textRenderer.fontHeight / 2 + 1,
|
||||||
hovering
|
hovering
|
||||||
? SaturnClientConfig.COLOR.value
|
? SaturnClientConfig.color.value
|
||||||
: SaturnClientConfig.getWhite(this.alpha),
|
: SaturnClientConfig.getWhite(this.alpha),
|
||||||
false);
|
false);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,10 @@
|
|||||||
{
|
{
|
||||||
"type": "reference",
|
"type": "reference",
|
||||||
"id": "saturnclient:panton"
|
"id": "saturnclient:panton"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "reference",
|
||||||
|
"id": "saturnclient:panton_bold"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"providers": [
|
||||||
|
{
|
||||||
|
"type": "ttf",
|
||||||
|
"file": "saturnclient:panton_bold.ttf",
|
||||||
|
"shift": [0, 0],
|
||||||
|
"size": 9,
|
||||||
|
"oversample": 5.0,
|
||||||
|
"skip_missing": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.7 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.9 MiB |
Reference in New Issue
Block a user