Untitled
unknown
plain_text
2 months ago
1.6 kB
14
Indexable
@EventHandler public void onInvSee(final InventoryClickEvent e) { if (!(e.getWhoClicked() instanceof final Player p)) return; final String invName = e.getView().getTitle(); if (!invName.startsWith(CC.translate("&7Inventory of "))) return; final Player target = Bukkit.getPlayer(invName.replace(CC.translate("&7Inventory of "), "")); if (target == null) { p.sendMessage(CC.translate("&cQuesto giocatore è offline.")); e.setCancelled(true); return; } if (e.getClickedInventory() == null || !e.getClickedInventory().equals(e.getView().getTopInventory())) return; switch (e.getAction()) { case MOVE_TO_OTHER_INVENTORY, DROP_ONE_SLOT, PLACE_ALL, PLACE_ONE, PICKUP_ALL, SWAP_WITH_CURSOR, DROP_ALL_CURSOR, DROP_ONE_CURSOR, DROP_ALL_SLOT, HOTBAR_SWAP, HOTBAR_MOVE_AND_READD, PICKUP_HALF, PICKUP_ONE, PICKUP_SOME, PLACE_SOME, CLONE_STACK, COLLECT_TO_CURSOR: Bukkit.getScheduler().runTaskLater(RedAPI.getPlugin(), () -> syncCustomInventoryToTarget(e.getClickedInventory(), target), 1L); break; default: e.setCancelled(true); break; } } private void syncCustomInventoryToTarget(final Inventory customInventory, final Player target) { final PlayerInventory targetInv = target.getInventory(); for (int i = 0; i <= 40; i++) { targetInv.setItem(i, customInventory.getItem(i)); } }
Editor is loading...
Leave a Comment