/* * Copyright 2013 MovingBlocks * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.terasology.core.world.generator.worldGenerators; import org.terasology.core.world.generator.facetProviders.BiomeProvider; import org.terasology.core.world.generator.facetProviders.DefaultFloraProvider; import org.terasology.core.world.generator.facetProviders.DefaultTreeProvider; import org.terasology.core.world.generator.facetProviders.HeightMapSurfaceHeightProvider; import org.terasology.core.world.generator.facetProviders.PerlinHumidityProvider; import org.terasology.core.world.generator.facetProviders.PerlinSurfaceTemperatureProvider; import org.terasology.core.world.generator.facetProviders.SeaLevelProvider; import org.terasology.core.world.generator.facetProviders.SurfaceToDensityProvider; import org.terasology.core.world.generator.rasterizers.FloraRasterizer; import org.terasology.core.world.generator.rasterizers.SolidRasterizer; import org.terasology.core.world.generator.rasterizers.TreeRasterizer; import org.terasology.engine.SimpleUri; import org.terasology.registry.In; import org.terasology.world.generation.BaseFacetedWorldGenerator; import org.terasology.world.generation.WorldBuilder; import org.terasology.world.generator.RegisterWorldGenerator; import org.terasology.world.generator.plugin.WorldGeneratorPluginLibrary; /** */ @RegisterWorldGenerator(id = "heightMap", displayName = "Height Map", description = "Generates the world using a height map") public class HeightMapWorldGenerator extends BaseFacetedWorldGenerator { @In private WorldGeneratorPluginLibrary worldGeneratorPluginLibrary; public HeightMapWorldGenerator(SimpleUri uri) { super(uri); } @Override protected WorldBuilder createWorld() { return new WorldBuilder(worldGeneratorPluginLibrary) .setSeaLevel(16) .addProvider(new SeaLevelProvider(16)) .addProvider(new HeightMapSurfaceHeightProvider()) .addProvider(new PerlinHumidityProvider()) .addProvider(new PerlinSurfaceTemperatureProvider()) .addProvider(new BiomeProvider()) .addProvider(new SurfaceToDensityProvider()) .addProvider(new DefaultFloraProvider()) .addProvider(new DefaultTreeProvider()) .addRasterizer(new FloraRasterizer()) .addRasterizer(new TreeRasterizer()) .addRasterizer(new SolidRasterizer()) .addPlugins(); } }