Solved method sending twise

Discussion in 'Plugin Development' started by EnchantedMiners, Aug 13, 2015.

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

    EnchantedMiners

    Can someone tell me why is my method sending twise

    Code:
        @EventHandler
        public void playerInvClick(InventoryClickEvent event){
            try{
                if(!event.getCurrentItem().hasItemMeta() || event.getSlotType() == SlotType.OUTSIDE)
                    return;
            }catch(NullPointerException ex){
                return;
            }
          
            Player p = (Player)event.getWhoClicked();
          
            List<GUI> guis = database.getGuis();
            List<AutoGUI> autoguis = database.getAutoGuis();
          
          
          
            for(AutoGUI autogui : autoguis){
                if(event.getClickedInventory().getTitle().equalsIgnoreCase(autogui.getInvName().replace("&", "ยง"))){
                    List<AutoItems> autoitems = database.getAutoItems();
                  
                    for(AutoItems autoitem : autoitems){
                        ItemStack is = event.getInventory().getItem(autoitem.getSlot());
                        if(autogui.getName().equalsIgnoreCase(autoitem.getGuiname())){
                            if(event.getCurrentItem().equals(is)){
                                HashMap<String, MinecraftPingReply> allServers = new HashMap<String, MinecraftPingReply>();
                                HashMap<String, Boolean> allserverstatus = new HashMap<String, Boolean>();
                              
                                allServers = database.serverInfos;
                                allserverstatus = database.status;
                              
                                boolean status = false;
                                boolean fullstatus = false;
                              
                                for(String sserver : allServers.keySet()){
                                    if(autoitem.getServerName().equalsIgnoreCase(sserver)){
                                        MinecraftPingReply finalserver = allServers.get(sserver);
                                      
                                        boolean sstatus = allserverstatus.get(autoitem.getServerName());
                                      
                                        if(sstatus == true){//ONLINE
                                            if(!(finalserver.getPlayers().getOnline() >= finalserver.getPlayers().getMax())){
                                                fullstatus = false;
                                            } else {
                                                fullstatus = true;
                                            }
                                            status = true;
                                        } else {
                                            status = false;
                                        }
                                    }
                                }
                                if(status == true && fullstatus == false){
                                    p.closeInventory();
                                    methods.sendToServer(p, autoitem.getServerName());
                                    System.out.println(autoitem.getServerName());
                                    event.setCancelled(true);
                                }
                            }
                        }
                    }
                }
                event.setCancelled(true);
            }
         }
    EDIT: In the list there is currently 2 items listed server1, lobby1
    so that is why its sending it twise and not triple or more times and that will be a big problem when i add 10+ servers to the list since it will send the player 40 times to a server and i really don't want that xD
     
  2. Offline

    Shortninja66

    LOL JUST READ SOLVED MY BAD
     
Thread Status:
Not open for further replies.

Share This Page