sky texture, more monolith changes
This commit is contained in:
parent
6c8e8fa264
commit
53ad4fe53a
8 changed files with 251 additions and 6 deletions
|
@ -3,6 +3,7 @@ package StevenDimDoors.mod_pocketDim;
|
|||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.util.IProgressUpdate;
|
||||
import net.minecraft.util.MathHelper;
|
||||
|
@ -136,6 +137,11 @@ public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvi
|
|||
public boolean chunkExists(int var1, int var2) {
|
||||
// TODO Auto-generated method stub
|
||||
return super.chunkExists(var1, var2);
|
||||
}
|
||||
@Override
|
||||
public void replaceBlocksForBiome(int par1, int par2, byte[] par3ArrayOfByte, BiomeGenBase[] par4ArrayOfBiomeGenBase)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -162,7 +168,8 @@ public class LimboGenerator extends ChunkProviderGenerate implements IChunkProvi
|
|||
}
|
||||
|
||||
@Override
|
||||
public void populate(IChunkProvider var1, int var2, int var3) {
|
||||
public void populate(IChunkProvider var1, int var2, int var3)
|
||||
{
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.world.WorldProvider;
|
|||
import net.minecraft.world.biome.BiomeGenBase;
|
||||
import net.minecraft.world.biome.WorldChunkManagerHell;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraftforge.client.IRenderHandler;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
|
@ -21,16 +22,25 @@ public class LimboProvider extends WorldProvider
|
|||
return "Limbo";
|
||||
}
|
||||
|
||||
private IRenderHandler skyRenderer;
|
||||
|
||||
public LimboProvider()
|
||||
{
|
||||
this.hasNoSky=true;
|
||||
this.hasNoSky=false;
|
||||
|
||||
|
||||
this.skyRenderer =new limboSkyProvider();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IRenderHandler getSkyRenderer()
|
||||
{
|
||||
return this.skyRenderer;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void registerWorldChunkManager()
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package StevenDimDoors.mod_pocketDim.items;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import StevenDimDoors.mod_pocketDim.LinkData;
|
||||
import StevenDimDoors.mod_pocketDim.dimHelper;
|
||||
|
@ -132,6 +133,8 @@ public class itemDimDoor extends ItemDoor
|
|||
|
||||
public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
|
||||
{
|
||||
|
||||
|
||||
Boolean didFindThing=false;
|
||||
MovingObjectPosition hit = this.getMovingObjectPositionFromPlayer(par3EntityPlayer.worldObj, par3EntityPlayer, false );
|
||||
if(hit!=null&&!par2World.isRemote)
|
||||
|
|
221
StevenDimDoors/mod_pocketDim/limboSkyProvider.java
Normal file
221
StevenDimDoors/mod_pocketDim/limboSkyProvider.java
Normal file
|
@ -0,0 +1,221 @@
|
|||
package StevenDimDoors.mod_pocketDim;
|
||||
|
||||
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/DimensionalDoors/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("/environment/moon_phases.png");
|
||||
int k = world.getMoonPhase();
|
||||
int l = k % 4;
|
||||
int i1 = k / 4 % 2;
|
||||
float f14 = (float)(l + 0) / 4.0F;
|
||||
float f15 = (float)(i1 + 0) / 2.0F;
|
||||
float f16 = (float)(l + 1) / 4.0F;
|
||||
float f17 = (float)(i1 + 1) / 2.0F;
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -88,15 +88,19 @@ public class MobObelisk extends EntityFlying implements IMob
|
|||
{
|
||||
byte b0 = this.dataWatcher.getWatchableObjectByte(16);
|
||||
|
||||
|
||||
this.texture="/mods/DimensionalDoors/textures/mobs/Monolith"+b0+".png";
|
||||
if(!this.hasJumped&&!this.worldObj.isRemote)
|
||||
{
|
||||
|
||||
int sanity=0;
|
||||
double jumpHeight=0;
|
||||
do
|
||||
{
|
||||
jumpHeight = this.posY+rand.nextInt(25);
|
||||
if(this.worldObj.provider instanceof pocketProvider)
|
||||
{
|
||||
jumpHeight = jumpHeight- rand.nextInt(10);
|
||||
}
|
||||
sanity++;
|
||||
}
|
||||
while(!this.worldObj.isAirBlock((int)this.posX,(int)jumpHeight+6 , (int)this.posZ)&&sanity<20);
|
||||
|
|
BIN
resources/mods/DimensionalDoors/textures/mobs/Untitled-2.psd
Normal file
BIN
resources/mods/DimensionalDoors/textures/mobs/Untitled-2.psd
Normal file
Binary file not shown.
BIN
resources/mods/DimensionalDoors/textures/other/limboSun.png
Normal file
BIN
resources/mods/DimensionalDoors/textures/other/limboSun.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
BIN
resources/mods/DimensionalDoors/textures/other/limboSun2.png
Normal file
BIN
resources/mods/DimensionalDoors/textures/other/limboSun2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
Loading…
Reference in a new issue