Solved How to close custom inventory

Discussion in 'Plugin Development' started by dumbasPL, Jul 24, 2017.

Thread Status:
Not open for further replies.
  1. Offline

    dumbasPL

    I have player objest and i want to close custm inventory that he has opend
    when i try:
    Code:
    player.closeInventory();
    //or
    player.getOpenInventory().close();
    i get 20 seconds of lag and then very long stack trace(over 1000 lines), part of it looks like this:
    Code:
     
            at me.dumbasPL.dumGuilds.listeners.InventoryCloseListener.onClose(InventoryCloseListener.java:19) ~[?:?]
            at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
            at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleInventoryCloseEvent(CraftEventFactory.java:835) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at net.minecraft.server.v1_8_R3.EntityPlayer.closeInventory(EntityPlayer.java:772) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity.closeInventory(CraftHumanEntity.java:351) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at me.dumbasPL.dumGuilds.listeners.InventoryCloseListener.onClose(InventoryCloseListener.java:19) ~[?:?]
            at sun.reflect.GeneratedMethodAccessor117.invoke(Unknown Source) ~[?:?]
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_131]
            at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_131]
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:300) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:501) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:486) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory.handleInventoryCloseEvent(CraftEventFactory.java:835) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at net.minecraft.server.v1_8_R3.EntityPlayer.closeInventory(EntityPlayer.java:772) ~[minecraft.jar:git-Bukkit-e1ebe52]
            at org.bukkit.craftbukkit.v1_8_R3.entity.CraftHumanEntity.closeInventory(CraftHumanEntity.java:351) ~[minecraft.jar:git-Bukkit-e1ebe52]
    
    keep in mind that in thsi class me.dumbasPL.dumGuilds.listeners.InventoryCloseListener i am not closing the same player inventory, i am closing other player inventory
     
  2. Offline

    Caderape2

  3. Offline

    mehboss

    I know this sounds absurd, but show me the whole stacktrace in pastebin.com or [ CODE ] and show me line 19 in the class, "InventoryCloseListener"
     
  4. Offline

    dumbasPL

    @Caderape2
    solved, it was some how looping it self
    Code:
                   new BukkitRunnable() {
                    @Override
                    public void run() {
                        t.getUserA().getPlayer().closeInventory();
                        t.getUserB().getPlayer().closeInventory();
                    }
                }.runTaskLater(DumGuilds.getInst(), 1);
    solved the problem
     
Thread Status:
Not open for further replies.

Share This Page