// 
// Decompiled by Procyon v0.6.0
// 

package com.hypixel.hytale.server.worldgen.biome;

import it.unimi.dsi.fastutil.ints.Int2IntMaps;
import javax.annotation.Nonnull;
import it.unimi.dsi.fastutil.ints.Int2IntMap;

public class BiomeInterpolation
{
    public static final Int2IntMap EMPTY_MAP;
    public static final BiomeInterpolation DEFAULT;
    protected final int radius;
    protected final Int2IntMap biomeRadii2;
    
    protected BiomeInterpolation(final int radius, final Int2IntMap biomeRadii2) {
        this.radius = radius;
        this.biomeRadii2 = biomeRadii2;
    }
    
    public int getRadius() {
        return this.radius;
    }
    
    public int getBiomeRadius2(final int biome) {
        return this.biomeRadii2.get(biome);
    }
    
    @Nonnull
    @Override
    public String toString() {
        return "BiomeInterpolation{radius=" + this.radius + ", biomeRadii2=" + String.valueOf(this.biomeRadii2);
    }
    
    @Nonnull
    public static BiomeInterpolation create(final int radius, @Nonnull Int2IntMap biomeRadii2) {
        if (radius == BiomeInterpolation.DEFAULT.getRadius() && biomeRadii2.isEmpty()) {
            return BiomeInterpolation.DEFAULT;
        }
        if (biomeRadii2.isEmpty()) {
            biomeRadii2 = BiomeInterpolation.EMPTY_MAP;
        }
        else {
            biomeRadii2.defaultReturnValue(radius * radius);
        }
        return new BiomeInterpolation(radius, biomeRadii2);
    }
    
    static {
        EMPTY_MAP = new EmptyInt2IntMap();
        DEFAULT = new BiomeInterpolation(5, BiomeInterpolation.EMPTY_MAP);
    }
    
    protected static class EmptyInt2IntMap extends Int2IntMaps.EmptyMap
    {
        @Override
        public int defaultReturnValue() {
            return 25;
        }
        
        @Override
        public int get(final int k) {
            return 25;
        }
    }
}
