-
-
Notifications
You must be signed in to change notification settings - Fork 42
/
AddServerPacketIn.java
38 lines (34 loc) · 1.51 KB
/
AddServerPacketIn.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package com.denizenscript.depenizen.bukkit.bungee.packets.in;
import com.denizenscript.depenizen.bukkit.Depenizen;
import com.denizenscript.depenizen.bukkit.bungee.BungeeBridge;
import com.denizenscript.depenizen.bukkit.bungee.PacketIn;
import com.denizenscript.depenizen.bukkit.events.bungee.BungeeServerConnectScriptEvent;
import io.netty.buffer.ByteBuf;
import org.bukkit.Bukkit;
public class AddServerPacketIn extends PacketIn {
@Override
public String getName() {
return "AddServer";
}
@Override
public void process(ByteBuf data) {
if (data.readableBytes() < 4) {
BungeeBridge.instance.handler.fail("Invalid AddServerPacket (bytes available: " + data.readableBytes() + ")");
return;
}
int yourNameLength = data.readInt();
if (data.readableBytes() < yourNameLength || yourNameLength < 0) {
BungeeBridge.instance.handler.fail("Invalid AddServerPacket (name bytes requested: " + yourNameLength + ")");
return;
}
String serverName = readString(data, yourNameLength);
Bukkit.getScheduler().scheduleSyncDelayedTask(Depenizen.instance, new Runnable() {
@Override
public void run() {
BungeeBridge.instance.knownServers.add(serverName);
BungeeServerConnectScriptEvent.instance.serverName = serverName;
BungeeServerConnectScriptEvent.instance.fire();
}
});
}
}