mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-23 08:38:51 +00:00
Basic 3D interpolated terrain implementation
This commit is contained in:
34
src/main/java/com/dfsek/terra/biome/TerraBiome.java
Normal file
34
src/main/java/com/dfsek/terra/biome/TerraBiome.java
Normal file
@@ -0,0 +1,34 @@
|
||||
package com.dfsek.terra.biome;
|
||||
|
||||
import com.dfsek.terra.biome.generators.MountainGenerator;
|
||||
import org.polydev.gaea.biome.Biome;
|
||||
import org.polydev.gaea.biome.BiomeTerrain;
|
||||
import org.polydev.gaea.biome.Decorator;
|
||||
import org.polydev.gaea.structures.features.Feature;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public enum TerraBiome implements Biome {
|
||||
PLAINS(null), MOUNTAINS(new MountainGenerator());
|
||||
|
||||
private BiomeTerrain t;
|
||||
TerraBiome(BiomeTerrain t) {
|
||||
this.t = t;
|
||||
}
|
||||
|
||||
public org.bukkit.block.Biome getVanillaBiome() {
|
||||
return org.bukkit.block.Biome.PLAINS;
|
||||
}
|
||||
|
||||
public BiomeTerrain getGenerator() {
|
||||
return t;
|
||||
}
|
||||
|
||||
public List<Feature> getStructureFeatures() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public Decorator getDecorator() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
29
src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java
Normal file
29
src/main/java/com/dfsek/terra/biome/TerraBiomeGrid.java
Normal file
@@ -0,0 +1,29 @@
|
||||
package com.dfsek.terra.biome;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.polydev.gaea.biome.BiomeGrid;
|
||||
|
||||
public class TerraBiomeGrid extends BiomeGrid {
|
||||
private final TerraBiome[][] grid = new TerraBiome[][] {
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS},
|
||||
{TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS, TerraBiome.MOUNTAINS}};
|
||||
|
||||
public TerraBiomeGrid(World w) {
|
||||
super(w, 1f/256, 1f/512);
|
||||
super.setGrid(grid);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.dfsek.terra.biome.generators;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.polydev.gaea.biome.BiomeTerrain;
|
||||
import org.polydev.gaea.math.FastNoise;
|
||||
import org.polydev.gaea.world.BlockPalette;
|
||||
|
||||
public class MountainGenerator extends BiomeTerrain {
|
||||
private final BlockPalette p = new BlockPalette().add(Material.STONE, 1);
|
||||
public double getNoise(FastNoise fastNoise, int i, int i1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public double getNoise(FastNoise fastNoise, int x, int y, int z) {
|
||||
return (-Math.pow((float)y/96, 2))+1D + (fastNoise.getSimplexFractal(x, y, z)/2);
|
||||
}
|
||||
|
||||
public BlockPalette getPalette() {
|
||||
return p;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user