package zmaster587.advancedRocketry.world.provider; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import zmaster587.advancedRocketry.AdvancedRocketry; import zmaster587.advancedRocketry.api.AdvancedRocketryBiomes; import zmaster587.advancedRocketry.api.stations.ISpaceObject; import zmaster587.advancedRocketry.client.render.planet.RenderPlanetarySky; import zmaster587.advancedRocketry.client.render.planet.RenderSpaceSky; import zmaster587.advancedRocketry.dimension.DimensionManager; import zmaster587.advancedRocketry.dimension.DimensionProperties; import zmaster587.advancedRocketry.stations.SpaceObject; import zmaster587.advancedRocketry.stations.SpaceObjectManager; import zmaster587.advancedRocketry.world.ChunkProviderSpace; import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.WorldChunkManager; import net.minecraft.world.biome.WorldChunkManagerHell; import net.minecraft.world.chunk.IChunkProvider; import net.minecraftforge.client.IRenderHandler; public class WorldProviderSpace extends WorldProviderPlanet { private IRenderHandler skyRender; @Override public double getHorizon() { return 0; } //TODO: figure out celestial angle from coords @Override public boolean isPlanet() { return false; } public int getAverageGroundLevel() { return 0; } @Override public IChunkProvider createChunkGenerator() { return new ChunkProviderSpace(this.worldObj, this.worldObj.getSeed()); } @Override @SideOnly(Side.CLIENT) public IRenderHandler getSkyRenderer() { return skyRender == null ? skyRender = new RenderSpaceSky() : skyRender; } @Override public float getAtmosphereDensity(int x, int z) { return 0; } @Override public float calculateCelestialAngle(long worldTime, float p_76563_3_) { return AdvancedRocketry.proxy.calculateCelestialAngleSpaceStation(); } @Override protected void registerWorldChunkManager() { worldObj.getWorldInfo().setTerrainType(AdvancedRocketry.spaceWorldType); this.worldChunkMgr = new WorldChunkManagerHell(AdvancedRocketryBiomes.spaceBiome, 0.0F); this.hasNoSky = false; } @Override public DimensionProperties getDimensionProperties(int x , int z) { ISpaceObject object = SpaceObjectManager.getSpaceManager().getSpaceStationFromBlockCoords(x, z); if(object != null) return (DimensionProperties)object.getProperties(); return DimensionManager.defaultSpaceDimensionProperties; } }