From 18b685e1b2965befc31eaaa2b19f4c774deb0ec4 Mon Sep 17 00:00:00 2001 From: Up Date: Tue, 2 Jan 2024 10:46:09 +0100 Subject: [PATCH] fix deity list command --- .../lukegrahamlandry/tribes/commands/DeityCommands.java | 7 +++++-- .../tribes/commands/util/DeityArgumentType.java | 2 +- .../tribes/commands/util/TribeArgumentType.java | 2 +- .../github/lukegrahamlandry/tribes/events/TickHandler.java | 1 - 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/io/github/lukegrahamlandry/tribes/commands/DeityCommands.java b/src/main/java/io/github/lukegrahamlandry/tribes/commands/DeityCommands.java index ecc1e63..c6fa491 100644 --- a/src/main/java/io/github/lukegrahamlandry/tribes/commands/DeityCommands.java +++ b/src/main/java/io/github/lukegrahamlandry/tribes/commands/DeityCommands.java @@ -78,8 +78,11 @@ private static int handleChoose(CommandContext source) throw private static int handleList(CommandContext source) { DeitiesManager.deities.forEach((key, data) -> { - StringBuilder domains = new StringBuilder(); - data.domains.forEach((s) -> domains.append(s).append("")); + var domains = String.join(", ", data.domains); + if (data.domains.size() > 1) { + var first = data.domains.subList(0, data.domains.size() - 1); + domains = String.join(", ", first) + " and " + data.domains.get(data.domains.size() - 1); + } source.getSource().sendSuccess(TribeSuccessType.DESCRIBE_DEITY.getBlueText(data.displayName, data.label, domains), false); }); return Command.SINGLE_SUCCESS; diff --git a/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/DeityArgumentType.java b/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/DeityArgumentType.java index b525379..91aa258 100644 --- a/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/DeityArgumentType.java +++ b/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/DeityArgumentType.java @@ -15,7 +15,7 @@ import java.util.Objects; import java.util.concurrent.CompletableFuture; -// big problem: +// FIXME big problem: // since this uses a greedy string you can only have it as the last argument // further thinking required on how to fix this diff --git a/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/TribeArgumentType.java b/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/TribeArgumentType.java index d4b1eee..5cc60a5 100644 --- a/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/TribeArgumentType.java +++ b/src/main/java/io/github/lukegrahamlandry/tribes/commands/util/TribeArgumentType.java @@ -17,7 +17,7 @@ import java.util.Objects; import java.util.concurrent.CompletableFuture; -// big problem: +// FIXME big problem: // since this uses a greedy string you can only have it as the last argument // further thinking required on how to fix this diff --git a/src/main/java/io/github/lukegrahamlandry/tribes/events/TickHandler.java b/src/main/java/io/github/lukegrahamlandry/tribes/events/TickHandler.java index b14ad41..9af6d4d 100644 --- a/src/main/java/io/github/lukegrahamlandry/tribes/events/TickHandler.java +++ b/src/main/java/io/github/lukegrahamlandry/tribes/events/TickHandler.java @@ -1,6 +1,5 @@ package io.github.lukegrahamlandry.tribes.events; - import io.github.lukegrahamlandry.tribes.TribesMain; import io.github.lukegrahamlandry.tribes.config.TribesConfig; import io.github.lukegrahamlandry.tribes.init.NetworkHandler;