This ChunkGenerator is for creating custom sky islands. The islands are generated 
randomly within a grid system. The set region size is the size of the grid squares. 
One island will generate in each grid square, placed randomly in the available space. 
This means the minimum range between islands is 0, and the maximum range is `region 
size - (island radius * 2)`. Islands are generated by shaping 3D noise with a shaped 
distance value to create a 'density' value.



setMainBlock:
    Arguments:
        String, Integer
    Usage:
        block id, meta
    Notes:
        Sets the main block for the island.

setMainBlock:
    Arguments:
        String
    Usage:
        block id
    Default Values:
        minecraft:stone
    Notes:
        Sets the main block for the island.

setIslandHeightMax:
    Arguments:
        int
    Usage:
        height
    Default Values:
        236
    Notes:
        Sets the maximum height for the top of the island.

setMinBlockDensity:
    Arguments:
        double
    Usage:
        density
    Default Values:
        0.3
    Notes:
        Sets the minimum `density` value required for blocks to be placed.

generateBiomeBlocks:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if biome blocks should be generated.

setMaxIslandRadius:
    Arguments:
        int
    Usage:
        radius
    Default Values:
        100
    Notes:
        Sets the max island radius.

setIslandHeightMin:
    Arguments:
        int
    Usage:
        height
    Default Values:
        0
    Notes:
        Sets the minimum height for the bottom of the island.

setDistanceStretch:
    Arguments:
        double, double, double
    Usage:
        x stretch, y bottom stretch, z stretch
    Default Values:
        1, 2, 1
    Notes:
        Sets the distance stretch values for the island.

populateLavaLakes:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if lava lakes should be populated.

setNoisePersistence:
    Arguments:
        double
    Usage:
        persistence
    Default Values:
        0.45
    Notes:
        Sets how much each octave of noise is used compared to the one before it.

populateAnimals:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if animals should be populated.

setRegionSize:
    Arguments:
        int
    Usage:
        region size
    Default Values:
        512
    Notes:
        Sets the island region size.

populateIce:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if ice/snow should be populated.

populateLakes:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if lakes should be populated.

decorateBiomes:
    Arguments:
        boolean
    Default Values:
        true
    Notes:
        Sets if biomes should be decorated.

setNoiseSize:
    Arguments:
        double, double, double
    Usage:
        x size, y size, z size
    Default Values:
        128, 192, 128
    Notes:
        Sets the noise sizes for the island.

setNoiseOctaves:
    Arguments:
        int
    Usage:
        octaves
    Default Values:
        6
    Notes:
        Sets the number of octaves used for the island noise.

setGenerationOptions:
    Arguments:
        Json
    Usage:
        vanilla generation options string
    Notes:
        Sets the generator options string. This is the string used by the various vanilla customizable ChunkGenerators for customizing the world generation.

disableMapGen:
    Arguments:
        String
    Usage:
        Disables the provided MapGen type. Types are "CAVES", "CAVES_NETHER", "RAVINE", "END_CITY", "MINESHAFT", "NETHER_BRIDGE", "SCATTERED_FEATURE", "STRONGHOLD", "VILLAGE", "OCEAN_MONUMENT"

