From 963cdb6d622a53ee30df622d631118bcadbd2b56 Mon Sep 17 00:00:00 2001 From: MelanX Date: Sat, 6 Apr 2024 16:14:28 +0200 Subject: [PATCH] fix crash when removing spawn position --- build.gradle | 2 +- .../client/screen/CreateTeamScreen.java | 22 ++++++++++++------- .../screen/edit/InvitablePlayersScreen.java | 2 +- .../client/screen/edit/TeamPlayersScreen.java | 2 +- .../client/screen/info/TeamEditScreen.java | 2 +- .../melanx/skyguis/network/EasyNetwork.java | 2 ++ 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/build.gradle b/build.gradle index 26ee602..ac49664 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ dependencies { annotationProcessor "org.moddingx:LibX:1.20.1-5.0.5" implementation fg.deobf("org.moddingx:LibX:1.20.1-5.0.5") - implementation fg.deobf("de.melanx:SkyblockBuilder:1.20.1-5.0.5") + implementation fg.deobf("de.melanx:SkyblockBuilder:1.20.1-5.0.16") runtimeOnly fg.deobf("mezz.jei:jei-1.20.1-forge:15.0.0.12") } diff --git a/src/main/java/de/melanx/skyguis/client/screen/CreateTeamScreen.java b/src/main/java/de/melanx/skyguis/client/screen/CreateTeamScreen.java index f324b0a..7cf52b4 100644 --- a/src/main/java/de/melanx/skyguis/client/screen/CreateTeamScreen.java +++ b/src/main/java/de/melanx/skyguis/client/screen/CreateTeamScreen.java @@ -62,20 +62,15 @@ protected void init() { Minecraft.getInstance().player.sendSystemMessage(ComponentBuilder.text("empty_templates").withStyle(ChatFormatting.BOLD, ChatFormatting.RED)); return; } - String original = this.templates.get(this.currIndex); - String shortened = TextHelper.shorten(this.font, original, 110); - this.enableTooltip = !shortened.equals(original); - this.currTemplate = original; + + String shortened = this.setCurrentTemplateAndGetShortenedName(); Button templateButton = Button.builder(Component.literal(shortened), button -> { this.currIndex++; if (this.currIndex >= this.templates.size()) { this.currIndex = 0; } - String orig = this.templates.get(this.currIndex); - String s = TextHelper.shorten(this.font, orig, 110); - this.enableTooltip = !s.equals(orig); - this.currTemplate = orig; + String s = this.setCurrentTemplateAndGetShortenedName(); button.setMessage(Component.literal(s)); }) .bounds(this.x(65), this.y(60), 122, 20) @@ -103,6 +98,17 @@ protected void init() { this.addRenderableWidget(Button.builder(ABORT, button -> this.onClose()).bounds(this.x(106), this.y(92), 60, 20).build()); } + private String setCurrentTemplateAndGetShortenedName() { + String orig = this.templates.get(this.currIndex); + String s = TextHelper.shorten(this.font, orig, 110); + //noinspection DataFlowIssue + String desc = TemplateLoader.getConfiguredTemplate(orig).getDescriptionComponent().getString(); + this.enableTooltip = !s.equals(orig) || !desc.isBlank(); + this.currTemplate = orig; + + return s; + } + @Override public void tick() { this.name.tick(); diff --git a/src/main/java/de/melanx/skyguis/client/screen/edit/InvitablePlayersScreen.java b/src/main/java/de/melanx/skyguis/client/screen/edit/InvitablePlayersScreen.java index 69f1257..cd84610 100644 --- a/src/main/java/de/melanx/skyguis/client/screen/edit/InvitablePlayersScreen.java +++ b/src/main/java/de/melanx/skyguis/client/screen/edit/InvitablePlayersScreen.java @@ -92,7 +92,7 @@ public void render_(@Nonnull GuiGraphics guiGraphics, int mouseX, int mouseY, fl public void updateButtons() { Set selectedIds = this.getSelectedValues().stream().map(GameProfile::getId).collect(Collectors.toSet()); - this.inviteButton.active = selectedIds.size() > 0; + this.inviteButton.active = !selectedIds.isEmpty(); this.selectAll.selected = this.allSelected(); this.selectedAmount = selectedIds.size(); } diff --git a/src/main/java/de/melanx/skyguis/client/screen/edit/TeamPlayersScreen.java b/src/main/java/de/melanx/skyguis/client/screen/edit/TeamPlayersScreen.java index 31df563..297e946 100644 --- a/src/main/java/de/melanx/skyguis/client/screen/edit/TeamPlayersScreen.java +++ b/src/main/java/de/melanx/skyguis/client/screen/edit/TeamPlayersScreen.java @@ -89,7 +89,7 @@ public void render_(@Nonnull GuiGraphics guiGraphics, int mouseX, int mouseY, fl public void updateButtons() { Set selectedIds = this.getSelectedValues().stream().map(GameProfile::getId).collect(Collectors.toSet()); - this.kickButton.active = selectedIds.size() > 0; + this.kickButton.active = !selectedIds.isEmpty(); this.selectAll.selected = this.allSelected(); this.selectedAmount = selectedIds.size(); } diff --git a/src/main/java/de/melanx/skyguis/client/screen/info/TeamEditScreen.java b/src/main/java/de/melanx/skyguis/client/screen/info/TeamEditScreen.java index c492420..68fe6a1 100644 --- a/src/main/java/de/melanx/skyguis/client/screen/info/TeamEditScreen.java +++ b/src/main/java/de/melanx/skyguis/client/screen/info/TeamEditScreen.java @@ -107,7 +107,7 @@ protected void init() { this.removeButton = this.addRenderableWidget(Button.builder(REMOVE, button -> { BlockPos removePos = this.getPos(); if (this.posValid && removePos != null) { - SkyGUIs.getNetwork().handleEditSpawns(EditSpawns.Type.REMOVE, removePos, null); + SkyGUIs.getNetwork().handleEditSpawns(EditSpawns.Type.REMOVE, removePos, Direction.UP); //noinspection ConstantConditions this.getLoadingCircle().setActive(true); } diff --git a/src/main/java/de/melanx/skyguis/network/EasyNetwork.java b/src/main/java/de/melanx/skyguis/network/EasyNetwork.java index 7fde61f..d16eec5 100644 --- a/src/main/java/de/melanx/skyguis/network/EasyNetwork.java +++ b/src/main/java/de/melanx/skyguis/network/EasyNetwork.java @@ -11,9 +11,11 @@ import org.moddingx.libx.mod.ModX; import org.moddingx.libx.network.NetworkX; +import javax.annotation.ParametersAreNonnullByDefault; import java.util.Set; import java.util.UUID; +@ParametersAreNonnullByDefault public class EasyNetwork extends NetworkX { public EasyNetwork(ModX mod) {