This commit is contained in:
kento2 2026-04-29 17:38:23 +02:00
parent 8eb15179db
commit 19df9ed066
5 changed files with 58 additions and 1 deletions

View file

@ -34,7 +34,10 @@ dependencies {
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
api("org.spigotmc:spigot-api:1.21.11-R0.1-SNAPSHOT")
api("net.kyori:adventure-platform-bukkit:4.4.1")
// Source: https://mvnrepository.com/artifact/io.nats/jnats
implementation("io.nats:jnats:2.25.2")
api("io.nats:jnats:2.25.2")
api("de.kentoj.scrow:kencommandapi-core:0.2")
implementation("de.kentoj.scrow:kencommandapi-bukkit:0.2")

View file

@ -4,6 +4,8 @@ import com.mongodb.reactivestreams.client.MongoDatabase;
import de.kentoj.kencommandapi.BukkitKenCommandApi;
import de.kentoj.scrow.bukkit.friends.FriendRequestService;
import de.kentoj.scrow.bukkit.friends.FriendshipService;
import de.kentoj.scrow.bukkit.message.NatsDocumentRepository;
import io.nats.client.Connection;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.NoArgsConstructor;
@ -26,6 +28,10 @@ public class ScrowAPI {
private static FriendshipService friendshipService;
@Getter
private static FriendRequestService friendRequestService;
@Getter
private static Connection nats;
@Getter
private static NatsDocumentRepository natsRepository;
@ApiStatus.Internal
public static void setDatabase(@Nullable MongoDatabase database) {
@ -56,5 +62,15 @@ public class ScrowAPI {
public static void setFriendRequestService(FriendRequestService friendRequestService) {
ScrowAPI.friendRequestService = friendRequestService;
}
@ApiStatus.Internal
public static void setNats(Connection nats) {
ScrowAPI.nats = nats;
}
@ApiStatus.Internal
public static void setNatsRepository(NatsDocumentRepository natsRepository) {
ScrowAPI.natsRepository = natsRepository;
}
}

View file

@ -0,0 +1,16 @@
package de.kentoj.scrow.bukkit.message;
import io.nats.client.Message;
import io.nats.client.Subscription;
import org.bson.Document;
import java.util.function.Consumer;
public interface NatsDocumentRepository {
void publish(String topic, Document document);
Subscription subscribe(String topic, Consumer<Document> document);
Message request(String topic, Document document);
}