Exemple #1
0
  public void reply(Player target, CommandSender commandSender) {
    UserStatus userStatus = new UserStatus();
    User essUser = plugin.essentials.getUser(target);

    // Nick
    userStatus.addRow(new UserStatusRow("Ник: ", target.getName()));
    // HP
    userStatus.addRow(
        new UserStatusRow(
            "Здоровье: ",
            target.getHealth()
                + "/"
                + target.getMaxHealth()
                + " ( +"
                + target.getFoodLevel()
                + " насыщение )"));
    // XP
    userStatus.addRow(
        new UserStatusRow("Уровень: ", target.getExp() + "(уровень " + target.getLevel() + " )"));
    // location
    // TODO: Make output readable
    userStatus.addRow(new UserStatusRow("Местоположение: ", target.getLocation().toString()));
    // balance
    userStatus.addRow(new UserStatusRow("Баланс: ", essUser.getMoney().toString()));
    // IP
    userStatus.addRow(new UserStatusRow("IP: ", target.getAddress().toString()));
    // GameMode
    userStatus.addRow(new UserStatusRow("Игровой режим: ", target.getGameMode().name()));
    // GodMode
    userStatus.addRow(new UserStatusRow("В режиме бога: ", essUser.isGodModeEnabled()));
    // OP
    userStatus.addRow(new UserStatusRow("OP: ", target.isOp()));
    // Fly
    userStatus.addRow(new UserStatusRow("Летает: ", target.isFlying()));
    // AFK
    userStatus.addRow(new UserStatusRow("AFK: ", essUser.isAfk()));
    // InJail
    userStatus.addRow(new UserStatusRow("В тюрьме: ", essUser.isJailed()));
    // InMute
    userStatus.addRow(new UserStatusRow("В муте: ", essUser.isMuted()));
    // InSasVanish
    userStatus.addRow(
        new UserStatusRow(
            "В сас ванише: ",
            ((SasVanish) plugin.sasCommandExecuter.commands.get("sasvanish")).inVanish(target)));
    // PEX
    userStatus.addRow(
        new UserStatusRow(
            "Группы: ", StringUtils.join(PermissionsEx.getUser(target).getGroupsNames(), ", ")));
    // TODO: Display only permissions added customly (not inherited from groups)
    // This commented line displays ALL the permissions of a player
    //        userStatus.addRow(new UserStatusRow("Пермишены: ",
    // StringUtils.join(PermissionsEx.getUser(target).getPermissions(target.getWorld().getName()),
    // ", ")));

    userStatus.send(commandSender);
  }
 @Override
 public void onPlayerQuit(final PlayerQuitEvent event) {
   final User user = ess.getUser(event.getPlayer());
   if (ess.getSettings().removeGodOnDisconnect() && user.isGodModeEnabled()) {
     user.toggleGodModeEnabled();
   }
   if (user.getSavedInventory() != null) {
     user.getInventory().setContents(user.getSavedInventory());
     user.setSavedInventory(null);
   }
   user.updateActivity(false);
   user.dispose();
   if (!ess.getSettings().getReclaimSetting()) {
     return;
   }
   final Thread thread =
       new Thread(
           new Runnable() {
             public void run() {
               try {
                 Thread.sleep(1000);
                 Runtime rt = Runtime.getRuntime();
                 double mem = rt.freeMemory();
                 rt.runFinalization();
                 rt.gc();
                 mem = rt.freeMemory() - mem;
                 mem /= 1024 * 1024;
                 LOGGER.log(Level.INFO, Util.format("freedMemory", mem));
               } catch (InterruptedException ex) {
                 return;
               }
             }
           });
   thread.setPriority(Thread.MIN_PRIORITY);
   thread.start();
 }