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

@ -2,6 +2,9 @@ package de.kentoj.scrow.bukkit;
import de.kentoj.scrow.bukkit.economy.CoinsCommand;
import de.kentoj.scrow.bukkit.friends.command.FriendCommand;
import io.nats.client.Message;
import io.nats.client.Nats;
import org.bson.Document;
import org.bukkit.plugin.java.JavaPlugin;
import reactor.core.publisher.Mono;
@ -37,6 +40,16 @@ public class CoreImplPlugin extends JavaPlugin {
}
}
private void registerServer() {
ScrowAPI.getNatsRepository().publish("crown.status", new Document()
.append("state", "up"));
ScrowAPI.getNatsRepository().subscribe("crown.status", doc -> {
doc.
});
ScrowAPI.getNats().reqpublish("crown.status", new Document()
.append("state", "up").toJson());
}
@Override
public void onDisable() {
ScrowAPISurface.destroyScrowAPI();

View file

@ -11,6 +11,7 @@ import de.kentoj.scrow.bukkit.friends.friendship.InMemoryFriendshipService;
import de.kentoj.scrow.bukkit.friends.friendship.MongoFriendshipService;
import de.kentoj.scrow.bukkit.friends.request.InMemoryFriendRequestService;
import de.kentoj.scrow.bukkit.friends.request.MongoFriendRequestService;
import io.nats.client.Nats;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import org.bson.UuidRepresentation;
@ -21,6 +22,8 @@ import org.bukkit.plugin.Plugin;
import org.jetbrains.annotations.Nullable;
import reactor.core.scheduler.Schedulers;
import java.io.IOException;
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ScrowAPISurface {
@ -31,6 +34,12 @@ public class ScrowAPISurface {
Bukkit.getScheduler().runTask(plugin, cmd);
}));
try {
ScrowAPI.setMessageBroker(Nats.connect());
} catch (IOException | InterruptedException e) {
throw new RuntimeException(e);
}
if (enableDatabase) {
var pojoCodecProvider = PojoCodecProvider.builder().automatic(true).build();
var codecRegistry = CodecRegistries.fromRegistries(