From f9ceea47d66fe2cbec2903a94a4cc16c998d3977 Mon Sep 17 00:00:00 2001 From: kento2 Date: Mon, 1 Jun 2026 12:44:30 +0200 Subject: [PATCH] . --- .../scrow/bukkit/friends/OrderedUUIDPair.java | 1 - .../friends/command/FriendListLiteral.java | 2 -- .../friends/command/FriendRemoveLiteral.java | 5 ++--- .../friends/command/FriendRequestsLiteral.java | 4 ---- .../friends/handler/FriendAddHandler.java | 17 ++++++++++++----- core-lib/build.gradle.kts | 2 +- .../corevelocity/ServerRegisterWatchdog.java | 4 ++-- 7 files changed, 17 insertions(+), 18 deletions(-) diff --git a/core-bukkit-api/src/main/java/de/kentoj/scrow/bukkit/friends/OrderedUUIDPair.java b/core-bukkit-api/src/main/java/de/kentoj/scrow/bukkit/friends/OrderedUUIDPair.java index a9450fd..a0a210a 100644 --- a/core-bukkit-api/src/main/java/de/kentoj/scrow/bukkit/friends/OrderedUUIDPair.java +++ b/core-bukkit-api/src/main/java/de/kentoj/scrow/bukkit/friends/OrderedUUIDPair.java @@ -22,7 +22,6 @@ public class OrderedUUIDPair { } public UUID getOther(UUID self) { - final var ids = getFirst(); return getFirst().equals(self) ? getSecond() : getFirst(); } } diff --git a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendListLiteral.java b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendListLiteral.java index c082396..591f75e 100644 --- a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendListLiteral.java +++ b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendListLiteral.java @@ -32,8 +32,6 @@ public class FriendListLiteral { }) .doOnNext(line -> ctx.getSender().sendMessage(line)) .doOnComplete(() -> ctx.getSender().sendMessage("EOF")) - - .subscribeOn(Schedulers.boundedElastic()) .subscribe(); } diff --git a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRemoveLiteral.java b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRemoveLiteral.java index f2d0e6a..0838c3b 100644 --- a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRemoveLiteral.java +++ b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRemoveLiteral.java @@ -27,10 +27,9 @@ public class FriendRemoveLiteral { var friend = ctx.getArg(playerArg); ScrowAPI.getFriendshipService().deleteFriendship(friend.getUniqueId(), ctx.getPlayerSender().getUniqueId()) - .doOnNext(wasDeleted -> { + .subscribe(wasDeleted -> { if (wasDeleted) throw new CommandException("You were not friends with " + friend.getName() + " in the first place"); ctx.getSender().sendMessage("You are no longer friends with " + friend.getName()); - }) - .subscribe(); + }); } } diff --git a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRequestsLiteral.java b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRequestsLiteral.java index 95cf994..005ac1b 100644 --- a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRequestsLiteral.java +++ b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/command/FriendRequestsLiteral.java @@ -3,11 +3,9 @@ package de.kentoj.scrow.bukkit.friends.command; import de.kentoj.kencommandapi.BukkitCommandContext; import de.kentoj.kencommandapi.api.structure.node.CommandNode; import de.kentoj.scrow.bukkit.ScrowAPI; -import de.kentoj.scrow.bukkit.friends.FriendRequestService; import lombok.Getter; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; -import reactor.core.scheduler.Schedulers; public class FriendRequestsLiteral { @@ -29,8 +27,6 @@ public class FriendRequestsLiteral { return "- " + fromName; }).doOnNext(line -> ctx.getPlayerSender().sendMessage(line)) .doOnComplete(() -> ctx.getPlayerSender().sendMessage("EOF")) - - .subscribeOn(Schedulers.boundedElastic()) .subscribe(); } } diff --git a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/handler/FriendAddHandler.java b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/handler/FriendAddHandler.java index 75e4efe..0f965e5 100644 --- a/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/handler/FriendAddHandler.java +++ b/core-bukkit-impl/src/main/java/de/kentoj/scrow/bukkit/friends/handler/FriendAddHandler.java @@ -9,7 +9,6 @@ import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import reactor.core.publisher.Mono; -import reactor.core.scheduler.Schedulers; import java.time.Instant; @@ -26,7 +25,6 @@ public class FriendAddHandler { ScrowAPI.getCommandManager().sendErrorMessage(self, e); }) .onErrorComplete(CommandException.class) - .subscribeOn(Schedulers.boundedElastic()) .subscribe(); } @@ -43,13 +41,22 @@ public class FriendAddHandler { private Mono sendRequest() { return ScrowAPI.getFriendRequestService().saveFriendRequest(new FriendRequestImpl(self.getUniqueId(), other.getUniqueId(), Instant.now())) - .then(sendMessage(self.getPlayer(), "Successfully sent " + other.getName() + " a friend request.")) - .then(Mono.fromRunnable(() -> { + .flatMap(success -> { + if (success) { + sendMessage(self.getPlayer(), "Successfully sent " + other.getName() + " a friend request."); + return Mono.just(true); + } else { + sendMessage(self.getPlayer(), "You already sent " + other.getName() + " a friend request"); + return Mono.just(Mono.empty()); + } + }) + .doOnNext(success -> { var otherPlayer = other.getPlayer(); if (otherPlayer != null) sendMessage(otherPlayer, self.getName() + " wants to be friends with you. Use '/f add " + self.getName() + "' to accept.").subscribe(); - })) + }) .doOnError(this::handleError); + } private Mono acceptRequest() { diff --git a/core-lib/build.gradle.kts b/core-lib/build.gradle.kts index f47993b..f5d0a3f 100644 --- a/core-lib/build.gradle.kts +++ b/core-lib/build.gradle.kts @@ -8,7 +8,7 @@ plugins { } group = "de.kentoj.scrow" -version = "0.1" +version = "0.2" repositories { mavenCentral() diff --git a/core-velocity/src/main/java/de/kentoj/scrow/corevelocity/ServerRegisterWatchdog.java b/core-velocity/src/main/java/de/kentoj/scrow/corevelocity/ServerRegisterWatchdog.java index 5c441fa..77b89b2 100644 --- a/core-velocity/src/main/java/de/kentoj/scrow/corevelocity/ServerRegisterWatchdog.java +++ b/core-velocity/src/main/java/de/kentoj/scrow/corevelocity/ServerRegisterWatchdog.java @@ -28,12 +28,12 @@ public class ServerRegisterWatchdog { public void listen() { natsRepo.subscribe("crown.set-state") .map(DocumentRepository::fromMessage) - .flatMap(doc -> { + .concatMap(doc -> { var state = doc.getString("state"); var handle = doc.getString("handle"); return handleStateChange(state, handle); }) - .subscribe(); + .subscribe(null, e -> log.throwing(getClass().getName(), "listen", e)); } private @NotNull Mono<@NotNull Void> handleStateChange(String state, String handle) {