Advertisement
Guest User

Untitled

a guest
Sep 29th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.49 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4.  
  5. import org.bukkit.Bukkit;
  6. import org.bukkit.Material;
  7. import org.bukkit.command.Command;
  8. import org.bukkit.command.CommandSender;
  9. import org.bukkit.entity.Player;
  10. import org.bukkit.event.EventHandler;
  11. import org.bukkit.event.inventory.InventoryClickEvent;
  12. import org.bukkit.inventory.Inventory;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.inventory.meta.SkullMeta;
  15. import org.bukkit.scheduler.BukkitRunnable;
  16.  
  17. public class Main extends JavaPlugin implements Listener{
  18.  
  19.     public void onEnable(){
  20.         Bukkit.getPluginManager().registerEvents(this,this);
  21.     }
  22.  
  23.     private List<String> skins = Arrays.asList("kawayz", "mortadela", "gamersboard", "skype");
  24.     public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  25.         if(cmd.getName().equalsIgnoreCase("skins")){
  26.             if(!(sender instanceof Player)){
  27.                 sender.sendMessage("§cSOmente players");
  28.                 return true;
  29.             }
  30.             Inventory inv = Bukkit.createInventory(null, 54, "MortadelaSKins");
  31.             for(String skin : skins){
  32.                 inv.addItem(getHead(skin));
  33.             }
  34.             Player p = (Player)sender;
  35.             p.openInventory(inv);
  36.             //((Player)sender).openInventory(inv);//Método simplificado!
  37.             return true;
  38.         }
  39.         return true;
  40.     }
  41.    
  42.     @EventHandler
  43.     public void onClick(InventoryClickEvent e){
  44.         if(e.getInventory().getTitle().equalsIgnoreCase("MortadelaSkins")){
  45.             if(e.getWhoClicked() instanceof Player){
  46.                 if(e.getSlot() == -999) return;
  47.                 if(e.getRawSlot() >= e.getInventory().getSize()) return;
  48.                 final Player p = (Player)e.getWhoClicked();
  49.                 e.setCancelled(true);
  50.                 new BukkitRunnable() {
  51.                    
  52.                     @SuppressWarnings("deprecation")
  53.                     @Override
  54.                     public void run() {
  55.                         p.updateInventory();
  56.                     }
  57.                 }.runTaskLater(this, 20L);
  58.                 ItemStack item = e.getCurrentItem();
  59.                 if(item != null && item.getType() != Material.AIR){
  60.                     if(item.hasItemMeta() && item.getItemMeta().hasLore()){
  61.                         if(!item.getItemMeta().getLore().isEmpty() && item.getItemMeta().getLore().get(item.getItemMeta().getLore().size() - 1).startsWith("§0Comando:")){
  62.                             String comando = item.getItemMeta().getLore().get(item.getItemMeta().getLore().size() - 1).replaceAll("(?i)§0Comando: ", "");
  63.                             Bukkit.dispatchCommand(p, comando);
  64.                         }
  65.                     }
  66.                 }
  67.             }
  68.         }
  69.     }
  70.    
  71.     public ItemStack getHead(String owner){
  72.         String teucomando = "skin " + owner;
  73.        
  74.         ItemStack item = new ItemStack(Material.SKULL_ITEM, 1, (byte)3);
  75.         SkullMeta meta = (SkullMeta)item.getItemMeta();
  76.         meta.setOwner(owner);
  77.         meta.setDisplayName("§bCabeça de " + owner);
  78.        
  79.         List<String> lore = new ArrayList<String>();//Método fácil de como colocar lore :c
  80.         lore.add("");
  81.         lore.add("§eMéte tuas lores aqui");
  82.         lore.add("§bSupaLores");
  83.         lore.add("§0Comando: " + teucomando);
  84.        
  85.         meta.setLore(lore);
  86.         item.setItemMeta(meta);
  87.         return item;
  88.     }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement