aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets
diff options
context:
space:
mode:
authorKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-04-12 18:10:12 -0400
committerKevinthegreat <92656833+kevinthegreat1@users.noreply.github.com>2024-04-12 18:10:12 -0400
commit27e9e7b90a76bb662fd7a5f8fe1d7fbec17a8cb9 (patch)
tree572a952b05a30afaf2632bbbcee7ef770be40463 /src/main/java/de/hysky/skyblocker/skyblock/auction/widgets
parent1c6fffb0c191074d09d993fb24ce9c24c234f5f4 (diff)
downloadSkyblocker-27e9e7b90a76bb662fd7a5f8fe1d7fbec17a8cb9.tar.gz
Skyblocker-27e9e7b90a76bb662fd7a5f8fe1d7fbec17a8cb9.tar.bz2
Skyblocker-27e9e7b90a76bb662fd7a5f8fe1d7fbec17a8cb9.zip
Refactor fancy auction house
- Add color and center rarity filter text - Use ItemUtils.getNbtTooltips - Use longs for item prices
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/auction/widgets')
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java3
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java33
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SliderWidget.java1
3 files changed, 22 insertions, 15 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java
index f200179a..03d91780 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/CategoryTabWidget.java
@@ -34,14 +34,11 @@ public class CategoryTabWidget extends ToggleButtonWidget {
Identifier identifier = textures.get(true, this.toggled);
int x = getX();
if (toggled) x -= 2;
- //RenderSystem.disableDepthTest();
context.drawGuiTexture(identifier, x, this.getY(), this.width, this.height);
- //RenderSystem.enableDepthTest();
context.drawItem(icon, x + 9, getY() + 5);
if (isMouseOver(mouseX, mouseY)) {
context.getMatrices().push();
- //context.getMatrices().translate(0, 0, 500f);
context.drawTooltip(MinecraftClient.getInstance().textRenderer, icon.getTooltip(MinecraftClient.getInstance().player, TooltipContext.BASIC), mouseX, mouseY);
context.getMatrices().pop();
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java
index a5bc34a3..b6bd42a9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/RarityWidget.java
@@ -2,6 +2,8 @@ package de.hysky.skyblocker.skyblock.auction.widgets;
import de.hysky.skyblocker.SkyblockerMod;
import de.hysky.skyblocker.skyblock.auction.SlotClickHandler;
+import de.hysky.skyblocker.skyblock.item.ItemRarityBackgrounds;
+import de.hysky.skyblocker.skyblock.item.SkyblockItemRarity;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.client.gui.DrawContext;
@@ -9,9 +11,11 @@ import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
import net.minecraft.client.gui.widget.ClickableWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
+import net.minecraft.util.Formatting;
import net.minecraft.util.Identifier;
import java.util.List;
+import java.util.Map;
public class RarityWidget extends ClickableWidget {
@@ -30,7 +34,6 @@ public class RarityWidget extends ClickableWidget {
MatrixStack matrices = context.getMatrices();
matrices.push();
matrices.translate(getX(), getY(), 0);
- //context.drawText(parent.getTextRender(), String.valueOf(slotId), 0, -9, Colors.RED, true);
boolean onLeftArrow = isOnLeftArrow(mouseX);
boolean onRightArrow = isOnRightArrow(mouseX);
context.drawTexture(TEXTURE, 0, 0, 0, 0, 48, 11, 48, 11);
@@ -40,16 +43,15 @@ public class RarityWidget extends ClickableWidget {
// Text
TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer;
int textWidth = textRenderer.getWidth(current);
- int color = 0xFFEAEAEA;
if (textWidth > 34) {
+ float scale = 34f / textWidth;
matrices.push();
- //matrices.translate(-7-getX(), -5.5f-getY(), 0);
- matrices.translate(7, 5.5f, 0);
- matrices.scale(34.f / textWidth, 34.f / textWidth, 1.f);
- context.drawText(textRenderer, current, 0, -textRenderer.fontHeight / 2, color, false);
+ matrices.translate(0, 5.5, 0);
+ matrices.scale(scale, scale, 1);
+ context.drawCenteredTextWithShadow(textRenderer, current, (int) (24 / scale), -textRenderer.fontHeight / 2, color);
matrices.pop();
} else {
- context.drawText(textRenderer, current, 7, 2, color, false);
+ context.drawCenteredTextWithShadow(textRenderer, current, 24, 2, color);
}
matrices.pop();
@@ -57,11 +59,11 @@ public class RarityWidget extends ClickableWidget {
}
- private boolean isOnRightArrow(int mouseX) {
+ private boolean isOnRightArrow(double mouseX) {
return isHovered() && mouseX - getX() > 40;
}
- private boolean isOnLeftArrow(int mouseX) {
+ private boolean isOnLeftArrow(double mouseX) {
return isHovered() && mouseX - getX() < 7;
}
@@ -76,18 +78,27 @@ public class RarityWidget extends ClickableWidget {
private List<Text> tooltip = List.of();
private String current = "?";
+ private int color = 0xFFEAEAEA;
public void setText(List<Text> tooltip, String current) {
this.tooltip = tooltip;
this.current = current;
+ for (Map.Entry<String, SkyblockItemRarity> rarity : ItemRarityBackgrounds.LORE_RARITIES.entrySet()) {
+ if (current.toUpperCase().contains(rarity.getKey())) {
+ this.color = rarity.getValue().color | 0xFF000000;
+ return;
+ }
+ }
+ //noinspection DataFlowIssue
+ this.color = Formatting.GRAY.getColorValue() | 0xFF000000;
}
@Override
public void onClick(double mouseX, double mouseY) {
if (slotId == -1) return;
- if (isOnLeftArrow((int) mouseX)) {
+ if (isOnLeftArrow(mouseX)) {
onClick.click(slotId, 1);
- } else if (isOnRightArrow((int) mouseX)) {
+ } else if (isOnRightArrow(mouseX)) {
onClick.click(slotId, 0);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SliderWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SliderWidget.java
index 549980ae..22fa1ad8 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SliderWidget.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/auction/widgets/SliderWidget.java
@@ -53,7 +53,6 @@ public class SliderWidget<E extends Enum<E> & SliderWidget.OptionInfo> extends C
int optionWidth = current.getOptionSize()[0];
int optionHeight = current.getOptionSize()[1];
- //context.drawText(parent.getTextRender(), String.valueOf(slotId), 0, -9, Colors.RED, true);
context.drawTexture(current.getBackTexture(), 0, 0, 0, 0, getWidth(), getHeight(), getWidth(), getHeight());
context.drawTexture(current.getOptionTexture(), x, y, 0, 0, optionWidth, optionHeight, optionWidth, optionHeight);
if (isHovered()) {