Merge pull request #177 from dalbodeule/master

[Emergency] bukkit PluginMessageReceiver add null-check/delay 20Ticks
This commit is contained in:
Sekwah 2020-02-22 19:14:42 +00:00 committed by GitHub
commit 067865f726
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 8 additions and 17 deletions

View File

@ -804,4 +804,4 @@ public class AdvancedPortalsCommand implements CommandExecutor, TabCompleter {
return "";
}
}
}

View File

@ -20,7 +20,6 @@ public class PluginMessageReceiver implements PluginMessageListener {
@Override
public void onPluginMessageReceived(String channel, Player player, byte[] message) {
// plugin.getLogger().info(""+channel.equals(plugin.channelName));
if (!channel.equals(plugin.channelName)) {
return;
@ -29,22 +28,18 @@ public class PluginMessageReceiver implements PluginMessageListener {
ByteArrayDataInput in = ByteStreams.newDataInput(message);
String subchannel = in.readUTF();
// plugin.getLogger().info("bukkit plugin received: " + subchannel);
if (subchannel.equals("BungeePortal")) {
String targetPlayerUUID = in.readUTF();
String targetDestination = in.readUTF();
OfflinePlayer msgPlayer = plugin.getServer().getOfflinePlayer(UUID.fromString(targetPlayerUUID));
Player msgPlayer = plugin.getServer().getPlayer(UUID.fromString(targetPlayerUUID));
Destination.warp(msgPlayer.getPlayer(), targetDestination);
/* plugin.PlayerDestiMap.put(msgPlayer, targetDestination);
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, () ->
plugin.PlayerDestiMap.remove(msgPlayer),
20L*10
); */
if (msgPlayer != null) {
plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin,
() -> Destination.warp(msgPlayer, targetDestination),
20L
);
}
}
}

View File

@ -20,15 +20,11 @@ public class PluginMessageReceiver implements Listener {
ByteArrayDataInput in = ByteStreams.newDataInput(event.getData());
String subChannel = in.readUTF();
plugin.getProxy().getLogger().info("bungee plugin received: " + subChannel);
if (subChannel.equalsIgnoreCase("PortalEnter")) {
String targetServer = in.readUTF();
String targetPlayerUUID = in.readUTF();
String targetDestination = in.readUTF();
// plugin.getProxy().getLogger().info(targetServer + " " + targetPlayerUUID + " " + targetDestination);
plugin.PlayerDestiMap.put(targetPlayerUUID, new String[]{targetServer, targetDestination});
plugin.getProxy().getScheduler().schedule(plugin, () -> {