Ir para conteúdo
  • 0

Como faço isso? Verificar item e quantidade


GuiHSilva

Pergunta

Olá gamerboardeiros, tudo beleza, eu adoraria que alguém me ajudasse, em como eu posso verificar qual item esta ali naquela bolinha (slot 5)

 

b8bc2c0835b74d9c8cdd0204fe76cb97.jpeg

 

Por exemplo, quero verificar se ali, possui 1 diamante, se for mais que isso um item diferente, execute um determinado método, caso seja 1 diamante, execute outro determinado método

 

Quem puder me ajudar, fico extremamente grato!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

Creio que você não leu direito amigo...

 

Isso vai verificar um determinado item e um determinado slot, mas também quero verificar a quantidade, por exemplo, quero que seja 1 diamante, não mais que isso

Simples, olhe os métodos dessa classe:

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemStack.html

(o link acima esta bugado)https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemStack.html

Ok ok, observou que tinha getAmount();?

Então, este método retorna um INTEGER.

Só verificar se a quantia do itemstack (getItem(4)) é igual a 1, exemplo:

							Inventory inventory = Bukkit.createInventory(null, 54);
							ItemStack diamante = new ItemStack(Material.DIAMOND);
							
							if(inventory.getItem(4) != null){ // Verifica se o item não é nulo
								if(inventory.getItem(4).equals(diamante)){
									if(inventory.getItem(4).getAmount() == 1){
									// Caso o item seja um diamante e a quantia dele é igual 1, vai acontecer algo.
									}else{
										// Caso item seja um diamante e a quantia dele é maior que 1, vai acontecer algo.
									}
								}else{
									// Caso o item não seja um diamante, vai acontecer algo.
								}
Editado por Gabriel_Sm
Link para o comentário
Compartilhar em outros sites

Class: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/Inventory.html

Você pode usar o método getItem(4);(4 seria o slot) para pegar o item e depois verificar se ele é igual ao diamante, se for, executa o comando, se não, você escolhe o que faz.

Exemplo:

							Inventory inventory = Bukkit.createInventory(null, 54);
							ItemStack diamante = new ItemStack(Material.DIAMOND);
							
							if(inventory.getItem(4) != null){ // Verifica se o item não é nulo
								if(inventory.getItem(4).equals(diamante)){
									// Caso o item seja um diamante, vai acontecer algo.
								}else{
									// Caso o item não seja um diamante, vai acontecer algo.
								}
							}

Eu tenho uma recomendação para você, verifique se o item não é nulo, assim evita erros.

Editado por Gabriel_Sm
Link para o comentário
Compartilhar em outros sites

 

Usa o  evento: InventoryClickEvent.

if(e.getCurrentItem().getType() == Material.DIAMOND){
// é diamante
}else{
//não é diamante
}

Creio que você não leu direito amigo...

 

Class: https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/Inventory.html

Você pode usar o método getItem(4);(4 seria o slot) para pegar o item e depois verificar se ele é igual ao diamante, se for, executa o comando, se não, você escolhe o que faz.

Exemplo:

							Inventory inventory = Bukkit.createInventory(null, 54);
							ItemStack diamante = new ItemStack(Material.DIAMOND);
							
							if(inventory.getItem(4) != null){ // Verifica se o item não é nulo
								if(inventory.getItem(4).equals(diamante)){
									// Caso o item seja um diamante, vai acontecer algo.
								}else{
									// Caso o item não seja um diamante, vai acontecer algo.
								}
							}

Eu tenho uma recomendação para você, verifique se o item não é nulo, assim evita erros.

Isso vai verificar um determinado item e um determinado slot, mas também quero verificar a quantidade, por exemplo, quero que seja 1 diamante, não mais que isso

Link para o comentário
Compartilhar em outros sites

 

Simples, olhe os métodos dessa classe:

https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/inventory/ItemStack.html

(o link acima esta bugado)https://hub.spigotmc.org/javadocs/spigot/org/bukkit/inventory/ItemStack.html

Ok ok, observou que tinha getAmount();?

Então, este método retorna um INTEGER.

Só verificar se a quantia do itemstack (getItem(4)) é igual a 1, exemplo:

							Inventory inventory = Bukkit.createInventory(null, 54);
							ItemStack diamante = new ItemStack(Material.DIAMOND);
							
							if(inventory.getItem(4) != null){ // Verifica se o item não é nulo
								if(inventory.getItem(4).equals(diamante)){
									if(inventory.getItem(4).getAmount() == 1){
									// Caso o item seja um diamante e a quantia dele é igual 1, vai acontecer algo.
									}else{
										// Caso item seja um diamante e a quantia dele é maior que 1, vai acontecer algo.
									}
								}else{
									// Caso o item não seja um diamante, vai acontecer algo.
								}

Obg

RESOLVIDO

Link para o comentário
Compartilhar em outros sites

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