/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.pepsoft.worldpainter;
import org.pepsoft.minecraft.Material;
import org.pepsoft.util.IconUtils;
import org.pepsoft.util.PerlinNoise;
import org.pepsoft.util.RandomField;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Objects;
import java.util.Random;
import static org.pepsoft.minecraft.Constants.*;
import static org.pepsoft.minecraft.Material.*;
import static org.pepsoft.worldpainter.Constants.*;
import static org.pepsoft.worldpainter.biomeschemes.Minecraft1_7Biomes.*;
/**
*
* @author pepijn
*/
////////////////////////////////////////////////////////////////////////////////
// //
// WARNING! //
// //
// These values are saved in tiles and on disk by their name AND by their //
// ordinal! It is therefore very important NOT to change the names OR the //
// order, and to add new entries at the end! //
// //
////////////////////////////////////////////////////////////////////////////////
@SuppressWarnings("ConstantConditions") // Future-proofing
public enum Terrain {
GRASS ("Grass", "grass with flowers, tall grass and ferns here and there", BIOME_PLAINS) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 2) {
return AIR;
} else if (dz == 2) {
final Random rnd = new Random(seed + (x * 65537) + (y * 4099));
final int rndNr = rnd.nextInt(FLOWER_INCIDENCE);
if (rndNr == 0) {
if (dandelionNoise.getSeed() != (seed + DANDELION_SEED_OFFSET)) {
dandelionNoise.setSeed(seed + DANDELION_SEED_OFFSET);
roseNoise.setSeed(seed + ROSE_SEED_OFFSET);
flowerTypeField.setSeed(seed + FLOWER_TYPE_FIELD_OFFSET);
}
// Use 1 instead of 2, even though dz == 2, to get consistent results for the lower and upper blocks
// Keep the "1 / SMALLBLOBS" and the two noise generators for constistency with existing maps
if ((dandelionNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > FLOWER_CHANCE)
|| (roseNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > FLOWER_CHANCE)) {
Material flower = FLOWER_TYPES[flowerTypeField.getValue(x, y)];
if (flower.blockType == BLK_LARGE_FLOWERS) {
return LARGE_FLOWER_TOP;
} else {
return AIR;
}
} else {
return AIR;
}
} else {
if (grassNoise.getSeed() != (seed + GRASS_SEED_OFFSET)) {
grassNoise.setSeed(seed + GRASS_SEED_OFFSET);
tallGrassNoise.setSeed(seed + DOUBLE_TALL_GRASS_SEED_OFFSET);
}
// Use 1 instead of 2, even though dz == 2, to get consistent results for the lower and upper blocks
// Keep the "1 / SMALLBLOBS" for constistency with existing maps
final float grassValue = grassNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) + (rnd.nextFloat() * 0.3f - 0.15f);
if ((grassValue > DOUBLE_TALL_GRASS_CHANCE) && (tallGrassNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > 0)) {
return LARGE_FLOWER_TOP;
} else {
return AIR;
}
}
} else if (dz == 1) {
final Random rnd = new Random(seed + (x * 65537) + (y * 4099));
final int rndNr = rnd.nextInt(FLOWER_INCIDENCE);
if (rndNr == 0) {
if (dandelionNoise.getSeed() != (seed + DANDELION_SEED_OFFSET)) {
dandelionNoise.setSeed(seed + DANDELION_SEED_OFFSET);
roseNoise.setSeed(seed + ROSE_SEED_OFFSET);
flowerTypeField.setSeed(seed + FLOWER_TYPE_FIELD_OFFSET);
}
// Keep the "1 / SMALLBLOBS" and the two noise generators for constistency with existing maps
if ((dandelionNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > FLOWER_CHANCE)
|| (roseNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > FLOWER_CHANCE)) {
return FLOWER_TYPES[flowerTypeField.getValue(x, y)];
} else {
return AIR;
}
} else {
if (grassNoise.getSeed() != (seed + GRASS_SEED_OFFSET)) {
grassNoise.setSeed(seed + GRASS_SEED_OFFSET);
tallGrassNoise.setSeed(seed + DOUBLE_TALL_GRASS_SEED_OFFSET);
}
// Keep the "1 / SMALLBLOBS" for constistency with existing maps
final float grassValue = grassNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) + (rnd.nextFloat() * 0.3f - 0.15f);
if (grassValue > GRASS_CHANCE) {
if (tallGrassNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, 1 / SMALL_BLOBS) > 0) {
// Double tallness
if (grassValue > DOUBLE_TALL_GRASS_CHANCE) {
if (rnd.nextInt(4) == 0) {
return DOUBLE_TALL_FERN_BOTTOM;
} else {
return DOUBLE_TALL_GRASS_BOTTOM;
}
} else {
if (rnd.nextInt(4) == 0) {
return FERN;
} else {
return TALL_GRASS;
}
}
} else {
if (grassValue > FERN_CHANCE) {
return FERN;
} else {
return TALL_GRASS;
}
}
} else {
return AIR;
}
}
} else {
// The post process step will take care of changing all covered
// grass blocks into dirt
return Material.GRASS;
}
}
private final PerlinNoise dandelionNoise = new PerlinNoise(0);
private final PerlinNoise roseNoise = new PerlinNoise(0);
private final PerlinNoise grassNoise = new PerlinNoise(0);
private final RandomField flowerTypeField = new RandomField(4, SMALL_BLOBS, 0);
private final PerlinNoise tallGrassNoise = new PerlinNoise(0);
private final Material[] FLOWER_TYPES = {
DANDELION,
ROSE,
Material.get(BLK_ROSE, 1), // Blue orchid
Material.get(BLK_ROSE, 2), // Allium
Material.get(BLK_ROSE, 3), // Azure bluet
Material.get(BLK_ROSE, 4), // Red tulip
Material.get(BLK_ROSE, 5), // Orange tulip
Material.get(BLK_ROSE, 6), // White tulip
Material.get(BLK_ROSE, 7), // Pink tulip
Material.get(BLK_ROSE, 8), // Oxeye daisy
Material.get(BLK_LARGE_FLOWERS, 0), // Sunflower
Material.get(BLK_LARGE_FLOWERS, 1), // Lilac
Material.get(BLK_LARGE_FLOWERS, 4), // Rose bush
Material.get(BLK_LARGE_FLOWERS, 5), // Peony
DANDELION, // Again to make them a bit more common
ROSE, // Again to make them a bit more common
};
private final Material DOUBLE_TALL_GRASS_BOTTOM = Material.get(BLK_LARGE_FLOWERS, 2);
private final Material LARGE_FLOWER_TOP = Material.get(BLK_LARGE_FLOWERS, 8);
private final Material DOUBLE_TALL_FERN_BOTTOM = Material.get(BLK_LARGE_FLOWERS, 3);
private static final long DANDELION_SEED_OFFSET = 145351781L;
private static final long ROSE_SEED_OFFSET = 28286488L;
private static final long GRASS_SEED_OFFSET = 169191195L;
private static final long FLOWER_TYPE_FIELD_OFFSET = 65226710L;
private static final long DOUBLE_TALL_GRASS_SEED_OFFSET = 31695680L;
private static final int FLOWER_INCIDENCE = 10;
},
DIRT ("Dirt", BLK_DIRT, BLK_DIRT, "bare dirt", BIOME_PLAINS),
SAND ("Sand", BLK_SAND, BLK_SAND, "bare sand", BIOME_PLAINS),
SANDSTONE("Sandstone", BLK_SANDSTONE, BLK_SANDSTONE, "sandstone", BIOME_PLAINS),
STONE ("Stone", BLK_STONE, BLK_STONE, "bare stone", BIOME_PLAINS),
ROCK ("Rock", "a mix of stone and cobblestone", BIOME_PLAINS) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 0) {
return AIR;
} else {
if (perlinNoise.getSeed() != (seed + STONE_SEED_OFFSET)) {
perlinNoise.setSeed(seed + STONE_SEED_OFFSET);
}
if (perlinNoise.getPerlinNoise(x / TINY_BLOBS, y / TINY_BLOBS, z / TINY_BLOBS) > 0) {
return Material.STONE;
} else {
return Material.COBBLESTONE;
}
}
}
private final PerlinNoise perlinNoise = new PerlinNoise(0);
private static final int STONE_SEED_OFFSET = 188434540;
},
WATER ("Water", BLK_WATER, BLK_WATER, "flowing water", BIOME_RIVER),
LAVA ("Lava", BLK_LAVA, BLK_LAVA, "flowing lava", BIOME_PLAINS),
@Deprecated
SNOW ("Snow on Rock", "a thin layer of snow on a mix of stone and cobblestone", BIOME_ICE_PLAINS) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 1) {
return AIR;
} else if (dz == 1) {
return Material.SNOW;
} else {
if (perlinNoise.getSeed() != (seed + STONE_SEED_OFFSET)) {
perlinNoise.setSeed(seed + STONE_SEED_OFFSET);
}
if (perlinNoise.getPerlinNoise(x / TINY_BLOBS, y / TINY_BLOBS, z / TINY_BLOBS) > 0) {
return Material.STONE;
} else {
return Material.COBBLESTONE;
}
}
}
@Override
public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {
return colourScheme.getColour(BLK_SNOW);
}
private final PerlinNoise perlinNoise = new PerlinNoise(0);
private static final int STONE_SEED_OFFSET = 188434540;
},
DEEP_SNOW("Deep Snow", BLK_SNOW_BLOCK, BLK_SNOW_BLOCK, "a thick layer of snow", BIOME_ICE_PLAINS),
GRAVEL("Gravel", BLK_GRAVEL, BLK_GRAVEL, "gravel", BIOME_PLAINS),
CLAY("Clay", BLK_CLAY, BLK_CLAY, "clay", BIOME_PLAINS),
COBBLESTONE("Cobblestone", BLK_COBBLESTONE, BLK_COBBLESTONE, "cobblestone", BIOME_PLAINS),
MOSSY_COBBLESTONE("Mossy Cobblestone", BLK_MOSSY_COBBLESTONE, BLK_MOSSY_COBBLESTONE, "mossy cobblestone", BIOME_PLAINS),
NETHERRACK("Netherrack", BLK_NETHERRACK, BLK_NETHERRACK, "netherrack", BIOME_PLAINS),
SOUL_SAND("Soul Sand", BLK_SOUL_SAND, BLK_SOUL_SAND, "soul sand", BIOME_PLAINS),
OBSIDIAN("Obsidian", BLK_OBSIDIAN, BLK_OBSIDIAN, "extremely tough volcanic glass", BIOME_PLAINS),
BEDROCK("Bedrock", BLK_BEDROCK, BLK_BEDROCK, "unbreakable bedrock", BIOME_PLAINS),
DESERT("Desert", "sand with here and there a cactus or dead shrub", BIOME_DESERT) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz <= 0) {
return Material.SAND;
} else {
final int rnd = new Random(seed + (x * 65537) + (y * 4099)).nextInt(CACTUS_CHANCE);
final int cactusHeight;
boolean shrub = false;
if (rnd < 3) {
cactusHeight = rnd + 1;
} else {
cactusHeight = 0;
if (rnd < 6) {
shrub = true;
}
}
if (dz > cactusHeight) {
if ((dz == 1) && shrub) {
return DEAD_SHRUBS;
} else {
return AIR;
}
} else {
return CACTUS;
}
}
}
private static final int CACTUS_CHANCE = 1000;
},
NETHERLIKE("Netherlike", "netherrack with pockets of lava, soul sand and glowstone and patches of fire on top", BIOME_HELL) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 1) {
return AIR;
} else if (dz == 1) {
final int rnd = new Random(seed + (x * 65537) + (y * 4099)).nextInt(FIRE_CHANCE);
if (rnd == 0) {
return FIRE;
} else {
return AIR;
}
} else {
if (glowstoneNoise.getSeed() != (seed + GLOWSTONE_SEED_OFFSET)) {
glowstoneNoise.setSeed(seed + GLOWSTONE_SEED_OFFSET);
soulSandNoise.setSeed(seed + SOUL_SAND_SEED_OFFSET);
lavaNoise.setSeed(seed + LAVA_SEED_OFFSET);
}
if (glowstoneNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > .4) {
return GLOWSTONE;
} else if(soulSandNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > .4) {
return Material.SOUL_SAND;
} else if(lavaNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > .4) {
return Material.LAVA;
} else {
return Material.NETHERRACK;
}
}
}
private final PerlinNoise glowstoneNoise = new PerlinNoise(0);
private final PerlinNoise soulSandNoise = new PerlinNoise(0);
private final PerlinNoise lavaNoise = new PerlinNoise(0);
private static final int GLOWSTONE_SEED_OFFSET = 57861047;
private static final int LAVA_SEED_OFFSET = 189831882;
private static final int SOUL_SAND_SEED_OFFSET = 81867522;
private static final int FIRE_CHANCE = 150;
},
@Deprecated
RESOURCES("Resources", "stone on the surface with pockets of coal, ores, gravel and dirt, lava and water, etc.", BIOME_PLAINS) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
if (z > height) {
return AIR;
} else {
if (goldNoise.getSeed() != (seed + GOLD_SEED_OFFSET)) {
goldNoise.setSeed( seed + GOLD_SEED_OFFSET);
ironNoise.setSeed( seed + IRON_SEED_OFFSET);
coalNoise.setSeed( seed + COAL_SEED_OFFSET);
lapisLazuliNoise.setSeed(seed + LAPIS_LAZULI_SEED_OFFSET);
diamondNoise.setSeed( seed + DIAMOND_SEED_OFFSET);
redstoneNoise.setSeed( seed + REDSTONE_SEED_OFFSET);
waterNoise.setSeed( seed + WATER_SEED_OFFSET);
lavaNoise.setSeed( seed + LAVA_SEED_OFFSET);
dirtNoise.setSeed( seed + DIRT_SEED_OFFSET);
gravelNoise.setSeed( seed + GRAVEL_SEED_OFFSET);
}
final double dx = x / TINY_BLOBS, dy = y / TINY_BLOBS, dz = z / TINY_BLOBS;
final double dirtX = x / SMALL_BLOBS, dirtY = y / SMALL_BLOBS, dirtZ = z / SMALL_BLOBS;
if ((z <= COAL_LEVEL) && (coalNoise.getPerlinNoise(dx, dy, dz) >= COAL_CHANCE)) {
return COAL;
} else if ((z <= DIRT_LEVEL) && (dirtNoise.getPerlinNoise(dirtX, dirtY, dirtZ) >= DIRT_CHANCE)) {
return Material.DIRT;
} else if ((z <= GRAVEL_LEVEL) && (gravelNoise.getPerlinNoise(dirtX, dirtY, dirtZ) >= GRAVEL_CHANCE)) {
return Material.GRAVEL;
} else if ((z <= REDSTONE_LEVEL) && (redstoneNoise.getPerlinNoise(dx, dy, dz) >= REDSTONE_CHANCE)) {
return REDSTONE_ORE;
} else if ((z <= IRON_LEVEL) && (ironNoise.getPerlinNoise(dx, dy, dz) >= IRON_CHANCE)) {
return IRON_ORE;
} else if ((z <= WATER_LEVEL) && (waterNoise.getPerlinNoise(dx, dy, dz) >= WATER_CHANCE)) {
return Material.WATER;
} else if ((z <= LAVA_LEVEL) && (lavaNoise.getPerlinNoise(dx, dy, dz) >= (LAVA_CHANCE + (z * z / 65536f)))) {
// System.out.println("Lava at level " + z);
// if (z > highestLava) {
// highestLava = z;
// }
// System.out.println("Highest lava: " + highestLava);
return Material.LAVA;
} else if ((z <= GOLD_LEVEL) && (goldNoise.getPerlinNoise(dx, dy, dz) >= GOLD_CHANCE)) {
return GOLD_ORE;
} else if ((z <= LAPIS_LAZULI_LEVEL) && (lapisLazuliNoise.getPerlinNoise(dx, dy, dz) >= LAPIS_LAZULI_CHANCE)) {
return LAPIS_LAZULI_ORE;
} else if ((z <= DIAMOND_LEVEL) && (diamondNoise.getPerlinNoise(dx, dy, dz) >= DIAMOND_CHANCE)) {
return DIAMOND_ORE;
} else {
return Material.STONE;
}
}
}
private final PerlinNoise goldNoise = new PerlinNoise(0);
private final PerlinNoise ironNoise = new PerlinNoise(0);
private final PerlinNoise coalNoise = new PerlinNoise(0);
private final PerlinNoise lapisLazuliNoise = new PerlinNoise(0);
private final PerlinNoise diamondNoise = new PerlinNoise(0);
private final PerlinNoise redstoneNoise = new PerlinNoise(0);
private final PerlinNoise waterNoise = new PerlinNoise(0);
private final PerlinNoise lavaNoise = new PerlinNoise(0);
private final PerlinNoise dirtNoise = new PerlinNoise(0);
private final PerlinNoise gravelNoise = new PerlinNoise(0);
// private int highestLava = 0;
private static final long GOLD_SEED_OFFSET = 148503743;
private static final long IRON_SEED_OFFSET = 171021655;
private static final long COAL_SEED_OFFSET = 81779663;
private static final long LAPIS_LAZULI_SEED_OFFSET = 174377337;
private static final long DIAMOND_SEED_OFFSET = 14554756;
private static final long REDSTONE_SEED_OFFSET = 48636151;
private static final long WATER_SEED_OFFSET = 42845153;
private static final long LAVA_SEED_OFFSET = 62452072;
private static final long DIRT_SEED_OFFSET = 193567846;
private static final long GRAVEL_SEED_OFFSET = 19951397;
},
BEACHES("Beaches", "grass with patches of sand, gravel and clay", BIOME_BEACH) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 0) {
return AIR;
} else {
if (sandNoise.getSeed() != (seed + SAND_SEED_OFFSET)) {
sandNoise.setSeed(seed + SAND_SEED_OFFSET);
clayNoise.setSeed(seed + CLAY_SEED_OFFSET);
}
float noise = clayNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS);
if (noise >= BEACH_CLAY_CHANCE) {
return Material.CLAY;
} else {
noise = sandNoise.getPerlinNoise(x / HUGE_BLOBS, y / HUGE_BLOBS, z / SMALL_BLOBS);
noise += sandNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) / 2;
if (noise >= BEACH_SAND_CHANCE) {
return Material.SAND;
} else if (-noise >= BEACH_GRAVEL_CHANCE) {
return Material.GRAVEL;
} else if (dz == 0) {
return Material.GRASS;
} else {
return Material.DIRT;
}
}
}
}
private final PerlinNoise sandNoise = new PerlinNoise(0);
private final PerlinNoise clayNoise = new PerlinNoise(0);
private static final long SAND_SEED_OFFSET = 26796036;
private static final long CLAY_SEED_OFFSET = 161603308;
},
CUSTOM_1("Custom 1", "custom material one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(0);
},
CUSTOM_2("Custom 2", "custom material two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(1);
},
CUSTOM_3("Custom 3", "custom material three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(2);
},
CUSTOM_4("Custom 4", "custom material four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(3);
},
CUSTOM_5("Custom 5", "custom material five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(4);
},
MYCELIUM("Mycelium", BLK_MYCELIUM, BLK_DIRT, "mycelium", BIOME_MUSHROOM_ISLAND),
END_STONE("End Stone", BLK_END_STONE, BLK_END_STONE, "end stone", BIOME_SKY),
BARE_GRASS("Bare Grass", BLK_GRASS, BLK_GRASS, "bare grass (no flowers, etc.)", BIOME_PLAINS),
CUSTOM_6("Custom 6", "custom material six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(5);
},
CUSTOM_7("Custom 7", "custom material seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(6);
},
CUSTOM_8("Custom 8", "custom material eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(7);
},
CUSTOM_9("Custom 9", "custom material nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(8);
},
CUSTOM_10("Custom 10", "custom material ten", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(9);
},
CUSTOM_11("Custom 11", "custom material eleven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(10);
},
CUSTOM_12("Custom 12", "custom material twelve", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(11);
},
CUSTOM_13("Custom 13", "custom material thirteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(12);
},
CUSTOM_14("Custom 14", "custom material fourteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(13);
},
CUSTOM_15("Custom 15", "custom material fifteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(14);
},
CUSTOM_16("Custom 16", "custom material sixteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(15);
},
CUSTOM_17("Custom 17", "custom material seventeen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(16);
},
CUSTOM_18("Custom 18", "custom material eighteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(17);
},
CUSTOM_19("Custom 19", "custom material nineteen", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(18);
},
CUSTOM_20("Custom 20", "custom material twenty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(19);
},
CUSTOM_21("Custom 21", "custom material twenty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(20);
},
CUSTOM_22("Custom 22", "custom material twenty-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(21);
},
CUSTOM_23("Custom 23", "custom material twenty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(22);
},
CUSTOM_24("Custom 24", "custom material twenty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(23);
},
PERMADIRT("Permadirt", Material.PERMADIRT, Material.PERMADIRT, "dirt on which no grass will grow", BIOME_PLAINS),
PODZOL("Podzol", Material.PODZOL, Material.DIRT, "podzol", BIOME_PLAINS),
RED_SAND("Red Sand", Material.RED_SAND, Material.RED_SAND, "red sand", BIOME_MESA),
HARDENED_CLAY("Hardened Clay", Material.HARDENED_CLAY, Material.HARDENED_CLAY, "hardened clay", BIOME_MESA),
WHITE_STAINED_CLAY("White Clay", Material.WHITE_CLAY, Material.WHITE_CLAY, "white stained clay", BIOME_MESA),
ORANGE_STAINED_CLAY("Orange Clay", Material.ORANGE_CLAY, Material.ORANGE_CLAY, "orange stained clay", BIOME_MESA),
MAGENTA_STAINED_CLAY("Magenta Clay", Material.MAGENTA_CLAY, Material.MAGENTA_CLAY, "magenta stained clay", BIOME_PLAINS),
LIGHT_BLUE_STAINED_CLAY("Light Blue Clay", Material.LIGHT_BLUE_CLAY, Material.LIGHT_BLUE_CLAY, "light blue stained clay", BIOME_PLAINS),
YELLOW_STAINED_CLAY("Yellow Clay", Material.YELLOW_CLAY, Material.YELLOW_CLAY, "yellow stained clay", BIOME_MESA),
LIME_STAINED_CLAY("Lime Clay", Material.LIME_CLAY, Material.LIME_CLAY, "lime stained clay", BIOME_PLAINS),
PINK_STAINED_CLAY("Pink Clay", Material.PINK_CLAY, Material.PINK_CLAY, "pink stained clay", BIOME_PLAINS),
GREY_STAINED_CLAY("Grey Clay", Material.GREY_CLAY, Material.GREY_CLAY, "grey stained clay", BIOME_PLAINS),
LIGHT_GREY_STAINED_CLAY("Light Grey Clay", Material.LIGHT_GREY_CLAY, Material.LIGHT_GREY_CLAY, "light grey stained clay", BIOME_MESA),
CYAN_STAINED_CLAY("Cyan Clay", Material.CYAN_CLAY, Material.CYAN_CLAY, "cyan stained clay", BIOME_PLAINS),
PURPLE_STAINED_CLAY("Purple Clay", Material.PURPLE_CLAY, Material.PURPLE_CLAY, "purple stained clay", BIOME_PLAINS),
BLUE_STAINED_CLAY("Blue Clay", Material.BLUE_CLAY, Material.BLUE_CLAY, "blue stained clay", BIOME_PLAINS),
BROWN_STAINED_CLAY("Brown Clay", Material.BROWN_CLAY, Material.BROWN_CLAY, "brown stained clay", BIOME_MESA),
GREEN_STAINED_CLAY("Green Clay", Material.GREEN_CLAY, Material.GREEN_CLAY, "green stained clay", BIOME_PLAINS),
RED_STAINED_CLAY("Red Clay", Material.RED_CLAY, Material.RED_CLAY, "red stained clay", BIOME_MESA),
BLACK_STAINED_CLAY("Black Clay", Material.BLACK_CLAY, Material.BLACK_CLAY, "black stained clay", BIOME_PLAINS),
MESA("Mesa", "Layers of red sand, hardened clay and stained clay, with here and there a cactus or a dead shrub", BIOME_MESA) {
@Override
public Material getMaterial(final long seed, final int x, final int y, final int z, final int height) {
return getMaterial(seed, x, y, (float) z, height);
}
@Override
public Material getMaterial(final long seed, final int x, final int y, final float z, final int height) {
if (seed != this.seed) {
init(seed);
}
final int dz = (int) (z + 0.5f) - height;
if (dz <= 0) {
return LAYERS[(int) (z + (perlinNoise.getPerlinNoise(x / GIGANTIC_BLOBS, y / GIGANTIC_BLOBS) * 4 + perlinNoise.getPerlinNoise(x / HUGE_BLOBS, y / HUGE_BLOBS) + perlinNoise.getPerlinNoise(x / LARGE_BLOBS, y / LARGE_BLOBS) + perlinNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS) / 4 + 3.125f) * 8) % LAYER_COUNT];
} else {
final int rnd = new Random(seed + (x * 65537) + (y * 4099)).nextInt(SHRUB_CHANCE);
if (rnd < 3) {
return DEAD_SHRUBS;
} else {
return AIR;
}
}
}
private void init(long seed) {
this.seed = seed;
perlinNoise.setSeed(seed + NOISE_SEED_OFFSET);
final Random random = new Random(seed);
Arrays.fill(LAYERS, Material.HARDENED_CLAY);
for (int i = 0; i < LAYER_COUNT / 2; i++) {
final int index = random.nextInt(LAYER_COUNT - 1);
final Material material = MATERIALS[random.nextInt(MATERIALS.length)];
LAYERS[index] = material;
LAYERS[index + 1] = material;
}
}
private final Material[] LAYERS = new Material[LAYER_COUNT];
private final PerlinNoise perlinNoise = new PerlinNoise(0);
private long seed = Long.MIN_VALUE;
private final Material[] MATERIALS = {Material.RED_SAND, Material.HARDENED_CLAY, Material.WHITE_CLAY, Material.LIGHT_GREY_CLAY, Material.YELLOW_CLAY, Material.ORANGE_CLAY, Material.RED_CLAY, Material.BROWN_CLAY};
private static final int LAYER_COUNT = 64;
private static final int SHRUB_CHANCE = 500;
private static final long NOISE_SEED_OFFSET = 110335839L;
},
RED_DESERT("Red Desert", "red sand with here and there a cactus or dead shrub", BIOME_MESA) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz <= 0) {
return Material.RED_SAND;
} else {
final int rnd = new Random(seed + (x * 65537) + (y * 4099)).nextInt(CACTUS_CHANCE);
final int cactusHeight;
boolean shrub = false;
if (rnd < 3) {
cactusHeight = rnd + 1;
} else {
cactusHeight = 0;
if (rnd < 12) {
shrub = true;
}
}
if (dz > cactusHeight) {
if ((dz == 1) && shrub) {
return DEAD_SHRUBS;
} else {
return AIR;
}
} else {
return CACTUS;
}
}
}
private static final int CACTUS_CHANCE = 2000;
},
RED_SANDSTONE("Red Sandstone", BLK_RED_SANDSTONE, BLK_RED_SANDSTONE, "red sandstone", BIOME_MESA),
GRANITE("Granite", Material.GRANITE, Material.GRANITE, "granite", BIOME_PLAINS),
DIORITE("Diorite", Material.DIORITE, Material.DIORITE, "diorite", BIOME_PLAINS),
ANDESITE("Andesite", Material.ANDESITE, Material.ANDESITE, "andesite", BIOME_PLAINS),
STONE_MIX("Stone Mix", "stone with patches of granite, diorite and andesite", BIOME_PLAINS) {
@Override
public Material getMaterial(long seed, int x, int y, int z, int height) {
final int dz = z - height;
if (dz > 0) {
return AIR;
} else {
if (graniteNoise.getSeed() != (seed + GRANITE_SEED_OFFSET)) {
graniteNoise.setSeed(seed + GRANITE_SEED_OFFSET);
dioriteNoise.setSeed(seed + DIORITE_SEED_OFFSET);
andesiteNoise.setSeed(seed + ANDESITE_SEED_OFFSET);
}
if (graniteNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > GRANITE_CHANCE) {
return Material.GRANITE;
} else if(dioriteNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > DIORITE_CHANCE) {
return Material.DIORITE;
} else if(andesiteNoise.getPerlinNoise(x / SMALL_BLOBS, y / SMALL_BLOBS, z / SMALL_BLOBS) > ANDESITE_CHANCE) {
return Material.ANDESITE;
} else {
return Material.STONE;
}
}
}
private final PerlinNoise graniteNoise = new PerlinNoise(0);
private final PerlinNoise dioriteNoise = new PerlinNoise(0);
private final PerlinNoise andesiteNoise = new PerlinNoise(0);
private static final int GRANITE_SEED_OFFSET = 145827825;
private static final int DIORITE_SEED_OFFSET = 59606124;
private static final int ANDESITE_SEED_OFFSET = 87772192;
},
CUSTOM_25("Custom 25", "custom material twenty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(24);
},
CUSTOM_26("Custom 26", "custom material twenty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(25);
},
CUSTOM_27("Custom 27", "custom material twenty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(26);
},
CUSTOM_28("Custom 28", "custom material twenty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(27);
},
CUSTOM_29("Custom 29", "custom material twenty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(28);
},
CUSTOM_30("Custom 30", "custom material thirty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(29);
},
CUSTOM_31("Custom 31", "custom material thirty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(30);
},
CUSTOM_32("Custom 32", "custom material thirty-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(31);
},
CUSTOM_33("Custom 33", "custom material thirty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(32);
},
CUSTOM_34("Custom 34", "custom material thirty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(33);
},
CUSTOM_35("Custom 35", "custom material thirty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(34);
},
CUSTOM_36("Custom 36", "custom material thirty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(35);
},
CUSTOM_37("Custom 37", "custom material thirty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(36);
},
CUSTOM_38("Custom 38", "custom material thirty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(37);
},
CUSTOM_39("Custom 39", "custom material thirty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(38);
},
CUSTOM_40("Custom 40", "custom material forty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(39);
},
CUSTOM_41("Custom 41", "custom material forty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(40);
},
CUSTOM_42("Custom 42", "life, the universe and everything", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(41);
},
CUSTOM_43("Custom 43", "custom material forty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(42);
},
CUSTOM_44("Custom 44", "custom material forty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(43);
},
CUSTOM_45("Custom 45", "custom material forty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(44);
},
CUSTOM_46("Custom 46", "custom material forty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(45);
},
CUSTOM_47("Custom 47", "custom material forty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(46);
},
CUSTOM_48("Custom 48", "custom material forty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(47);
},
GRASS_PATH("Grass Path", BLK_GRASS_PATH, BLK_GRASS, "grass path", BIOME_PLAINS),
MAGMA("Magma", BLK_MAGMA, BLK_MAGMA, "magma", BIOME_PLAINS), // TODO: or should this be mapped to stone and magma added to the Resources layer?
CUSTOM_49("Custom 49", "custom material forty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(48);
},
CUSTOM_50("Custom 50", "custom material fifty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(49);
},
CUSTOM_51("Custom 51", "custom material fifty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(50);
},
CUSTOM_52("Custom 52", "custom material fifty-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(51);
},
CUSTOM_53("Custom 53", "custom material fifty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(52);
},
CUSTOM_54("Custom 54", "custom material fifty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(53);
},
CUSTOM_55("Custom 55", "custom material fifty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(54);
},
CUSTOM_56("Custom 56", "custom material fifty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(55);
},
CUSTOM_57("Custom 57", "custom material fifty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(56);
},
CUSTOM_58("Custom 58", "custom material fifty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(57);
},
CUSTOM_59("Custom 59", "custom material fifty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(58);
},
CUSTOM_60("Custom 60", "custom material sixty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(59);
},
CUSTOM_61("Custom 61", "custom material sixty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(60);
},
CUSTOM_62("Custom 62", "custom material sixty-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(61);
},
CUSTOM_63("Custom 63", "custom material sixty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(62);
},
CUSTOM_64("Custom 64", "custom material sixty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(63);
},
CUSTOM_65("Custom 65", "custom material sixty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(64);
},
CUSTOM_66("Custom 66", "custom material sixty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(65);
},
CUSTOM_67("Custom 67", "custom material sixty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(66);
},
CUSTOM_68("Custom 68", "custom material sixty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(67);
},
CUSTOM_69("Custom 69", "custom material sixty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(68);
},
CUSTOM_70("Custom 70", "custom material seventy", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(69);
},
CUSTOM_71("Custom 71", "custom material seventy-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(70);
},
CUSTOM_72("Custom 72", "custom material seventy-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(71);
},
CUSTOM_73("Custom 73", "custom material seventy-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(72);
},
CUSTOM_74("Custom 74", "custom material seventy-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(73);
},
CUSTOM_75("Custom 75", "custom material seventy-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(74);
},
CUSTOM_76("Custom 76", "custom material seventy-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(75);
},
CUSTOM_77("Custom 77", "custom material seventy-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(76);
},
CUSTOM_78("Custom 78", "custom material seventy-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(77);
},
CUSTOM_79("Custom 79", "custom material seventy-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(78);
},
CUSTOM_80("Custom 80", "custom material eighty", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(79);
},
CUSTOM_81("Custom 81", "custom material eighty-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(80);
},
CUSTOM_82("Custom 82", "custom material eighty-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(81);
},
CUSTOM_83("Custom 83", "custom material eighty-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(82);
},
CUSTOM_84("Custom 84", "custom material eighty-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(83);
},
CUSTOM_85("Custom 85", "custom material eighty-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(84);
},
CUSTOM_86("Custom 86", "custom material eighty-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(85);
},
CUSTOM_87("Custom 87", "custom material eighty-seven", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(86);
},
CUSTOM_88("Custom 88", "custom material eighty-eight", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(87);
},
CUSTOM_89("Custom 89", "custom material eighty-nine", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(88);
},
CUSTOM_90("Custom 90", "custom material ninety", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(89);
},
CUSTOM_91("Custom 91", "custom material ninety-one", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(90);
},
CUSTOM_92("Custom 92", "custom material ninety-two", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(91);
},
CUSTOM_93("Custom 93", "custom material ninety-three", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(92);
},
CUSTOM_94("Custom 94", "custom material ninety-four", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(93);
},
CUSTOM_95("Custom 95", "custom material ninety-five", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(94);
},
CUSTOM_96("Custom 96", "custom material ninety-six", BIOME_PLAINS) {
@Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}
@Override public String getName() {return helper.getName();}
@Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}
@Override public boolean isCustom() {return true;}
@Override public boolean isConfigured() {return helper.isConfigured();}
@Override public int getDefaultBiome() {return helper.getDefaultBiome();}
@Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}
@Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
@Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}
private final CustomTerrainHelper helper = new CustomTerrainHelper(95);
};
Terrain(String name, String description, int defaultBiome) {
this(name, Material.STONE, Material.STONE, AIR, description, defaultBiome);
}
Terrain(String name, int topMaterial, int topLayerMaterial, String description, int defaultBiome) {
this(name, Material.get(topMaterial), Material.get(topLayerMaterial), AIR, description, defaultBiome);
}
Terrain(String name, Material topMaterial, Material topLayerMaterial, String description, int defaultBiome) {
this(name, topMaterial, topLayerMaterial, AIR, description, defaultBiome);
}
Terrain(String name, Material topMaterial, Material topLayerMaterial, Material topping, String description, int defaultBiome) {
this.name = name;
this.topMaterial = topMaterial;
this.topLayerMaterial = topLayerMaterial;
this.topping = topping;
this.toppingHeight = (topping == AIR) ? 0 : 1;
this.description = description;
this.defaultBiome = defaultBiome;
icon = IconUtils.scaleIcon(IconUtils.loadUnscaledImage("org/pepsoft/worldpainter/icons/" + name().toLowerCase() + ".png"), 16);
}
public String getName() {
return name;
}
/**
* Get the block type to use for this material at a specific location in the
* world, relative to the surface.
*
* @param seed The world seed.
* @param x The absolute X position of the block in WorldPainter coordinates.
* @param y The absolute Y position of the block in WorldPainter coordinates.
* @param z The absolute Z position of the block in WorldPainter coordinates.
* @param height The height of the terrain at the specified X and Y
* coordinates.
* @return
*/
public Material getMaterial(final long seed, final int x, final int y, final float z, final int height) {
return getMaterial(seed, x, y, (int) (z + 0.5f), height);
}
/**
* Get the block type to use for this material at a specific location in the
* world, relative to the surface.
*
* @param seed The world seed.
* @param x The absolute X position of the block in WorldPainter coordinates.
* @param y The absolute Y position of the block in WorldPainter coordinates.
* @param z The absolute Z position of the block in WorldPainter coordinates.
* @param height The height of the terrain at the specified X and Y
* coordinates.
* @return
*/
public Material getMaterial(final long seed, final int x, final int y, final int z, final int height) {
final int dz = z - height;
if (dz > toppingHeight) {
return Material.AIR;
} else if (dz > 0) {
return topping;
} else if (dz == 0) {
return topMaterial;
} else {
return topLayerMaterial;
}
}
public String getDescription() {
return description;
}
public BufferedImage getIcon(ColourScheme colourScheme) {
return icon;
}
public int getColour(final long seed, final int x, final int y, final float z, final int height, final ColourScheme colourScheme) {
try {
return colourScheme.getColour(getMaterial(seed, x, y, z, height));
} catch (RuntimeException e) {
throw new RuntimeException(e.getClass().getSimpleName() + " while getting colour of material " + getMaterial(seed, x, y, z, height) + " @ " + x + "," + y + "," + z + "," + height + " for terrain " + this, e);
}
}
public int getColour(final long seed, final int x, final int y, final int z, final int height, final ColourScheme colourScheme) {
try {
return colourScheme.getColour(getMaterial(seed, x, y, z, height));
} catch (RuntimeException e) {
throw new RuntimeException(e.getClass().getSimpleName() + " while getting colour of material " + getMaterial(seed, x, y, z, height) + " @ " + x + "," + y + "," + z + "," + height + " for terrain " + this, e);
}
}
public int getDefaultBiome() {
return defaultBiome;
}
public boolean isCustom() {
return false;
}
public boolean isConfigured() {
return true;
}
public int getCustomTerrainIndex() {
throw new IllegalArgumentException("Not a custom terrain");
}
public static boolean isCustomMaterialConfigured(int index) {
return customMaterials[index] != null;
}
public static int getConfiguredCustomMaterialCount() {
return (int) Arrays.stream(customMaterials).filter(Objects::nonNull).count();
}
public static MixedMaterial getCustomMaterial(int index) {
return customMaterials[index];
}
public static void setCustomMaterial(int index, MixedMaterial material) {
customMaterials[index] = material;
}
public static Terrain getCustomTerrain(int index) {
return (index < 48)
? ((index < 24)
? VALUES[index + 47]
: VALUES[index + 52])
: VALUES[index + 54];
}
public static Terrain[] getConfiguredValues() {
ArrayList<Terrain> values = new ArrayList<>(VALUES.length);
for (Terrain terrain: VALUES) {
if ((! terrain.isCustom()) || terrain.isConfigured()) {
values.add(terrain);
}
}
return values.toArray(new Terrain[values.size()]);
}
private final Material topMaterial, topLayerMaterial, topping;
private final int toppingHeight;
private final String name, description;
private final BufferedImage icon;
private final int defaultBiome;
public static final int CUSTOM_TERRAIN_COUNT = 96;
static final MixedMaterial[] customMaterials = new MixedMaterial[CUSTOM_TERRAIN_COUNT];
static final int GOLD_LEVEL = 32;
static final int IRON_LEVEL = 48;
static final int COAL_LEVEL = Integer.MAX_VALUE;
static final int LAPIS_LAZULI_LEVEL = 32;
static final int DIAMOND_LEVEL = 16;
static final int REDSTONE_LEVEL = 16;
static final int WATER_LEVEL = Integer.MAX_VALUE;
static final int LAVA_LEVEL = 80;
static final int DIRT_LEVEL = Integer.MAX_VALUE;
static final int GRAVEL_LEVEL = Integer.MAX_VALUE;
static final float GOLD_CHANCE = PerlinNoise.getLevelForPromillage(1);
static final float IRON_CHANCE = PerlinNoise.getLevelForPromillage(5);
static final float COAL_CHANCE = PerlinNoise.getLevelForPromillage(9);
static final float LAPIS_LAZULI_CHANCE = PerlinNoise.getLevelForPromillage(1);
static final float DIAMOND_CHANCE = PerlinNoise.getLevelForPromillage(1);
static final float REDSTONE_CHANCE = PerlinNoise.getLevelForPromillage(6);
static final float WATER_CHANCE = PerlinNoise.getLevelForPromillage(1);
static final float LAVA_CHANCE = PerlinNoise.getLevelForPromillage(1);
static final float DIRT_CHANCE = PerlinNoise.getLevelForPromillage(9);
static final float GRAVEL_CHANCE = PerlinNoise.getLevelForPromillage(9);
static final float FLOWER_CHANCE = PerlinNoise.getLevelForPromillage(10);
static final float FERN_CHANCE = PerlinNoise.getLevelForPromillage(10);
static final float GRASS_CHANCE = PerlinNoise.getLevelForPromillage(100);
static final float DOUBLE_TALL_GRASS_CHANCE = PerlinNoise.getLevelForPromillage(50);
static final float BEACH_SAND_CHANCE = PerlinNoise.getLevelForPromillage(400) * 1.5f;
static final float BEACH_GRAVEL_CHANCE = PerlinNoise.getLevelForPromillage(200) * 1.5f;
static final float BEACH_CLAY_CHANCE = PerlinNoise.getLevelForPromillage(40);
static final float GRANITE_CHANCE = PerlinNoise.getLevelForPromillage(45);
static final float DIORITE_CHANCE = PerlinNoise.getLevelForPromillage(45);
static final float ANDESITE_CHANCE = PerlinNoise.getLevelForPromillage(45);
/**
* This information is now public, so don't change it! Only add new values
* at the end!
*/
public static final Terrain[] VALUES = {
Terrain.GRASS,
Terrain.BARE_GRASS,
Terrain.DIRT,
Terrain.PERMADIRT,
Terrain.PODZOL,
Terrain.SAND,
Terrain.RED_SAND,
Terrain.DESERT,
Terrain.RED_DESERT,
Terrain.MESA,
Terrain.HARDENED_CLAY,
Terrain.WHITE_STAINED_CLAY,
Terrain.ORANGE_STAINED_CLAY,
Terrain.MAGENTA_STAINED_CLAY,
Terrain.LIGHT_BLUE_STAINED_CLAY,
Terrain.YELLOW_STAINED_CLAY,
Terrain.LIME_STAINED_CLAY,
Terrain.PINK_STAINED_CLAY,
Terrain.GREY_STAINED_CLAY,
Terrain.LIGHT_GREY_STAINED_CLAY,
Terrain.CYAN_STAINED_CLAY,
Terrain.PURPLE_STAINED_CLAY,
Terrain.BLUE_STAINED_CLAY,
Terrain.BROWN_STAINED_CLAY,
Terrain.GREEN_STAINED_CLAY,
Terrain.RED_STAINED_CLAY,
Terrain.BLACK_STAINED_CLAY,
Terrain.SANDSTONE,
Terrain.STONE,
Terrain.ROCK,
Terrain.COBBLESTONE,
Terrain.MOSSY_COBBLESTONE,
Terrain.OBSIDIAN,
Terrain.BEDROCK,
Terrain.GRAVEL,
Terrain.CLAY,
Terrain.BEACHES,
Terrain.WATER,
Terrain.LAVA,
Terrain.SNOW,
Terrain.DEEP_SNOW,
Terrain.NETHERRACK,
Terrain.SOUL_SAND,
Terrain.NETHERLIKE,
Terrain.MYCELIUM,
Terrain.END_STONE,
Terrain.RESOURCES,
Terrain.CUSTOM_1,
Terrain.CUSTOM_2,
Terrain.CUSTOM_3,
Terrain.CUSTOM_4,
Terrain.CUSTOM_5,
Terrain.CUSTOM_6,
Terrain.CUSTOM_7,
Terrain.CUSTOM_8,
Terrain.CUSTOM_9,
Terrain.CUSTOM_10,
Terrain.CUSTOM_11,
Terrain.CUSTOM_12,
Terrain.CUSTOM_13,
Terrain.CUSTOM_14,
Terrain.CUSTOM_15,
Terrain.CUSTOM_16,
Terrain.CUSTOM_17,
Terrain.CUSTOM_18,
Terrain.CUSTOM_19,
Terrain.CUSTOM_20,
Terrain.CUSTOM_21,
Terrain.CUSTOM_22,
Terrain.CUSTOM_23,
Terrain.CUSTOM_24,
Terrain.RED_SANDSTONE,
Terrain.GRANITE,
Terrain.DIORITE,
Terrain.ANDESITE,
Terrain.STONE_MIX,
Terrain.CUSTOM_25,
Terrain.CUSTOM_26,
Terrain.CUSTOM_27,
Terrain.CUSTOM_28,
Terrain.CUSTOM_29,
Terrain.CUSTOM_30,
Terrain.CUSTOM_31,
Terrain.CUSTOM_32,
Terrain.CUSTOM_33,
Terrain.CUSTOM_34,
Terrain.CUSTOM_35,
Terrain.CUSTOM_36,
Terrain.CUSTOM_37,
Terrain.CUSTOM_38,
Terrain.CUSTOM_39,
Terrain.CUSTOM_40,
Terrain.CUSTOM_41,
Terrain.CUSTOM_42,
Terrain.CUSTOM_43,
Terrain.CUSTOM_44,
Terrain.CUSTOM_45,
Terrain.CUSTOM_46,
Terrain.CUSTOM_47,
Terrain.CUSTOM_48,
Terrain.GRASS_PATH,
Terrain.MAGMA,
Terrain.CUSTOM_49,
Terrain.CUSTOM_50,
Terrain.CUSTOM_51,
Terrain.CUSTOM_52,
Terrain.CUSTOM_53,
Terrain.CUSTOM_54,
Terrain.CUSTOM_55,
Terrain.CUSTOM_56,
Terrain.CUSTOM_57,
Terrain.CUSTOM_58,
Terrain.CUSTOM_59,
Terrain.CUSTOM_60,
Terrain.CUSTOM_61,
Terrain.CUSTOM_62,
Terrain.CUSTOM_63,
Terrain.CUSTOM_64,
Terrain.CUSTOM_65,
Terrain.CUSTOM_66,
Terrain.CUSTOM_67,
Terrain.CUSTOM_68,
Terrain.CUSTOM_69,
Terrain.CUSTOM_70,
Terrain.CUSTOM_71,
Terrain.CUSTOM_72,
Terrain.CUSTOM_73,
Terrain.CUSTOM_74,
Terrain.CUSTOM_75,
Terrain.CUSTOM_76,
Terrain.CUSTOM_77,
Terrain.CUSTOM_78,
Terrain.CUSTOM_79,
Terrain.CUSTOM_80,
Terrain.CUSTOM_81,
Terrain.CUSTOM_82,
Terrain.CUSTOM_83,
Terrain.CUSTOM_84,
Terrain.CUSTOM_85,
Terrain.CUSTOM_86,
Terrain.CUSTOM_87,
Terrain.CUSTOM_88,
Terrain.CUSTOM_89,
Terrain.CUSTOM_90,
Terrain.CUSTOM_91,
Terrain.CUSTOM_92,
Terrain.CUSTOM_93,
Terrain.CUSTOM_94,
Terrain.CUSTOM_95,
Terrain.CUSTOM_96
};
/**
* This list is meant to present to the user. It has a more logical order
* and lacks the custom and deprecated terrain types. This list may be
* changed in any way.
*/
public static final Terrain[] PICK_LIST = {
Terrain.GRASS,
Terrain.BARE_GRASS,
Terrain.GRASS_PATH,
Terrain.DIRT,
Terrain.PERMADIRT,
Terrain.PODZOL,
Terrain.SAND,
Terrain.RED_SAND,
Terrain.DESERT,
Terrain.RED_DESERT,
Terrain.MESA,
Terrain.HARDENED_CLAY,
Terrain.SANDSTONE,
Terrain.RED_SANDSTONE,
Terrain.STONE_MIX,
Terrain.STONE,
Terrain.GRANITE,
Terrain.DIORITE,
Terrain.ANDESITE,
Terrain.ROCK,
Terrain.COBBLESTONE,
Terrain.MOSSY_COBBLESTONE,
Terrain.OBSIDIAN,
Terrain.BEDROCK,
Terrain.GRAVEL,
Terrain.CLAY,
Terrain.BEACHES,
Terrain.WATER,
Terrain.LAVA,
Terrain.MAGMA,
Terrain.DEEP_SNOW,
Terrain.NETHERRACK,
Terrain.SOUL_SAND,
Terrain.NETHERLIKE,
Terrain.MYCELIUM,
Terrain.END_STONE,
Terrain.WHITE_STAINED_CLAY,
Terrain.ORANGE_STAINED_CLAY,
Terrain.MAGENTA_STAINED_CLAY,
Terrain.LIGHT_BLUE_STAINED_CLAY,
Terrain.YELLOW_STAINED_CLAY,
Terrain.LIME_STAINED_CLAY,
Terrain.PINK_STAINED_CLAY,
Terrain.GREY_STAINED_CLAY,
Terrain.LIGHT_GREY_STAINED_CLAY,
Terrain.CYAN_STAINED_CLAY,
Terrain.PURPLE_STAINED_CLAY,
Terrain.BLUE_STAINED_CLAY,
Terrain.BROWN_STAINED_CLAY,
Terrain.GREEN_STAINED_CLAY,
Terrain.RED_STAINED_CLAY,
Terrain.BLACK_STAINED_CLAY
};
/*
* A helper method for generating additional custom terrain types. Should be
* edited before use.
*/
public static void main(String[] args) {
String[] tens = {"forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
String[] ones = {"", "-one", "-two", "-three", "-four", "-five", "-six", "-seven", "-eight", "-nine"};
for (int i = 49; i <= 96; i++) {
System.out.printf(" CUSTOM_%1$d(\"Custom %1$d\", \"custom material %3$s%4$s\", BIOME_PLAINS) {%n" +
" @Override public Material getMaterial(long seed, int x, int y, int z, int height) {return helper.getMaterial(seed, x, y, z, height);}%n" +
"%n" +
" @Override public Material getMaterial(long seed, int x, int y, float z, int height) {return helper.getMaterial(seed, x, y, z, height);}%n" +
"%n" +
" @Override public String getName() {return helper.getName();}%n" +
"%n" +
" @Override public BufferedImage getIcon(ColourScheme colourScheme) {return helper.getIcon(colourScheme);}%n" +
"%n" +
" @Override public boolean isCustom() {return true;}%n" +
"%n" +
" @Override public boolean isConfigured() {return helper.isConfigured();}%n" +
"%n" +
" @Override public int getDefaultBiome() {return helper.getDefaultBiome();}%n" +
"%n" +
" @Override public int getCustomTerrainIndex() {return helper.getCustomTerrainIndex();}%n" +
"%n" +
" @Override public int getColour(long seed, int x, int y, int z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}%n" +
"%n" +
" @Override public int getColour(long seed, int x, int y, float z, int height, ColourScheme colourScheme) {return helper.getColour(seed, x, y, z, height, colourScheme);}%n" +
"%n" +
" private final CustomTerrainHelper helper = new CustomTerrainHelper(%2$d);%n" +
" },%n",
i,
i - 1,
tens[(i / 10) - 4],
ones[i % 10]);
}
for (int i = 49; i <= 96; i++) {
System.out.println(" Terrain.CUSTOM_" + i);
}
}
}