Guest User

Untitled

a guest
Nov 29th, 2015
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.46 KB | None | 0 0
  1. package com.halestormxv.worldALT;
  2.  
  3. import net.minecraft.entity.Entity;
  4. import net.minecraft.util.ChunkCoordinates;
  5. import net.minecraft.util.MathHelper;
  6. import net.minecraft.util.Vec3;
  7. import net.minecraft.world.World;
  8. import net.minecraft.world.WorldProvider;
  9. import net.minecraft.world.chunk.IChunkProvider;
  10. import net.minecraftforge.client.IRenderHandler;
  11. import net.minecraftforge.common.DimensionManager;
  12.  
  13. import com.halestormxv.lib.RefStrings;
  14. import com.halestormxv.world.renderers.CloudRenderer;
  15. import com.halestormxv.world.renderers.SkyRenderer;
  16. import com.halestormxv.world.renderers.WeatherRenderer;
  17.  
  18. import cpw.mods.fml.relauncher.Side;
  19. import cpw.mods.fml.relauncher.SideOnly;
  20.  
  21. public class WorldProviderForest extends WorldProvider{
  22.  
  23. public WorldProviderForest()
  24. {
  25. setDimension(DimensionIDs.LIGHTFORESTDIMENSION);
  26. this.getSaveFolder();
  27. }
  28.  
  29. @Override
  30. /** tells Minecraft to use our new Terrain Generator */
  31. public IChunkProvider createChunkGenerator() {
  32. return new ChunkProviderForest(this.worldObj, this.worldObj.getSeed(), true);
  33. }
  34.  
  35. @Override
  36. /** tells Minecraft to use our new WorldChunkManager **/
  37. public void registerWorldChunkManager() {
  38. this.worldChunkMgr = new WorldChunkManagerForest(worldObj.getSeed(), terrainType);
  39. this.dimensionId = DimensionIDs.LIGHTFORESTDIMENSION;
  40. }
  41.  
  42. /** Get Provider for Dimension **/
  43. public static WorldProvider getProviderForDimension(int id)
  44. {
  45. return DimensionManager.createProviderFor(DimensionIDs.LIGHTFORESTDIMENSION);
  46. }
  47.  
  48. @Override
  49. /**
  50. * @return the name of the dimension
  51. */
  52. public String getDimensionName() {
  53. return "Celestial Dimension";
  54. }
  55.  
  56. @Override
  57. /** sets/creates the save folder */
  58. public String getSaveFolder() {
  59. return "DIM" + DimensionIDs.LIGHTFORESTDIMENSION;
  60. }
  61.  
  62. public String getSunTexture()
  63. {
  64. return "/celestial_sun.png";
  65. }
  66.  
  67. @SideOnly(Side.CLIENT)
  68. /** should stars be rendered? */
  69. public boolean renderStars() {
  70. return true;
  71. }
  72.  
  73. @SideOnly(Side.CLIENT)
  74. /** @return the player speed */
  75. public double getMovementFactor() {
  76. return 0.1;
  77. }
  78.  
  79. @SideOnly(Side.CLIENT)
  80. /** @return the light value of the stars*/
  81. public float getStarBrightness(World world, float f) {
  82. return 1.0F;
  83. }
  84.  
  85. @SideOnly(Side.CLIENT)
  86. /** should clouds be rendered? */
  87. public boolean renderClouds() {
  88. return false;
  89. }
  90.  
  91. @SideOnly(Side.CLIENT)
  92. public boolean renderVoidFog() {
  93. return false;
  94. }
  95.  
  96. @SideOnly(Side.CLIENT)
  97. /** should the end sky be rendered or the overworld sky? */
  98. public boolean renderEndSky() {
  99. return true;
  100. }
  101.  
  102. @SideOnly(Side.CLIENT)
  103. /** @return the size of the sun */
  104. public float setSunSize() {
  105. return 32.0F;
  106. }
  107.  
  108.  
  109. @SideOnly(Side.CLIENT)
  110. /** @return the size of the moon */
  111. public float setMoonSize() {
  112. return 32.0F;
  113. }
  114.  
  115. @Override
  116. public float calculateCelestialAngle(long par1, float par3)
  117. {
  118. return 0.75F;
  119. }
  120.  
  121. @Override
  122. @SideOnly(Side.CLIENT)
  123. /**
  124. * @return the sky color
  125. */
  126. public Vec3 getSkyColor(Entity cameraEntity, float partialTicks) {
  127. return worldObj.getSkyColorBody(cameraEntity, partialTicks);
  128. }
  129.  
  130. @SideOnly(Side.CLIENT)
  131. /** should a color for the sky be rendered? */
  132. public boolean isSkyColored()
  133. {
  134. return true;
  135. }
  136.  
  137. @Override
  138. /** can the player respawn in this dimension? */
  139. public boolean canRespawnHere()
  140. {
  141. return true;
  142. }
  143.  
  144. @Override
  145. /** is this a surface world or an underworld */
  146. public boolean isSurfaceWorld()
  147. {
  148. return true;
  149. }
  150.  
  151. @Override
  152. @SideOnly(Side.CLIENT)
  153. /** @return the high of the clouds */
  154. public float getCloudHeight()
  155. {
  156. return this.terrainType.getCloudHeight();
  157. }
  158.  
  159. @Override
  160. public ChunkCoordinates getEntrancePortalLocation()
  161. {
  162. return new ChunkCoordinates(50, 5, 0);
  163. }
  164.  
  165. @Override
  166. /** the light value in this dimension */
  167. protected void generateLightBrightnessTable()
  168. {
  169. float f = 0.0F;
  170.  
  171. for (int i = 0; i <= 15; ++i)
  172. {
  173. float f1 = 1.0F - (float)i / 15.0F;
  174. this.lightBrightnessTable[i] = (1.0F - f1) / (f1 * 3.0F + 1.0F) * (1.0F - f) + f;
  175. }
  176. }
  177.  
  178. @Override
  179. @SideOnly(Side.CLIENT)
  180. /** @return the dimension join message */
  181. public String getWelcomeMessage()
  182. {
  183. return "Entering the Celestial Dimension";
  184. }
  185.  
  186. @Override
  187. @SideOnly(Side.CLIENT)
  188. /** @return the dimension leave message */
  189. public String getDepartMessage()
  190. {
  191. return "Leaving the Celestial Dimension";
  192. }
  193.  
  194. @Override
  195. public IRenderHandler getSkyRenderer() {
  196. return new SkyRenderer();
  197. }
  198.  
  199. @Override
  200. public IRenderHandler getCloudRenderer() {
  201. return new CloudRenderer();
  202. }
  203.  
  204. /*@Override
  205. public IRenderHandler getWeatherRenderer() {
  206. return new WeatherRenderer();
  207. }*/
  208.  
  209. @Override
  210. public Vec3 drawClouds(float partialTicks) {
  211. // TODO Auto-generated method stub
  212. return super.drawClouds(partialTicks);
  213. }
  214.  
  215. @Override
  216. @SideOnly(Side.CLIENT)
  217. public Vec3 getFogColor(float par1, float par2)
  218. {
  219. float f2 = MathHelper.cos(par1 * (float)Math.PI * 2.0F) * 2.0F + 0.5F;
  220.  
  221. if (f2 < 0.0F)
  222. {
  223. f2 = 0.0F;
  224. }
  225.  
  226. if (f2 > 1.0F)
  227. {
  228. f2 = 1.0F;
  229. }
  230.  
  231. float f3 = 0.7529412F;
  232. float f4 = 0.84705883F;
  233. float f5 = 1.0F;
  234. f3 *= f2 * 0.94F + 0.06F;
  235. f4 *= f2 * 0.94F + 0.06F;
  236. f5 *= f2 * 0.91F + 0.09F;
  237. return Vec3.createVectorHelper((double)f3, (double)f4, (double)f5);
  238. }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment