Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //main
- public class main extends JavaPlugin implements PluginMessageListener{
- public static HashMap<String, Integer> playerCounts = new HashMap<String, Integer>();
- public static main plugin;
- public static int playercount = 0; [...]
- //main (in onEnable)
- plugin = this;
- Bukkit.getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
- Bukkit.getMessenger().registerIncomingPluginChannel(this, "BungeeCord", this);
- //main
- @Override
- public void onPluginMessageReceived(String channel, Player player, byte[] message) {
- if (!channel.equals("BungeeCord")) return;
- try {
- DataInputStream in = new DataInputStream(new ByteArrayInputStream(message));
- String command = in.readUTF();
- if (command.equals("PlayerCount")) {
- String server = in.readUTF();
- int playerCount = in.readInt();
- playerCounts.put(server, playerCount);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static void getPlayerCount(String Server){
- try {
- final ByteArrayOutputStream b = new ByteArrayOutputStream();
- final DataOutputStream out = new DataOutputStream(b);
- out.writeUTF("PlayerCount");
- out.writeUTF(Server);
- Bukkit.getServer().sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
- } catch (IOException e2) {
- e2.printStackTrace();
- }
- }
- //joinsign.java
- package de.florian.thebadexp.cloud;
- import java.io.ByteArrayOutputStream;
- import java.io.DataOutputStream;
- import java.io.IOException;
- import java.util.Random;
- import org.bukkit.Bukkit;
- import org.bukkit.block.Sign;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.block.Action;
- import org.bukkit.event.block.SignChangeEvent;
- import org.bukkit.event.player.PlayerInteractEvent;
- import de.florian.mineraster.system.main;
- public class joinsign implements Listener{
- private main plugin;
- int online = 0;
- int max = 16;
- int sched3;
- public static Sign JoinSign;
- public joinsign(main main) {
- this.plugin = main;
- }
- @EventHandler
- public void onSignChange(SignChangeEvent e){
- if(e.getLine(0).equalsIgnoreCase("[joink]")){
- Sign sign = (Sign) e.getBlock().getState();
- main.getPlayerCount("knockout");
- if (main.playerCounts.containsKey("knockout")){
- online = main.playerCounts.get("knockout");
- } else {
- main.getPlayerCount("knockout");
- }
- e.setLine(0, "§a§l§m-------------");
- e.setLine(1, "§lKnockout-1");
- e.setLine(2, online +"/"+max);
- e.setLine(3, "§a§l§m-------------");
- if (!Bukkit.getScheduler().isCurrentlyRunning(sched3)){
- @SuppressWarnings("unused")
- int sched3 = Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable() {
- @Override
- public void run() {
- if (main.playerCounts.containsKey("knockout")){
- online = main.playerCounts.get("knockout");
- } else {
- main.getPlayerCount("knockout");
- online = main.playerCounts.get("knockout");
- }
- System.out.println("Sign Change to "+ online);
- sign.setLine(0, "§a§l§m-------------");
- sign.setLine(1, "§lKnockout-1");
- sign.setLine(2, ""+online +"/"+max);
- sign.setLine(3, "§a§l§m-------------");
- sign.update();
- }
- }, 10, 20*4);
- }
- }
- }
- @EventHandler
- public void onSignInteract(PlayerInteractEvent e){
- if(e.getAction() == Action.RIGHT_CLICK_BLOCK){
- if(e.getClickedBlock().getState() instanceof Sign){
- Player p = e.getPlayer();
- Sign s = (Sign) e.getClickedBlock().getState();
- if(s.getLine(1).contains("Knockout-1")){
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- DataOutputStream out3 = new DataOutputStream(b);
- try {
- out3.writeUTF("Connect");
- out3.writeUTF("knockout");
- } catch (IOException ex){
- System.err.println("Es gab einen Fehler:");
- ex.printStackTrace();
- }
- p.sendPluginMessage(plugin, "BungeeCord", b.toByteArray());
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement