finished update, starting testing builds

This commit is contained in:
StevenRS11
2013-06-10 17:03:52 -04:00
parent b81b8ea05e
commit bd1c1d0118
52 changed files with 786 additions and 725 deletions

View File

@@ -0,0 +1,262 @@
package StevenDimDoors.mod_pocketDim.world;
import java.util.Random;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
import net.minecraft.world.gen.MapGenBase;
public class CustomCaveGen extends MapGenBase
{
/**
* Generates a larger initial cave node than usual. Called 25% of the time.
*/
protected void generateLargeCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10)
{
this.generateCaveNode(par1, par3, par4, par5ArrayOfByte, par6, par8, par10, 1.0F + this.rand.nextFloat() * 6.0F, 0.0F, 0.0F, -1, -1, 0.5D);
}
/**
* Generates a node in the current cave system recursion tree.
*/
protected void generateCaveNode(long par1, int par3, int par4, byte[] par5ArrayOfByte, double par6, double par8, double par10, float par12, float par13, float par14, int par15, int par16, double par17)
{
double var19 = (double)(par3 * 16 + 8);
double var21 = (double)(par4 * 16 + 8);
float var23 = 0.0F;
float var24 = 0.0F;
Random var25 = new Random(par1);
if (par16 <= 0)
{
int var26 = this.range * 16 - 16;
par16 = var26 - var25.nextInt(var26 / 4);
}
boolean var54 = false;
if (par15 == -1)
{
par15 = par16 / 2;
var54 = true;
}
int var27 = var25.nextInt(par16 / 2) + par16 / 4;
for (boolean var28 = var25.nextInt(6) == 0; par15 < par16; ++par15)
{
double var29 = 1.5D + (double)(MathHelper.sin((float)par15 * (float)Math.PI / (float)par16) * par12 * 1.0F);
double var31 = var29 * par17;
float var33 = MathHelper.cos(par14);
float var34 = MathHelper.sin(par14);
par6 += (double)(MathHelper.cos(par13) * var33);
par8 += (double)var34;
par10 += (double)(MathHelper.sin(par13) * var33);
if (var28)
{
par14 *= 0.92F;
}
else
{
par14 *= 0.7F;
}
par14 += var24 * 0.1F;
par13 += var23 * 0.1F;
var24 *= 0.9F;
var23 *= 0.75F;
var24 += (var25.nextFloat() - var25.nextFloat()) * var25.nextFloat() * 2.0F;
var23 += (var25.nextFloat() - var25.nextFloat()) * var25.nextFloat() * 4.0F;
if (!var54 && par15 == var27 && par12 > 1.0F && par16 > 0)
{
this.generateCaveNode(var25.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 - ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D);
this.generateCaveNode(var25.nextLong(), par3, par4, par5ArrayOfByte, par6, par8, par10, var25.nextFloat() * 0.5F + 0.5F, par13 + ((float)Math.PI / 2F), par14 / 3.0F, par15, par16, 1.0D);
return;
}
if (var54 || var25.nextInt(4) != 0)
{
double var35 = par6 - var19;
double var37 = par10 - var21;
double var39 = (double)(par16 - par15);
double var41 = (double)(par12 + 2.0F + 16.0F);
if (var35 * var35 + var37 * var37 - var39 * var39 > var41 * var41)
{
return;
}
if (par6 >= var19 - 16.0D - var29 * 2.0D && par10 >= var21 - 16.0D - var29 * 2.0D && par6 <= var19 + 16.0D + var29 * 2.0D && par10 <= var21 + 16.0D + var29 * 2.0D)
{
int var55 = MathHelper.floor_double(par6 - var29) - par3 * 16 - 1;
int var36 = MathHelper.floor_double(par6 + var29) - par3 * 16 + 1;
int var57 = MathHelper.floor_double(par8 - var31) - 1;
int var38 = MathHelper.floor_double(par8 + var31) + 1;
int var56 = MathHelper.floor_double(par10 - var29) - par4 * 16 - 1;
int var40 = MathHelper.floor_double(par10 + var29) - par4 * 16 + 1;
if (var55 < 0)
{
var55 = 0;
}
if (var36 > 16)
{
var36 = 16;
}
if (var57 < 1)
{
var57 = 1;
}
if (var38 > 120)
{
var38 = 120;
}
if (var56 < 0)
{
var56 = 0;
}
if (var40 > 16)
{
var40 = 16;
}
boolean var58 = false;
int var42;
int var45;
for (var42 = var55; !var58 && var42 < var36; ++var42)
{
for (int var43 = var56; !var58 && var43 < var40; ++var43)
{
for (int var44 = var38 + 1; !var58 && var44 >= var57 - 1; --var44)
{
var45 = (var42 * 16 + var43) * 128 + var44;
if (var44 >= 0 && var44 < 128)
{
if (par5ArrayOfByte[var45] == Block.waterMoving.blockID || par5ArrayOfByte[var45] == Block.waterStill.blockID)
{
var58 = true;
}
if (var44 != var57 - 1 && var42 != var55 && var42 != var36 - 1 && var43 != var56 && var43 != var40 - 1)
{
var44 = var57;
}
}
}
}
}
if (!var58)
{
for (var42 = var55; var42 < var36; ++var42)
{
double var59 = ((double)(var42 + par3 * 16) + 0.5D - par6) / var29;
for (var45 = var56; var45 < var40; ++var45)
{
double var46 = ((double)(var45 + par4 * 16) + 0.5D - par10) / var29;
int var48 = (var42 * 16 + var45) * 128 + var38;
boolean var49 = false;
if (var59 * var59 + var46 * var46 < 1.0D)
{
for (int var50 = var38 - 1; var50 >= var57; --var50)
{
double var51 = ((double)var50 + 0.5D - par8) / var31;
if (var51 > -0.7D && var59 * var59 + var51 * var51 + var46 * var46 < 1.0D)
{
byte var53 = par5ArrayOfByte[var48];
if (var53 == Block.grass.blockID)
{
var49 = true;
}
if (var53 == mod_pocketDim.blockLimboID|| var53 == Block.dirt.blockID || var53 == Block.grass.blockID)
{
if (var50 < 10)
{
par5ArrayOfByte[var48] = (byte)Block.lavaMoving.blockID;
}
else
{
par5ArrayOfByte[var48] = 0;
if (var49 && par5ArrayOfByte[var48 - 1] == Block.dirt.blockID)
{
par5ArrayOfByte[var48 - 1] = this.worldObj.getBiomeGenForCoords(var42 + par3 * 16, var45 + par4 * 16).topBlock;
}
}
}
}
--var48;
}
}
}
}
if (var54)
{
break;
}
}
}
}
}
}
/**
* Recursively called by generate() (generate) and optionally by itself.
*/
protected void recursiveGenerate(World par1World, int par2, int par3, int par4, int par5, byte[] par6ArrayOfByte)
{
int var7 = this.rand.nextInt(this.rand.nextInt(this.rand.nextInt(40) + 1) + 1);
if (this.rand.nextInt(15) != 0)
{
var7 = 0;
}
for (int var8 = 0; var8 < var7; ++var8)
{
double var9 = (double)(par2 * 16 + this.rand.nextInt(16));
double var11 = (double)this.rand.nextInt(this.rand.nextInt(120) + 8);
double var13 = (double)(par3 * 16 + this.rand.nextInt(16));
int var15 = 1;
if (this.rand.nextInt(4) == 0)
{
this.generateLargeCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, var9, var11, var13);
var15 += this.rand.nextInt(4);
}
for (int var16 = 0; var16 < var15; ++var16)
{
float var17 = this.rand.nextFloat() * (float)Math.PI * 2.0F;
float var18 = (this.rand.nextFloat() - 0.5F) * 2.0F / 8.0F;
float var19 = this.rand.nextFloat() * 2.0F + this.rand.nextFloat();
if (this.rand.nextInt(10) == 0)
{
var19 *= this.rand.nextFloat() * this.rand.nextFloat() * 3.0F + 1.0F;
}
this.generateCaveNode(this.rand.nextLong(), par4, par5, par6ArrayOfByte, var9, var11, var13, var19, var17, var18, 0, 0, 1.0D);
}
}
}
}

View File

@@ -3,7 +3,6 @@ package StevenDimDoors.mod_pocketDim.world;
import java.util.List;
import java.util.Random;
import StevenDimDoors.mod_pocketDim.CustomCaveGen;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.block.Block;

View File

@@ -1,7 +1,6 @@
package StevenDimDoors.mod_pocketDim.world;
import StevenDimDoors.mod_pocketDim.CloudRenderBlank;
import StevenDimDoors.mod_pocketDim.limboSkyProvider;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;

View File

@@ -0,0 +1,221 @@
package StevenDimDoors.mod_pocketDim.world;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.WorldClient;
import net.minecraft.client.renderer.GLAllocation;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.util.MathHelper;
import net.minecraft.util.Vec3;
import net.minecraftforge.client.IRenderHandler;
public class limboSkyProvider extends IRenderHandler
{
int starGLCallList;
int glSkyList;
int glSkyList2;
@Override
public void render(float par1, WorldClient world, Minecraft mc)
{
starGLCallList = GLAllocation.generateDisplayLists(3);
glSkyList = this.starGLCallList + 1;
glSkyList2 = this.starGLCallList + 2;
GL11.glDisable(GL11.GL_FOG);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
RenderHelper.disableStandardItemLighting();
GL11.glDepthMask(false);
mc.renderEngine.bindTexture("/misc/tunnel.png");
Tessellator tessellator = Tessellator.instance;
if (mc.theWorld.provider.isSurfaceWorld())
{
GL11.glDisable(GL11.GL_TEXTURE_2D);
Vec3 vec3 = world.getSkyColor(mc.renderViewEntity, par1);
float f1 = (float)vec3.xCoord;
float f2 = (float)vec3.yCoord;
float f3 = (float)vec3.zCoord;
float f4;
if (mc.gameSettings.anaglyph)
{
float f5 = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F;
float f6 = (f1 * 30.0F + f2 * 70.0F) / 100.0F;
f4 = (f1 * 30.0F + f3 * 70.0F) / 100.0F;
f1 = f5;
f2 = f6;
f3 = f4;
}
GL11.glColor3f(f1, f2, f3);
Tessellator tessellator1 = Tessellator.instance;
GL11.glDepthMask(false);
GL11.glEnable(GL11.GL_FOG);
GL11.glColor3f(f1, f2, f3);
GL11.glCallList(this.glSkyList);
GL11.glDisable(GL11.GL_FOG);
GL11.glDisable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
RenderHelper.disableStandardItemLighting();
float[] afloat = world.provider.calcSunriseSunsetColors(world.getCelestialAngle(par1), par1);
float f7;
float f8;
float f9;
float f10;
if (afloat != null)
{
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glShadeModel(GL11.GL_SMOOTH);
GL11.glPushMatrix();
GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glRotatef(MathHelper.sin(world.getCelestialAngleRadians(par1)) < 0.0F ? 180.0F : 0.0F, 0.0F, 0.0F, 1.0F);
GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F);
f4 = afloat[0];
f7 = afloat[1];
f8 = afloat[2];
float f11;
if (mc.gameSettings.anaglyph)
{
f9 = (f4 * 30.0F + f7 * 59.0F + f8 * 11.0F) / 100.0F;
f10 = (f4 * 30.0F + f7 * 70.0F) / 100.0F;
f11 = (f4 * 30.0F + f8 * 70.0F) / 100.0F;
f4 = f9;
f7 = f10;
f8 = f11;
}
tessellator1.startDrawing(6);
tessellator1.setColorRGBA_F(f4, f7, f8, afloat[3]);
tessellator1.addVertex(0.0D, 100.0D, 0.0D);
byte b0 = 16;
tessellator1.setColorRGBA_F(afloat[0], afloat[1], afloat[2], 0.0F);
for (int j = 0; j <= b0; ++j)
{
f11 = (float)j * (float)Math.PI * 2.0F / (float)b0;
float f12 = MathHelper.sin(f11);
float f13 = MathHelper.cos(f11);
tessellator1.addVertex((double)(f12 * 120.0F), (double)(f13 * 120.0F), (double)(-f13 * 40.0F * afloat[3]));
}
tessellator1.draw();
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
}
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE);
GL11.glPushMatrix();
f4 = 1.0F - world.getRainStrength(par1);
f7 = 0.0F;
f8 = 0.0F;
f9 = 0.0F;
GL11.glColor4f(1.0F, 1.0F, 1.0F, f4);
GL11.glTranslatef(f7, f8, f9);
GL11.glRotatef(-90.0F, 0.0F, 1.0F, 0.0F);
GL11.glRotatef(world.getCelestialAngle(par1) * 360.0F, 1.0F, 0.0F, 0.0F);
f10 = 30.0F;
mc.renderEngine.bindTexture("/mods/DimDoors/textures/other/limboSun.png");
tessellator1.startDrawingQuads();
tessellator1.addVertexWithUV((double)(-f10), 100.0D, (double)(-f10), 0.0D, 0.0D);
tessellator1.addVertexWithUV((double)f10, 100.0D, (double)(-f10), 1.0D, 0.0D);
tessellator1.addVertexWithUV((double)f10, 100.0D, (double)f10, 1.0D, 1.0D);
tessellator1.addVertexWithUV((double)(-f10), 100.0D, (double)f10, 0.0D, 1.0D);
tessellator1.draw();
f10 = 20.0F;
mc.renderEngine.bindTexture("/mods/DimDoors/textures/other/limboMoon.png");
int k = world.getMoonPhase();
int l = k % 4;
int i1 = k / 4 % 2;
float f14 = (float)(l + 0) ;
float f15 = (float)(i1 + 0);
float f16 = (float)(l + 1) ;
float f17 = (float)(i1 + 1);
tessellator1.startDrawingQuads();
tessellator1.addVertexWithUV((double)(-f10), -100.0D, (double)f10, (double)f16, (double)f17);
tessellator1.addVertexWithUV((double)f10, -100.0D, (double)f10, (double)f14, (double)f17);
tessellator1.addVertexWithUV((double)f10, -100.0D, (double)(-f10), (double)f14, (double)f15);
tessellator1.addVertexWithUV((double)(-f10), -100.0D, (double)(-f10), (double)f16, (double)f15);
tessellator1.draw();
GL11.glDisable(GL11.GL_TEXTURE_2D);
float f18 = world.getStarBrightness(par1) * f4;
if (f18 > 0.0F)
{
GL11.glColor4f(f18, f18, f18, f18);
GL11.glCallList(this.starGLCallList);
}
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
GL11.glDisable(GL11.GL_BLEND);
GL11.glEnable(GL11.GL_ALPHA_TEST);
GL11.glEnable(GL11.GL_FOG);
GL11.glPopMatrix();
GL11.glDisable(GL11.GL_TEXTURE_2D);
GL11.glColor3f(0.0F, 0.0F, 0.0F);
double d0 = mc.thePlayer.getPosition(par1).yCoord - world.getHorizon();
if (d0 < 0.0D)
{
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, 12.0F, 0.0F);
GL11.glCallList(this.glSkyList2);
GL11.glPopMatrix();
f8 = 1.0F;
f9 = -((float)(d0 + 65.0D));
f10 = -f8;
tessellator1.startDrawingQuads();
tessellator1.setColorRGBA_I(0, 255);
tessellator1.addVertex((double)(-f8), (double)f9, (double)f8);
tessellator1.addVertex((double)f8, (double)f9, (double)f8);
tessellator1.addVertex((double)f8, (double)f10, (double)f8);
tessellator1.addVertex((double)(-f8), (double)f10, (double)f8);
tessellator1.addVertex((double)(-f8), (double)f10, (double)(-f8));
tessellator1.addVertex((double)f8, (double)f10, (double)(-f8));
tessellator1.addVertex((double)f8, (double)f9, (double)(-f8));
tessellator1.addVertex((double)(-f8), (double)f9, (double)(-f8));
tessellator1.addVertex((double)f8, (double)f10, (double)(-f8));
tessellator1.addVertex((double)f8, (double)f10, (double)f8);
tessellator1.addVertex((double)f8, (double)f9, (double)f8);
tessellator1.addVertex((double)f8, (double)f9, (double)(-f8));
tessellator1.addVertex((double)(-f8), (double)f9, (double)(-f8));
tessellator1.addVertex((double)(-f8), (double)f9, (double)f8);
tessellator1.addVertex((double)(-f8), (double)f10, (double)f8);
tessellator1.addVertex((double)(-f8), (double)f10, (double)(-f8));
tessellator1.addVertex((double)(-f8), (double)f10, (double)(-f8));
tessellator1.addVertex((double)(-f8), (double)f10, (double)f8);
tessellator1.addVertex((double)f8, (double)f10, (double)f8);
tessellator1.addVertex((double)f8, (double)f10, (double)(-f8));
tessellator1.draw();
}
if (world.provider.isSkyColored())
{
GL11.glColor3f(f1 * 0.2F + 0.04F, f2 * 0.2F + 0.04F, f3 * 0.6F + 0.1F);
}
else
{
GL11.glColor3f(f1, f2, f3);
}
GL11.glPushMatrix();
GL11.glTranslatef(0.0F, -((float)(d0 - 16.0D)), 0.0F);
GL11.glCallList(this.glSkyList2);
GL11.glPopMatrix();
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glDepthMask(true);
}
}
}

View File

@@ -4,7 +4,7 @@ import java.util.ArrayList;
import java.util.List;
import StevenDimDoors.mod_pocketDim.DimData;
import StevenDimDoors.mod_pocketDim.dimHelper;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
import StevenDimDoors.mod_pocketDim.ticking.MobObelisk;
import net.minecraft.entity.EnumCreatureType;

View File

@@ -1,8 +1,8 @@
package StevenDimDoors.mod_pocketDim.world;
import StevenDimDoors.mod_pocketDim.CloudRenderBlank;
import StevenDimDoors.mod_pocketDim.dimHelper;
import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.helpers.dimHelper;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.util.Vec3;