From 125b604393ae7b0be928e53377d4975cc30761b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Sun, 20 Oct 2024 14:24:12 +0200 Subject: [PATCH] small refactoring and added missing async task --- .../adminChat/AdminChatCommand.java | 4 +--- .../spawn/appliances/playtime/Playtime.java | 3 ++- .../appliances/playtime/PlaytimeCommand.java | 20 +++++++++---------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/adminChat/AdminChatCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/adminChat/AdminChatCommand.java index 7adaa72..71b2522 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/adminChat/AdminChatCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/adminChat/AdminChatCommand.java @@ -14,9 +14,7 @@ public class AdminChatCommand extends ApplianceCommand.PlayerChecked @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { - if(!sender.hasPermission("admin")) { - return; - } + if(!sender.hasPermission("admin")) return; String message = String.join(" ", args); getAppliance().sendMessage(getPlayer(), message); diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/Playtime.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/Playtime.java index d1d6203..6a59694 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/Playtime.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/Playtime.java @@ -14,7 +14,7 @@ import java.util.List; import java.util.Objects; public class Playtime extends Appliance { - public Component getFormattedPlayerTime(OfflinePlayer player){ + public Component getFormattedPlaytime(OfflinePlayer player) { int playtimeInTicks = player.getStatistic(Statistic.PLAY_ONE_MINUTE); String playtime = DataSizeConverter.formatSecondsToHumanReadable(playtimeInTicks / Ticks.TICKS_PER_SECOND); return Component.text() @@ -24,6 +24,7 @@ public class Playtime extends Appliance { .append(Component.text(playtime, NamedTextColor.GOLD)) .build(); } + @Override protected @NotNull List> commands() { return List.of(new PlaytimeCommand()); diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/PlaytimeCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/PlaytimeCommand.java index f24e14c..03cffc7 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/PlaytimeCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/playtime/PlaytimeCommand.java @@ -1,5 +1,6 @@ package eu.mhsl.craftattack.spawn.appliances.playtime; +import eu.mhsl.craftattack.spawn.Main; import eu.mhsl.craftattack.spawn.appliance.ApplianceCommand; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.format.NamedTextColor; @@ -16,16 +17,15 @@ public class PlaytimeCommand extends ApplianceCommand.PlayerChecked { @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { - String playerName = getPlayer().getName(); - if(args.length == 1) { - playerName = args[0]; - } + String playerName = args.length == 1 ? args[0] : getPlayer().getName(); - OfflinePlayer player = Bukkit.getOfflinePlayer(playerName); - if (!player.hasPlayedBefore()) { - sender.sendMessage(Component.text("Der Spieler existiert nicht!", NamedTextColor.RED)); - return; - } - sender.sendMessage(getAppliance().getFormattedPlayerTime(player)); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + OfflinePlayer player = Bukkit.getOfflinePlayer(playerName); + if (!player.hasPlayedBefore()) { + sender.sendMessage(Component.text("Der Spieler existiert nicht!", NamedTextColor.RED)); + return; + } + sender.sendMessage(getAppliance().getFormattedPlaytime(player)); + }); } } \ No newline at end of file