diff options
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/world/crack/WorldProviderCrack.java')
| -rw-r--r-- | src/main/java/jp/plusplus/fbs/world/crack/WorldProviderCrack.java | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/world/crack/WorldProviderCrack.java b/src/main/java/jp/plusplus/fbs/world/crack/WorldProviderCrack.java new file mode 100644 index 0000000..64eb846 --- /dev/null +++ b/src/main/java/jp/plusplus/fbs/world/crack/WorldProviderCrack.java @@ -0,0 +1,119 @@ +package jp.plusplus.fbs.world.crack;
+
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import jp.plusplus.fbs.FBS;
+import net.minecraft.util.ChunkCoordinates;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.Vec3;
+import net.minecraft.world.WorldProvider;
+import net.minecraft.world.WorldProviderEnd;
+import net.minecraft.world.WorldProviderHell;
+import net.minecraft.world.chunk.IChunkProvider;
+
+/**
+ * Created by plusplus_F on 2015/10/29.
+ */
+public class WorldProviderCrack extends WorldProvider {
+ private float[] skyColors=new float[4];
+
+ @Override
+ public String getDimensionName() {
+ return "Dimension Crack";
+ }
+
+ // 独自のワールドタイプやワールドチャンクマネージャーを設定
+ @Override
+ protected void registerWorldChunkManager() {
+ worldObj.getWorldInfo().setTerrainType(WorldTypeCrack.worldType);
+ worldChunkMgr = new WorldChunkManagerCrack(worldObj);
+ setDimension(FBS.dimensionCrackId);
+ }
+
+ @Override
+ public IChunkProvider createChunkGenerator() {
+ return new ChunkProviderCrack(worldObj, worldObj.getSeed());
+ }
+
+ //太陽の高さ
+ @Override
+ public float calculateCelestialAngle(long p_76563_1_, float p_76563_3_) {
+ int j = (int)(p_76563_1_ % 24000L);
+ float f1 = ((float)j + p_76563_3_) / 24000.0F - 0.25F;
+
+ if (f1 < 0.0F)
+ {
+ ++f1;
+ }
+
+ if (f1 > 1.0F)
+ {
+ --f1;
+ }
+
+ float f2 = f1;
+ f1 = 1.0F - (float)((Math.cos((double)f1 * Math.PI) + 1.0D) / 2.0D);
+ f1 = f2 + (f1 - f2) / 3.0F;
+ return f1;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public float[] calcSunriseSunsetColors(float p_76560_1_, float p_76560_2_) {
+ skyColors[0]=0.35f;
+ skyColors[1]=0.f;
+ skyColors[2]=0.35f;
+ skyColors[3]=1.f;
+ return skyColors;
+ }
+
+ @SideOnly(Side.CLIENT)
+ public Vec3 getFogColor(float p_76562_1_, float p_76562_2_) {
+ return Vec3.createVectorHelper(0.35, 0, 0.35);
+ }
+
+ @Override
+ public boolean canRespawnHere() {
+ return false;
+ }
+
+ @Override
+ public boolean isSurfaceWorld() {
+ return false;
+ }
+
+ @Override
+ public boolean canCoordinateBeSpawn(int p_76566_1_, int p_76566_2_) {
+ return this.worldObj.getTopBlock(p_76566_1_, p_76566_2_).getMaterial().blocksMovement();
+ }
+
+ @Override
+ public ChunkCoordinates getEntrancePortalLocation() {
+ return new ChunkCoordinates(0, 80, 0);
+ }
+
+ @Override
+ public int getAverageGroundLevel() {
+ return 50;
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public boolean doesXZShowFog(int p_76568_1_, int p_76568_2_) {
+ return true;
+ }
+
+ public boolean isDaytime()
+ {
+ return false;
+ }
+
+ @Override
+ public String getWelcomeMessage() {
+ return "Entering the Dimension Crack";
+ }
+
+ @Override
+ public String getDepartMessage() {
+ return "Leaving the Dimension Crack";
+ }
+}
|
