Advertisement
Guest User

msgsend.java

a guest
Mar 3rd, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.76 KB | None | 0 0
  1. package de.Panakotta00.msgsend;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import java.io.ByteArrayOutputStream;
  5. import java.io.DataInputStream;
  6. import java.io.DataOutputStream;
  7. import java.io.IOException;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.plugin.java.JavaPlugin;
  14. import org.bukkit.plugin.messaging.PluginMessageListener;
  15.  
  16. import com.google.common.io.ByteArrayDataOutput;
  17. import com.google.common.io.ByteStreams;
  18.  
  19. public class msgsend extends JavaPlugin implements PluginMessageListener {
  20.     private static msgsend instance;
  21.  
  22.     @Override
  23.     public void onEnable() {
  24.         instance = this;
  25.  
  26.         this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  27.         this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
  28.     }
  29.  
  30.     @Override
  31.     public void onPluginMessageReceived(String channel, Player player, byte[] message) {
  32.         if (!channel.equals("BungeeCord")) {
  33.             return;
  34.         }
  35.  
  36.         try {
  37.             DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
  38.             String subchannel = in.readUTF();
  39.             if (subchannel.equals("customchannel")) {
  40.                 short len = in.readShort();
  41.                 byte[] data = new byte[len];
  42.                 in.readFully(data);
  43.  
  44.                 //bytearray to string
  45.                 String s = new String(data);
  46.  
  47.                 System.out.println(s);
  48.             }
  49.         } catch (Exception ex) {
  50.             ex.printStackTrace();
  51.         }
  52.     }
  53.  
  54.     public void forwardString(String subchannel, String target, String s) {
  55.         try {
  56.             ByteArrayOutputStream b = new ByteArrayOutputStream();
  57.             DataOutputStream out = new DataOutputStream(b);
  58.  
  59.             out.writeUTF("Forward");
  60.             out.writeUTF(target);
  61.             out.writeUTF(subchannel); // "customchannel" for example
  62.             byte[] data = s.getBytes();
  63.             out.writeShort(data.length);
  64.             out.write(data);
  65.  
  66.             Player p = Bukkit.getPlayer("Panakotta00");
  67.  
  68.             p.sendPluginMessage(instance, "BungeeCord", b.toByteArray());
  69.         } catch (Exception ex) {
  70.             ex.printStackTrace();
  71.         }
  72.     }
  73.  
  74.     public static msgsend getInstance() {
  75.         return instance;
  76.     }
  77.    
  78.     @SuppressWarnings("deprecation")
  79.     public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
  80.         if (sender != Bukkit.getConsoleSender()) {
  81.             Player p = (Player) sender;
  82.            
  83.             if (cmd.getName().equalsIgnoreCase("msg")) {
  84.                 forwardString("customchannel", "ALL", "Servus");
  85.             }
  86.         }
  87.         return true;
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement