From fc611eea5de768627e5d150d428e1a7c3d63e377 Mon Sep 17 00:00:00 2001 From: Alex Date: Mon, 27 Dec 2021 14:42:38 +0100 Subject: [PATCH] implement KraSocketClient --- .../krakatoaapi/event/SocketMessageEvent.java | 34 +++++++++++++++++++ .../listener/SocketClientMessageListener.java | 11 +++++- 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/krakatoaapi/event/SocketMessageEvent.java diff --git a/src/main/java/net/krakatoaapi/event/SocketMessageEvent.java b/src/main/java/net/krakatoaapi/event/SocketMessageEvent.java new file mode 100644 index 0000000..543bdd7 --- /dev/null +++ b/src/main/java/net/krakatoaapi/event/SocketMessageEvent.java @@ -0,0 +1,34 @@ +package net.krakatoaapi.event; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; +import lombok.Setter; +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; +import org.jetbrains.annotations.NotNull; + +@RequiredArgsConstructor +@Getter +public class SocketMessageEvent extends Event { + + private static final HandlerList handlers = new HandlerList(); + + @Setter + private boolean cancelled; + + private final int status; + private final int cmdID; + private final int dest; + private final String uuid; + private final int commandNumber; + private final String args; + + public static HandlerList getHandlerList() { + return handlers; + } + + public @NotNull + HandlerList getHandlers() { + return handlers; + } +} diff --git a/src/main/java/net/krakatoaapi/listener/SocketClientMessageListener.java b/src/main/java/net/krakatoaapi/listener/SocketClientMessageListener.java index 58ecab0..c21942d 100644 --- a/src/main/java/net/krakatoaapi/listener/SocketClientMessageListener.java +++ b/src/main/java/net/krakatoaapi/listener/SocketClientMessageListener.java @@ -3,6 +3,7 @@ package net.krakatoaapi.listener; import earth.krakatao.events.KraSocketClientEventInterface; import earth.krakatao.protocol.KraSocketClientProtocolMessage; import net.krakatoaapi.KrakatoaAPI; +import net.krakatoaapi.event.SocketMessageEvent; import org.bukkit.Bukkit; import org.java_websocket.handshake.ServerHandshake; @@ -15,7 +16,15 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac @Override public void onMessage(KraSocketClientProtocolMessage kraSocketClientProtocolMessage) { - + Bukkit.getScheduler().runTask(KrakatoaAPI.getInstance(), () -> { + Bukkit.getServer().getPluginManager().callEvent( + new SocketMessageEvent(kraSocketClientProtocolMessage.getStatus(), + kraSocketClientProtocolMessage.getCmdID(), + kraSocketClientProtocolMessage.getDest(), + kraSocketClientProtocolMessage.getUuid(), + kraSocketClientProtocolMessage.getCmdNumber(), + kraSocketClientProtocolMessage.getArgs())); + }); } @Override