From 0e3a54a1b93e99bc5984d288b87ac3195612af2b Mon Sep 17 00:00:00 2001 From: lars Date: Wed, 25 Dec 2024 16:12:07 +0100 Subject: [PATCH] made repository calls async --- .../spawn/appliances/event/Event.java | 31 +++++++++++-------- .../command/EventOpenSessionCommand.java | 2 +- .../feedback/commands/FeedbackCommand.java | 6 +++- .../commands/RequestFeedbackCommand.java | 5 ++- .../spawn/appliances/report/Report.java | 8 +++-- .../appliances/report/ReportsCommand.java | 6 +++- 6 files changed, 39 insertions(+), 19 deletions(-) diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/Event.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/Event.java index 3b6e5db..3adc625 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/Event.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/Event.java @@ -83,13 +83,15 @@ public class Event extends Appliance { public void openEvent() { if(this.isOpen) throw new ApplianceCommand.Error("Es läuft derzeit bereits ein Event!"); - ReqResp sessionResponse = this.queryRepository(EventRepository.class).createSession(); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + ReqResp sessionResponse = this.queryRepository(EventRepository.class).createSession(); - if(sessionResponse.status() != HttpStatus.OK) - throw new ApplianceCommand.Error("Event-Server meldet Fehler: " + sessionResponse.status()); + if(sessionResponse.status() != HttpStatus.OK) + throw new ApplianceCommand.Error("Event-Server meldet Fehler: " + sessionResponse.status()); - this.isOpen = true; - this.roomId = sessionResponse.data().uuid(); + this.isOpen = true; + this.roomId = sessionResponse.data().uuid(); + }); } public void joinEvent(Player p) { @@ -110,16 +112,19 @@ public class Event extends Appliance { Main.instance().getLogger().info("Verbinde mit eventserver: " + p.getName()); p.sendMessage(Component.text("Authentifiziere...", NamedTextColor.GREEN)); - ReqResp queueRespone = this.queryRepository(EventRepository.class) - .queueRoom(new EventRepository.QueueRoom(p.getUniqueId(), this.roomId)); - if(queueRespone.status() != HttpStatus.OK || queueRespone.data().error() != null) { - p.sendMessage(Component.text("Fehler beim Betreten: " + queueRespone.data().error(), NamedTextColor.RED)); - return; - } + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + ReqResp queueResponse = this.queryRepository(EventRepository.class) + .queueRoom(new EventRepository.QueueRoom(p.getUniqueId(), this.roomId)); - p.sendMessage(Component.text("Betrete...", NamedTextColor.GREEN)); - PluginMessage.connect(p, this.localConfig().getString("connect-server-name")); + if(queueResponse.status() != HttpStatus.OK || queueResponse.data().error() != null) { + p.sendMessage(Component.text("Fehler beim Betreten: " + queueResponse.data().error(), NamedTextColor.RED)); + return; + } + + p.sendMessage(Component.text("Betrete...", NamedTextColor.GREEN)); + PluginMessage.connect(p, this.localConfig().getString("connect-server-name")); + }); } public void endEvent() { diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/command/EventOpenSessionCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/command/EventOpenSessionCommand.java index addf32a..67f0451 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/command/EventOpenSessionCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/event/command/EventOpenSessionCommand.java @@ -16,6 +16,6 @@ public class EventOpenSessionCommand extends ApplianceCommand { @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { this.getAppliance().openEvent(); - sender.sendMessage(Component.text("Event-Server erfolgreich gestartet!", NamedTextColor.GREEN)); + sender.sendMessage(Component.text("Event-Server gestartet!", NamedTextColor.GREEN)); } } diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/FeedbackCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/FeedbackCommand.java index c375088..1d85934 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/FeedbackCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/FeedbackCommand.java @@ -1,8 +1,10 @@ package eu.mhsl.craftattack.spawn.appliances.feedback.commands; +import eu.mhsl.craftattack.spawn.Main; import eu.mhsl.craftattack.spawn.appliance.ApplianceCommand; import eu.mhsl.craftattack.spawn.appliances.feedback.Feedback; import eu.mhsl.craftattack.spawn.util.text.ComponentUtil; +import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; @@ -17,6 +19,8 @@ public class FeedbackCommand extends ApplianceCommand.PlayerChecked { @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { sender.sendMessage(ComponentUtil.pleaseWait()); - this.getAppliance().requestFeedback("self-issued-ingame", List.of(this.getPlayer()), null); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + this.getAppliance().requestFeedback("self-issued-ingame", List.of(this.getPlayer()), null); + }); } } diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/RequestFeedbackCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/RequestFeedbackCommand.java index d451909..aced270 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/RequestFeedbackCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/feedback/commands/RequestFeedbackCommand.java @@ -1,5 +1,6 @@ package eu.mhsl.craftattack.spawn.appliances.feedback.commands; +import eu.mhsl.craftattack.spawn.Main; import eu.mhsl.craftattack.spawn.appliance.ApplianceCommand; import eu.mhsl.craftattack.spawn.appliances.feedback.Feedback; import org.bukkit.Bukkit; @@ -16,6 +17,8 @@ public class RequestFeedbackCommand extends ApplianceCommand { @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) throws Exception { - this.getAppliance().requestFeedback("admin-issued-ingame", new ArrayList<>(Bukkit.getOnlinePlayers()), String.join(" ", args)); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + this.getAppliance().requestFeedback("admin-issued-ingame", new ArrayList<>(Bukkit.getOnlinePlayers()), String.join(" ", args)); + }); } } diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/Report.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/Report.java index d35aac4..4ce170b 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/Report.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/Report.java @@ -37,7 +37,9 @@ public class Report extends Appliance { public void reportToUnknown(@NotNull Player issuer) { ReportRepository.ReportCreationInfo request = new ReportRepository.ReportCreationInfo(issuer.getUniqueId(), null, ""); - this.createReport(issuer, request); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + this.createReport(issuer, request); + }); } public void reportToKnown(@NotNull Player issuer, @NotNull String targetUsername, @Nullable String reason) { @@ -52,7 +54,9 @@ public class Report extends Appliance { offlinePlayer.getUniqueId(), Optional.ofNullable(reason).orElse("") ); - this.createReport(issuer, request); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + this.createReport(issuer, request); + }); } private void createReport(Player issuer, ReportRepository.ReportCreationInfo reportRequest) { diff --git a/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/ReportsCommand.java b/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/ReportsCommand.java index 7106c09..0b76983 100644 --- a/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/ReportsCommand.java +++ b/src/main/java/eu/mhsl/craftattack/spawn/appliances/report/ReportsCommand.java @@ -1,7 +1,9 @@ package eu.mhsl.craftattack.spawn.appliances.report; +import eu.mhsl.craftattack.spawn.Main; import eu.mhsl.craftattack.spawn.appliance.ApplianceCommand; import eu.mhsl.craftattack.spawn.util.text.ComponentUtil; +import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.jetbrains.annotations.NotNull; @@ -14,6 +16,8 @@ public class ReportsCommand extends ApplianceCommand.PlayerChecked { @Override protected void execute(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { sender.sendMessage(ComponentUtil.pleaseWait()); - this.getAppliance().queryReports(this.getPlayer()); + Bukkit.getScheduler().runTaskAsynchronously(Main.instance(), () -> { + this.getAppliance().queryReports(this.getPlayer()); + }); } }