package net.minecraft.world; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.Vec3; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.WorldChunkManagerHell; import net.minecraft.world.chunk.IChunkProvider; import net.minecraft.world.gen.ChunkProviderHell; public class WorldProviderHell extends WorldProvider { /** * creates a new world chunk manager for WorldProvider */ public void registerWorldChunkManager() { this.worldChunkMgr = new WorldChunkManagerHell(BiomeGenBase.hell, 1.0F, 0.0F); this.isHellWorld = true; this.hasNoSky = true; this.dimensionId = -1; } @SideOnly(Side.CLIENT) /** * Return Vec3D with biome specific fog color */ public Vec3 getFogColor(float par1, float par2) { return this.worldObj.getWorldVec3Pool().getVecFromPool(0.20000000298023224D, 0.029999999329447746D, 0.029999999329447746D); } /** * 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.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 par1, int par2) { return false; } /** * Calculates the angle of sun and moon in the sky relative to a specified time (usually worldTime) */ public float calculateCelestialAngle(long par1, float par3) { return 0.5F; } /** * True if the player can respawn in this dimension (true = overworld, false = nether). */ public boolean canRespawnHere() { return false; } @SideOnly(Side.CLIENT) /** * Returns true if the given X,Z coordinate should show environmental fog. */ public boolean doesXZShowFog(int par1, int par2) { return true; } /** * Returns the dimension's name, e.g. "The End", "Nether", or "Overworld". */ public String getDimensionName() { return "Nether"; } }