SkayGamer Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 Olá a todos que lerem esse texto, Eu to quereno desenvolver um plugin com o comando /vender que abre o menu gui com icone de deixar a venda de minerios automatico (Somente para vips) , Icone para desativar as outras opções , um icone verde para vender os itens com o click, e um icone para vender usando o shift, não sei como fazer para pegar os itens do inventario do jogador, nao sei totalizar o total de itens tipo lapis azul , por favor me ajudem. Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 (editado) Vamos começar: //// Verificar se o jogador possui o material definido if(!p.getInventory().contains(Material.MATERIAL)) { //Mensagem de quando ele não tiver o material. e.setCancelled(true);p.closeInventory(); return; } //// Verificar a quantidade de itens int quantidade = getAmount(p, new ItemStack(Material.MATERIAL)); ////Criar o valor int valor = quantidade*PREÇO; #Valor de um item. ////Remover os itens public static void removeItems(Inventory inventory, Material type, int amount) { if (amount <= 0) return; int size = inventory.getSize(); for (int slot = 0; slot < size; slot++) { ItemStack is = inventory.getItem(slot); if (is == null) continue; if (type == is.getType()) { int newAmount = is.getAmount() - amount; if (newAmount > 0) { is.setAmount(newAmount); break; } else { inventory.clear(slot); amount = -newAmount; if (amount == 0) break; } } } } # Logo após removeItems(p.getInventory(), Material.MATERIAL, quantidade); //// Adicionar o Money economia.getPlayer().addBalance(valor); ////Mensagem com número formatado String formatado = NumberFormat.getInstance().format(valor); p.sendMessage("Seu ganho foi de " + formatado + "."); ////No SHIFT use o evento: SNEAKEVENT(ALGUMA COISA DO TIPO) //// Permissão if(p.hasPermission("permissao") { } else { } Simples porém espero que entenda. Método getAmout: public static int getAmount(Player arg0, ItemStack arg1) { if (arg1 == null) return 0; int amount = 0; for (int i = 0; i < 36; i++) { ItemStack slot = arg0.getInventory().getItem(i); if (slot == null || !slot.isSimilar(arg1)) continue; amount += slot.getAmount(); } return amount; } Editado Setembro 23, 2018 por String Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 2 minutos atrás, String disse: Vamos começar: //// Verificar se o jogador possui o material definido if(!p.getInventory().contains(Material.MATERIAL)) { //Mensagem de quando ele não tiver o material. e.setCancelled(true);p.closeInventory(); return; } //// Verificar a quantidade de itens int quantidade = getAmount(p, new ItemStack(Material.MATERIAL)); ////Criar o valor int valor = quantidade*PREÇO; #Valor de um item. ////Remover os itens public static void removeItems(Inventory inventory, Material type, int amount) { if (amount <= 0) return; int size = inventory.getSize(); for (int slot = 0; slot < size; slot++) { ItemStack is = inventory.getItem(slot); if (is == null) continue; if (type == is.getType()) { int newAmount = is.getAmount() - amount; if (newAmount > 0) { is.setAmount(newAmount); break; } else { inventory.clear(slot); amount = -newAmount; if (amount == 0) break; } } } } # Logo após removeItems(p.getInventory(), Material.MATERIAL, quantidade); //// Adicionar o Money economia.getPlayer().addBalance(valor); ////Mensagem com número formatado String formatado = NumberFormat.getInstance().format(valor); p.sendMessage("Seu ganho foi de " + formatado + "."); ////No SHIFT use o evento: SNEAKEVENT(ALGUMA COISA DO TIPO) //// Permissão if(p.hasPermission("permissao") { } else { } Simples porém espero que entenda. economia.getPlayer().addBalance(valor); esse valor é adicionado para 1 item? tipo tenho 1 lapis se eu vender vai dar esse valor se eu tiver 2 lapis vai dar o dobro desse valor? Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 (editado) 6 minutos atrás, レオナルド disse: economia.getPlayer().addBalance(valor); esse valor é adicionado para 1 item? tipo tenho 1 lapis se eu vender vai dar esse valor se eu tiver 2 lapis vai dar o dobro desse valor? Sim, como foi setado int valor = quantidade*VALOR;, o "VALOR" terá que ser de 1 item, para assim ficar: 304*12 = Ele multiplica 304 blocos em 12 cada um. Então no caso, ele multiplica de acordo com a quantidade. Editado Setembro 23, 2018 por String Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 Agora, String disse: Não, como foi setado int valor = quantidade*VALOR;, o "VALOR" terá que ser de 1 item, para assim ficar: 304*12 = Ele multiplica 304 blocos em 12 cada um. Então no caso, ele multiplica de acordo com a quantidade. Ah sim, estava procurando este metodo e nunca achei Basicamente ele calcula os itens do inventario do jogador e da o valor de acordo com os itens (setando o valor de 1 item) Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 1 minuto atrás, レオナルド disse: Ah sim, estava procurando este metodo e nunca achei Basicamente ele calcula os itens do inventario do jogador e da o valor de acordo com os itens (setando o valor de 1 item) isso! Link para o comentário Compartilhar em outros sites More sharing options...
String Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 RESOLVIDO? Caso sim, marque a resposta acima como resolvido ❤️ Link para o comentário Compartilhar em outros sites More sharing options...
zToodi Postado Setembro 23, 2018 Denunciar Compartilhar Postado Setembro 23, 2018 (editado) 31 minutos atrás, String disse: RESOLVIDO? Caso sim, marque a resposta acima como resolvido ❤️ é possivel criar uma stringlist no material, para adicionar varios itens atraves da config.yml ? Editado Setembro 23, 2018 por レオナルド Link para o comentário Compartilhar em outros sites More sharing options...
Reset Postado Dezembro 19, 2018 Denunciar Compartilhar Postado Dezembro 19, 2018 Sua dúvida foi marcada como resolvida pela nossa equipe. Caso sua dúvida não tenha sido sanada, crie outro tópico. OBS: Essa mensagem é automática Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados