public void register(final Region region) {
        this.regions.add(region);
        this.references.put(region, 0L);
        if (!region.active) return;

        // load region into applicable loaded chunk index entries
        for (final ChunkCoordinates coords : region.chunks())
            if (this.world.isChunkLoaded(coords.x, coords.z))
                this.cache(coords.getHash(), region);
    }