java类org.bukkit.event.inventory.InventoryCloseEvent的实例源码

TradeManager.java 文件源码 项目:ZentrelaRPG 阅读 28 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent event) {
    UUID uuid = event.getPlayer().getUniqueId();
    if (currentTrade.containsKey(uuid)) {
        UUID other = currentTrade.remove(uuid);
        Player otherP = plugin.getServer().getPlayer(other);
        if (otherP != null && otherP.isOnline() && otherP.isValid()) {
            if (currentTrade.containsKey(other))
                currentTrade.remove(other);
            event.getPlayer().sendMessage(ChatColor.RED + "The trade with " + otherP.getName() + " was canceled.");
            otherP.sendMessage(ChatColor.RED + "The trade with " + event.getPlayer().getName() + " was canceled.");
            otherP.closeInventory();
        } else {
            event.getPlayer().sendMessage(ChatColor.RED + "The trade was canceled.");
        }
    }
}
MenuManager.java 文件源码 项目:SparseBukkitAPI 阅读 26 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent e)
{
    if(!(e.getPlayer() instanceof Player))
        return;

    Inventory inv = e.getInventory();
    InventoryHolder holder = inv.getHolder();
    if(holder != null && holder instanceof Menu)
    {
        Menu menu = (Menu) holder;
        menu.viewers.remove(e.getPlayer());
        if(menu.viewers.size() == 0)
            openMenus.remove(menu);
    }
}
SuperiorCraft.java 文件源码 项目:SuperiorCraft 阅读 29 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryCloseEvent(InventoryCloseEvent e) {
    if (e.getPlayer().getGameMode() == GameMode.SPECTATOR) {
        if (e.getInventory().getName().equalsIgnoreCase(wm1.inv.getName())) {
            Bukkit.getScheduler().scheduleSyncDelayedTask(SuperiorCraft.plugin, new Runnable() {
                @Override
                public void run() {
                    e.getPlayer().openInventory(wm2.inv);
                }
            }, 1);

        }

        else if (e.getInventory().getName().equalsIgnoreCase(wm2.inv.getName())) {
            if (e.getInventory().getName().equalsIgnoreCase(wm2.inv.getName())) {
                Bukkit.getScheduler().scheduleSyncDelayedTask(SuperiorCraft.plugin, new Runnable() {
                    @Override
                    public void run() {
                        e.getPlayer().setGameMode(GameMode.ADVENTURE);
                    }
                }, 1);

            }       
        }
    }
}
InventoryManager.java 文件源码 项目:SmartInvs 阅读 23 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.LOW)
public void onInventoryClose(InventoryCloseEvent e) {
    Player p = (Player) e.getPlayer();

    if(!inventories.containsKey(p))
        return;

    SmartInventory inv = inventories.get(p);

    inv.getListeners().stream()
            .filter(listener -> listener.getType() == InventoryCloseEvent.class)
            .forEach(listener -> ((InventoryListener<InventoryCloseEvent>) listener).accept(e));

    if(inv.isCloseable()) {
        e.getInventory().clear();
        inventories.remove(p);
    }
    else
        Bukkit.getScheduler().runTask(plugin, () -> p.openInventory(e.getInventory()));
}
BackpackListener.java 文件源码 项目:RPGInventory 阅读 36 收藏 0 点赞 0 评论 0
@EventHandler
public void onBackpackClose(InventoryCloseEvent event) {
    Inventory inventory = event.getInventory();
    Player player = (Player) event.getPlayer();

    if (!InventoryManager.playerIsLoaded(player)
            || !(inventory.getHolder() instanceof BackpackHolder)) {
        return;
    }

    PlayerWrapper playerWrapper = InventoryManager.get(player);
    Backpack backpack = playerWrapper.getBackpack();

    if (backpack == null) {
        return;
    }

    backpack.onUse();
    playerWrapper.setBackpack(null);
}
SupplyDropListener.java 文件源码 项目:MT_Core 阅读 27 收藏 0 点赞 0 评论 0
@EventHandler
public void onSupplyDropInventoryClose(InventoryCloseEvent e) {
    Location loc = e.getInventory().getLocation();
    Block b = loc.getBlock();

    if (b.getType() == Material.CHEST) {

        if (core.getSupplyDropManager().isSupplyDrop(b.getLocation())) {
            if (core.getSupplyDropManager().isEmpty(loc)) {
                core.getSupplyDropManager().removeSupplyDrop(loc);

                b.setType(Material.AIR);
                loc.getWorld().playSound(loc, Sound.BLOCK_WOOD_BREAK, 1, 1);
            }

        }
    }
}
GUIEvent.java 文件源码 项目:ArmorPlus 阅读 28 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent e) {
    Player p = (Player) e.getPlayer();
    if (ChatColor.stripColor(e.getInventory().getTitle()).equals("장신구 장착")) {
        ItemStack slot1 = e.getInventory().getItem(20);
        ItemMeta slot1m = slot1.getItemMeta();
        ArrayList list = Effect.effects;
        Iterator<Effect> i = list.iterator();
        while (i.hasNext()) {
            try {
                Effect ee = i.next();
                String lastWord = slot1m.getLore().get(0).substring(slot1m.getLore().get(0).lastIndexOf(" ")+1);
                if (ChatColor.stripColor(ee.getDisplayName()).equals(ChatColor.stripColor(slot1m.getLore().get(0).replace(lastWord,"{0}")))) {
                    Effect.eventType(p,ee,"summon");
                }
            } catch (Exception e1) {
                e1.printStackTrace();
            }
        }
    }
}
MenuManager.java 文件源码 项目:VanillaPlus 阅读 31 收藏 0 点赞 0 评论 0
@EventHandler (priority = EventPriority.HIGHEST, ignoreCancelled = false)
public void onClose(InventoryCloseEvent event) {
    if (!(event.getInventory().getHolder() instanceof MenuLink))
        return;
    final VPPlayer player = VanillaPlusCore.getPlayerManager().getPlayer((Player) event.getPlayer());
    final MenuLink menu = ((MenuLink) event.getInventory().getHolder());
    Bukkit.getScheduler().scheduleSyncDelayedTask(VanillaPlus.getInstance(), new Runnable() {
        @Override
        public void run() {
            if(player.getPlayer().getOpenInventory().getTopInventory().getType() == InventoryType.CRAFTING){
                menu.getIconMenu().closed(player, menu);
            }else{
                menu.getIconMenu().changed(player, menu);
            }
        }
    });
}
MenuManager.java 文件源码 项目:ZentrelaCore 阅读 30 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent event) {
    UUID uuid = event.getPlayer().getUniqueId();
    if (invClickables.containsKey(uuid)) {
        HashMap<String, HashMap<String, Runnable>> invs = invClickables.get(uuid);
        String invName = event.getInventory().getName();
        if (invName != null && invs.containsKey(invName)) {
            HashMap<String, Runnable> map = invs.remove(invName);
            map.clear();
            map = null;
        }
        generalClickables.remove(uuid);
    }
    if (plugin.getPD((Player) event.getPlayer()) != null)
        plugin.getPD((Player) event.getPlayer()).currentModifiableInventory = null;
}
InventoryClose.java 文件源码 项目:StaffPlus 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void onClose(InventoryCloseEvent event)
{
    final Player player = (Player) event.getPlayer();
    User user = userManager.get(player.getUniqueId());

    if(user.isFrozen() && options.modeFreezePrompt)
    {
        new BukkitRunnable()
        {
            @Override
            public void run()
            {
                new FreezeGui(player, options.modeFreezePromptTitle);                   
            }
        }.runTaskLater(StaffPlus.get(), 1L);
        return;
    }else if(user.getCurrentGui() != null)
    {
        user.setCurrentGui(null);
    }
}
SuperiorCraft.java 文件源码 项目:SuperiorCraft 阅读 27 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryCloseEvent(InventoryCloseEvent e) {
    if (e.getPlayer().getGameMode() == GameMode.SPECTATOR) {
        if (e.getInventory().getName().equalsIgnoreCase(wm1.inv.getName())) {
            Bukkit.getScheduler().scheduleSyncDelayedTask(SuperiorCraft.plugin, new Runnable() {
                @Override
                public void run() {
                    e.getPlayer().openInventory(wm2.inv);
                }
            }, 1);

        }

        else if (e.getInventory().getName().equalsIgnoreCase(wm2.inv.getName())) {
            if (e.getInventory().getName().equalsIgnoreCase(wm2.inv.getName())) {
                Bukkit.getScheduler().scheduleSyncDelayedTask(SuperiorCraft.plugin, new Runnable() {
                    @Override
                    public void run() {
                        e.getPlayer().setGameMode(GameMode.ADVENTURE);
                    }
                }, 1);

            }       
        }
    }
}
WorthListener.java 文件源码 项目:factions-top 阅读 26 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void updateWorth(InventoryCloseEvent event) {
    // Do nothing if a player did not close the inventory or if chest
    // events are disabled.
    if (!(event.getPlayer() instanceof Player) || plugin.getSettings().isDisableChestEvents()) {
        return;
    }

    // Get cached values from when chest was opened and add the difference
    // to the worth manager.
    if (event.getInventory().getHolder() instanceof DoubleChest) {
        DoubleChest chest = (DoubleChest) event.getInventory().getHolder();
        updateWorth((Chest) chest.getLeftSide());
        updateWorth((Chest) chest.getRightSide());
    }

    if (event.getInventory().getHolder() instanceof Chest) {
        updateWorth((Chest) event.getInventory().getHolder());
    }
}
EquipHandler.java 文件源码 项目:Damocles 阅读 26 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent event){
    Inventory inv = event.getInventory();
    if(inv.getName().equals("Equip Inventory")){
        Player player = (Player) event.getPlayer();
        Account account = new Account(player);
        ca.damocles.accountsystem.Character character = account.getLoadedCharacter();
        player.getInventory().setHelmet(inv.getItem(1));
        character.setEquip(Slot.HELMET, inv.getItem(1));
        player.getInventory().setChestplate(inv.getItem(2));
        character.setEquip(Slot.CHESTPLATE, inv.getItem(2));
        player.getInventory().setLeggings(inv.getItem(6));
        character.setEquip(Slot.LEGGINGS, inv.getItem(6));
        player.getInventory().setBoots(inv.getItem(7));
        character.setEquip(Slot.BOOTS, inv.getItem(7));
        character.setEquip(Slot.BELT, inv.getItem(19));
        character.setEquip(Slot.GLOVES, inv.getItem(20));
        character.setEquip(Slot.RING1, inv.getItem(24));
        character.setEquip(Slot.RING2, inv.getItem(25));
        character.setEquip(Slot.SPELLBOOK, inv.getItem(37));
        character.setEquip(Slot.BANK, inv.getItem(38));
        character.setEquip(Slot.RING3, inv.getItem(42));
        character.setEquip(Slot.RING4, inv.getItem(43));
    }
}
AnvilHandler.java 文件源码 项目:Damocles 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent event){
    for(Anvil an : animating){
        if(event.getPlayer().equals(an.getPlayer())){
            return;
        }
    }
    for(Anvil anvil : anvils){
        if(event.getPlayer().equals(anvil.getPlayer())){
            event.getPlayer().getInventory().setItemInMainHand(anvil.getItemStack());
            anvil.deleteShowItem();
            anvils.remove(anvil);
            return;
        }
    }
}
AIEventHandler.java 文件源码 项目:AutomaticInventory 阅读 38 收藏 0 点赞 0 评论 0
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void onInventoryClose(InventoryCloseEvent event)
{
    Inventory bottomInventory = event.getView().getBottomInventory();
    if(bottomInventory == null) return;
    if(bottomInventory.getType() != InventoryType.PLAYER) return;

    HumanEntity holder = ((PlayerInventory)bottomInventory).getHolder();
    if(!(holder instanceof Player)) return;

    Player player = (Player)holder;
    PlayerData playerData = PlayerData.FromPlayer(player);

    sortPlayerIfEnabled(player, playerData, bottomInventory);

    if(player.getGameMode() != GameMode.CREATIVE && Math.random() < .1 && !playerData.isGotDepositAllInfo() && featureEnabled(Features.DepositAll, player))
    {
        Inventory topInventory = event.getView().getTopInventory();
        if(topInventory != null && topInventory.getType() == InventoryType.CHEST)
        {
            AutomaticInventory.sendMessage(player, TextMode.Instr, Messages.DepositAllAdvertisement);
            playerData.setGotDepositAllInfo(true);
        }
    }
}
WoolChestTracker.java 文件源码 项目:Arcade2 阅读 28 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.HIGHEST)
public void restoreWoolChests(InventoryCloseEvent event) {
    HumanEntity human = event.getPlayer();

    if (human instanceof Player) {
        GamePlayer player = this.game.getGame().getPlayer((Player) human);
        if (player == null) {
            return;
        }

        List<GamePlayer> viewers = new ArrayList<>();
        for (HumanEntity humanViewer : event.getViewers()) {
            if (humanViewer instanceof Player) {
                GamePlayer viewer = this.game.getGame().getPlayer((Player) humanViewer);

                if (viewer != null) {
                    viewers.add(viewer);
                }
            }
        }

        this.restoreWoolChest(event.getInventory().getHolder(), player, viewers);
    }
}
WindowListeners.java 文件源码 项目:Arcade2 阅读 24 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.LOWEST)
public void onInventoryClose(InventoryCloseEvent event) {
    Window window = this.fetchWindow(event.getInventory());
    if (window == null) {
        return;
    }

    GamePlayer player = this.fetchPlayer(event.getPlayer());
    if (player == null) {
        return;
    }

    boolean close = window.close(player, false);
    if (!close) {
        // don't use the open(...) method in Window, because
        // it will handle the onOpen(...) event.
        event.getPlayer().openInventory(window.getContainer());
    }
}
FishShopGUI.java 文件源码 项目:MoreFish 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent event) {
    if (users.contains(event.getPlayer().getUniqueId())) {
        users.remove(event.getPlayer().getUniqueId());

        for (int i = 0; i < 27; i ++) {
            ItemStack itemStack = event.getInventory().getItem(i);

            if (itemStack == null || itemStack.getType() == Material.AIR ||
                    !plugin.getFishManager().isCustomFish(itemStack)) {
                continue;
            }

            if (event.getPlayer().getInventory().firstEmpty() == -1) {
                event.getPlayer().getWorld().dropItem(event.getPlayer().getLocation(), itemStack);
            } else {
                event.getPlayer().getInventory().addItem(itemStack);
            }
        }
    }
}
RewardsGUI.java 文件源码 项目:MoreFish 阅读 26 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent event) {
    if (users.contains(event.getPlayer().getUniqueId())) {
        users.remove(event.getPlayer().getUniqueId());

        ItemStack[] rewards = new ItemStack[8];

        for (int i = 0; i < 8; i ++) {
            ItemStack stack = event.getInventory().getItem(i);

            if (stack == null || stack.getType() == Material.AIR)
                continue;

            rewards[i] = stack;
        }

        plugin.getContestManager().setRewards(rewards);

        if (!editors.containsKey(event.getPlayer().getUniqueId())) {
            event.getPlayer().sendMessage(plugin.getLocale().getString("saved-changes"));
        }
    }
}
InventoryMenu.java 文件源码 项目:QuestManager 阅读 33 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent e) {
    if (e.getInventory().getName() == null || !e.getInventory().getName().equals(inventory.getName())) {
        return;
    }

    if (!(e.getPlayer() instanceof Player) || !(((Player) e.getPlayer()).getUniqueId().equals(
            player.getPlayer().getUniqueId()))) {
        QuestManagerPlugin.logger.warning("Inventory menu event matched names,"
                + " but not players! [" + e.getPlayer().getName() + "]");
        return;
    }


    if (gui instanceof CloseableGui)  {
        ((CloseableGui) gui).onClose();
    }

    //our inventory is closing
    //unregister ourselves, unregister with handler, end
    HandlerList.unregisterAll(this);


    QuestManagerPlugin.questManagerPlugin.getInventoryGuiHandler().closeMenu((Player) e.getPlayer());

}
EventListener.java 文件源码 项目:CleanShop 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryCloseEvent(InventoryCloseEvent event) {
    //long time=System.nanoTime();
    if(event.getInventory().getType()==InventoryType.CHEST&&CleanShop.shopScan)
    {
        Vector<ProtectedRegion> regions=null;
        if(event.getInventory().getHolder() instanceof Chest)
            regions=ShopUtils.getRegions(((Chest)event.getInventory().getHolder()).getLocation());
        if(event.getInventory().getHolder() instanceof DoubleChest)
            regions=ShopUtils.getRegions(((DoubleChest)event.getInventory().getHolder()).getLocation());
        if(regions!=null)
            for(ProtectedRegion p:regions)
            {
                if(p!=null)
                    if(ShopUtils.shopExists(p))
                    {
                        //plugin.calculateShopStock(plugin.getShop(p));
                        if(event.getInventory().getHolder() instanceof Chest)
                            ChestUtils.calculateChestStock((Chest)event.getInventory().getHolder(), ShopUtils.getShop(p));
                        else
                            ChestUtils.calculateChestStock((DoubleChest)event.getInventory().getHolder(), ShopUtils.getShop(p));
                        FileHandler.saveShops();
                    }
            }
    }
}
InventoryCloseListener.java 文件源码 项目:SimpleFreeze 阅读 98 收藏 0 点赞 0 评论 0
@EventHandler
public void inventoryClose(InventoryCloseEvent e) {
    Player p = (Player) e.getPlayer();
    UUID uuid = p.getUniqueId();
    if (p != null && p.isOnline()) {
        if (this.guiManager.isGUIEnabled() && this.guiManager.containsPlayer(uuid)) {
            if (!this.guiManager.isAllowedToClose()) {
                new BukkitRunnable() {
                    @Override
                    public void run() {
                        Inventory inv = guiManager.refreshPersonalGUI(uuid);
                        if (inv != null) {
                            p.openInventory(inv);
                        }
                    }
                }.runTaskLater(this.plugin, 0L);

            } else {
                this.guiManager.removePlayer(uuid);
            }
        }
    }
}
ShopManager.java 文件源码 项目:iZenith-PVP 阅读 24 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent e) {
    final Player player = (Player) e.getPlayer();
    if (openSelling.containsKey(player)) {
        Inventory inv = e.getInventory();
        final ItemStack[] contents = inv.getContents();
        int count = itemAmount(contents);
        if (count > 1) {
            Bukkit.getScheduler().scheduleSyncDelayedTask(Util.getMain(), new Runnable() {
                @Override
                public void run() {
                    openSell(player);
                    openSelling.get(player).setContents(contents);
                    player.sendMessage(ChatColor.RED + "Please click the sell button or remove your items before closing!");
                }
            });
        } else {
            openSelling.remove(player);
        }
    }
}
SilentOpenChest.java 文件源码 项目:SuperVanish 阅读 25 收藏 0 点赞 0 评论 0
@EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true)
public void onChestClose(InventoryCloseEvent e) {
    if (!(e.getPlayer() instanceof Player))
        return;
    final Player p = (Player) e.getPlayer();
    if (!playerStateInfoMap.containsKey(p)) return;
    if (!(p.getInventory().getType() == InventoryType.CHEST ||
            plugin.getVersionUtil().isOneDotXOrHigher(11)
                    && isShulkerBox(p.getInventory()))) {
        return;
    }
    new BukkitRunnable() {
        @Override
        public void run() {
            StateInfo stateInfo = playerStateInfoMap.get(p);
            if (stateInfo == null) return;
            restoreState(stateInfo, p);
            playerStateInfoMap.remove(p);
        }
    }.runTaskLater(plugin, 1);
}
RPGui.java 文件源码 项目:RedProtect 阅读 30 收藏 0 点赞 0 评论 0
@EventHandler
void onInventoryClose(InventoryCloseEvent event){
    if (event.getInventory().getTitle() != null && event.getInventory().getTitle().equals(this.name)) {
        if (this.edit){
            for (int i = 0; i < this.size; i++){
                try{
                    String flag = this.inv.getItem(i).getItemMeta().getLore().get(1).replace("§0", "");
                    if (RPConfig.getDefFlags().contains(flag)){
                        RPConfig.setGuiSlot(/*this.inv.getItem(i).getType().name(),*/ flag, i);
                    }
                } catch (Exception e){
                    RPLang.sendMessage(this.player, "gui.edit.error");
                    close();
                    return;
                }                   
            }
            RPConfig.saveGui();
            RPLang.sendMessage(this.player, "gui.edit.ok");
        }
        close();
    }
}
MenuCloseAction.java 文件源码 项目:MenuAPI 阅读 22 收藏 0 点赞 0 评论 0
@EventHandler
public void onClose(InventoryCloseEvent event)
{
    Menu menu = MenuAPI.i().getMenuRegistry().getByInventory(event.getInventory());

    List<HumanEntity> viewers = event.getViewers();
    if(menu != null)
    {
        viewers.remove(event.getPlayer()); // Precaution, really.
        if(viewers.size() == 0)
        {
            menu.getObjects().clear();
            menu.getInventory().clear();
            MenuAPI.i().getMenuRegistry().deregister(menu);
        }
    }
}
ChestGUIListener.java 文件源码 项目:NovaGuilds 阅读 24 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent event) {
    final NovaPlayer nPlayer = PlayerManager.getPlayer(event.getPlayer());
    if(nPlayer.getGuiInventory() != null && !ChestGUIUtils.guiContinueList.contains(nPlayer)) {
        if(nPlayer.getGuiInventoryHistory().size() == 1) {
            nPlayer.setGuiInventory(null);
        }
        else {
            nPlayer.removeLastGUIInventoryHistory();

            NovaGuilds.runTask(new Runnable() {
                @Override
                public void run() {
                    nPlayer.getGuiInventory().open(nPlayer);
                }
            });
        }
    }
}
BuyNowSignListener.java 文件源码 项目:BuycraftX 阅读 21 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(final InventoryCloseEvent event) {
    if (settingUpSigns.containsKey(event.getPlayer().getUniqueId())) {
        plugin.getServer().getScheduler().runTaskLater(plugin, new Runnable() {
            @Override
            public void run() {
                if ((event.getPlayer().getOpenInventory().getTopInventory() == null ||
                        !event.getPlayer().getOpenInventory().getTopInventory().getTitle().startsWith("Buycraft: ")) &&
                        settingUpSigns.remove(event.getPlayer().getUniqueId()) != null &&
                        event.getPlayer() instanceof Player) {
                    ((Player) event.getPlayer()).sendMessage(ChatColor.RED + "Buy sign set up cancelled.");
                }
            }
        }, 3);
    }
}
UnitMaterial.java 文件源码 项目:civcraft 阅读 24 收藏 0 点赞 0 评论 0
@Override
public void onInventoryClose(InventoryCloseEvent event) {
    ItemStack foundStack = null;
    for (ItemStack stack : event.getPlayer().getInventory().getContents()) {
        if (stack == null) {
            continue;
        }

        if (LoreMaterial.isCustom(stack)) {
            if (LoreMaterial.getMaterial(stack) instanceof UnitMaterial) {
                if (foundStack == null) {
                    foundStack = stack;
                } else {
                    event.getPlayer().getWorld().dropItem(event.getPlayer().getLocation(), stack);
                    event.getPlayer().getInventory().remove(stack);
                }
            }
        }

    }
}
GuiManager.java 文件源码 项目:ProSpam 阅读 22 收藏 0 点赞 0 评论 0
@EventHandler
public void onInventoryClose(InventoryCloseEvent event)
{
    Inventory inventory = event.getInventory();

    try
    {
        InventoryGui gui = getInventoryGuiById(HiddenId.grabId(inventory.getTitle()));

        guis.remove(gui);
    }
    catch (Exception ignored)
    {
        //inventory is not a gui -> do nothing
    }
}


问题


面经


文章

微信
公众号

扫码关注公众号