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 ""; return "";
} }
} }

View File

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

View File

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