private void updatePlayerLand(short x, short y, Player player) {
byte playerId = player.playerId;
PlayerStatistic playerStatistic = playerStatistics[playerId];
if (mainGrid.getFlagsGrid().isProtected(x, y)) {
AbstractHexMapObject o = objectsGrid.getObjectsAt(x, y);
if (o != null) {
if (o.hasCuttableObject(STONE) && isCuttableByPlayer(x, y, player.playerId)) {
playerStatistic.stones.addNoCollission(x, y);
} else if (o.hasMapObjectTypes(TREE_GROWING, TREE_ADULT) && isCuttableByPlayer(x, y, player.playerId)) {
playerStatistic.trees.addNoCollission(x, y);
}
}
} else {
playerStatistic.landToBuildOn.addNoCollission(x, y);
}
ELandscapeType landscape = landscapeGrid.getLandscapeTypeAt(x, y);
if (landscape.isRiver()) {
playerStatistic.rivers.addNoCollission(x, y);
}
if (objectsGrid.hasMapObjectType(x, y, EMapObjectType.WINE_GROWING, EMapObjectType.WINE_HARVESTABLE)) {
playerStatistic.wineCount++;
}
}