@Override
    public void execute(MapleClient c, MessageCallback mc, String[] splitted) throws Exception {
        MapleCharacter pl = c.getPlayer();
        if (splitted[0].equals("whosthere")) {
            MessageCallback callback = new ServernoticeMapleClientMessageCallback(c);
            StringBuilder builder = new StringBuilder("Players on Map: ");
            for (MapleCharacter chr : c.getPlayer().getMap().getCharacters()) {
                if (pl.getGMLevel() >= chr.getGMLevel()) {
                    if (builder.length() > 150) { // wild guess :o
                        builder.setLength(builder.length() - 2);
                        callback.dropMessage(builder.toString());
                        builder = new StringBuilder();
                    }
                    builder.append(MapleCharacterUtil.makeMapleReadable(chr.getName()));
                    builder.append(", ");
                }
            }
            builder.setLength(builder.length() - 2);
            mc.dropMessage(builder.toString());
        } else if (splitted[0].equals("cheaters")) {
            mc.dropMessage("This doesnt do shit");
        } else if (splitted[0].equalsIgnoreCase("dehide")) {
            if (splitted.length < 2) {
                mc.dropMessage("Syntax: !dehide ign");
            } else {
                MapleCharacter noob = c.getChannelServer().getPlayerStorage().getCharacterByName(splitted[1]);
                if (noob != null) {
                    if (pl.getGMLevel() >= noob.getGMLevel()) {
                        noob.deHide();
                        SkillFactory.getSkill(Skills.Rogue.DarkSight).getEffect(20).applyTo(noob);
                        mc.dropMessage("done player position : " + noob.getMapId() + "; x: " + noob.getPosition().x + "; y: " + noob.getPosition().y);
                    } else {
                        mc.dropMessage("The ninja you are trying to dehide is too elite");
                    }
                }
            }
        }

    }