Advertisement
Guest User

Untitled

a guest
Mar 4th, 2017
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.92 KB | None | 0 0
  1. //main
  2. public class main extends JavaPlugin implements PluginMessageListener{
  3.    
  4.     public static HashMap<String, Integer> playerCounts = new HashMap<String, Integer>();
  5.     public static main plugin;
  6.     public static int playercount = 0;   [...]
  7.  
  8. //main (in onEnable)
  9. plugin = this;
  10.        
  11. Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  12. Bukkit.getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
  13.  
  14. //main
  15.      @Override
  16.         public void onPluginMessageReceived(String channel, Player player, byte[] message) {
  17.                 if (!channel.equals("BungeeCord")) return;        
  18.                 try {
  19.                         DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
  20.                         String command = in.readUTF();                
  21.                         if (command.equals("PlayerCount")) {
  22.                                 String server = in.readUTF();
  23.                                 int playerCount = in.readInt();
  24.                                 playerCounts.put(server, playerCount);
  25.                         }
  26.                 } catch (Exception e) {
  27.                         e.printStackTrace();
  28.                 }
  29.         }
  30.      
  31.      public static void getPlayerCount(String Server){
  32.             try {        
  33.                 final ByteArrayOutputStream b = new ByteArrayOutputStream();
  34.                 final DataOutputStream out = new DataOutputStream(b);            
  35.                 out.writeUTF("PlayerCount");
  36.                 out.writeUTF(Server);            
  37.                 Bukkit.getServer().sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
  38.             } catch (IOException e2) {
  39.                 e2.printStackTrace();
  40.             }        
  41.         }
  42.  
  43.  
  44. //joinsign.java
  45. package de.florian.thebadexp.cloud;
  46.  
  47. import java.io.ByteArrayOutputStream;
  48. import java.io.DataOutputStream;
  49. import java.io.IOException;
  50. import java.util.Random;
  51.  
  52. import org.bukkit.Bukkit;
  53. import org.bukkit.block.Sign;
  54. import org.bukkit.entity.Player;
  55. import org.bukkit.event.EventHandler;
  56. import org.bukkit.event.Listener;
  57. import org.bukkit.event.block.Action;
  58. import org.bukkit.event.block.SignChangeEvent;
  59. import org.bukkit.event.player.PlayerInteractEvent;
  60.  
  61.  
  62. import de.florian.mineraster.system.main;
  63.  
  64. public class joinsign implements Listener{
  65.  
  66.     private main plugin;
  67.     int online = 0;
  68.     int max = 16;
  69.     int sched3;
  70.     public static Sign JoinSign;
  71.  
  72.    
  73.     public joinsign(main main) {
  74.         this.plugin = main;
  75.     }
  76.    
  77.    
  78.    
  79.    
  80.      @EventHandler
  81.      public void onSignChange(SignChangeEvent e){
  82.             if(e.getLine(0).equalsIgnoreCase("[joink]")){
  83.                 Sign sign = (Sign) e.getBlock().getState();
  84.                 main.getPlayerCount("knockout");
  85.                 if (main.playerCounts.containsKey("knockout")){
  86.                 online = main.playerCounts.get("knockout");
  87.                 } else {
  88.                     main.getPlayerCount("knockout");
  89.                 }
  90.                 e.setLine(0, "§a§l§m-------------");
  91.                 e.setLine(1, "§lKnockout-1");
  92.                 e.setLine(2, online +"/"+max);
  93.                 e.setLine(3, "§a§l§m-------------");
  94.                 if (!Bukkit.getScheduler().isCurrentlyRunning(sched3)){
  95.                     @SuppressWarnings("unused")
  96.                     int sched3 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
  97.                        
  98.                         @Override
  99.                         public void run() {
  100.                             if (main.playerCounts.containsKey("knockout")){
  101.                                 online = main.playerCounts.get("knockout");
  102.                                 } else {
  103.                                     main.getPlayerCount("knockout");
  104.                                     online = main.playerCounts.get("knockout");
  105.                                 }
  106.                             System.out.println("Sign Change to "+ online);
  107.                                 sign.setLine(0, "§a§l§m-------------");
  108.                                 sign.setLine(1, "§lKnockout-1");
  109.                                 sign.setLine(2, ""+online +"/"+max);
  110.                                 sign.setLine(3, "§a§l§m-------------");
  111.                                 sign.update();
  112.                             }
  113.                         }, 10, 20*4);
  114.                 }
  115.          }
  116.      }
  117.  
  118.      @EventHandler
  119.         public void onSignInteract(PlayerInteractEvent e){
  120.             if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
  121.                 if(e.getClickedBlock().getState() instanceof Sign){
  122.                     Player p = e.getPlayer();
  123.                     Sign s = (Sign) e.getClickedBlock().getState();
  124.                    
  125.                     if(s.getLine(1).contains("Knockout-1")){
  126.                         ByteArrayOutputStream b = new ByteArrayOutputStream();
  127.                         DataOutputStream out3 = new DataOutputStream(b);
  128.      
  129.                         try {
  130.                             out3.writeUTF("Connect");
  131.                             out3.writeUTF("knockout");
  132.                         } catch (IOException ex){
  133.                             System.err.println("Es gab einen Fehler:");
  134.                             ex.printStackTrace();
  135.                            
  136.                         }
  137.                        
  138.                         p.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
  139.                        
  140.                     }
  141.                    
  142.                 }
  143.             }
  144.         }
  145.      
  146.  
  147.    
  148. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement