use of de.dytanic.cloudnetcore.network.components.CloudServer in project CloudNet by Dytanic.
the class PacketInCustomSubChannelMessage method handleInput.
@Override
public void handleInput(Document data, PacketSender packetSender) {
DefaultType defaultType = data.getObject("defaultType", DefaultType.class);
String channel = data.getString("channel");
String message = data.getString("message");
Document document = data.getDocument("value");
if (defaultType.equals(DefaultType.BUKKIT)) {
if (data.contains("serverId")) {
MinecraftServer minecraftServer = CloudNet.getInstance().getServer(data.getString("serverId"));
if (minecraftServer != null) {
minecraftServer.sendPacket(new PacketOutCustomSubChannelMessage(channel, message, document));
return;
}
CloudServer cloudServer = CloudNet.getInstance().getCloudGameServer(data.getString("serverId"));
if (cloudServer != null) {
cloudServer.sendPacket(new PacketOutCustomSubChannelMessage(channel, message, document));
}
} else {
CloudNet.getInstance().getNetworkManager().sendAll(new PacketOutCustomSubChannelMessage(channel, message, document), new ChannelFilter() {
@Override
public boolean accept(INetworkComponent networkComponent) {
return networkComponent instanceof MinecraftServer || networkComponent instanceof CloudServer;
}
});
}
} else {
if (data.contains("serverId")) {
ProxyServer proxyServer = CloudNet.getInstance().getProxy(data.getString("serverId"));
if (proxyServer != null) {
proxyServer.sendPacket(new PacketOutCustomSubChannelMessage(channel, message, document));
}
} else {
CloudNet.getInstance().getNetworkManager().sendToProxy(new PacketOutCustomSubChannelMessage(channel, message, document));
}
}
}
use of de.dytanic.cloudnetcore.network.components.CloudServer in project CloudNet by Dytanic.
the class PacketInRemoveCloudServer method handleInput.
@Override
public void handleInput(Document data, PacketSender packetSender) {
if (!(packetSender instanceof Wrapper))
return;
Wrapper cn = (Wrapper) packetSender;
ServerInfo serverInfo = data.getObject("serverInfo", new TypeToken<ServerInfo>() {
}.getType());
if (cn.getServers().containsKey(serverInfo.getServiceId().getServerId())) {
CloudServer minecraftServer = cn.getCloudServers().get(serverInfo.getServiceId().getServerId());
if (minecraftServer.getChannel() != null) {
minecraftServer.getChannel().close().syncUninterruptibly();
}
cn.getCloudServers().remove(serverInfo.getServiceId().getServerId());
CloudNet.getInstance().getNetworkManager().handleServerRemove(minecraftServer);
}
}
Aggregations