diff options
| author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-04-12 18:10:12 -0400 |
|---|---|---|
| committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-04-12 18:10:12 -0400 |
| commit | 27e9e7b90a76bb662fd7a5f8fe1d7fbec17a8cb9 (patch) | |
| tree | 572a952b05a30afaf2632bbbcee7ef770be40463 /src/main/java/de/hysky/skyblocker/skyblock/auction/widgets | |
| parent | 1c6fffb0c191074d09d993fb24ce9c24c234f5f4 (diff) | |
| download | Skyblocker-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')
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()) { |
