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
|
# 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) {
|
public static void setCloak(String uuid, String cloakName) {
|
||||||
SaturnSocket.setCloak(cloakName);
|
SaturnSocket.setCloak(cloakName);
|
||||||
setCloakSilent(uuid, 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.SaturnClickableSprite;
|
||||||
import org.saturnclient.ui.widgets.SaturnSprite;
|
import org.saturnclient.ui.widgets.SaturnSprite;
|
||||||
import org.saturnclient.ui.widgets.SaturnImage;
|
import org.saturnclient.ui.widgets.SaturnImage;
|
||||||
|
import org.saturnclient.ui.widgets.SaturnScroll;
|
||||||
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
@@ -43,35 +44,39 @@ public class CloaksMenu extends SaturnUi {
|
|||||||
int cloakWidth = 32;
|
int cloakWidth = 32;
|
||||||
int cloakHeight = 70;
|
int cloakHeight = 70;
|
||||||
|
|
||||||
int modX = rectX + 15;
|
int modX = 0;
|
||||||
int modY = rectY + 10;
|
int modY = 0;
|
||||||
int col = 0;
|
int col = 0;
|
||||||
|
|
||||||
for (String cloak : Cloaks.availableCloaks) {
|
SaturnScroll modsScroll = new SaturnScroll();
|
||||||
draw(new SaturnImage(Textures.getCloakPreview(cloak))
|
|
||||||
.setX(modX)
|
|
||||||
.setY(modY)
|
|
||||||
.setWidth(cloakWidth)
|
|
||||||
.setHeight(cloakHeight));
|
|
||||||
|
|
||||||
draw(new SaturnClickableSprite(Textures.BUTTON_BORDER, () -> {
|
for (String cloak : Cloaks.availableCloaks) {
|
||||||
|
modsScroll.draw(new SaturnClickableSprite(Textures.BUTTON_BORDER, () -> {
|
||||||
Cloaks.setCloak(SaturnSocket.uuid, cloak);
|
Cloaks.setCloak(SaturnSocket.uuid, cloak);
|
||||||
})
|
})
|
||||||
.setColor(10526880)
|
.setColor(10526880)
|
||||||
.setX(modX - 3)
|
.setX(modX)
|
||||||
.setY(modY - 3)
|
.setY(modY)
|
||||||
.setWidth(cloakWidth + 6)
|
.setWidth(cloakWidth + 6)
|
||||||
.setHeight(cloakHeight + 6));
|
.setHeight(cloakHeight + 6));
|
||||||
|
|
||||||
|
modsScroll.draw(new SaturnImage(Textures.getCloakPreview(cloak))
|
||||||
|
.setX(modX + 3)
|
||||||
|
.setY(modY + 3)
|
||||||
|
.setWidth(cloakWidth)
|
||||||
|
.setHeight(cloakHeight));
|
||||||
|
|
||||||
col++;
|
col++;
|
||||||
|
|
||||||
if (col < 6) {
|
if (col < 6) {
|
||||||
modX += cloakWidth + 21;
|
modX += cloakWidth + 21;
|
||||||
} else {
|
} else {
|
||||||
modX = rectX + 15;
|
modX = 0;
|
||||||
modY += cloakHeight + 20;
|
modY += cloakHeight + 20;
|
||||||
col = 0;
|
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;
|
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.SaturnUi;
|
||||||
import org.saturnclient.ui.Textures;
|
import org.saturnclient.ui.Textures;
|
||||||
import org.saturnclient.ui.animations.FadeIn;
|
import org.saturnclient.ui.animations.FadeIn;
|
||||||
|
import org.saturnclient.ui.animations.Slide;
|
||||||
import org.saturnclient.ui.widgets.SaturnClickableImage;
|
import org.saturnclient.ui.widgets.SaturnClickableImage;
|
||||||
import org.saturnclient.ui.widgets.SaturnScroll;
|
import org.saturnclient.ui.widgets.SaturnScroll;
|
||||||
import org.saturnclient.ui.widgets.SaturnSprite;
|
import org.saturnclient.ui.widgets.SaturnSprite;
|
||||||
|
import org.saturnclient.ui.widgets.SaturnText;
|
||||||
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
@@ -26,7 +31,7 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
.setY(modsY)
|
.setY(modsY)
|
||||||
.setWidth(rectWidth)
|
.setWidth(rectWidth)
|
||||||
.setHeight(rectHeight)
|
.setHeight(rectHeight)
|
||||||
.setAnimations(new FadeIn(1)));
|
.setAnimations(new Slide(1, 10)));
|
||||||
|
|
||||||
int tabsX = (width - 43) / 2;
|
int tabsX = (width - 43) / 2;
|
||||||
int tabsY = modsY - 17;
|
int tabsY = modsY - 17;
|
||||||
@@ -36,7 +41,7 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
.setY(tabsY)
|
.setY(tabsY)
|
||||||
.setWidth(43)
|
.setWidth(43)
|
||||||
.setHeight(15)
|
.setHeight(15)
|
||||||
.setAnimations(new FadeIn(1)));
|
.setAnimations(new Slide(1, 10)));
|
||||||
|
|
||||||
int tabSize = 9;
|
int tabSize = 9;
|
||||||
tabsX = (width - tabSize) / 2;
|
tabsX = (width - tabSize) / 2;
|
||||||
@@ -73,14 +78,19 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
|
|
||||||
SaturnScroll modsScroll = new SaturnScroll();
|
SaturnScroll modsScroll = new SaturnScroll();
|
||||||
|
|
||||||
for (int i = 0; i < 30; i++) {
|
for (SaturnMod mod : ModManager.MODS) {
|
||||||
modsScroll.draw(new SaturnClickableImage(Textures.MOD, (m) -> {
|
modsScroll.draw(new SaturnClickableImage(Textures.MOD, (m) -> {
|
||||||
|
|
||||||
})
|
})
|
||||||
|
.setSelected(mod.isEnabled())
|
||||||
.setX(modX)
|
.setX(modX)
|
||||||
.setY(modY)
|
.setY(modY)
|
||||||
.setWidth(86)
|
.setWidth(86)
|
||||||
.setHeight(20));
|
.setHeight(20));
|
||||||
|
|
||||||
|
modsScroll.draw(new SaturnText(mod.getName()).setX(modX + 27)
|
||||||
|
.setY(modY + (21 - SaturnClient.textRenderer.fontHeight) / 2));
|
||||||
|
|
||||||
col++;
|
col++;
|
||||||
|
|
||||||
if (col < 3) {
|
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.MinecraftClient;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
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.ColorHelper;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
|
||||||
@@ -50,7 +53,8 @@ public class SaturnButton extends SaturnWidget {
|
|||||||
|
|
||||||
if (alpha != 0.0f) {
|
if (alpha != 0.0f) {
|
||||||
int i = this.active ? 16777215 : 10526880;
|
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.x + ((this.width - minecraftClient.textRenderer.getWidth(this.text)) / 2),
|
||||||
this.y + ((this.height - minecraftClient.textRenderer.fontHeight + 1) / 2),
|
this.y + ((this.height - minecraftClient.textRenderer.fontHeight + 1) / 2),
|
||||||
hovering ? hoverColor : i | MathHelper.ceil(this.alpha * 255.0F) << 24, false);
|
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.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
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.ColorHelper;
|
||||||
|
|
||||||
public class SaturnInputBox extends SaturnWidget {
|
public class SaturnInputBox extends SaturnWidget {
|
||||||
@@ -69,7 +72,7 @@ public class SaturnInputBox extends SaturnWidget {
|
|||||||
String visibleText = text.substring(scrollOffset);
|
String visibleText = text.substring(scrollOffset);
|
||||||
|
|
||||||
int textColor = focused ? 0xFFFFFF : 0xAAAAAA;
|
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) {
|
if (focused) {
|
||||||
int cursorX = x + 5 + textRenderer.getWidth(visibleText.substring(0, cursorPosition - scrollOffset));
|
int cursorX = x + 5 + textRenderer.getWidth(visibleText.substring(0, cursorPosition - scrollOffset));
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ public class SaturnScroll extends SaturnWidget {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void click(int mouseX, int mouseY) {
|
public void click(int mouseX, int mouseY) {
|
||||||
|
mouseX = mouseX - x;
|
||||||
|
mouseY = mouseY - y;
|
||||||
for (SaturnWidget child : children) {
|
for (SaturnWidget child : children) {
|
||||||
boolean isMouseInside = child.x < mouseX && child.x + child.width > mouseX
|
boolean isMouseInside = child.x < mouseX && child.x + child.width > mouseX
|
||||||
&& child.y < mouseY && child.y + child.height > mouseY;
|
&& 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.saturnclient.SaturnClient;
|
||||||
import org.saturnclient.ui.SaturnWidget;
|
import org.saturnclient.ui.SaturnWidget;
|
||||||
import net.minecraft.client.MinecraftClient;
|
|
||||||
import net.minecraft.client.gui.DrawContext;
|
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.ColorHelper;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
|
||||||
public class SaturnText extends SaturnWidget {
|
public class SaturnText extends SaturnWidget {
|
||||||
private String text;
|
private String text;
|
||||||
|
private int color = ColorHelper.getWhite(1.0f);
|
||||||
|
|
||||||
public SaturnText(String text) {
|
public SaturnText(String text) {
|
||||||
this.text = text;
|
this.text = text;
|
||||||
@@ -15,8 +19,15 @@ public class SaturnText extends SaturnWidget {
|
|||||||
this.height = SaturnClient.textRenderer.fontHeight;
|
this.height = SaturnClient.textRenderer.fontHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SaturnText(String text, int color) {
|
||||||
|
this(text);
|
||||||
|
this.color = color;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(DrawContext context, boolean hovering, int mouseX, int mouseY) {
|
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