Search in sources :

Example 6 with SearchQuery

use of uk.co.oliwali.HawkEye.database.SearchQuery in project HawkEye by oliverwoodings.

the class HereCommand method execute.

@Override
public boolean execute() {
    //Create new parser
    SearchParser parser = null;
    try {
        //Check for valid integer
        if (args.size() != 0 && !Util.isInteger(args.get(0)))
            throw new IllegalArgumentException("Invalid integer supplied for radius!");
        int integer;
        if (args.size() > 0)
            integer = Integer.parseInt(args.get(0));
        else
            integer = Config.DefaultHereRadius;
        if ((integer > Config.MaxRadius && Config.MaxRadius > 0) || integer < 0)
            throw new IllegalArgumentException("Invalid radius supplied supplied!");
        //New search parser
        parser = new SearchParser(player, integer);
        //Add in DataTypes
        for (DataType type : DataType.values()) if (type.canHere())
            parser.actions.add(type);
        //Check if players were supplied
        if (args.size() > 1)
            for (String p : args.get(1).split(",")) parser.players.add(p);
        //Add in 'here' actions
        for (DataType type : DataType.values()) if (type.canHere())
            parser.actions.add(type);
    } catch (IllegalArgumentException e) {
        Util.sendMessage(sender, "&c" + e.getMessage());
        return true;
    }
    //Run the search query
    new SearchQuery(new SearchCallback(session), parser, SearchDir.DESC);
    return true;
}
Also used : SearchQuery(uk.co.oliwali.HawkEye.database.SearchQuery) SearchCallback(uk.co.oliwali.HawkEye.callbacks.SearchCallback) DataType(uk.co.oliwali.HawkEye.DataType) SearchParser(uk.co.oliwali.HawkEye.SearchParser)

Example 7 with SearchQuery

use of uk.co.oliwali.HawkEye.database.SearchQuery in project HawkEye by oliverwoodings.

the class PreviewCommand method execute.

@Override
public boolean execute() {
    //Check if player already has a rollback processing
    if (session.doingRollback()) {
        Util.sendMessage(sender, "&cYou already have a rollback command processing!");
        return true;
    }
    //Parse arguments
    SearchParser parser = null;
    try {
        parser = new SearchParser(player, args);
        parser.loc = null;
        //Check that supplied actions can rollback
        if (parser.actions.size() > 0) {
            for (DataType type : parser.actions) if (!type.canRollback())
                throw new IllegalArgumentException("You cannot rollback that action type: &7" + type.getConfigName());
        } else //If none supplied, add in all rollback types
        {
            for (DataType type : DataType.values()) if (type.canRollback())
                parser.actions.add(type);
        }
    } catch (IllegalArgumentException e) {
        Util.sendMessage(sender, "&c" + e.getMessage());
        return true;
    }
    //Create new SearchQuery with data
    new SearchQuery(new RollbackCallback(session, RollbackType.LOCAL), parser, SearchDir.DESC);
    session.setInPreview(true);
    return true;
}
Also used : SearchQuery(uk.co.oliwali.HawkEye.database.SearchQuery) DataType(uk.co.oliwali.HawkEye.DataType) SearchParser(uk.co.oliwali.HawkEye.SearchParser) RollbackCallback(uk.co.oliwali.HawkEye.callbacks.RollbackCallback)

Example 8 with SearchQuery

use of uk.co.oliwali.HawkEye.database.SearchQuery in project HawkEye by oliverwoodings.

the class RebuildCommand method execute.

@Override
public boolean execute() {
    //Check if player already has a rollback processing
    if (session.doingRollback()) {
        Util.sendMessage(sender, "&cYou already have a query command processing!");
        return true;
    }
    //Parse arguments
    SearchParser parser = null;
    try {
        parser = new SearchParser(player, args);
        parser.loc = null;
        //Check that supplied actions can rollback
        if (parser.actions.size() > 0) {
            for (DataType type : parser.actions) if (!type.canRollback())
                throw new IllegalArgumentException("You cannot rebuild that action type: &7" + type.getConfigName());
        } else //If none supplied, add in all rollback types
        {
            for (DataType type : DataType.values()) if (type.canRollback())
                parser.actions.add(type);
        }
    } catch (IllegalArgumentException e) {
        Util.sendMessage(sender, "&c" + e.getMessage());
        return true;
    }
    //Create new SearchQuery with data
    new SearchQuery(new RebuildCallback(session), parser, SearchDir.ASC);
    return true;
}
Also used : SearchQuery(uk.co.oliwali.HawkEye.database.SearchQuery) DataType(uk.co.oliwali.HawkEye.DataType) SearchParser(uk.co.oliwali.HawkEye.SearchParser) RebuildCallback(uk.co.oliwali.HawkEye.callbacks.RebuildCallback)

Aggregations

SearchQuery (uk.co.oliwali.HawkEye.database.SearchQuery)8 SearchParser (uk.co.oliwali.HawkEye.SearchParser)7 DataType (uk.co.oliwali.HawkEye.DataType)5 RollbackCallback (uk.co.oliwali.HawkEye.callbacks.RollbackCallback)3 SearchCallback (uk.co.oliwali.HawkEye.callbacks.SearchCallback)3 Vector (org.bukkit.util.Vector)2 IncompleteRegionException (com.sk89q.worldedit.IncompleteRegionException)1 LocalPlayer (com.sk89q.worldedit.LocalPlayer)1 LocalWorld (com.sk89q.worldedit.LocalWorld)1 BukkitPlayer (com.sk89q.worldedit.bukkit.BukkitPlayer)1 Region (com.sk89q.worldedit.regions.Region)1 DeleteCallback (uk.co.oliwali.HawkEye.callbacks.DeleteCallback)1 RebuildCallback (uk.co.oliwali.HawkEye.callbacks.RebuildCallback)1