package tv.mineinthebox.essentials.commands; import org.bukkit.GameMode; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.util.Vector; import tv.mineinthebox.essentials.xEssentials; import tv.mineinthebox.essentials.enums.PermissionKey; import tv.mineinthebox.essentials.interfaces.CommandTemplate; import tv.mineinthebox.essentials.interfaces.XPlayer; public class CmdBoom extends CommandTemplate { private final xEssentials pl; public CmdBoom(xEssentials pl, Command cmd, CommandSender sender) { super(pl, cmd, sender); this.pl = pl; } public boolean execute(CommandSender sender, Command cmd, String[] args) { if(cmd.getName().equalsIgnoreCase("boom")) { if(sender.hasPermission(PermissionKey.CMD_BOOM.getPermission())) { if(args.length == 1) { Player boom = pl.getManagers().getPlayerManager().getOfflinePlayer(args[0]).getBukkitPlayer(); if(boom instanceof Player) { if(boom.getGameMode() == GameMode.CREATIVE) { boom.setGameMode(GameMode.SURVIVAL); } else if(boom.isFlying()) { boom.setFlying(false); } XPlayer xp = pl.getManagers().getPlayerManager().getPlayer(boom.getName()); xp.setBoom(); sendMessage("You are boomed!"); broadcast("The player " + args[0] + " has been boomed by " + sender.getName()); Location loc = boom.getPlayer().getLocation(); loc.setY(loc.getY() + 100); int speed = 10; Vector vector = loc.toVector().subtract(boom.getLocation().toVector()).normalize(); boom.setVelocity(vector.multiply(speed)); } else { sendMessage("This player is not online"); } } else { sendMessage("Syntax: /boom <player> - explodes a player high in the sky."); } } } else { getWarning(WarningType.NO_PERMISSION); } return false; } }