Search in sources :

Example 1 with Tool

use of com.minecolonies.api.colony.requestsystem.requestable.Tool in project minecolonies by Minecolonies.

the class AbstractEntityAIBasic method checkForToolOrWeapon.

protected boolean checkForToolOrWeapon(@NotNull final IToolType toolType, final int minimalLevel) {
    final ImmutableList<IRequest<? extends Tool>> openToolRequests = getOwnBuilding().getOpenRequestsOfTypeFiltered(worker.getCitizenData(), TypeToken.of(Tool.class), r -> r.getRequest().getToolClass().equals(toolType) && r.getRequest().getMinLevel() >= minimalLevel);
    final ImmutableList<IRequest<? extends Tool>> completedToolRequests = getOwnBuilding().getCompletedRequestsOfTypeFiltered(worker.getCitizenData(), TypeToken.of(Tool.class), r -> r.getRequest().getToolClass().equals(toolType) && r.getRequest().getMinLevel() >= minimalLevel);
    if (checkForNeededTool(toolType, minimalLevel)) {
        if (openToolRequests.isEmpty() && completedToolRequests.isEmpty()) {
            final Tool request = new Tool(toolType, minimalLevel, getOwnBuilding().getMaxToolLevel() < minimalLevel ? minimalLevel : getOwnBuilding().getMaxToolLevel());
            worker.getCitizenData().createRequest(request);
        }
        return true;
    }
    return false;
}
Also used : IRequest(com.minecolonies.api.colony.requestsystem.request.IRequest) Tool(com.minecolonies.api.colony.requestsystem.requestable.Tool)

Aggregations

IRequest (com.minecolonies.api.colony.requestsystem.request.IRequest)1 Tool (com.minecolonies.api.colony.requestsystem.requestable.Tool)1