mirror of
https://github.com/TheDeus-Group/TFM-4.3-Reloaded.git
synced 2024-06-11 08:54:55 +00:00
055973aa37
Refractoring Reworked /saconfig Reworked part of the command system Removed unused config sections Refractored part of the config Fixed bugs with admin list Actually allow CONSOLE to have senior perms
112 lines
3.4 KiB
Java
112 lines
3.4 KiB
Java
package me.totalfreedom.totalfreedommod.command;
|
|
|
|
import me.totalfreedom.totalfreedommod.rank.PlayerRank;
|
|
import me.totalfreedom.totalfreedommod.admin.Admin;
|
|
import me.totalfreedom.totalfreedommod.banning.Ban;
|
|
import me.totalfreedom.totalfreedommod.util.FUtil;
|
|
import org.bukkit.ChatColor;
|
|
import org.bukkit.GameMode;
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.scheduler.BukkitRunnable;
|
|
import org.bukkit.util.Vector;
|
|
|
|
@CommandPermissions(level = PlayerRank.SENIOR_ADMIN, source = SourceType.ONLY_CONSOLE, blockHostConsole = true)
|
|
@CommandParameters(description = "For the bad Superadmins", usage = "/<command> <playername>")
|
|
public class Command_doom extends FreedomCommand
|
|
{
|
|
|
|
@Override
|
|
public boolean run(final CommandSender sender, Player playerSender, Command cmd, String commandLabel, String[] args, boolean senderIsConsole)
|
|
{
|
|
if (args.length != 1)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
final Player player = getPlayer(args[0]);
|
|
|
|
if (player == null)
|
|
{
|
|
sender.sendMessage(FreedomCommand.PLAYER_NOT_FOUND);
|
|
return true;
|
|
}
|
|
|
|
FUtil.adminAction(sender.getName(), "Casting oblivion over " + player.getName(), true);
|
|
FUtil.bcastMsg(player.getName() + " will be completely obliviated!", ChatColor.RED);
|
|
|
|
final String ip = player.getAddress().getAddress().getHostAddress().trim();
|
|
|
|
// Remove from superadmin
|
|
Admin admin = getAdmin(player);
|
|
if (admin != null)
|
|
{
|
|
FUtil.adminAction(sender.getName(), "Removing " + player.getName() + " from the superadmin list", true);
|
|
plugin.al.removeAdmin(admin);
|
|
}
|
|
|
|
// Remove from whitelist
|
|
player.setWhitelisted(false);
|
|
|
|
// Deop
|
|
player.setOp(false);
|
|
|
|
// Ban player
|
|
Ban ban = Ban.forPlayer(player, sender);
|
|
ban.setReason("&cFUCKOFF");
|
|
for (String playerIp : plugin.pl.getData(player).getIps())
|
|
{
|
|
ban.addIp(playerIp);
|
|
}
|
|
plugin.bm.addBan(ban);
|
|
|
|
// Set gamemode to survival
|
|
player.setGameMode(GameMode.SURVIVAL);
|
|
|
|
// Clear inventory
|
|
player.closeInventory();
|
|
player.getInventory().clear();
|
|
|
|
// Ignite player
|
|
player.setFireTicks(10000);
|
|
|
|
// Generate explosion
|
|
player.getWorld().createExplosion(player.getLocation(), 4F);
|
|
|
|
// 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
|
|
FUtil.adminAction(sender.getName(), "Banning " + player.getName() + ", IP: " + ip, true);
|
|
|
|
// generate explosion
|
|
player.getWorld().createExplosion(player.getLocation(), 4F);
|
|
|
|
// kick player
|
|
player.kickPlayer(ChatColor.RED + "FUCKOFF, and get your shit together!");
|
|
}
|
|
}.runTaskLater(plugin, 3L * 20L);
|
|
|
|
return true;
|
|
}
|
|
}
|