Package micdoodle8.mods.galacticraft.core.dimension

Source Code of micdoodle8.mods.galacticraft.core.dimension.WorldProviderMoon

package micdoodle8.mods.galacticraft.core.dimension;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import micdoodle8.mods.galacticraft.api.galaxies.CelestialBody;
import micdoodle8.mods.galacticraft.api.prefab.world.gen.WorldProviderSpace;
import micdoodle8.mods.galacticraft.api.vector.Vector3;
import micdoodle8.mods.galacticraft.api.world.IGalacticraftWorldProvider;
import micdoodle8.mods.galacticraft.api.world.ISolarLevel;
import micdoodle8.mods.galacticraft.core.GalacticraftCore;
import micdoodle8.mods.galacticraft.core.util.ConfigManagerCore;
import micdoodle8.mods.galacticraft.core.world.gen.ChunkProviderMoon;
import micdoodle8.mods.galacticraft.core.world.gen.WorldChunkManagerMoon;
import net.minecraft.util.MathHelper;
import net.minecraft.world.biome.WorldChunkManager;
import net.minecraft.world.chunk.IChunkProvider;

public class WorldProviderMoon extends WorldProviderSpace implements IGalacticraftWorldProvider, ISolarLevel
{
    @Override
    public Vector3 getFogColor()
    {
        return new Vector3(0, 0, 0);
    }

    @Override
    public Vector3 getSkyColor()
    {
        return new Vector3(0, 0, 0);
    }

    @Override
    public boolean canRainOrSnow()
    {
        return false;
    }

    @Override
    public boolean hasSunset()
    {
        return false;
    }

    @Override
    public long getDayLength()
    {
        return 192000L;
    }

    @Override
    public boolean shouldForceRespawn()
    {
        return !ConfigManagerCore.forceOverworldRespawn;
    }

    @Override
    public Class<? extends IChunkProvider> getChunkProviderClass()
    {
        return ChunkProviderMoon.class;
    }

    @Override
    public Class<? extends WorldChunkManager> getWorldChunkManagerClass()
    {
        return WorldChunkManagerMoon.class;
    }

//    @Override
//  public void setDimension(int var1)
//  {
//    this.dimensionId = var1;
//    super.setDimension(var1);
//  }

//  @Override
//  protected void generateLightBrightnessTable()
//  {
//    final float var1 = 0.0F;
//
//    for (int var2 = 0; var2 <= 15; ++var2)
//    {
//      final float var3 = 1.0F - var2 / 15.0F;
//      this.lightBrightnessTable[var2] = (1.0F - var3) / (var3 * 3.0F + 1.0F) * (1.0F - var1) + var1;
//    }
//  }

//  @Override
//  public float[] calcSunriseSunsetColors(float var1, float var2)
//  {
//    return null;
//  }

//  @Override
//  public void registerWorldChunkManager()
//  {
//    this.worldChunkMgr = new WorldChunkManagerMoon();
//  }

//  @SideOnly(Side.CLIENT)
//  @Override
//  public Vec3 getFogColor(float var1, float var2)
//  {
//    return Vec3.createVectorHelper((double) 0F / 255F, (double) 0F / 255F, (double) 0F / 255F);
//  }

//  @Override
//  public Vec3 getSkyColor(Entity cameraEntity, float partialTicks)
//  {
//    return Vec3.createVectorHelper(0, 0, 0);
//  }

//  @Override
//  public float calculateCelestialAngle(long par1, float par3)
//  {
//    final int var4 = (int) (par1 % 192000L);
//    float var5 = (var4 + par3) / 192000.0F - 0.25F;
//
//    if (var5 < 0.0F)
//    {
//      ++var5;
//    }
//
//    if (var5 > 1.0F)
//    {
//      --var5;
//    }
//
//    final float var6 = var5;
//    var5 = 1.0F - (float) ((Math.cos(var5 * Math.PI) + 1.0D) / 2.0D);
//    var5 = var6 + (var5 - var6) / 3.0F;
//    return var5;
//  }

    @Override
    @SideOnly(Side.CLIENT)
    public float getStarBrightness(float par1)
    {
        final float var2 = this.worldObj.getCelestialAngle(par1);
        float var3 = 1.0F - (MathHelper.cos(var2 * (float) Math.PI * 2.0F) * 2.0F + 0.25F);

        if (var3 < 0.0F)
        {
            var3 = 0.0F;
        }

        if (var3 > 1.0F)
        {
            var3 = 1.0F;
        }

        return var3 * var3 * 0.5F + 0.3F;
    }

//  @Override
//  public IChunkProvider createChunkGenerator()
//  {
//    return new ChunkProviderMoon(this.worldObj, this.worldObj.getSeed(), this.worldObj.getWorldInfo().isMapFeaturesEnabled());
//  }

//  @Override
//  public void updateWeather()
//  {
//    this.worldObj.getWorldInfo().setRainTime(0);
//    this.worldObj.getWorldInfo().setRaining(false);
//    this.worldObj.getWorldInfo().setThunderTime(0);
//    this.worldObj.getWorldInfo().setThundering(false);
//    this.worldObj.rainingStrength = 0.0F;
//    this.worldObj.thunderingStrength = 0.0F;
//  }

    @Override
    public boolean isSkyColored()
    {
        return false;
    }

    @Override
    public double getHorizon()
    {
        return 44.0D;
    }

    @Override
    public int getAverageGroundLevel()
    {
        return 44;
    }

//  @Override
//  public boolean isSurfaceWorld()
//  {
//    return true;
//  }

    @Override
    public boolean canCoordinateBeSpawn(int var1, int var2)
    {
        return true;
    }

//  @Override
//  public boolean canRespawnHere()
//  {
//      return !ConfigManagerCore.forceOverworldRespawn;
//  }

//  @Override
//  public String getSaveFolder()
//  {
//    return "DIM" + ConfigManagerCore.idDimensionMoon;
//  }
//
//  @Override
//  public String getWelcomeMessage()
//  {
//    return "Entering The Moon";
//  }
//
//  @Override
//  public String getDepartMessage()
//  {
//    return "Leaving The Moon";
//  }

//  @Override
//  public String getDimensionName()
//  {
//    return "Moon";
//  }

    //  @Override
    //  public boolean canSnowAt(int x, int y, int z)
    //  {
    //    return false;
    //  }

//  @Override
//  public boolean canBlockFreeze(int x, int y, int z, boolean byWater)
//  {
//    return false;
//  }
//
//  @Override
//  public boolean canDoLightning(Chunk chunk)
//  {
//    return false;
//  }
//
//  @Override
//  public boolean canDoRainSnowIce(Chunk chunk)
//  {
//    return false;
//  }

    @Override
    public float getGravity()
    {
        return 0.062F;
    }

    @Override
    public int getHeight()
    {
        return 600;
    }

    @Override
    public double getMeteorFrequency()
    {
        return 7.0D;
    }

    @Override
    public double getFuelUsageMultiplier()
    {
        return 0.7D;
    }

    @Override
    public double getSolarEnergyMultiplier()
    {
        return 1.4D;
    }

    @Override
    public boolean canSpaceshipTierPass(int tier)
    {
        return tier > 0;
    }

    @Override
    public float getFallDamageModifier()
    {
        return 0.18F;
    }

    @Override
    public float getSoundVolReductionAmount()
    {
        return 20.0F;
    }

    @Override
    public CelestialBody getCelestialBody()
    {
        return GalacticraftCore.moonMoon;
    }

    @Override
    public boolean hasBreathableAtmosphere()
    {
        return false;
    }

    @Override
    public float getThermalLevelModifier()
    {
        return 0;
    }

    @Override
    public float getWindLevel()
    {
        return 0;
    }
}
TOP

Related Classes of micdoodle8.mods.galacticraft.core.dimension.WorldProviderMoon

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.