diff --git a/protocol/src/main/java/mc/protocol/NettyConnectionContext.java b/protocol/src/main/java/mc/protocol/NettyConnectionContext.java index a4cdc65..c231dcf 100644 --- a/protocol/src/main/java/mc/protocol/NettyConnectionContext.java +++ b/protocol/src/main/java/mc/protocol/NettyConnectionContext.java @@ -3,14 +3,12 @@ package mc.protocol; import io.netty.channel.ChannelHandlerContext; import lombok.RequiredArgsConstructor; import mc.protocol.api.ConnectionContext; -import mc.protocol.packets.ClientSidePacket; import mc.protocol.packets.ServerSidePacket; @RequiredArgsConstructor -public class NettyConnectionContext
implements ConnectionContext
{ +public class NettyConnectionContext implements ConnectionContext { private final ChannelHandlerContext ctx; - private final P packet; @Override public State getState() { @@ -22,11 +20,6 @@ public class NettyConnectionContext
implements Conne
ctx.channel().attr(NetworkAttributes.STATE).set(state);
}
- @Override
- public P clientPacket() {
- return packet;
- }
-
@Override
public void send(ServerSidePacket packet) {
ctx.write(packet);
diff --git a/protocol/src/main/java/mc/protocol/NettyServer.java b/protocol/src/main/java/mc/protocol/NettyServer.java
index da14177..d94f053 100644
--- a/protocol/src/main/java/mc/protocol/NettyServer.java
+++ b/protocol/src/main/java/mc/protocol/NettyServer.java
@@ -31,8 +31,8 @@ public class NettyServer implements Server {
private final PacketPool packetPool;
private final EventBus eventBus;
- private Consumer {
+public interface ConnectionContext {
State getState();
void setState(State state);
- P clientPacket();
-
void send(ServerSidePacket packet);
void sendNow(ServerSidePacket packet);
void flushSending();
diff --git a/protocol/src/main/java/mc/protocol/api/Server.java b/protocol/src/main/java/mc/protocol/api/Server.java
index 2e4af87..e0b8777 100644
--- a/protocol/src/main/java/mc/protocol/api/Server.java
+++ b/protocol/src/main/java/mc/protocol/api/Server.java
@@ -10,8 +10,8 @@ public interface Server {
void bind(String host, int port);
- void onNewConnect(Consumer void listenPacket(State state, Class packetClass, EventBus.EventHandler eventHandler);
}
diff --git a/protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java b/protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java
index af11952..ec8d9a3 100644
--- a/protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java
+++ b/protocol/src/main/java/mc/protocol/io/codec/ProtocolDecoder.java
@@ -25,18 +25,18 @@ public class ProtocolDecoder extends ByteToMessageDecoder {
private final boolean readUnknownPackets;
private final PacketPool poolPackets;
- private final Consumer void subscribe(State state, Class packetClass, EventHandler eventHandler);
- void emit(State state, ConnectionContext channelContext);
+ void emit(State state, ConnectionContext channelContext, P packet);
@FunctionalInterface
interface EventHandler {
- void handle(ConnectionContext channelContext);
+ void handle(ConnectionContext channelContext, P packet);
}
}
diff --git a/protocol/src/main/java/mc/protocol/utils/SimpleEventBus.java b/protocol/src/main/java/mc/protocol/utils/SimpleEventBus.java
index d79649d..4061e58 100644
--- a/protocol/src/main/java/mc/protocol/utils/SimpleEventBus.java
+++ b/protocol/src/main/java/mc/protocol/utils/SimpleEventBus.java
@@ -15,11 +15,11 @@ public class SimpleEventBus implements EventBus {
}
@Override
- public void emit(State state, ConnectionContext channelContext) {
- EventHandler eventHandler = table.getColumnAndRow(state, channelContext.clientPacket().getClass());
+ public void emit(State state, ConnectionContext channelContext, P packet) {
+ EventHandler eventHandler = table.getColumnAndRow(state, packet.getClass());
if (eventHandler != null) {
- eventHandler.handle(channelContext);
+ eventHandler.handle(channelContext, packet);
}
}
}
diff --git a/server/src/main/java/mc/server/PacketHandler.java b/server/src/main/java/mc/server/PacketHandler.java
index f4efb2d..bf35af9 100644
--- a/server/src/main/java/mc/server/PacketHandler.java
+++ b/server/src/main/java/mc/server/PacketHandler.java
@@ -34,20 +34,21 @@ public class PacketHandler {
private final Random random = new Random(System.currentTimeMillis());
private final Config config;
- public void onHandshake(ConnectionContext