package net.pvpstreet.core.commands.implementation; import net.pvpstreet.core.CorePlugin; import net.pvpstreet.core.commands.Command; import net.pvpstreet.core.commands.DynamicCommand; import net.pvpstreet.core.freeze.FreezeData; import net.pvpstreet.core.freeze.FreezeTask; import net.pvpstreet.core.profile.Profile; import net.pvpstreet.core.utils.Constants; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; @DynamicCommand( name = "freeze", aliases = {"ss"} ) public class FreezeCommand extends Command { private CorePlugin core; public FreezeCommand(CorePlugin core) { this.core = core; } public void execute(CommandSender sender, String... args) { if (!sender.hasPermission(Constants.STAFF_PERMS)) { sender.sendMessage(Constants.NO_PERMS); } else { Player player = (Player) sender; if (args.length < 1) { player.sendMessage(Constants.t("&cUsage:/freeze ")); } else { Player target = Bukkit.getPlayer(args[0]); if (Profile.getByUuid(target.getUniqueId()).getFreezeData() == null) { if (target == sender) { sender.sendMessage(Constants.t(Constants.PREFIX + "&7You cannot freeze &cyourself.")); return; } Profile profile = Profile.getByUuid(target.getUniqueId()); if (profile.getFreezeData() != null) { sender.sendMessage(Constants.t(Constants.PREFIX + "&c" + target.getName() + " &7is already frozen!")); return; } sender.sendMessage(Constants.t(Constants.PREFIX + "&c" + target.getName() + " &7has been frozen.")); Bukkit.broadcast(Constants.t("&4STAFF 7\u2758 &c" + target.getName() + " &7was frozen by &c" + target.getDisplayName() + "&7."), "pvpstreet.staff"); profile.setFreezeData(new FreezeData(target)); new FreezeTask(target).runTaskTimer(core, 20L, 200L); } else { if (target == sender) { sender.sendMessage(Constants.t(Constants.PREFIX + "&7You cannot freeze &cyourself.")); return; } Profile profile = Profile.getByUuid(target.getUniqueId()); if (profile.getFreezeData() == null) { sender.sendMessage(Constants.t(Constants.PREFIX + "&c" + target.getName() + " &7is not frozen!")); return; } sender.sendMessage(Constants.t(Constants.PREFIX + "&c" + target.getName() + " &7is no longer frozen.")); target.sendMessage(Constants.t(Constants.PREFIX + "&7You have been unfrozen by &c" + sender.getName() + "&7.")); Bukkit.broadcast(Constants.t("&4STAFF 7\u2758 &c" + target.getName() + " &7was unfrozen by &c" + target.getDisplayName() + "&7."), "pvpstreet.staff"); profile.setFreezeData(null); } } } } }