Eu to fazendo um plugin de chest só que estou com um problema, quando o player remove o item ele não esta removendo da config ai fica meio que multiplicando o item, e também quando o player move o item de lugar, ele não remove a posição anterior do item! ai fica quando eu movo de lugar ele continua no local anterior e no novo local.
Pergunta
WebMaker
Eu to fazendo um plugin de chest só que estou com um problema, quando o player remove o item ele não esta removendo da config ai fica meio que multiplicando o item, e também quando o player move o item de lugar, ele não remove a posição anterior do item! ai fica quando eu movo de lugar ele continua no local anterior e no novo local.
BackpackCommand
package Comandos; import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import Main.Main; public class BackpackCommand implements CommandExecutor { // MENSAGEMNS DA CONFIG String permission = Main.getInstance().message.getString("Server.Permission").replace("&", "§"); YamlConfiguration chest = Main.getInstance().chest; @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("chest")) { if (!(sender instanceof Player)) { return true; } if (!(sender.hasPermission("skypvp.virtualchest.level.1"))) { sender.sendMessage(permission); return true; } /* * * <ID> * 1. * 2. * 3. * */ Player p = (Player) sender; Inventory inv = Bukkit.createInventory(p, 36, "§8Chest " + p.getName()); if (chest.contains(p.getUniqueId().toString())) { for (String i : chest.getConfigurationSection(p.getUniqueId().toString()).getKeys(false)) { ItemStack item = chest.getItemStack(p.getUniqueId().toString() + "." + i); inv.addItem(item); } } p.openInventory(inv); return true; } return false; } }PlayerClosedInventory
package Listernes; import org.bukkit.Material; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import Main.Main; public class PlayerCloseInvetory implements Listener { YamlConfiguration chest = Main.getInstance().chest; @EventHandler public void onInClose(InventoryCloseEvent e) { String title = e.getInventory().getTitle(); Player p = (Player) e.getPlayer(); if (title.equalsIgnoreCase("§8Chest " + p.getName()) == false) return; Inventory inv = e.getInventory(); for (int i = 0; i <= 35; i++) { ItemStack item = inv.getItem(i); if (item == null) continue; if (item.getType() == Material.AIR) continue; chest.set(p.getUniqueId().toString() + "." + i, item); } Main.getInstance().save(); } }Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados