Advertisement
LegarsStyler

Bungge Error

May 8th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1. package net.redgame;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import java.io.ByteArrayOutputStream;
  5. import java.io.DataInputStream;
  6. import java.io.DataOutputStream;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.Location;
  10. import org.bukkit.Material;
  11. import org.bukkit.block.Block;
  12. import org.bukkit.block.Sign;
  13. import org.bukkit.command.Command;
  14. import org.bukkit.command.CommandSender;
  15. import org.bukkit.craftbukkit.v1_9_R1.entity.CraftPlayer;
  16. import org.bukkit.entity.Player;
  17. import org.bukkit.event.EventHandler;
  18. import org.bukkit.event.Listener;
  19. import org.bukkit.event.block.Action;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.plugin.PluginManager;
  22. import org.bukkit.plugin.java.JavaPlugin;
  23. import org.bukkit.plugin.messaging.PluginMessageListener;
  24.  
  25. import com.google.common.io.ByteArrayDataOutput;
  26. import com.google.common.io.ByteStreams;
  27.  
  28. import net.redgame.sign.Create;
  29. import net.redgame.sign.Delete;
  30.  
  31. public class Main extends JavaPlugin implements Listener, PluginMessageListener {
  32.    
  33.     @Override
  34.     public void onEnable() {
  35.         this.getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  36.         this.getServer().getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
  37.        
  38.         this.getServer().getMessenger().registerOutgoingPluginChannel(this, "InfoP");
  39.         this.getServer().getMessenger().registerIncomingPluginChannel(this, "InfoP", this);
  40.        
  41.         PluginManager pm = Bukkit.getServer().getPluginManager();
  42.         pm.registerEvents(this, this);
  43.         pm.registerEvents(new Create(this), this);
  44.         pm.registerEvents(new Delete(this), this);
  45.        
  46.         System.out.println("RedGame > enabled");
  47.     }
  48.    
  49.     public void onDisable(){
  50.         System.out.println("RedGame > disabled");
  51.     }
  52.    
  53.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  54.         Player p = (Player) sender;
  55.        
  56.         if(label.equalsIgnoreCase("lobby")) {
  57.             p.sendMessage("cpicpou");
  58.             ByteArrayDataOutput out = ByteStreams.newDataOutput();
  59.             out.writeUTF("Connect");
  60.             out.writeUTF("serverB");
  61.            
  62.             p.sendPluginMessage(Bukkit.getPluginManager().getPlugin("RedGame"), "BungeeCord", out.toByteArray());
  63.         }
  64.        
  65.         if(label.equalsIgnoreCase("testt")) {
  66.             p.sendMessage(((CraftPlayer) p).getHandle().ping+"");
  67.  
  68.             ByteArrayOutputStream b = new ByteArrayOutputStream();
  69.             DataOutputStream out = new DataOutputStream(b);
  70.             try{
  71.                 out.writeUTF("subchannel");
  72.                 p.sendMessage("sending...");
  73.                 p.sendPluginMessage(this, "InfoP", b.toByteArray());
  74.                 p.sendMessage("sent!");
  75.             } catch(Exception e){
  76.                 e.printStackTrace();
  77.             }
  78.            
  79.         }
  80.        
  81.         return false;
  82.     }
  83.    
  84.     @EventHandler
  85.     public void onPlayerInteract(PlayerInteractEvent e) {
  86.         Player p = (Player) e.getPlayer();
  87.        
  88.         if(e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  89.             Block b = e.getClickedBlock();
  90.             if(b.getType() == Material.SIGN || b.getType() == Material.SIGN_POST || b.getType() == Material.WALL_SIGN) {
  91.                 Sign s = (Sign) b.getState();
  92.                 String[] lines = s.getLines();
  93.                
  94.                 if(lines[1].equals("§9[Join]")) {
  95.                     Location loc = e.getClickedBlock().getLocation();
  96.                     String path = getConfig().getString(loc.getBlockX()+"_"+loc.getBlockY()+"_"+loc.getBlockZ()+".server");
  97.                    
  98.                     ByteArrayDataOutput out = ByteStreams.newDataOutput();
  99.                     out.writeUTF("Connect");
  100.                     out.writeUTF(path);
  101.                    
  102.                     p.sendPluginMessage(this, "BungeeCord", out.toByteArray());
  103.                 }
  104.             }
  105.         }
  106.     }
  107.    
  108.     @Override
  109.     public void onPluginMessageReceived(String channel, Player p, byte[] message) {
  110.         DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
  111.         p.sendMessage("received");
  112.         try{
  113.             String msg = in.readUTF();
  114.             Bukkit.broadcastMessage(msg);
  115.         } catch(Exception e){
  116.             e.printStackTrace();
  117.         }
  118.     }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement