cloak menu
This commit is contained in:
@@ -0,0 +1,77 @@
|
|||||||
|
package org.saturnclient.saturnclient.menus;
|
||||||
|
|
||||||
|
import org.saturnclient.saturnclient.auth.SaturnApi;
|
||||||
|
import org.saturnclient.saturnclient.cloaks.Cloaks;
|
||||||
|
import org.saturnclient.ui.SaturnUi;
|
||||||
|
import org.saturnclient.ui.Textures;
|
||||||
|
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 net.minecraft.text.Text;
|
||||||
|
|
||||||
|
public class CloaksMenu extends SaturnUi {
|
||||||
|
public CloaksMenu() {
|
||||||
|
super(Text.of("Cloaks Menu"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void init() {
|
||||||
|
int rectWidth = 330;
|
||||||
|
int rectHeight = 228;
|
||||||
|
int rectX = (width - rectWidth) / 2;
|
||||||
|
int rectY = (height - rectHeight + 15) / 2;
|
||||||
|
|
||||||
|
draw(new SaturnSprite(Textures.SETTINGS_BG)
|
||||||
|
.setX(rectX)
|
||||||
|
.setY(rectY)
|
||||||
|
.setWidth(rectWidth)
|
||||||
|
.setHeight(rectHeight)
|
||||||
|
.setAnimations(new FadeIn(1)));
|
||||||
|
|
||||||
|
int tabsX = (width - 43) / 2;
|
||||||
|
int tabsY = rectY - 17;
|
||||||
|
|
||||||
|
draw(new SaturnSprite(Textures.TABS)
|
||||||
|
.setX(tabsX)
|
||||||
|
.setY(tabsY)
|
||||||
|
.setWidth(43)
|
||||||
|
.setHeight(15)
|
||||||
|
.setAnimations(new FadeIn(1)));
|
||||||
|
|
||||||
|
int cloakWidth = 32;
|
||||||
|
int cloakHeight = 70;
|
||||||
|
|
||||||
|
int modX = rectX + 15;
|
||||||
|
int modY = rectY + 10;
|
||||||
|
int col = 0;
|
||||||
|
|
||||||
|
for (String cloak : Cloaks.availableCloaks) {
|
||||||
|
draw(new SaturnImage(Textures.getCloakPreview(cloak))
|
||||||
|
.setX(modX)
|
||||||
|
.setY(modY)
|
||||||
|
.setWidth(cloakWidth)
|
||||||
|
.setHeight(cloakHeight));
|
||||||
|
|
||||||
|
draw(new SaturnClickableSprite(Textures.BUTTON_BORDER, () -> {
|
||||||
|
SaturnApi.setCloak(cloak);
|
||||||
|
})
|
||||||
|
.setColor(10526880)
|
||||||
|
.setX(modX - 3)
|
||||||
|
.setY(modY - 3)
|
||||||
|
.setWidth(cloakWidth + 6)
|
||||||
|
.setHeight(cloakHeight + 6));
|
||||||
|
|
||||||
|
col++;
|
||||||
|
|
||||||
|
if (col < 6) {
|
||||||
|
modX += cloakWidth + 21;
|
||||||
|
} else {
|
||||||
|
modX = rectX + 15;
|
||||||
|
modY += cloakHeight + 20;
|
||||||
|
col = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,7 +6,7 @@ import org.saturnclient.ui.animations.FadeIn;
|
|||||||
import org.saturnclient.ui.animations.Slide;
|
import org.saturnclient.ui.animations.Slide;
|
||||||
import org.saturnclient.ui.widgets.SaturnButton;
|
import org.saturnclient.ui.widgets.SaturnButton;
|
||||||
import org.saturnclient.ui.widgets.SaturnImageButton;
|
import org.saturnclient.ui.widgets.SaturnImageButton;
|
||||||
import org.saturnclient.ui.widgets.SaturnSprite;
|
import org.saturnclient.ui.widgets.SaturnImage;
|
||||||
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ public class MainMenu extends SaturnUi {
|
|||||||
draw(
|
draw(
|
||||||
new SaturnImageButton(Textures.COSMETICS, 14, 14,
|
new SaturnImageButton(Textures.COSMETICS, 14, 14,
|
||||||
() -> {
|
() -> {
|
||||||
client.setScreen(new SettingsMenu());
|
client.setScreen(new CloaksMenu());
|
||||||
})
|
})
|
||||||
.setX((width / 2) + (buttonWidth / 2) + 3)
|
.setX((width / 2) + (buttonWidth / 2) + 3)
|
||||||
.setY((height - buttonHeight) / 2)
|
.setY((height - buttonHeight) / 2)
|
||||||
@@ -53,7 +53,7 @@ public class MainMenu extends SaturnUi {
|
|||||||
int logoSize = 49;
|
int logoSize = 49;
|
||||||
|
|
||||||
draw(
|
draw(
|
||||||
new SaturnSprite(Textures.LOGO_TEXT)
|
new SaturnImage(Textures.LOGO_TEXT)
|
||||||
.setX((width - logoSize) / 2)
|
.setX((width - logoSize) / 2)
|
||||||
.setY((height - 8) / 2 - 23)
|
.setY((height - 8) / 2 - 23)
|
||||||
.setWidth(logoSize)
|
.setWidth(logoSize)
|
||||||
@@ -61,7 +61,7 @@ public class MainMenu extends SaturnUi {
|
|||||||
.setAnimations(new FadeIn(3)));
|
.setAnimations(new FadeIn(3)));
|
||||||
|
|
||||||
draw(
|
draw(
|
||||||
new SaturnSprite(Textures.LOGO)
|
new SaturnImage(Textures.LOGO)
|
||||||
.setX((width - logoSize) / 2)
|
.setX((width - logoSize) / 2)
|
||||||
.setY(height / 2 - logoSize - 24)
|
.setY(height / 2 - logoSize - 24)
|
||||||
.setWidth(logoSize)
|
.setWidth(logoSize)
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ 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.widgets.SaturnClickableImage;
|
import org.saturnclient.ui.widgets.SaturnClickableImage;
|
||||||
import org.saturnclient.ui.widgets.SaturnImage;
|
import org.saturnclient.ui.widgets.SaturnSprite;
|
||||||
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
@@ -18,9 +18,9 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
int rectWidth = 330;
|
int rectWidth = 330;
|
||||||
int rectHeight = 228;
|
int rectHeight = 228;
|
||||||
int modsX = (width - rectWidth) / 2;
|
int modsX = (width - rectWidth) / 2;
|
||||||
int modsY = (height - rectHeight) / 2;
|
int modsY = (height - rectHeight + 15) / 2;
|
||||||
|
|
||||||
draw(new SaturnImage(Textures.SETTINGS_BG)
|
draw(new SaturnSprite(Textures.SETTINGS_BG)
|
||||||
.setX(modsX)
|
.setX(modsX)
|
||||||
.setY(modsY)
|
.setY(modsY)
|
||||||
.setWidth(rectWidth)
|
.setWidth(rectWidth)
|
||||||
@@ -30,7 +30,7 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
int tabsX = (width - 43) / 2;
|
int tabsX = (width - 43) / 2;
|
||||||
int tabsY = modsY - 17;
|
int tabsY = modsY - 17;
|
||||||
|
|
||||||
draw(new SaturnImage(Textures.TABS)
|
draw(new SaturnSprite(Textures.TABS)
|
||||||
.setX(tabsX)
|
.setX(tabsX)
|
||||||
.setY(tabsY)
|
.setY(tabsY)
|
||||||
.setWidth(43)
|
.setWidth(43)
|
||||||
@@ -70,7 +70,7 @@ public class SettingsMenu extends SaturnUi {
|
|||||||
int modY = modsY + 10;
|
int modY = modsY + 10;
|
||||||
int col = 0;
|
int col = 0;
|
||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
draw(new SaturnClickableImage(Textures.MOD, (m) -> {
|
draw(new SaturnClickableImage(Textures.MOD, (m) -> {
|
||||||
})
|
})
|
||||||
.setX(modX)
|
.setX(modX)
|
||||||
|
|||||||
@@ -20,4 +20,8 @@ public class Textures {
|
|||||||
public static final Identifier SETTINGS_BG = Identifier.ofVanilla("saturn/settings_bg");
|
public static final Identifier SETTINGS_BG = Identifier.ofVanilla("saturn/settings_bg");
|
||||||
public static final Identifier TABS = Identifier.ofVanilla("saturn/tabs");
|
public static final Identifier TABS = Identifier.ofVanilla("saturn/tabs");
|
||||||
public static final Identifier MOD = Identifier.of("saturnclient", "textures/gui/components/mod.png");
|
public static final Identifier MOD = Identifier.of("saturnclient", "textures/gui/components/mod.png");
|
||||||
|
|
||||||
|
public static Identifier getCloakPreview(String cloak) {
|
||||||
|
return Identifier.of("saturnclient", "textures/gui/cloak/" + cloak + ".png");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,12 +48,14 @@ public class SaturnButton extends SaturnWidget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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, this.text,
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void click() {
|
public void click() {
|
||||||
|
|||||||
@@ -9,11 +9,14 @@ import net.minecraft.client.gui.DrawContext;
|
|||||||
import net.minecraft.client.render.RenderLayer;
|
import net.minecraft.client.render.RenderLayer;
|
||||||
import net.minecraft.util.Identifier;
|
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 SaturnClickableImage extends SaturnWidget {
|
public class SaturnClickableImage extends SaturnWidget {
|
||||||
public Identifier sprite;
|
public Identifier sprite;
|
||||||
public boolean selected = false;
|
public boolean selected = false;
|
||||||
public Consumer<SaturnClickableImage> onPress;
|
public Consumer<SaturnClickableImage> onPress;
|
||||||
|
public int color = ColorHelper.getWhite(1.0f);
|
||||||
|
public int hoverColor = SaturnClient.COLOR;
|
||||||
|
|
||||||
public SaturnClickableImage(Identifier sprite, Consumer<SaturnClickableImage> onPress) {
|
public SaturnClickableImage(Identifier sprite, Consumer<SaturnClickableImage> onPress) {
|
||||||
this.sprite = sprite;
|
this.sprite = sprite;
|
||||||
@@ -29,7 +32,7 @@ public class SaturnClickableImage extends SaturnWidget {
|
|||||||
@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.drawTexture(RenderLayer::getGuiTextured, sprite, x, y, 0, 0, width, height, width,
|
context.drawTexture(RenderLayer::getGuiTextured, sprite, x, y, 0, 0, width, height, width,
|
||||||
height, hovering || selected ? SaturnClient.COLOR : ColorHelper.getWhite(alpha));
|
height, (hovering || selected ? hoverColor : color) | MathHelper.ceil(this.alpha * 255.0F) << 24);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -41,4 +44,5 @@ public class SaturnClickableImage extends SaturnWidget {
|
|||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
package org.saturnclient.ui.widgets;
|
||||||
|
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
import org.saturnclient.saturnclient.SaturnClient;
|
||||||
|
import org.saturnclient.ui.SaturnWidget;
|
||||||
|
|
||||||
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.render.RenderLayer;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
|
import net.minecraft.util.math.ColorHelper;
|
||||||
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
|
||||||
|
public class SaturnClickableSprite extends SaturnWidget {
|
||||||
|
public Identifier sprite;
|
||||||
|
public boolean selected = false;
|
||||||
|
public Consumer<SaturnClickableSprite> onPress;
|
||||||
|
public int color = ColorHelper.getWhite(1.0f);
|
||||||
|
public int hoverColor = SaturnClient.COLOR;
|
||||||
|
|
||||||
|
public SaturnClickableSprite(Identifier sprite, Consumer<SaturnClickableSprite> onPress) {
|
||||||
|
this.sprite = sprite;
|
||||||
|
this.onPress = onPress;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaturnClickableSprite(Identifier sprite, Runnable onPress) {
|
||||||
|
this(sprite, (m) -> {
|
||||||
|
onPress.run();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(DrawContext context, boolean hovering, int mouseX, int mouseY) {
|
||||||
|
context.drawGuiTexture(RenderLayer::getGuiTextured, sprite, this.x,
|
||||||
|
this.y, this.width, this.height,
|
||||||
|
(hovering || selected ? hoverColor : color) | MathHelper.ceil(this.alpha * 255.0F) << 24);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void click() {
|
||||||
|
this.onPress.accept(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaturnClickableSprite setSelected(boolean selected) {
|
||||||
|
this.selected = selected;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaturnClickableSprite setColor(int color) {
|
||||||
|
this.color = color;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public SaturnClickableSprite setHoverColor(int color) {
|
||||||
|
this.hoverColor = color;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -16,7 +16,7 @@ public class SaturnImage extends SaturnWidget {
|
|||||||
|
|
||||||
@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.drawGuiTexture(RenderLayer::getGuiTextured, sprite, this.x,
|
context.drawTexture(RenderLayer::getGuiTextured, sprite, x, y, 0, 0, width, height, width,
|
||||||
this.y, this.width, this.height, ColorHelper.getWhite(this.alpha));
|
height, ColorHelper.getWhite(alpha));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class SaturnSprite extends SaturnWidget {
|
|||||||
|
|
||||||
@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.drawTexture(RenderLayer::getGuiTextured, sprite, x, y, 0, 0, width, height, width,
|
context.drawGuiTexture(RenderLayer::getGuiTextured, sprite, this.x,
|
||||||
height, ColorHelper.getWhite(alpha));
|
this.y, this.width, this.height, ColorHelper.getWhite(this.alpha));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 57 KiB After Width: | Height: | Size: 57 KiB |
Reference in New Issue
Block a user