Ir para conteúdo
  • 0

[Resolvido] E.SETCANCELLEND | HELP-ME PLS!


Hemptt

Pergunta

Quando eu clicko no item, ele não está cancelando o evento!


 


package Menu;
 
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
 
 
public class Geral implements CommandExecutor, Listener{
 
public static ItemStack f;
public static ItemMeta fm;
 
public static ItemStack n;
public static ItemMeta nm;
 
public static ItemStack l;
public static ItemMeta lm;
 
public static ItemStack b;
public static ItemMeta bm;
 
String under = "§7Under§bMC §a» ";
 
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (!(sender instanceof Player)){
sender.sendMessage(under + "§cVoce so pode executar o comando no servidor!");
return true;
}
Player p = (Player)sender;
if (cmd.getName().equalsIgnoreCase("menugeral")){
Inventory gel = Bukkit.createInventory(p, 6*9, "§7Under§bMC §a» Menu Geral");
 
f = new ItemStack(Material.VINE);
fm = f.getItemMeta();
fm.setDisplayName("§a» §7Vine §a«");
f.setItemMeta(fm);
 
n = new ItemStack(Material.IRON_FENCE);
nm = n.getItemMeta();
nm.setDisplayName("§a» §7Iron Bars§a«");
n.setItemMeta(nm);
 
l = new ItemStack(Material.BOOK_AND_QUILL);
lm = l.getItemMeta();
lm.setDisplayName(under + "§7SkyWars");
l.setItemMeta(lm);
 
b = new ItemStack(Material.STICK);
bm = b.getItemMeta();
bm.setDisplayName("§c» &7Vagas na staff!");
b.setItemMeta(bm);
 
gel.setItem(1, f);
gel.setItem(49, b);
gel.setItem(4, l);
gel.setItem(3, f);
gel.setItem(5, f);
gel.setItem(7, f);
gel.setItem(9, f);
gel.setItem(17, f);
gel.setItem(27, f);
gel.setItem(35, f);
gel.setItem(45, f);
gel.setItem(47, f);
gel.setItem(51, f);
gel.setItem(53, f);
gel.setItem(0, n);
gel.setItem(2, n);
gel.setItem(6, n);
gel.setItem(8, n);
gel.setItem(18, n);
gel.setItem(26, n);
gel.setItem(36, n);
gel.setItem(44, n);
gel.setItem(46, n);
gel.setItem(48, n);
gel.setItem(50, n);
gel.setItem(52, n);
 
p.openInventory(gel);
return true;
}
return false;
}
@EventHandler
public void onClick(InventoryClickEvent e){
Player p = (Player)e.getWhoClicked();
if(p.getInventory().getName().equalsIgnoreCase("§7Under§bMC §a» Menu Geral")){
e.setCancelled(true);
if (e.getCurrentItem().getType() == Material.STICK){
p.closeInventory();
p.chat("/staff");
p.playSound(p.getLocation(), Sound.ANVIL_LAND, 150F, 150F);
 
}
}
}
}
 
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

Tente usar assim:

 if (e.getInventory().getName().equals(String.valueOf("§7Under§bMC §a» Menu Geral")) {
e.setCancelled(true);
                if (e.getCurrentItem() == null || e.getCurrentItem().getItemMeta() == null || e.getCurrentItem().getType() == Material.AIR) {
                    return;
                }
Editado por SrAwaay
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...