package net.minecraft.world;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraft.world.biome.WorldChunkManagerHell;
import net.minecraft.world.border.WorldBorder;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraft.world.gen.ChunkProviderHell;
public class WorldProviderHell extends WorldProvider
{
private static final String __OBFID = "CL_00000387";
/**
* creates a new world chunk manager for WorldProvider
*/
public void registerWorldChunkManager()
{
this.worldChunkMgr = new WorldChunkManagerHell(BiomeGenBase.hell, 0.0F);
this.isHellWorld = true;
this.hasNoSky = true;
this.dimensionId = -1;
}
/**
* Creates the light to brightness table
*/
protected void generateLightBrightnessTable()
{
float var1 = 0.1F;
for (int var2 = 0; var2 <= 15; ++var2)
{
float var3 = 1.0F - (float)var2 / 15.0F;
this.lightBrightnessTable[var2] = (1.0F - var3) / (var3 * 3.0F + 1.0F) * (1.0F - var1) + var1;
}
}
/**
* Returns a new chunk provider which generates chunks for this world
*/
public IChunkProvider createChunkGenerator()
{
return new ChunkProviderHell(this.worldObj, this.worldObj.getWorldInfo().isMapFeaturesEnabled(), this.worldObj.getSeed());
}
/**
* Returns 'true' if in the "main surface world", but 'false' if in the Nether or End dimensions.
*/
public boolean isSurfaceWorld()
{
return false;
}
/**
* Will check if the x, z position specified is alright to be set as the map spawn point
*/
public boolean canCoordinateBeSpawn(int x, int z)
{
return false;
}
/**
* Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime)
*/
public float calculateCelestialAngle(long p_76563_1_, float p_76563_3_)
{
return 0.5F;
}
/**
* True if the player can respawn in this dimension (true = overworld, false = nether).
*/
public boolean canRespawnHere()
{
return false;
}
/**
* Returns the dimension's name, e.g. "The End", "Nether", or "Overworld".
*/
public String getDimensionName()
{
return "Nether";
}
public String getInternalNameSuffix()
{
return "_nether";
}
public WorldBorder getWorldBorder()
{
return new WorldBorder()
{
private static final String __OBFID = "CL_00002008";
public double getCenterX()
{
return super.getCenterX() / 8.0D;
}
public double getCenterZ()
{
return super.getCenterZ() / 8.0D;
}
};
}
}