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(); }