package common.dimension;

import java.util.Set;

import common.collect.Sets;
import common.world.State;

public final class Star extends Dimension {
	private final Set<Planet> planets = Sets.newTreeSet();

	Star(int id, String name) {
		super(id, name);
	}
	
	public Star(int id, String name, int color, float gravity, float temp, State surface, int height) {
		super(id, name);
		this.setPhysics(1L, 1L, 0.0f, gravity, temp, 15);
		this.setTimeQualifier(7);
		this.setStarBrightness(0.75f).setDeepStarBrightness(0.75f);
		this.setSkyColor(color).setFogColor(color).setFlatGen(surface, height);
	}
	
	public void addPlanet(Planet planet) {
		this.planets.add(planet);
	}
	
	public final DimType getType() {
		return DimType.STAR;
	}
	
//	public final ChunkGenerator createChunkGenerator(Random rand) {
//		return new GeneratorFlat(this.getHeight(), this.getFiller());
//	}
//	
//	public final BlockReplacer createBlockReplacer(Random rand) {
//		return null;
//	}
//	
//	public float getGravity() {
//		return 4.0f;
//	}
//
//	public final long getOrbitalPeriod() {
//		return 1L;
//	}
//	
//	public final long getRotationalPeriod() {
//		return 1L;
//	}
//	
//	public final float getOrbitOffset() {
//		return 0.0f;
//	}
//	
//	
//	public Biome getBiome() {
//		return Biome.star;
//	}
//	
//	public final IBlockState getCaveFiller() {
//		return Blocks.air.getDefaultState();
//	}
//
//	public final IBlockState getTop() {
//		return Blocks.air.getDefaultState();
//	}
//
//	public final IBlockState getSurface() {
//		return Blocks.air.getDefaultState();
//	}
//
//	public final IBlockState getAltFiller() {
//		return Blocks.air.getDefaultState();
//	}
//
//	public final IBlockState getLavaFiller() {
//		return null;
//	}
//
//	public final IBlockState getWorldFloor() {
//		return null;
//	}
//
//	public final boolean hasRavines() {
//		return false;
//	}
//
//	public final boolean hasSnow() {
//		return false;
//	}
//
//	public final boolean hasCaves() {
//		return false;
//	}
//
//	public final float getLavaChance() {
//		return 0.0f;
//	}
//
//	public final float getWaterChance() {
//		return 0.0f;
//	}
//
//	public final boolean hasDungeons() {
//		return false;
//	}
//
//	public final IBlockState getSurfaceLiquid() {
//		return Blocks.air.getDefaultState();
//	}
//	
//
//	public int getBrightness() {
//		return 15;
//	}
//
//	public float getStarBrightness() {
//		return 0.75f;
//	}
//
//	public float getDeepStarBrightness() {
//		return 0.75f;
//	}
}
