// Minecraft 1.8 and higher require block initialization to be called before creating a biome generator.
MinecraftClass blockInit;
if ((blockInit = minecraft.getClassByName("BlockInit")) != null)
blockInit.callFunction("initialize");
Type type = Type.fromMixedCase(typeName);
MinecraftClass genLayerClass = minecraft.getClassByName("GenLayer");
MinecraftClass worldTypeClass = minecraft.getClassByName("WorldType");
Object[] genLayers = null;
if (worldTypeClass == null) {
genLayers = (Object[])genLayerClass.callFunction("initializeAllBiomeGenerators", seed);
} else {
Object worldType = ((MinecraftObject) worldTypeClass.getValue(type.getValue())).get();
if (genLayerClass.getMethod("initializeAllBiomeGeneratorsWithParams").exists()) {
genLayers = (Object[])genLayerClass.callFunction("initializeAllBiomeGeneratorsWithParams", seed, worldType, generatorOptions);
} else {
genLayers = (Object[])genLayerClass.callFunction("initializeAllBiomeGenerators", seed, worldType);
}