package me.km.commands; import me.km.KajetansMod; import me.km.api.GlobalText; import me.km.api.Module; import me.km.api.ModuleCommand; import me.km.playerbank.PlayerBank; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import me.km.permissions.Permissions; import me.km.table.Table; import net.minecraft.command.ICommandSender; public class CommandLastSeen extends ModuleCommand { public CommandLastSeen(Module m) { super("lastseen", m); super.setDescription("Zeigt an welche Spieler zuletzt online waren"); super.setUsage("/lastseen [amount]"); super.setPermission(Permissions.LASTSEEN); } @Override public boolean execute(ICommandSender cs, String[] arg) { File[] files = new File("./saves/world/playerdata/").listFiles(); String helper; String name; long longhelper; Table table = new Table(2); PlayerBank pb = KajetansMod.playerbank.getDataBank(); for(File output : files) { helper = output.getName(); if(!helper.endsWith(".dat")) { continue; } longhelper = output.lastModified(); helper = helper.substring(0, helper.length() - 4); name = pb.getName(helper); if(name == null) { name = helper; } table.addRow(new Object[] {longhelper, name}); } table.sort(); table.reverse(); SimpleDateFormat ft = new SimpleDateFormat ("dd.MM.yyyy '§rum§7' HH:mm:ss"); Module m = this.getModule(); int limit = 10; if(arg.length >= 1) { try { limit = Integer.parseInt(arg[0]); if(limit < 1) { throw new NumberFormatException(); } } catch(NumberFormatException ex) { m.send(cs, GlobalText.noPositiveNaturalNumber()); return true; } } if(table.getSize() < limit) { limit = table.getSize(); } m.send(cs, "Zuletzt waren folgende Spieler online:"); for(int i = 0; i < limit; i++) { m.sendListElement(cs, "§7" + table.getElement(i, 1) + "§r am §7" + ft.format(new Date((long) table.getElement(i, 0)))); } return true; } }