/*******************************************************************************
* AbyssalCraft
* Copyright (c) 2012 - 2017 Shinoow.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the GNU Lesser Public License v3
* which accompanies this distribution, and is available at
* http://www.gnu.org/licenses/lgpl-3.0.txt
*
* Contributors:
* Shinoow - implementation
******************************************************************************/
package com.shinoow.abyssalcraft.common.world;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.DimensionType;
import net.minecraft.world.WorldProvider;
import net.minecraft.world.chunk.IChunkGenerator;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import com.shinoow.abyssalcraft.client.render.sky.ACSkyRenderer;
import com.shinoow.abyssalcraft.lib.ACLib;
public class WorldProviderDreadlands extends WorldProvider {
@Override
public void init() {
biomeProvider = new BiomeProviderDreadlands(world.getSeed(), world.getWorldInfo().getTerrainType());
hasNoSky = true;
setDimension(ACLib.dreadlands_id);
}
@Override
@SideOnly(Side.CLIENT)
public Vec3d getFogColor(float par1, float par2) {
return new Vec3d(0.20000000298023224D, 0.029999999329447746D, 0.029999999329447746D);
}
@Override
protected void generateLightBrightnessTable() {
float f = 0.35F;
for (int i = 0; i <= 15; ++i) {
float f1 = 1.0F - i / 15.0F;
lightBrightnessTable[i] = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
}
}
@Override
public IChunkGenerator createChunkGenerator() {
return new ChunkProviderDreadlands(world, world.getSeed(), true);
}
@Override
public boolean isSurfaceWorld() {
return false;
}
@Override
public boolean canCoordinateBeSpawn(int par1, int par2) {
return false;
}
@Override
public float calculateCelestialAngle(long par1, float par3) {
return 0.0F;
}
@Override
public boolean canRespawnHere() {
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean doesXZShowFog(int par1, int par2) {
return true;
}
@Override
public String getSaveFolder() {
return "The_Dreadlands";
}
@Override
public int getAverageGroundLevel() {
return 50;
}
@SideOnly(Side.CLIENT)
@Override
public net.minecraftforge.client.IRenderHandler getSkyRenderer()
{
return new ACSkyRenderer(new ResourceLocation("abyssalcraft:textures/environment/dreadlands_sky.png"), 100, 14, 14);
}
@Override
public DimensionType getDimensionType() {
return ACLib.THE_DREADLANDS;
}
}