Advertisement
Guest User

Untitled

a guest
Jul 15th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.61 KB | None | 0 0
  1. package de.norch.lobby.clicklistener;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.Collection;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Material;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.block.Action;
  12. import org.bukkit.event.inventory.InventoryClickEvent;
  13. import org.bukkit.event.player.PlayerInteractEvent;
  14. import org.bukkit.inventory.Inventory;
  15. import org.bukkit.inventory.ItemStack;
  16. import org.bukkit.inventory.meta.ItemMeta;
  17.  
  18. import de.dytanic.cloudnet.api.CloudAPI;
  19. import de.dytanic.cloudnet.lib.server.info.ServerInfo;
  20. import de.norch.lobby.LobbySystem;
  21.  
  22. public class LobbywechselClickListener implements Listener {
  23.    
  24.     public static Inventory inventory;
  25.    
  26.     public static void createInventory() {
  27.         Inventory inv = Bukkit.createInventory(null, 36, "§a● Lobbywechsler");
  28.         inventory = inv;
  29.     }
  30.    
  31.     public static void updateInventory() {
  32.         Inventory inv = Bukkit.createInventory(null, 36, "§a● Lobbywechsler");
  33.        
  34.         Collection<ServerInfo> Lobbys = CloudAPI.getInstance().getServers("Lobby");
  35.         Collection<ServerInfo> PremiumLobbys = CloudAPI.getInstance().getServers("Premiumlobby");
  36.         /*for(ServerInfo s : PremiumLobbys) {
  37.             int players = s.getPlayers().size();
  38.             int slots = s.getMaxPlayers();
  39.             String string = "§7" + players + "/" + slots;
  40.            
  41.             ItemStack is = new ItemStack(Material.GOLD_BLOCK);
  42.             ItemMeta im = is.getItemMeta();
  43.             im.setDisplayName("Premiumlobby" + s.getServiceId().getServerId());
  44.             ArrayList<String> lore = new ArrayList<>();
  45.             lore.add(string);
  46.             im.setLore(lore);
  47.             is.setItemMeta(im);
  48.            
  49.             inv.addItem(new ItemStack[] { is });
  50.         }*/
  51.         for (ServerInfo s : Lobbys) {
  52.             int players = s.getPlayers().size();
  53.             int slots = s.getMaxPlayers();
  54.             String string = "§7" + players + "/" + slots;
  55.            
  56.             ItemStack is = new ItemStack(Material.IRON_BLOCK);
  57.             ItemMeta im = is.getItemMeta();
  58.             im.setDisplayName("Lobby" + s.getServiceId().getServerId());
  59.             ArrayList<String> lore = new ArrayList<>();
  60.             lore.add(string);
  61.             im.setLore(lore);
  62.             is.setItemMeta(im);
  63.            
  64.             inv.addItem(new ItemStack[] { is });
  65.         }
  66.         inventory.setContents(inv.getContents());
  67.     }
  68.  
  69.     @EventHandler
  70.     public void onClick(final InventoryClickEvent event) {
  71.         final Player player = (Player) event.getWhoClicked();
  72.        
  73.         if(event.getInventory().getName().equalsIgnoreCase("§a● Lobbywechsler")) {
  74.             event.setCancelled(true);
  75.             if ((event.getSlot() == event.getRawSlot()) &&
  76.                     (event.getCurrentItem() != null) && (event.getCurrentItem().hasItemMeta())) {
  77.                 String colorLobby = "§7";
  78.                 String colorPremiumLobby = "§6";
  79.                 String name = event.getCurrentItem().getItemMeta().getDisplayName().replaceAll(colorLobby, "").replaceAll(colorPremiumLobby, "");
  80.                
  81.                 LobbySystem.teleportServers(player, name);
  82.             }
  83.         }
  84.     }
  85.    
  86.     @EventHandler
  87.     public void onInteract(PlayerInteractEvent e) {
  88.         Player p = e.getPlayer();
  89.         if (((e.getAction() == Action.RIGHT_CLICK_AIR) || (e.getAction() == Action.RIGHT_CLICK_BLOCK)) &&
  90.                   (p.getInventory().getItemInHand().getType() == Material.NETHER_STAR) &&
  91.                   (p.getInventory().getItemInHand().hasItemMeta()) &&
  92.                   (p.getInventory().getItemInHand().getItemMeta().getDisplayName().equalsIgnoreCase("§a● Lobbyw. §8‖ §7Rightclick")) &&
  93.                   (inventory != null)) {
  94.             p.openInventory(inventory);
  95.         }
  96.     }
  97.    
  98.     public static void updateLobbys() {
  99.         Bukkit.getScheduler().scheduleSyncRepeatingTask(LobbySystem.getInstance(), new Runnable() {
  100.            
  101.             @Override
  102.             public void run() {
  103.             }
  104.         }, 0L, 20L);
  105.     }
  106.    
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement