package net.t7seven7t.swornguard.commands; import net.dmulloy2.commands.Command; import net.dmulloy2.util.Util; import net.t7seven7t.swornguard.SwornGuard; import net.t7seven7t.swornguard.types.PlayerData; import org.bukkit.OfflinePlayer; /** * @author dmulloy2 */ public abstract class SwornGuardCommand extends Command { protected final SwornGuard plugin; public SwornGuardCommand(SwornGuard plugin) { super(plugin); this.plugin = plugin; } protected final OfflinePlayer getTarget(int argIndex) { return getTarget(argIndex, true); } protected final OfflinePlayer getTarget(int argIndex, boolean others) { OfflinePlayer target = null; if (! isPlayer()) { if (args.length > argIndex) { target = getTarget(args[argIndex], false); } } else { if (args.length > argIndex && others) { target = getTarget(args[argIndex], false); } else { target = player; } } if (target == null) err(plugin.getMessage("error_player_not_found")); return target; } protected final OfflinePlayer getTarget(String identifier, boolean msg) { OfflinePlayer target = Util.matchOfflinePlayer(identifier); if (target == null && msg) err(plugin.getMessage("error_player_not_found"), identifier); return target; } protected final PlayerData getPlayerData(OfflinePlayer target) { return plugin.getPlayerDataCache().getData(target); } protected final PlayerData getPlayerData(OfflinePlayer target, boolean create) { PlayerData data = getPlayerData(target); if (data == null && create) data = plugin.getPlayerDataCache().newData(target); return data; } }