diff options
author | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-01-20 10:15:05 -0500 |
---|---|---|
committer | Kevinthegreat <92656833+kevinthegreat1@users.noreply.github.com> | 2024-01-20 10:15:05 -0500 |
commit | c5101497e33e424b01425e9df17c602948b2402e (patch) | |
tree | 0a56d32626755ab58f7a5782dc753c6649b70567 /src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder | |
parent | 83a31424f89a02c93e7054a3c0b041dca81f8d68 (diff) | |
download | Skyblocker-c5101497e33e424b01425e9df17c602948b2402e.tar.gz Skyblocker-c5101497e33e424b01425e9df17c602948b2402e.tar.bz2 Skyblocker-c5101497e33e424b01425e9df17c602948b2402e.zip |
Refactor Party Finder
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder')
6 files changed, 35 insertions, 42 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java index 5c7edf99..0a048775 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/FinderSettingsContainer.java @@ -64,13 +64,13 @@ public class FinderSettingsContainer extends ContainerWidget { //System.out.println(stack.toString()); String name = stack.getName().getString().toLowerCase(); if (name.contains("floor")) { - + //System.out.println("Floor selector created"); this.floorSelector = new OptionDropdownWidget(screen, stack.getName(), null, getX() + getWidth() / 4 - 70, getY() + 20, 140, 170, slot.id); if (!setSelectedElementFromTooltip(slot, stack, floorSelector)) return false; initializedWidgets.add(floorSelector); - + } else if (name.contains("dungeon type")) { this.dungeonTypeSelector = new OptionDropdownWidget(screen, stack.getName(), null, getX() + (3 * getWidth()) / 4 - 70, getY() + 20, 140, 100, slot.id); @@ -121,7 +121,7 @@ public class FinderSettingsContainer extends ContainerWidget { return true; } else { screen.partyFinderButton.active = false; - + if (nameLowerCase.contains("floor")) { updateDropdownOptionWidget(handler, floorSelector); currentlyOpenedOption = floorSelector; @@ -181,6 +181,7 @@ public class FinderSettingsContainer extends ContainerWidget { } return false; } + /** * @return true if all goes well */ diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/OptionDropdownWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/OptionDropdownWidget.java index 0ce86d9a..64e45283 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/OptionDropdownWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/OptionDropdownWidget.java @@ -103,7 +103,8 @@ public class OptionDropdownWidget extends ElementListWidget<OptionDropdownWidget matrices.push(); matrices.translate(0, 0, 100); } - if (animationProgress < 1) animationProgress += delta * 0.5f;else if (animationProgress != 1) animationProgress = 1; + if (animationProgress < 1) animationProgress += delta * 0.5f; + else if (animationProgress != 1) animationProgress = 1; if (PartyFinderScreen.DEBUG) { context.drawText(MinecraftClient.getInstance().textRenderer, String.valueOf(slotId), getX(), getY() - 10, 0xFFFF0000, true); context.drawText(MinecraftClient.getInstance().textRenderer, String.valueOf(backButtonId), getX() + 50, getY() - 10, 0xFFFF0000, true); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java index b7fd8d9d..1c7ab160 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntry.java @@ -23,6 +23,7 @@ import net.minecraft.text.Text; import net.minecraft.text.TextColor; import net.minecraft.util.Formatting; import net.minecraft.util.Identifier; +import org.joml.Matrix4f; import java.util.Arrays; import java.util.List; @@ -30,8 +31,6 @@ import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.joml.Matrix4f; - public class PartyEntry extends ElementListWidget.Entry<PartyEntry> { private static final Identifier PARTY_CARD_TEXTURE = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/party_card.png"); private static final Identifier PARTY_CARD_TEXTURE_HOVER = new Identifier(SkyblockerMod.NAMESPACE, "textures/gui/party_card_hover.png"); diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntryListWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntryListWidget.java index 263f5ab3..27ee1605 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntryListWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyEntryListWidget.java @@ -18,24 +18,25 @@ public class PartyEntryListWidget extends ElementListWidget<PartyEntry> { private String search = ""; public static String BASE_SKULL_NBT = """ - { - "SkullOwner": { - "Id": [ - 1215241996, - -1849412511, - -1161255720, - -889217537 - ], - "Properties": { - "textures": [ - { - "Value": "%TEXTURE%" - } - ] - } - } + { + "SkullOwner": { + "Id": [ + 1215241996, + -1849412511, + -1161255720, + -889217537 + ], + "Properties": { + "textures": [ + { + "Value": "%TEXTURE%" } - """; + ] + } + } + } + """; + public PartyEntryListWidget(MinecraftClient minecraftClient, int width, int height, int y, int itemHeight) { super(minecraftClient, width, height, y, itemHeight); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java index ba62515c..16be2b67 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/PartyFinderScreen.java @@ -6,9 +6,6 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents; import net.minecraft.block.entity.SignBlockEntity; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.DrawContext; -import net.minecraft.client.gui.Drawable; -import net.minecraft.client.gui.Element; -import net.minecraft.client.gui.Selectable; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.ingame.GenericContainerScreen; import net.minecraft.client.gui.widget.ButtonWidget; @@ -211,7 +208,6 @@ public class PartyFinderScreen extends Screen { createPartyButton.active = false; - addDrawableChild(partyEntryListWidget); addDrawableChild(searchField); addDrawableChild(refreshButton); @@ -238,11 +234,6 @@ public class PartyFinderScreen extends Screen { } @Override - protected <T extends Element & Drawable & Selectable> T addDrawableChild(T drawableElement) { - return super.addDrawableChild(drawableElement); - } - - @Override public void render(DrawContext context, int mouseX, int mouseY, float delta) { super.render(context, mouseX, mouseY, delta); if (searchField.visible) { @@ -260,7 +251,7 @@ public class PartyFinderScreen extends Screen { } if (isWaitingForServer()) { String s = "Waiting for server..."; - context.drawText(textRenderer, s, this.width - textRenderer.getWidth(s) - 5, this.height-textRenderer.fontHeight - 2, 0xFFFFFFFF, true); + context.drawText(textRenderer, s, this.width - textRenderer.getWidth(s) - 5, this.height - textRenderer.fontHeight - 2, 0xFFFFFFFF, true); } if (!settingsContainer.canInteract(null)) { context.fill(0, 0, width, height, 50, 0x40000000); @@ -342,6 +333,7 @@ public class PartyFinderScreen extends Screen { private boolean signFront = true; private @Nullable SignBlockEntity sign = null; + public void updateSign(SignBlockEntity sign, boolean front) { setCurrentPage(Page.SIGN); signFront = front; @@ -375,7 +367,7 @@ public class PartyFinderScreen extends Screen { parties.add(new PartyEntry.NoParties()); } else { for (Slot slot : handler.slots) { - if (slot.id > (handler.getRows()-1) * 9 - 1 || !slot.hasStack()) continue; + if (slot.id > (handler.getRows() - 1) * 9 - 1 || !slot.hasStack()) continue; if (slot.getStack().isOf(Items.PLAYER_HEAD)) { assert this.client != null; parties.add(new PartyEntry(slot.getStack().getTooltip(this.client.player, TooltipContext.BASIC), this, slot.id)); @@ -435,7 +427,7 @@ public class PartyFinderScreen extends Screen { if (currentPage == Page.SIGN) { assert this.client.player != null; this.client.player.openEditSignScreen(sign, signFront); - }else this.client.setScreen(new GenericContainerScreen(handler, inventory, title)); + } else this.client.setScreen(new GenericContainerScreen(handler, inventory, title)); this.client.getToastManager().add(new SystemToast(SystemToast.Type.PERIODIC_NOTIFICATION, Text.translatable("skyblocker.partyFinder.error.name"), Text.translatable("skyblocker.partyFinder.error.message"))); aborted = true; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/RangedValueWidget.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/RangedValueWidget.java index 5cded2e2..0fcd9d1b 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/RangedValueWidget.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/partyfinder/RangedValueWidget.java @@ -60,12 +60,10 @@ public class RangedValueWidget extends ContainerWidget { if (i < 0 || i > 999) { // Too beeg or too smol this.okButton.active = false; this.input.setGood(false); - } - else if (state == State.MODIFYING_MIN && i > max) { // If editing min and bigger than max + } else if (state == State.MODIFYING_MIN && i > max) { // If editing min and bigger than max this.okButton.active = false; this.input.setGood(false); - } - else { // If editing max and smaller than min + } else { // If editing max and smaller than min boolean active1 = state != State.MODIFYING_MAX || i >= min; this.okButton.active = active1; this.input.setGood(active1); @@ -112,7 +110,7 @@ public class RangedValueWidget extends ContainerWidget { // Minimum int minStartX = getX() + 1; int minEndX = getX() + (width >> 1) - 6; - context.fill(minStartX, getY() + 1 + textOffset, minEndX, getY() + 14 + textOffset, state == State.MODIFYING_MIN ? selectedColor: (mouseOverMin ? 0xFFFFFFFF: unselectedColor)); + context.fill(minStartX, getY() + 1 + textOffset, minEndX, getY() + 14 + textOffset, state == State.MODIFYING_MIN ? selectedColor : (mouseOverMin ? 0xFFFFFFFF : unselectedColor)); context.fill(minStartX + 1, getY() + 2 + textOffset, minEndX - 1, getY() + 13 + textOffset, 0xFF000000); context.drawCenteredTextWithShadow(textRenderer, String.valueOf(min), (minStartX + minEndX) >> 1, getY() + 3 + textOffset, 0xFFFFFFFF); @@ -120,7 +118,7 @@ public class RangedValueWidget extends ContainerWidget { // Maximum int maxStartX = getX() + (width >> 1) + 5; int maxEndX = getX() + width - 1; - context.fill(maxStartX, getY() + 1 + textOffset, maxEndX, getY() + 14 + textOffset, state == State.MODIFYING_MAX ? selectedColor: (mouseOverMax ? 0xFFFFFFFF: unselectedColor)); + context.fill(maxStartX, getY() + 1 + textOffset, maxEndX, getY() + 14 + textOffset, state == State.MODIFYING_MAX ? selectedColor : (mouseOverMax ? 0xFFFFFFFF : unselectedColor)); context.fill(maxStartX + 1, getY() + 2 + textOffset, maxEndX - 1, getY() + 13 + textOffset, 0xFF000000); context.drawCenteredTextWithShadow(textRenderer, String.valueOf(max), (maxStartX + maxEndX) >> 1, getY() + 3 + textOffset, 0xFFFFFFFF); @@ -184,7 +182,7 @@ public class RangedValueWidget extends ContainerWidget { messages[1].getString(), messages[2].getString(), messages[3].getString() - )); + )); } screen.justOpenedSign = false; } @@ -242,6 +240,7 @@ public class RangedValueWidget extends ContainerWidget { MODIFYING_MIN, MODIFYING_MAX; } + protected class ModifiedTextFieldWidget extends TextFieldWidget { private boolean isGood = false; |