Ir para conteúdo
  • 0

[DÚVIDA] COMO PEGAR O ITEM DO INVENTÁRIO?


Lelfe

Pergunta

Como pego esse item no event InventoryClickEvent?



//item confirmar
ItemStack confirmar = new ItemStack(Material.WOOL, 1, (byte)5);
ItemMeta cm = confirmar.getItemMeta();
cm.setDisplayName("§aConfirmar");

ArrayList<String> lore = new ArrayList<String>();
lore.add("§7Deseja confirmar sua compra?");
cm.setLore(lore);
confirmar.setItemMeta(cm);


inv.setItem(11, confirmar);

//fim item confirmar


Como faço para checar se o click foi no item do codigo acima? eu to ligado como faz, mas está dando erro da maneira que estou fazendo (sou iniciante)


 


InventoryClickEvent



@SuppressWarnings("deprecation")
@EventHandler
public void aoClicar(InventoryClickEvent e){
Player p = (Player)e.getWhoClicked();

if(e.getInventory().getName().equalsIgnoreCase(getConfig().getString("nome_inv").replace("&", "§"))){

if(e.getCurrentItem().getType() == Material.MEU ITEM LÁ EM CIMA){
if(econ.getBalance(p.getName()) < 500){
p.sendMessage("falta money");
e.setCancelled(true);
p.closeInventory();
}else{
p.sendMessage("tem money");

}
}
}
}


Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

Fiz um sistema parecido ^^

 

Só que eu usei para pegar o slot '-'

ai sim ^_^

 

e.getCurrentItem().isSimilar(SEU ITEM LÁ);

não ta dando, pq eu tenho esse item: ItemStack confirmar = new ItemStack(Material.WOOL, 1, (byte)5);

 

e esse:  ItemStack cancelar = new ItemStack(Material.WOOL, 1, (byte)14);

 

 

dai quando coloco Material.WOOL, ai quando clico em algum da erro '-'

e.getCurrentItem().getItemMeta().getDisplayName().equalsIgnoreCase("§aConfirmar")

 

Perdão se escrevi algo errado, to no celular...

deu certo, valeeeu.

Link para o comentário
Compartilhar em outros sites

Cara eu pensei aqui, dessa forma pode dar bug, pq qualquer item q esteja no inventario até do player se tiver este mesmo nome vai executar tambem, entendeu?

mas não vai rodar isso dentro do inventário que eu fiz?

public void aoClicar(InventoryClickEvent e){
		Player p = (Player)e.getWhoClicked();
		
		if(e.getInventory().getName().equalsIgnoreCase(getConfig().getString("nome_inv").replace("&", "§"))){
Link para o comentário
Compartilhar em outros sites

mas não vai rodar isso dentro do inventário que eu fiz?

public void 8aoClicar(InventoryClickEvent e){
		Player p = (Player)e.getWhoClicked();
		
		if(e.getInventory().getName().equalsIgnoreCase(getConfig().getString("nome_inv").replace("&", "§"))){

 

Se eu nao estou enganado, vai bugar, testa ai, pega um item e renomeia ele com o mesmo nome la do itemstack, coloca no seu inventario e clica, com esse menu aberto!

Link para o comentário
Compartilhar em outros sites

Se eu nao estou enganado, vai bugar, testa ai, pega um item e renomeia ele com o mesmo nome la do itemstack, coloca no seu inventario e clica, com esse menu aberto!

é.. realmente faz o que era pra ser feito clicando no item no menu

Link para o comentário
Compartilhar em outros sites

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