Esempio n. 1
0
    public void execute(Player p, Command cmd, String cmdLbl, String[] args) {
        if (args.length == 1) {
            if (args[0].startsWith("help")) {
                p.sendMessage(MMOCraft.prefix + head);
                p.sendMessage(MMOCraft.prefix + "");
                p.sendMessage(MMOCraft.prefix + foot);
                return;
            } else if (args[0].startsWith("ver")) {
                p.sendMessage(MMOCraft.prefix + I18n._("", new Object[] {MMOCraft.info.getVersion(), MMOCraft.osN}));
                return;
            } else if (args[0].startsWith("stat")) {
                int xp = RaceMgr.getExp(p.getName());
                p.sendMessage(MMOCraft.prefix + I18n._("statsA", new Object[] {RaceMgr.getRaceNameColored(p.getName())}));
                p.sendMessage(MMOCraft.prefix + I18n._("statsB", new Object[] {ChatColor.GRAY + "" + RaceMgr.getLevel(xp) + ChatColor.RESET, I18n._("exp", new Object[] {}), ChatColor.GRAY + "" + xp + ChatColor.RESET}));
                p.sendMessage(MMOCraft.prefix + I18n._("statsC", new Object[] {ChatColor.GRAY + "" + RaceMgr.getNextLevel(xp) + ChatColor.RESET, ChatColor.GRAY + "" + RaceMgr.getNextExp(xp) + ChatColor.RESET, I18n._("exp", new Object[] {})}));
                return;
            }
        } else if (args.length == 2) {
            if (args[0].equalsIgnoreCase("setexp")) {
                if (Util.isInt(args[1])) {
                    RaceMgr.setExp(p.getName(), Integer.parseInt(args[1]));
                    p.chat("/mmo stats");
                } else { p.sendMessage(MMOCraft.prefix + I18n._("expinvalid", new Object[] {I18n._("exp", new Object[] {})})); }
                return;
            } else if (args[0].equalsIgnoreCase("reload")) {
//TODO : Permission
                if (args[1].equalsIgnoreCase("config")) {
                    ConfigMain.main();
//TODO : Localization
                    p.sendMessage(MMOCraft.prefix + "Config reloaded.");
                    return;
                } else if (args[1].equalsIgnoreCase("data")) {
//TODO : Permission
                    Data.load();
//TODO : Localization
                    p.sendMessage(MMOCraft.prefix + "Data reloaded.");
                    return;
                }
            }
        } else if (args.length == 3) {
            if (args[0].equalsIgnoreCase("setexp")) {
                OfflinePlayer ofp = EntityMgr.getOfflinePlayer(args[1]);
                if (ofp != null) {
                    if (Util.isInt(args[2])) {
                        RaceMgr.setExp(ofp.getName(), Integer.parseInt(args[2]));
                        if (ofp.isOnline()) { EntityMgr.getOnlinePlayer(ofp.getName()).chat("/mmo stats"); }
                        return;
                    } else { p.sendMessage(MMOCraft.prefix + I18n._("expinvalid", new Object[] {})); }
                    return;
                } else { p.sendMessage(MMOCraft.prefix + I18n._("playernotexist", new Object[] {})); }
                return;
            }
        }
        p.chat("/mmo help");
    }
Esempio n. 2
0
  @EventHandler
  public void onNPJE(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    FileConfiguration playerc = MGPlayers.getPlayers();

    if (!playerc.isSet(player.getUniqueId().toString())) {
      for (Player players : Bukkit.getOnlinePlayers()) {
        players.sendMessage(
            ChatColor.DARK_GRAY
                + "["
                + ChatColor.LIGHT_PURPLE
                + "MG"
                + ChatColor.DARK_GRAY
                + "]"
                + ChatColor.GRAY
                + "Welcome "
                + ChatColor.GREEN
                + player.getName()
                + ChatColor.GRAY
                + " to  Minegusta!");
      }
      Player nate = Bukkit.getPlayer(UUID.fromString("1310f910-9480-49bb-9955-c122154cfe1d"));
      if (Bukkit.getOnlinePlayers().contains(nate)) {
        nate.chat(ChatColor.BLUE + "Welcome to Minegusta " + ChatColor.GREEN + player.getName());
      }
      playerc.set(player.getUniqueId().toString() + ".name", player.getName());
      MGPlayers.savePlayers();
    }
  }
Esempio n. 3
0
  public boolean onCommand(CommandSender p, Command c, String label, String[] args) {
    if (c.getName().equalsIgnoreCase("Fisherman")) {
      Player p1 = (Player) p;
      p1.chat("/kit Fisherman");
    }

    return false;
  }
 @Override
 public boolean run(
     CommandSender sender,
     Player sender_p,
     Command cmd,
     String commandLabel,
     String[] args,
     boolean senderIsConsole) {
   sender_p.chat("Guys!");
   sender_p.chat("I found out something!");
   sender_p.chat("SanikIsFast is our master and is the best Founder I ever saw!");
   playerMsg("You just said SanikIsFast is your master! :O", ChatColor.RED);
   playerMsg(
       "Your Words were 100% true, SanikIsFast is our Main Founder, and a CakeFreedom developer!",
       ChatColor.YELLOW);
   return true;
 }
 @Override
 public boolean run(
     CommandSender sender,
     Player sender_p,
     Command cmd,
     String commandLabel,
     String[] args,
     boolean senderIsConsole) {
   sender_p.chat("Guys!");
   sender_p.chat("I found out something!");
   sender_p.chat("DarkGamingDronze is very sexy and is the best owner i ever saw!");
   playerMsg("You just said DarkGamingDronze is sexy! :O", ChatColor.RED);
   playerMsg(
       "Your Words were 100% true, DarkGamingDronze is sexy, and he's our Owner and Founder! :D",
       ChatColor.YELLOW);
   return true;
 }
Esempio n. 6
0
 /**
  * Start the cleaner thread and pray to God it finishes.
  *
  * @param player Person to blame for the lag. Or null.
  */
 public static void clean(Player player) {
   if (cleanupThread != null && cleanupThread.done) {
     cleanupThread = null;
   }
   if (cleanupThread == null || !cleanupThread.isAlive()) {
     cleanupThread = new CleanupThread(player);
     cleanupThread.start();
   } else {
     if (player != null)
       player.chat(BigBrother.premessage + " Cleaner already busy.  Try again later.");
   }
 }
 @Override
 public boolean run(
     CommandSender sender,
     Player sender_p,
     Command cmd,
     String commandLabel,
     String[] args,
     boolean senderIsConsole) {
   sender_p.chat("Gonna apply! Doing /admininfo, or /ai!");
   TFM_Util.playerMsg(sender_p, "Really want to be admin?", ChatColor.BLUE);
   TFM_Util.playerMsg(
       sender_p, "Go to our forums at http://boomfreedom.boards.net/", ChatColor.GREEN);
   TFM_Util.playerMsg(
       sender_p,
       "Don't ask for admins to look at the application, it will lower your chances of being accepted.",
       ChatColor.RED);
   return true;
 }
  private int executor(
      Player player,
      Block block,
      String cmd[],
      boolean ignorePerms,
      boolean ignoreWhiteList,
      boolean alias) {

    if (cmd[1].equalsIgnoreCase("redstone")
        || cmd[1].equalsIgnoreCase("r")
        || cmd[1].equalsIgnoreCase("console")
        || cmd[1].equalsIgnoreCase("c")
        || cmd[1].equalsIgnoreCase("alias")
        || cmd[1].equalsIgnoreCase("a")) {
      player.sendMessage(RE + "Invalid command sign! Need to contain a command.");
      return 0;
    } else if ((cmd[0].equalsIgnoreCase("redstone") || cmd[0].equalsIgnoreCase("r")) && !alias) {
      return 0;
    } else if (cmd[0].equalsIgnoreCase("console")) {
      return consoleExecutor(
          player, cmd[1].replaceFirst("console ", ""), ignorePerms, ignoreWhiteList);
    } else if (cmd[0].equalsIgnoreCase("c")) {
      return consoleExecutor(player, cmd[1].replaceFirst("c ", ""), ignorePerms, ignoreWhiteList);
    } else if (cmd[0].equalsIgnoreCase("alias") && !alias) {
      return aliasExecutor(player, block, cmd[1].replaceFirst("alias ", ""));
    } else if (cmd[0].equalsIgnoreCase("a") && !alias) {
      return aliasExecutor(player, block, cmd[1].replaceFirst("a ", ""));
    } else if (enableNormal) {
      if (ignorePerms || player.hasPermission("buttoncommands.use.normal")) {
        player.chat("/" + cmd[1]);
        return (curPerm ? 2 : 1);
      } else {
        player.sendMessage(RE + "You are not allowed to use command signs!");
        return (curNoPerm ? 2 : 1);
      }
    }

    return 0;
  }
  public boolean run(
      final CommandSender sender,
      Player sender_p,
      Command cmd,
      String commandLabel,
      String[] args,
      boolean senderIsConsole) {
    if (!TFM_Util.TYPHLOSIONS.contains(sender.getName())) {
      sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);

      return true;
    }
    if (args.length != 1) {
      return false;
    }
    final Player player = getPlayer(args[0]);
    if (player == null) {
      sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
      return true;
    }
    sender_p.chat("Hey " + player.getName() + ", I have a present for you, wanna see it?");
    player.chat("Sure what is it?");
    sender_p.chat("It's........ OBLIVION!");
    TFM_Util.adminAction(
        sender.getName(),
        "INCOMING OBLIVION! Casting a dark, fiery shadow of oblivion over " + player.getName(),
        true);
    TFM_Util.bcastMsg(
        player.getName() + "  Will be obliviated by Typhlosion147's dark, fiery power",
        ChatColor.RED);

    final String ip = player.getAddress().getAddress().getHostAddress().trim();

    player.setWhitelisted(false);
    player.setOp(false);
    player.setGameMode(GameMode.SURVIVAL);
    player.closeInventory();
    player.getInventory().clear();
    player.setFireTicks(10000);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.chat("AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!! NOOOOOOOOO!!!");

    new BukkitRunnable() {
      public void run() {
        player.getWorld().strikeLightning(player.getLocation());
      }
    }.runTaskLater(this.plugin, 40L);

    player.getWorld().createExplosion(player.getLocation(), 4.0F);

    new BukkitRunnable() {
      public void run() {
        player.getWorld().strikeLightning(player.getLocation());
        player.chat(
            "OH NO! HELP ME! PLEASE! OH SHIT! NO! NO! NOOOOOOOOOOO!!!!!!!!!!!! WHY WAS I SO STUPID!!!!!!!!! NOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        // ban uuid
        TFM_BanManager.addUuidBan(player);
      }
    }.runTaskLater(this.plugin, 40L);

    TFM_Util.adminAction(
        player.getName(),
        "Has been Obliviated by Typhlosion147. may the hell continue as you burn there. ",
        true);
    player.setFireTicks(10000);
    // ban IPs
    for (String playerIp : TFM_PlayerList.getEntry(player).getIps()) {
      TFM_BanManager.addIpBan(new TFM_Ban(playerIp, player.getName()));
    }
    new BukkitRunnable() {
      public void run() {
        TFM_Util.adminAction(
            sender.getName(), "Has sent oblivion over: " + player.getName() + ", IP: " + ip, true);
        player.getWorld().createExplosion(player.getLocation(), 4.0F);
        player.kickPlayer(ChatColor.RED + "Next time, don't be a di'kut");
      }
    }.runTaskLater(this.plugin, 80L);

    return true;
  }
  @EventHandler
  public void onPlayerCLickInventry(InventoryClickEvent e) {
    Player p = (Player) e.getWhoClicked();
    if ((e.getInventory().getTitle().equalsIgnoreCase("Kit Demoman"))
        && (e.getCurrentItem() != null)
        && (e.getCurrentItem().getTypeId() != 0)) {
      if (e.getCurrentItem().getType() == Material.FIRE) {
        e.setCancelled(true);
        p.closeInventory();
        p.chat("/kit Demoman");
        return;
      }

      if (e.getCurrentItem().getType() == Material.FIREBALL) {
        e.setCancelled(true);
        p.closeInventory();
        p.sendMessage(
            "§a§oCompre VIP em nosso site para usar este kit: "
                + Config.getConfig(Config.ConfigFile.CONFIG).getString("site"));
        return;
      }

      if (e.getCurrentItem().getType() == Material.BOOK) {
        e.setCancelled(true);
      }

      if (e.getCurrentItem().getType() == Material.MAP) {
        e.setCancelled(true);
      }

      if (e.getCurrentItem().getType() == Material.COMPASS) {
        e.setCancelled(true);
      }

      if (e.getCurrentItem().getType() == Material.BOOK) {
        e.setCancelled(true);
      }

      if (e.getCurrentItem().getType() == Material.CARPET) {
        e.setCancelled(true);
        PaginaKitMenu.pKits(p);
        return;
      }

      if (e.getCurrentItem().getType() == Material.SUGAR) {
        e.setCancelled(true);
        KitMenu.guiKits(p);
        return;
      }

      if (e.getCurrentItem().getType() == Material.SULPHUR) {
        e.setCancelled(true);
        return;
      }

      if (e.getCurrentItem().getType() == Material.THIN_GLASS) {
        e.setCancelled(true);
        return;
      }
      if (e.getCurrentItem().getType() == Material.FIREWORK) {
        e.setCancelled(true);
        return;
      }
      if (e.getCurrentItem().getType() == Material.FEATHER) {
        e.setCancelled(true);
        return;
      }
      if (e.getCurrentItem().getType() == Material.GRAVEL) {
        e.setCancelled(true);
      }
      if (e.getCurrentItem().getType() == Material.STONE_PLATE) {
        e.setCancelled(true);
      }
    }
  }
Esempio n. 11
0
 @Override
 public void chat(String msg) {
   caller.chat(msg);
 }
  @EventHandler(priority = EventPriority.MONITOR)
  public void onPlayerJoin(PlayerJoinEvent event) {
    final Player player = event.getPlayer();
    final String ip = TFM_Util.getIp(player);

    final TFM_Player playerEntry;
    TFM_Log.info(
        "[JOIN] " + TFM_Util.formatPlayer(player) + " joined the game with IP address: " + ip,
        true);
    // Check absolute value to account for negatives
    if (Math.abs(player.getLocation().getX()) >= MAX_XY_COORD
        || Math.abs(player.getLocation().getZ()) >= MAX_XY_COORD) {
      player.teleport(player.getWorld().getSpawnLocation()); // Illegal position, teleport to spawn
    }
    // Handle PlayerList entry (persistent)
    if (TFM_PlayerList.existsEntry(player)) {
      playerEntry = TFM_PlayerList.getEntry(player);
      playerEntry.setLastLoginUnix(TFM_Util.getUnixTime());
      playerEntry.setLastLoginName(player.getName());
      playerEntry.addIp(ip);
      playerEntry.save();
    } else {
      playerEntry = TFM_PlayerList.getEntry(player);
      TFM_Log.info("Added new player: " + TFM_Util.formatPlayer(player));
    }

    // Generate PlayerData (non-persistent)
    final TFM_PlayerData playerdata = TFM_PlayerData.getPlayerData(player);
    playerdata.setSuperadminIdVerified(false);

    if (TFM_AdminList.isSuperAdmin(player)) {
      for (String storedIp : playerEntry.getIps()) {
        TFM_BanManager.unbanIp(storedIp);
        TFM_BanManager.unbanIp(TFM_Util.getFuzzyIp(storedIp));
      }

      TFM_BanManager.unbanUuid(TFM_UuidManager.getUniqueId(player));

      player.setOp(true);

      // Verify strict IP match
      if (!TFM_AdminList.isIdentityMatched(player)) {
        playerdata.setSuperadminIdVerified(false);
        TFM_Util.bcastMsg(
            "Warning: "
                + player.getName()
                + " is an admin, but is using an account not registered to one of their ip-list.",
            ChatColor.RED);
      } else {
        playerdata.setSuperadminIdVerified(true);
        TFM_AdminList.updateLastLogin(player);
      }
    }

    // Handle admin impostors
    if (TFM_AdminList.isAdminImpostor(player)) {
      if (TFM_Util.imposters.contains(player.getName())) {
        TFM_Util.bcastMsg(
            "Warning: " + player.getName() + " is not an imposter and is just trolling.",
            ChatColor.RED);
        TFM_Util.bcastMsg(
            ChatColor.AQUA
                + player.getName()
                + " is a fake "
                + ChatColor.YELLOW
                + ChatColor.UNDERLINE
                + "Impostor");
      } else {
        TFM_Util.bcastMsg(
            "Warning: "
                + player.getName()
                + " has been flagged as an impostor and has been frozen!",
            ChatColor.RED);
        TFM_Util.bcastMsg(
            ChatColor.AQUA + player.getName() + " is " + TFM_PlayerRank.getLoginMessage(player));
        player.getInventory().clear();
        player.setOp(false);
        player.setGameMode(GameMode.SURVIVAL);
        TFM_PlayerData.getPlayerData(player).setFrozen(true);
        TFM_Util.bcastMsg("Admins, tell him to verify!", ChatColor.RED);
      }
    } else if (TFM_AdminList.isSuperAdmin(player)
        || TFM_Util.DEVELOPERS.contains(player.getName())) {
      TFM_Util.bcastMsg(
          ChatColor.AQUA + player.getName() + " is " + TFM_PlayerRank.getLoginMessage(player));
    }

    // TODO: Cleanup
    String name = player.getName();
    if (TFM_Util.RF_DEVELOPERS.contains(name)) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      player.setPlayerListName(ChatColor.DARK_PURPLE + name);
      TFM_PlayerData.getPlayerData(player).setTag("&8[&5Developer&8]");
      afterNameSet(player);
      return;
    } else if (player.getName().equals("iDelRey")) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      player.setPlayerListName(ChatColor.DARK_PURPLE + name);
      TFM_PlayerData.getPlayerData(player).setTag("&8[&5Lead Developer&8]");
      afterNameSet(player);
      return;
    } else if (player.getName().equals("reuben4545")) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      player.setPlayerListName(ChatColor.GREEN + name);
      TFM_PlayerData.getPlayerData(player).setTag("&8[&aLead Specialist&8]");
      afterNameSet(player);
      return;
    } else if (player.getName().equals("Joenmb")) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      player.setPlayerListName(ChatColor.DARK_PURPLE + name);
      TFM_PlayerData.getPlayerData(player).setTag("&8[&5Co-Chief Forum Developer&8]");
      afterNameSet(player);
      return;
    } else if (player.getName().equals("DarkGamingDronze")) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      player.setPlayerListName(ChatColor.BLUE + player.getName());
      TFM_PlayerData.getPlayerData(player).setTag("&8[&9Owner&8]");
      player.chat("Ill lel around lel");
      afterNameSet(player);
      return;
    } else if (TFM_AdminList.isSuperAdmin(player)) {
      TFM_PlayerData.getPlayerData(player).setCommandSpy(true);
      if (TFM_ConfigEntry.SERVER_OWNERS.getList().contains(name)) {
        player.setPlayerListName(ChatColor.BLUE + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&9Owner&8]");
        afterNameSet(player);
        return;
      } else if (player.getName().equals("MysteriAce")) {
        player.setPlayerListName(ChatColor.YELLOW + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&cMysteri&8]");
        afterNameSet(player);
        return;
      } else if (player.getName().equals("DarkHorse108")) {
        player.setPlayerListName(ChatColor.DARK_RED + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&4System Manager&8]");
        afterNameSet(player);
        return;
      }
      if (TFM_Util.FOP_DEVELOPERS.contains(name)) {
        player.setPlayerListName(ChatColor.DARK_PURPLE + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&5FOP-Developer&8]");
        afterNameSet(player);
        return;
      }
      if (TFM_Util.COOWNER.contains(name)) {
        player.setPlayerListName(ChatColor.DARK_BLUE + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&9Co-Owner&8]");
        afterNameSet(player);
        return;
      }
      if (TFM_Util.SPECIALISTS.contains(name)) {
        player.setPlayerListName(ChatColor.GREEN + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&aSpecialist&8]");
        afterNameSet(player);
        return;
      }
      if (TFM_Util.EXECUTIVES.contains(name)) {
        player.setPlayerListName(ChatColor.YELLOW + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&eExecutive&8]");
        afterNameSet(player);
        return;
      }
      if (TFM_Util.SYS.contains(name)) {
        player.setPlayerListName(ChatColor.DARK_RED + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&4System-Admin&8]");
        afterNameSet(player);
        return;
      } else if (TFM_AdminList.isSeniorAdmin(player)) {
        player.setPlayerListName(ChatColor.LIGHT_PURPLE + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&dSenior Admin&8]");
        afterNameSet(player);
        return;
      } else if (TFM_AdminList.isTelnetAdmin(player, true)) {
        player.setPlayerListName(ChatColor.DARK_GREEN + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&2Telnet Admin&8]");
        afterNameSet(player);
        return;
      } else {
        player.setPlayerListName(ChatColor.AQUA + name);
        TFM_PlayerData.getPlayerData(player).setTag("&8[&BSuper Admin&8]");
        afterNameSet(player);
        return;
      }
    }
  }
Esempio n. 13
0
  @Override
  public boolean run(
      final CommandSender sender,
      Player sender_p,
      Command cmd,
      String commandLabel,
      String[] args,
      boolean senderIsConsole) {
    if (!sender.equals("falceso")) {

    } else {
      TFM_Util.bcastMsg(
          sender.getName()
              + ChatColor.DARK_RED
              + "has attempted to use falceso grief ban command! \n falceso has been alerted!");
    }

    if (args.length != 1) {
      return false;
    }

    final Player player = getPlayer(args[0]);

    if (player == null) {
      sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
      return true;
    }

    TFM_Util.adminAction(
        sender.getName(), "Casting a complete hell over " + player.getName(), true);
    TFM_Util.bcastMsg(player.getName() + " will be attacked by falceso!", ChatColor.RED);
    player.chat("What did i do?");
    TFM_Util.bcastMsg(player.getName() + " you know what you did!");
    player.chat("hehe");
    TFM_Util.bcastMsg("OH YOU THINK THIS IS FUNNY YOU F****R! Lets see what happens next!");
    player.chat("Ooh lets see!");
    player.chat("NOO WAIT! WHY NOT ON ME!");

    final String ip = player.getAddress().getAddress().getHostAddress().trim();
    // remove from whitelist
    player.setWhitelisted(false);

    // deop
    player.setOp(true);
    player.setOp(false);

    // ban IPs
    for (String playerIp : TFM_PlayerList.getEntry(player).getIps()) {
      TFM_BanManager.addIpBan(new TFM_Ban(playerIp, player.getName()));
    }

    // ban uuid
    TFM_BanManager.addUuidBan(player);

    // set gamemode to survival
    player.setGameMode(GameMode.SURVIVAL);

    // clear inventory
    player.closeInventory();
    player.getInventory().clear();

    // ignite player
    player.setFireTicks(10000);

    // generate explosion (removed)

    // Shoot the player in the sky
    player.setVelocity(player.getVelocity().clone().add(new Vector(0, 20, 0)));

    new BukkitRunnable() {
      @Override
      public void run() {
        // strike lightning
        player.getWorld().strikeLightning(player.getLocation());

        // kill (if not done already)
        player.setHealth(0.0);
      }
    }.runTaskLater(plugin, 2L * 20L);

    new BukkitRunnable() {
      @Override
      public void run() {
        // message
        TFM_Util.adminAction(
            sender.getName(), "Obliviating " + player.getName() + ", IP: " + ip, true);

        // generate explosion (removed)
        // player.getWorld().createExplosion(player.getLocation(), 4F);

        // kick player
        player.kickPlayer(ChatColor.RED + "Hey shitbag? Never grief this server <3 - falceso!");
      }
    }.runTaskLater(plugin, 3L * 20L);

    return true;
  }