From 732d7a84be7e4dc6cc0bb5d342ad5a27c6d01361 Mon Sep 17 00:00:00 2001 From: ajgeiss0702 Date: Wed, 13 May 2020 16:07:58 -0700 Subject: [PATCH] fix actionbar --- src/main/java/us/ajg0702/queue/spigot/Main.java | 16 +++++++++++++--- .../java/us/ajg0702/queue/utils/BungeeUtils.java | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/us/ajg0702/queue/spigot/Main.java b/src/main/java/us/ajg0702/queue/spigot/Main.java index 5687e79..592507a 100644 --- a/src/main/java/us/ajg0702/queue/spigot/Main.java +++ b/src/main/java/us/ajg0702/queue/spigot/Main.java @@ -19,22 +19,32 @@ public class Main extends JavaPlugin implements PluginMessageListener { @Override public void onPluginMessageReceived(String channel, Player player, byte[] message) { if (!channel.equals("ajqueue:tospigot")) return; + ByteArrayDataInput in = ByteStreams.newDataInput(message); + String subchannel = in.readUTF(); + if(subchannel.equals("actionbar")) { + String playername = in.readUTF(); + Player p = Bukkit.getPlayer(playername); + if(p == null) return; + String data = in.readUTF(); - VersionSupport.sendActionBar(player, data.split(";time=")[0]); + final String text = data.split(";time=")[0]; + //getLogger().info("recieved actionbar for "+player.getName()+": "+text); + VersionSupport.sendActionBar(p, text); + int time = Integer.parseInt(data.split(";time=")[1]); if(time > 2) { Bukkit.getScheduler().runTaskLater(this, new Runnable() { public void run() { - VersionSupport.sendActionBar(player, data.split(";time=")[0]); + VersionSupport.sendActionBar(p, text); } }, 2*20); if(time > 4) { Bukkit.getScheduler().runTaskLater(this, new Runnable() { public void run() { - VersionSupport.sendActionBar(player, data.split(";time=")[0]); + VersionSupport.sendActionBar(p, text); } }, 4*20); } diff --git a/src/main/java/us/ajg0702/queue/utils/BungeeUtils.java b/src/main/java/us/ajg0702/queue/utils/BungeeUtils.java index 9623db4..df6ea1c 100644 --- a/src/main/java/us/ajg0702/queue/utils/BungeeUtils.java +++ b/src/main/java/us/ajg0702/queue/utils/BungeeUtils.java @@ -16,11 +16,12 @@ public class BungeeUtils { ByteArrayDataOutput out = ByteStreams.newDataOutput(); out.writeUTF( channel ); + out.writeUTF(player.getName()); out.writeUTF( data1 ); // we send the data to the server // using ServerInfo the packet is being queued if there are no players in the server // using only the server to send data the packet will be lost if no players are in it - player.getServer().getInfo().sendData( "ajqueue:tospigot", out.toByteArray() ); + player.getServer().sendData( "ajqueue:tospigot", out.toByteArray() ); } }