- Баллы
- 76
- Имя в Minecraft
- AguRChek_TV
При завершении открытия сундука когда забираеш предметы и открываешь сундук заново предметы обновляются.
Код:
if(e.getClickedBlock().getType() == Material.CHEST) {
Block block = e.getClickedBlock();
Chest chest = (Chest) block.getState();
Inventory inv = chest.getSnapshotInventory();
if(chest.getCustomName().equals(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + "Locked")) {
BlockState state = block.getState();
inv.clear();
if(dropcd != 0) {
p.sendMessage(ChatColor.AQUA + "" + ChatColor.BOLD + "not so fast. please wait");
e.setCancelled(true);
return;
}
p.sendMessage("open");
dropcd = 11;
new BukkitRunnable() {
@Override
public void run() {
dropcd--;
ItemStack cd = new ItemStack(Material.PLAYER_HEAD, dropcd);
SkullMeta meta = (SkullMeta) cd.getItemMeta();
meta.setOwner("MHF_Chest");
meta.setDisplayName(ChatColor.AQUA + "" + ChatColor.BOLD + "before opening the lootbox " + dropcd + " second");
ArrayList<String> lore = new ArrayList<String>();
lore.add(ChatColor.WHITE + "" + ChatColor.BOLD + "This box may contain a lot of valuable Loot");
lore.add(ChatColor.WHITE + "" + ChatColor.BOLD + "while you open the box, you can be killed");
meta.setLore(lore);
cd.setItemMeta(meta);
inv.setItem(13, cd);
chest.update(true);
for(Player ps : Bukkit.getOnlinePlayers()) {
ps.sendMessage(ChatColor.DARK_RED + "" + ChatColor.BOLD + "" + dropcd);
}
if(dropcd == 0) {
chest.setCustomName(ChatColor.DARK_AQUA + "" + ChatColor.BOLD + "Opened");
state.update();
inv.clear();
ItemStack golden_apple = new ItemStack(Material.GOLDEN_APPLE, 3);
inv.addItem(golden_apple);
chest.update(true);
p.closeInventory();
p.openInventory(inv);
p.sendMessage("end");
this.cancel();
}
if(p.getOpenInventory().getType() != InventoryType.CHEST) {
dropcd = 0;
p.sendMessage("clouse");
inv.clear();
chest.update(true);
this.cancel();
}
}
}.runTaskTimer(this, 0, 20);
}
}