public Status getTrackStatus() {
        if (trackLocation == null)
            return locateTrack();
        if (!tile.getWorldObj().blockExists(trackLocation.x, trackLocation.y, trackLocation.z))
            return Status.UNKNOWN;
        if (!RailTools.isRailBlockAt(tile.getWorldObj(), trackLocation.x, trackLocation.y, trackLocation.z)) {
            trackLocation = null;
            return locateTrack();
        }
        return Status.VALID;
    }