closeInventory() is so buggy

Discussion in 'Plugin Development' started by StealerSlain, Mar 18, 2014.

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

    StealerSlain

    Help me, I have this code and I want to close player2's inventory when player1 will close it. Yes, in the inventory 2 players at the same time.
    playerList is an arraylist with 2 players in it.
    Code:java
    1. @EventHandler
    2. public void onInvClose(InventoryCloseEvent e){
    3. if(e.getInventory().getName().equals("test")){
    4. if(e.getPlayer() == playerList.get(0)){
    5. if(playerList.get(1).getOpenInventory().getTitle().equals("test")){
    6. playerList.get(1).getOpenInventory().close(); //this summons trillion errors
    7. playerList.get(0).sendMessage(pluginPrefix + "you closed inv");
    8. playerList.get(1).sendMessage(pluginPrefix + "inv was closed by " + traders.get(0));
    9. playerList.remove(0);
    10. playerList.remove(1);
    11.  
    12. }
    13. }
    14. if(e.getInventory().getName().equals("test")){ //oops, small mistake, did it twice
    15. if(e.getPlayer() == playerList.get(1)){
    16. if(playerList.get(0).getOpenInventory().getTitle().equals("test")){
    17. playerList.get(1).getOpenInventory().close();
    18. playerList.get(1).sendMessage(pluginPrefix + "you closed inv");
    19. playerList.get(0).sendMessage(pluginPrefix + "inv was closed by " + ChatColor.GOLD + traders.get(1).getDisplayName());
    20. playerList.remove(0);
    21. playerList.remove(1);
    22. }
    23. }
    24. }
    25. }
    26. }

    Also, I'm still learning java, so the code isn't too good :p
     
  2. Offline

    AtomSponge

    Try playerList.get(1).closeInventory()

    By the way: Don't save Players in Lists/Sets. Use Strings or UUIDs instead.
     
Thread Status:
Not open for further replies.

Share This Page