/* * Copyright (c) IntellectualCrafters - 2014. * You are not allowed to distribute and/or monetize any of our intellectual property. * IntellectualCrafters is not affiliated with Mojang AB. Minecraft is a trademark of Mojang AB. * * >> File = Helpers.java * >> Generated by: Citymonstret at 2014-08-09 01:41 */ package com.intellectualcrafters.plot.commands; import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; import com.intellectualcrafters.plot.C; import com.intellectualcrafters.plot.PlayerFunctions; import com.intellectualcrafters.plot.Plot; import com.intellectualcrafters.plot.database.DBFunc; import com.intellectualcrafters.plot.events.PlayerPlotHelperEvent; @SuppressWarnings("deprecation") public class Helpers extends SubCommand { public Helpers() { super(Command.HELPERS, "Manage plot helpers", "helpers {add|remove} {player}", CommandCategory.ACTIONS); } private boolean hasBeenOnServer(String name) { Player plr = Bukkit.getPlayer(name); if (plr == null) { OfflinePlayer oplr = Bukkit.getOfflinePlayer(name); if (oplr == null) { return false; } else { return oplr.hasPlayedBefore(); } } else { if (plr.isOnline()) { return true; } else { return plr.hasPlayedBefore(); } } } @Override public boolean execute(Player plr, String... args) { if (args.length < 2) { PlayerFunctions.sendMessage(plr, C.HELPER_NEED_ARGUMENT); return true; } if (!PlayerFunctions.isInPlot(plr)) { PlayerFunctions.sendMessage(plr, C.NOT_IN_PLOT); return true; } Plot plot = PlayerFunctions.getCurrentPlot(plr); if ((plot.owner == null) || !plot.hasRights(plr)) { PlayerFunctions.sendMessage(plr, C.NO_PERMISSION); return true; } if (args[0].equalsIgnoreCase("add")) { if (args[1].equalsIgnoreCase("*")) { UUID uuid = DBFunc.everyone; plot.addHelper(uuid); DBFunc.setHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1])); PlayerFunctions.sendMessage(plr, C.HELPER_ADDED); return true; } if (!hasBeenOnServer(args[1])) { PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON); return true; } UUID uuid = null; if ((Bukkit.getPlayer(args[1]) != null)) { uuid = Bukkit.getPlayer(args[1]).getUniqueId(); } else { uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId(); } if (uuid == null) { PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON); return true; } plot.addHelper(uuid); DBFunc.setHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1])); PlayerPlotHelperEvent event = new PlayerPlotHelperEvent(plr, plot, uuid, true); Bukkit.getPluginManager().callEvent(event); PlayerFunctions.sendMessage(plr, C.HELPER_ADDED); } else if (args[0].equalsIgnoreCase("remove")) { if (args[1].equalsIgnoreCase("*")) { UUID uuid = DBFunc.everyone; if (!plot.helpers.contains(uuid)) { PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED); return true; } plot.removeHelper(uuid); DBFunc.removeHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1])); PlayerFunctions.sendMessage(plr, C.HELPER_REMOVED); return true; } if (!hasBeenOnServer(args[1])) { PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON); return true; } UUID uuid = null; if (Bukkit.getPlayer(args[1]) != null) { uuid = Bukkit.getPlayer(args[1]).getUniqueId(); } else { uuid = Bukkit.getOfflinePlayer(args[1]).getUniqueId(); } if (uuid == null) { PlayerFunctions.sendMessage(plr, C.PLAYER_HAS_NOT_BEEN_ON); return true; } if (!plot.helpers.contains(uuid)) { PlayerFunctions.sendMessage(plr, C.WAS_NOT_ADDED); return true; } plot.removeHelper(uuid); DBFunc.removeHelper(plr.getWorld().getName(), plot, Bukkit.getOfflinePlayer(args[1])); PlayerPlotHelperEvent event = new PlayerPlotHelperEvent(plr, plot, uuid, false); Bukkit.getPluginManager().callEvent(event); PlayerFunctions.sendMessage(plr, C.HELPER_REMOVED); } else { PlayerFunctions.sendMessage(plr, C.HELPER_NEED_ARGUMENT); return true; } return true; } }