Skip to content

Commit 8d2efb3

Browse files
committed
feat(api): add some basic api interfaces
1 parent fb08567 commit 8d2efb3

13 files changed

+141
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package dev.protocollib.api;
2+
3+
public interface BinaryPacket {
4+
5+
int id();
6+
7+
byte[] payload();
8+
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package dev.protocollib.api;
2+
3+
import java.net.InetSocketAddress;
4+
5+
import javax.annotation.Nullable;
6+
7+
import org.bukkit.entity.Player;
8+
9+
public interface Connection {
10+
11+
@Nullable
12+
Player player();
13+
14+
InetSocketAddress address();
15+
16+
int protocolVersion();
17+
18+
ProtocolPhase protocolPhase(PacketDirection packetDirection);
19+
20+
boolean isConnected();
21+
22+
void sendPacket(BinaryPacket packet);
23+
24+
void sendPacket(PacketContainer packet);
25+
26+
void receivePacket(PacketContainer packet);
27+
28+
void disconnect(String reason);
29+
30+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package dev.protocollib.api;
2+
3+
public interface PacketContainer {
4+
5+
PacketType packetType();
6+
7+
Object packet();
8+
9+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package dev.protocollib.api;
2+
3+
public enum PacketDirection {
4+
5+
SERVERBOUND, CLIENTBOUND;
6+
7+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package dev.protocollib.api;
2+
3+
import org.bukkit.event.Cancellable;
4+
5+
public interface PacketEvent extends Cancellable {
6+
7+
Connection connection();
8+
9+
PacketContainer packet();
10+
11+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package dev.protocollib.api;
2+
3+
@FunctionalInterface
4+
public interface PacketListener {
5+
6+
void handlePacket(PacketEvent event);
7+
8+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package dev.protocollib.api;
2+
3+
import java.util.Collection;
4+
5+
public interface PacketListenerBuilder {
6+
7+
PacketListenerBuilder types(PacketType...packetTypes);
8+
9+
PacketListenerBuilder types(Collection<PacketType> packetTypes);
10+
11+
PacketListenerBuilder priority(PacketListenerPriority priority);
12+
13+
PacketListenerBuilder listener(PacketListener listener);
14+
15+
PacketListenerRegistration register();
16+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package dev.protocollib.api;
2+
3+
public enum PacketListenerPriority {
4+
5+
LOWEST, LOW, NORMAL, HIGH, HIGHEST, MONITOR;
6+
7+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package dev.protocollib.api;
2+
3+
public interface PacketListenerRegistration {
4+
5+
void unregister();
6+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package dev.protocollib.api;
2+
3+
public interface PacketType {
4+
5+
PacketDirection packetDirection();
6+
7+
Class<?> packetClass();
8+
9+
boolean isSupported();
10+
11+
boolean isDeprecated();
12+
13+
}

0 commit comments

Comments
 (0)