package net.minecraft.world.level.biome;

import net.minecraft.core.BlockPos;

public class BiomeManager {
    private final NoiseBiomeSource noiseBiomeSource;
    private final long biomeZoomSeed;
    private final BiomeZoomer zoomer;
    
    public BiomeManager(final NoiseBiomeSource a, final long long2, final BiomeZoomer bkz) {
        this.noiseBiomeSource = a;
        this.biomeZoomSeed = long2;
        this.zoomer = bkz;
    }
    
    public BiomeManager withDifferentSource(final BiomeSource bkw) {
        return new BiomeManager(bkw, this.biomeZoomSeed, this.zoomer);
    }
    
    public Biome getBiome(final BlockPos fk) {
        return this.zoomer.getBiome(this.biomeZoomSeed, fk.getX(), fk.getY(), fk.getZ(), this.noiseBiomeSource);
    }
    
    public interface NoiseBiomeSource {
        Biome getNoiseBiome(final int integer1, final int integer2, final int integer3);
    }
}
