custom font and mods
This commit is contained in:
@@ -1,5 +1,16 @@
|
||||
# SaturnClient
|
||||
<p align="center">
|
||||
<img src="src/main/resources/assets/saturnclient/icon.png" alt="OSUI" width="150px"/>
|
||||
</p>
|
||||
|
||||
<h1 align="center">Saturn Client</h1>
|
||||
|
||||
<p align="center">
|
||||
<b>Saturn Client is a free and open source Minecraft client</b>
|
||||
</p>
|
||||
|
||||
# Credits
|
||||
|
||||
- Cloak rendering: `IIpho3nix`
|
||||
- Cloak rendering: `IIpho3nix` & `Dhyan Blum`
|
||||
- Panton font (ui): `Ivan Petrov` & `Fontfabric`
|
||||
|
||||
If any of the code or assets are in your name and you want to remove them, please submit an issue, we are still in alpha to have any artists so we would also appreciate if you could help us make some cosmetics
|
||||
|
||||
@@ -43,6 +43,7 @@ public class Cloaks {
|
||||
public static void setCloak(String uuid, String cloakName) {
|
||||
SaturnSocket.setCloak(cloakName);
|
||||
setCloakSilent(uuid, cloakName);
|
||||
SaturnClient.LOGGER.info("Cloak set to " + cloakName);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -8,6 +8,7 @@ import org.saturnclient.ui.animations.FadeIn;
|
||||
import org.saturnclient.ui.widgets.SaturnClickableSprite;
|
||||
import org.saturnclient.ui.widgets.SaturnSprite;
|
||||
import org.saturnclient.ui.widgets.SaturnImage;
|
||||
import org.saturnclient.ui.widgets.SaturnScroll;
|
||||
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
@@ -43,35 +44,39 @@ public class CloaksMenu extends SaturnUi {
|
||||
int cloakWidth = 32;
|
||||
int cloakHeight = 70;
|
||||
|
||||
int modX = rectX + 15;
|
||||
int modY = rectY + 10;
|
||||
int modX = 0;
|
||||
int modY = 0;
|
||||
int col = 0;
|
||||
|
||||
for (String cloak : Cloaks.availableCloaks) {
|
||||
draw(new SaturnImage(Textures.getCloakPreview(cloak))
|
||||
.setX(modX)
|
||||
.setY(modY)
|
||||
.setWidth(cloakWidth)
|
||||
.setHeight(cloakHeight));
|
||||
SaturnScroll modsScroll = new SaturnScroll();
|
||||
|
||||
draw(new SaturnClickableSprite(Textures.BUTTON_BORDER, () -> {
|
||||
for (String cloak : Cloaks.availableCloaks) {
|
||||
modsScroll.draw(new SaturnClickableSprite(Textures.BUTTON_BORDER, () -> {
|
||||
Cloaks.setCloak(SaturnSocket.uuid, cloak);
|
||||
})
|
||||
.setColor(10526880)
|
||||
.setX(modX - 3)
|
||||
.setY(modY - 3)
|
||||
.setX(modX)
|
||||
.setY(modY)
|
||||
.setWidth(cloakWidth + 6)
|
||||
.setHeight(cloakHeight + 6));
|
||||
|
||||
modsScroll.draw(new SaturnImage(Textures.getCloakPreview(cloak))
|
||||
.setX(modX + 3)
|
||||
.setY(modY + 3)
|
||||
.setWidth(cloakWidth)
|
||||
.setHeight(cloakHeight));
|
||||
|
||||
col++;
|
||||
|
||||
if (col < 6) {
|
||||
modX += cloakWidth + 21;
|
||||
} else {
|
||||
modX = rectX + 15;
|
||||
modX = 0;
|
||||
modY += cloakHeight + 20;
|
||||
col = 0;
|
||||
}
|
||||
}
|
||||
|
||||
draw(modsScroll.setX(rectX + 17).setY(rectY + 10).setWidth(rectWidth - 17).setHeight(rectHeight - 10));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,16 @@
|
||||
package org.saturnclient.saturnclient.menus;
|
||||
|
||||
import org.saturnclient.saturnclient.SaturnClient;
|
||||
import org.saturnclient.saturnmods.ModManager;
|
||||
import org.saturnclient.saturnmods.SaturnMod;
|
||||
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.SaturnClickableImage;
|
||||
import org.saturnclient.ui.widgets.SaturnScroll;
|
||||
import org.saturnclient.ui.widgets.SaturnSprite;
|
||||
import org.saturnclient.ui.widgets.SaturnText;
|
||||
|
||||
import net.minecraft.text.Text;
|
||||
|
||||
@@ -26,7 +31,7 @@ public class SettingsMenu extends SaturnUi {
|
||||
.setY(modsY)
|
||||
.setWidth(rectWidth)
|
||||
.setHeight(rectHeight)
|
||||
.setAnimations(new FadeIn(1)));
|
||||
.setAnimations(new Slide(1, 10)));
|
||||
|
||||
int tabsX = (width - 43) / 2;
|
||||
int tabsY = modsY - 17;
|
||||
@@ -36,7 +41,7 @@ public class SettingsMenu extends SaturnUi {
|
||||
.setY(tabsY)
|
||||
.setWidth(43)
|
||||
.setHeight(15)
|
||||
.setAnimations(new FadeIn(1)));
|
||||
.setAnimations(new Slide(1, 10)));
|
||||
|
||||
int tabSize = 9;
|
||||
tabsX = (width - tabSize) / 2;
|
||||
@@ -73,14 +78,19 @@ public class SettingsMenu extends SaturnUi {
|
||||
|
||||
SaturnScroll modsScroll = new SaturnScroll();
|
||||
|
||||
for (int i = 0; i < 30; i++) {
|
||||
for (SaturnMod mod : ModManager.MODS) {
|
||||
modsScroll.draw(new SaturnClickableImage(Textures.MOD, (m) -> {
|
||||
|
||||
})
|
||||
.setSelected(mod.isEnabled())
|
||||
.setX(modX)
|
||||
.setY(modY)
|
||||
.setWidth(86)
|
||||
.setHeight(20));
|
||||
|
||||
modsScroll.draw(new SaturnText(mod.getName()).setX(modX + 27)
|
||||
.setY(modY + (21 - SaturnClient.textRenderer.fontHeight) / 2));
|
||||
|
||||
col++;
|
||||
|
||||
if (col < 3) {
|
||||
@@ -92,6 +102,7 @@ public class SettingsMenu extends SaturnUi {
|
||||
}
|
||||
}
|
||||
|
||||
draw(modsScroll.setX(modsX + 17).setY(modsY + 10).setWidth(rectWidth - 17).setHeight(rectHeight - 10));
|
||||
draw(modsScroll.setX(modsX + 17).setY(modsY + 10).setWidth(rectWidth - 17).setHeight(rectHeight - 10)
|
||||
.setAnimations(new Slide(1, 10)));
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,9 @@ import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.text.Style;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.ColorHelper;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
@@ -50,7 +53,8 @@ public class SaturnButton extends SaturnWidget {
|
||||
|
||||
if (alpha != 0.0f) {
|
||||
int i = this.active ? 16777215 : 10526880;
|
||||
context.drawText(minecraftClient.textRenderer, this.text,
|
||||
context.drawText(minecraftClient.textRenderer,
|
||||
Text.literal(text).setStyle(Style.EMPTY.withFont(Identifier.of("saturnclient:panton"))),
|
||||
this.x + ((this.width - minecraftClient.textRenderer.getWidth(this.text)) / 2),
|
||||
this.y + ((this.height - minecraftClient.textRenderer.fontHeight + 1) / 2),
|
||||
hovering ? hoverColor : i | MathHelper.ceil(this.alpha * 255.0F) << 24, false);
|
||||
|
||||
@@ -8,6 +8,9 @@ import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.font.TextRenderer;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.client.render.RenderLayer;
|
||||
import net.minecraft.text.Style;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.ColorHelper;
|
||||
|
||||
public class SaturnInputBox extends SaturnWidget {
|
||||
@@ -69,7 +72,7 @@ public class SaturnInputBox extends SaturnWidget {
|
||||
String visibleText = text.substring(scrollOffset);
|
||||
|
||||
int textColor = focused ? 0xFFFFFF : 0xAAAAAA;
|
||||
context.drawText(textRenderer, visibleText, x + 5, y + 5, textColor, false);
|
||||
context.drawText(textRenderer, Text.literal(visibleText).setStyle(Style.EMPTY.withFont(Identifier.of("saturnclient:panton"))), x + 5, y + 5, textColor, false);
|
||||
|
||||
if (focused) {
|
||||
int cursorX = x + 5 + textRenderer.getWidth(visibleText.substring(0, cursorPosition - scrollOffset));
|
||||
|
||||
@@ -51,6 +51,8 @@ public class SaturnScroll extends SaturnWidget {
|
||||
|
||||
@Override
|
||||
public void click(int mouseX, int mouseY) {
|
||||
mouseX = mouseX - x;
|
||||
mouseY = mouseY - y;
|
||||
for (SaturnWidget child : children) {
|
||||
boolean isMouseInside = child.x < mouseX && child.x + child.width > mouseX
|
||||
&& child.y < mouseY && child.y + child.height > mouseY;
|
||||
|
||||
@@ -2,12 +2,16 @@ package org.saturnclient.ui.widgets;
|
||||
|
||||
import org.saturnclient.saturnclient.SaturnClient;
|
||||
import org.saturnclient.ui.SaturnWidget;
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.gui.DrawContext;
|
||||
import net.minecraft.text.Style;
|
||||
import net.minecraft.text.Text;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.util.math.ColorHelper;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
|
||||
public class SaturnText extends SaturnWidget {
|
||||
private String text;
|
||||
private int color = ColorHelper.getWhite(1.0f);
|
||||
|
||||
public SaturnText(String text) {
|
||||
this.text = text;
|
||||
@@ -15,8 +19,15 @@ public class SaturnText extends SaturnWidget {
|
||||
this.height = SaturnClient.textRenderer.fontHeight;
|
||||
}
|
||||
|
||||
public SaturnText(String text, int color) {
|
||||
this(text);
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(DrawContext context, boolean hovering, int mouseX, int mouseY) {
|
||||
context.drawText(MinecraftClient.getInstance().textRenderer, text, x, y, ColorHelper.getWhite(alpha), false);
|
||||
context.drawText(SaturnClient.textRenderer,
|
||||
Text.literal(text).setStyle(Style.EMPTY.withFont(Identifier.of("saturnclient:panton"))), x, y,
|
||||
color | MathHelper.ceil(this.alpha * 255.0F) << 24, false);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user