Fixed Repo Goofyness

This commit is contained in:
StevenRS11
2014-01-21 03:14:14 -05:00
parent ed77f096c2
commit 465449abf2
4 changed files with 127 additions and 119 deletions

View File

@@ -601,8 +601,10 @@ public class DDTeleporter
} }
BaseItemDoor.placeDoorBlock(destWorld, link.destination().getX(), link.destination().getY()-1, link.destination().getZ(),link.getDestinationOrientation(), door); BaseItemDoor.placeDoorBlock(destWorld, link.destination().getX(), link.destination().getY()-1, link.destination().getZ(),link.getDestinationOrientation(), door);
TileEntity doorDestTE = ((BaseDimDoor)door).initDoorTE(destWorld, link.destination().getX(), link.destination().getY(), link.destination().getZ()); TileEntity doorDestTE = ((BaseDimDoor)door).initDoorTE(destWorld, link.destination().getX(), link.destination().getY(), link.destination().getZ());
if(doorDestTE instanceof TileEntityDimDoor) if(doorDestTE instanceof TileEntityDimDoor)
{ {
TileEntityDimDoor.class.cast(doorDestTE).hasGennedPair=true; TileEntityDimDoor.class.cast(doorDestTE).hasGennedPair=true;

View File

@@ -27,41 +27,37 @@ import StevenDimDoors.mod_pocketDim.world.PocketProvider;
public class MobMonolith extends EntityFlying implements IMob public class MobMonolith extends EntityFlying implements IMob
{ {
float soundTime = 0;
public int aggro = 0; public int aggro = 0;
byte textureState = 0; private float soundTime = 0;
float entityCollisionReduction = 100; private byte textureState = 0;
float scaleFactor = 0; private float scaleFactor = 0;
int aggroMax; private int aggroMax;
int destX = 0; // unused fields?
int destY = 0; private static DDProperties properties = null;
int destZ = 0;
@Override
protected void damageEntity(DamageSource par1DamageSource, float par2)
{
return;
}
@Override
public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
{
return false;
}
public MobMonolith(World par1World) public MobMonolith(World par1World)
{ {
super(par1World); super(par1World);
this.setSize(3F, 9.0F); this.setSize(3F, 9.0F);
this.noClip=true; this.noClip=true;
this.scaleFactor= (float) ((rand.nextDouble()/2)+1); this.scaleFactor = (float) ((rand.nextDouble()/2)+1);
this.aggroMax=rand.nextInt(245)+200; this.aggroMax = rand.nextInt(245)+200;
if (properties == null) if (properties == null)
properties = DDProperties.instance(); properties = DDProperties.instance();
} }
private static DDProperties properties = null; @Override
protected void damageEntity(DamageSource par1DamageSource, float par2)
{
return;
}
@Override
public boolean attackEntityFrom(DamageSource par1DamageSource, float par2)
{
return false;
}
@Override @Override
public boolean canDespawn() public boolean canDespawn()
@@ -101,39 +97,39 @@ public class MobMonolith extends EntityFlying implements IMob
super.entityInit(); super.entityInit();
this.dataWatcher.addObject(16, Byte.valueOf((byte)0)); this.dataWatcher.addObject(16, Byte.valueOf((byte)0));
} }
public boolean isClipping()
{
int i = MathHelper.floor_double(this.boundingBox.minX);
int j = MathHelper.floor_double(this.boundingBox.maxX + 1.0D);
int k = MathHelper.floor_double(this.boundingBox.minY);
int l = MathHelper.floor_double(this.boundingBox.maxY + 1.0D);
int i1 = MathHelper.floor_double(this.boundingBox.minZ);
int j1 = MathHelper.floor_double(this.boundingBox.maxZ + 1.0D);
for (int k1 = i; k1 < j; ++k1) public boolean isClipping()
{ {
for (int l1 = k; l1 < l; ++l1)
{ int i = MathHelper.floor_double(this.boundingBox.minX);
for (int i2 = i1; i2 < j1; ++i2) int j = MathHelper.floor_double(this.boundingBox.maxX + 1.0D);
{ int k = MathHelper.floor_double(this.boundingBox.minY);
int l = MathHelper.floor_double(this.boundingBox.maxY + 1.0D);
int i1 = MathHelper.floor_double(this.boundingBox.minZ);
int j1 = MathHelper.floor_double(this.boundingBox.maxZ + 1.0D);
for (int k1 = i; k1 < j; ++k1)
{
for (int l1 = k; l1 < l; ++l1)
{
for (int i2 = i1; i2 < j1; ++i2)
{
if(!this.worldObj.isAirBlock(k1, l1, i2)) if(!this.worldObj.isAirBlock(k1, l1, i2))
{ {
return true; return true;
} }
} }
} }
} }
return false;
} return false;
@Override }
public boolean isEntityAlive() @Override
{ public boolean isEntityAlive()
return false; {
} return false;
}
@Override @Override
public void onEntityUpdate() public void onEntityUpdate()
@@ -142,7 +138,7 @@ public class MobMonolith extends EntityFlying implements IMob
{ {
this.setDead(); this.setDead();
} }
super.onEntityUpdate(); super.onEntityUpdate();
if(this.isClipping()) if(this.isClipping())
{ {
@@ -245,13 +241,13 @@ public class MobMonolith extends EntityFlying implements IMob
public boolean attackEntityFrom(DamageSource par1DamageSource, int par2) public boolean attackEntityFrom(DamageSource par1DamageSource, int par2)
{ {
if(!(par1DamageSource == DamageSource.inWall)) if (par1DamageSource == DamageSource.inWall)
{ {
this.aggro=400; this.posY = posY + 1;
} }
else else
{ {
this.posY=posY+1; this.aggro = this.aggroMax;
} }
return false; return false;
} }
@@ -338,7 +334,7 @@ public class MobMonolith extends EntityFlying implements IMob
this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() && this.worldObj.getCollidingBoundingBoxes(this, this.boundingBox).isEmpty() &&
!this.worldObj.isAnyLiquid(this.boundingBox); !this.worldObj.isAnyLiquid(this.boundingBox);
} }
public DataWatcher getDataWatcher() public DataWatcher getDataWatcher()
{ {
return this.dataWatcher; return this.dataWatcher;

View File

@@ -11,7 +11,6 @@ import net.minecraft.block.Block;
import net.minecraft.entity.DataWatcher; import net.minecraft.entity.DataWatcher;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.monster.EntityEnderman; import net.minecraft.entity.monster.EntityEnderman;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.network.INetworkManager; import net.minecraft.network.INetworkManager;
import net.minecraft.network.packet.Packet; import net.minecraft.network.packet.Packet;
@@ -162,11 +161,6 @@ public class TileEntityRift extends TileEntity
EntityEnderman enderman = new EntityEnderman(worldObj); EntityEnderman enderman = new EntityEnderman(worldObj);
enderman.setLocationAndAngles(xCoord + 0.5, yCoord - 1, zCoord + 0.5, 5, 6); enderman.setLocationAndAngles(xCoord + 0.5, yCoord - 1, zCoord + 0.5, 5, 6);
worldObj.spawnEntityInWorld(enderman); worldObj.spawnEntityInWorld(enderman);
EntityPlayer player = this.worldObj.getClosestPlayerToEntity(enderman, 50);
if(player!=null)
{
enderman.setTarget(player);
}
} }
} }
} }

View File

@@ -5,6 +5,7 @@ import org.lwjgl.opengl.GL12;
import StevenDimDoors.mod_pocketDim.mod_pocketDim; import StevenDimDoors.mod_pocketDim.mod_pocketDim;
import StevenDimDoors.mod_pocketDim.ticking.MobMonolith; import StevenDimDoors.mod_pocketDim.ticking.MobMonolith;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.client.renderer.entity.RenderLiving;
@@ -29,81 +30,96 @@ public class RenderMobObelisk extends RenderLiving
super(new ModelMobObelisk(), f); super(new ModelMobObelisk(), f);
this.obeliskModel = (ModelMobObelisk)this.mainModel; this.obeliskModel = (ModelMobObelisk)this.mainModel;
} }
public void doRenderLiving(EntityLiving entity, double x, double y, double z, float par8, float par9) public void doRenderLiving(EntityLiving entity, double x, double y, double z, float par8, float par9)
{ {
int noiseFactor = (int) (50-Math.log(MobMonolith.class.cast(entity).aggro)); final float minScaling = 0;
this.render(entity, x+entity.worldObj.rand.nextGaussian()/noiseFactor, y+entity.worldObj.rand.nextGaussian()/noiseFactor, z+entity.worldObj.rand.nextGaussian()/noiseFactor, par8, par9); final float maxScaling = 0.1f;
final int maxAggroLevel = 500;
MobMonolith monolith = ((MobMonolith) entity);
// Use linear interpolation to scale how much jitter we want for our given aggro level
float aggroScaling = minScaling + monolith.aggro * (maxScaling - minScaling) / maxAggroLevel;
// Calculate jitter - include entity ID to give Monoliths individual jitters
float time = ((Minecraft.getSystemTime() + 0xF1234568 * monolith.entityId) % 200000) / 50.0F;
// We use random constants here on purpose just to get different wave forms
double xJitter = aggroScaling * Math.sin(1.1f * time) * Math.sin(0.8f * time);
double yJitter = aggroScaling * Math.sin(1.2f * time) * Math.sin(0.9f * time);
double zJitter = aggroScaling * Math.sin(1.3f * time) * Math.sin(0.7f * time);
// Render with jitter
this.render(entity, x + xJitter, y + yJitter, z + zJitter, par8, par9);
this.func_110827_b(entity, x, y, z, par8, par9); this.func_110827_b(entity, x, y, z, par8, par9);
} }
public void render(EntityLiving par1EntityLivingBase, double x, double y, double z, float par8, float par9) public void render(EntityLiving par1EntityLivingBase, double x, double y, double z, float par8, float par9)
{ {
if (MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Pre(par1EntityLivingBase, this))) return; if (MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Pre(par1EntityLivingBase, this))) return;
GL11.glPushMatrix(); GL11.glPushMatrix();
GL11.glDisable(GL11.GL_CULL_FACE); GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glDisable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_LIGHTING);
GL11.glEnable(GL11.GL_BLEND); GL11.glEnable(GL11.GL_BLEND);
GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); GL11.glBlendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA);
this.mainModel.onGround = this.renderSwingProgress(par1EntityLivingBase, par9); this.mainModel.onGround = this.renderSwingProgress(par1EntityLivingBase, par9);
try try
{ {
float interpolatedYaw = this.interpolateRotation(par1EntityLivingBase.prevRenderYawOffset, par1EntityLivingBase.renderYawOffset, par9); float interpolatedYaw = this.interpolateRotation(par1EntityLivingBase.prevRenderYawOffset, par1EntityLivingBase.renderYawOffset, par9);
float interpolatedYawHead = this.interpolateRotation(par1EntityLivingBase.prevRotationYawHead, par1EntityLivingBase.rotationYawHead, par9); float interpolatedYawHead = this.interpolateRotation(par1EntityLivingBase.prevRotationYawHead, par1EntityLivingBase.rotationYawHead, par9);
float rotation; float rotation;
float pitch = par1EntityLivingBase.prevRotationPitch + (par1EntityLivingBase.rotationPitch - par1EntityLivingBase.prevRotationPitch) * par9; float pitch = par1EntityLivingBase.prevRotationPitch + (par1EntityLivingBase.rotationPitch - par1EntityLivingBase.prevRotationPitch) * par9;
this.renderLivingAt(par1EntityLivingBase, x, y, z); this.renderLivingAt(par1EntityLivingBase, x, y, z);
rotation = this.handleRotationFloat(par1EntityLivingBase, par9); rotation = this.handleRotationFloat(par1EntityLivingBase, par9);
this.rotateCorpse(par1EntityLivingBase, rotation, interpolatedYaw, par9); this.rotateCorpse(par1EntityLivingBase, rotation, interpolatedYaw, par9);
float f6 = 0.0625F; float f6 = 0.0625F;
GL11.glEnable(GL12.GL_RESCALE_NORMAL); GL11.glEnable(GL12.GL_RESCALE_NORMAL);
GL11.glScalef(-1.0F, -1.0F, 1.0F); GL11.glScalef(-1.0F, -1.0F, 1.0F);
this.preRenderCallback(par1EntityLivingBase, par9); this.preRenderCallback(par1EntityLivingBase, par9);
GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F); GL11.glTranslatef(0.0F, -24.0F * f6 - 0.0078125F, 0.0F);
this.renderModel(par1EntityLivingBase, 0, 0, rotation, interpolatedYawHead - interpolatedYaw, pitch, f6); this.renderModel(par1EntityLivingBase, 0, 0, rotation, interpolatedYawHead - interpolatedYaw, pitch, f6);
OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
GL11.glDisable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_TEXTURE_2D);
OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
GL11.glDisable(GL12.GL_RESCALE_NORMAL);
}
catch (Exception exception)
{
exception.printStackTrace();
}
OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); GL11.glDisable(GL12.GL_RESCALE_NORMAL);
GL11.glEnable(GL11.GL_TEXTURE_2D); }
OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); catch (Exception exception)
GL11.glEnable(GL11.GL_CULL_FACE); {
GL11.glEnable(GL11.GL_LIGHTING); exception.printStackTrace();
GL11.glDisable(GL11.GL_BLEND); }
GL11.glPopMatrix(); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit);
MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Post(par1EntityLivingBase, this)); GL11.glEnable(GL11.GL_TEXTURE_2D);
OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit);
GL11.glEnable(GL11.GL_CULL_FACE);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_BLEND);
GL11.glPopMatrix();
MinecraftForge.EVENT_BUS.post(new RenderLivingEvent.Post(par1EntityLivingBase, this));
} }
private float interpolateRotation(float par1, float par2, float par3)
{
float f3;
for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F) private float interpolateRotation(float par1, float par2, float par3)
{ {
; float f3;
}
while (f3 >= 180.0F) for (f3 = par2 - par1; f3 < -180.0F; f3 += 360.0F)
{ {
f3 -= 360.0F; ;
} }
return par1 + par3 * f3; while (f3 >= 180.0F)
} {
f3 -= 360.0F;
}
return par1 + par3 * f3;
}
@Override @Override
protected ResourceLocation getEntityTexture(Entity entity) protected ResourceLocation getEntityTexture(Entity entity)
{ {