public void setMapPosition(int x, int y) {
        if (mapPosition.x == x && mapPosition.y == y)
            return;
        Point oldValue = new Point(mapPosition.x, mapPosition.y);
        updateMapPositionWithoutFire(x, y);
        firePropertyChange("mapPosition", oldValue, mapPosition);
    }