Began work on Contractor "suck" mode

This commit is contained in:
Aidan Brady 2013-08-03 12:40:47 -04:00
parent d95a1429b3
commit f6dadc083c
5 changed files with 56 additions and 10 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -37,12 +37,14 @@ public class BlockEMContractor extends BlockBase implements ITileEntityProvider
@Override
public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9)
{
TileEntityEMContractor contractor = (TileEntityEMContractor)par1World.getBlockTileEntity(par2, par3, par4);
if(!par5EntityPlayer.isSneaking())
{
TileEntityEMContractor contractor = (TileEntityEMContractor)par1World.getBlockTileEntity(par2, par3, par4);
contractor.incrementFacing();
return true;
}
else {
contractor.suck = !contractor.suck;
}
return true;

View file

@ -48,7 +48,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionX = 0;
entityItem.motionZ = 0;
entityItem.motionY = Math.max(-MAX_SPEED, entityItem.motionY-ACCELERATION);
if(!suck)
{
entityItem.motionY = Math.max(-(MAX_SPEED*4), entityItem.motionY-(ACCELERATION*5));
}
else {
entityItem.motionY = Math.min((MAX_SPEED*4), entityItem.motionY+(ACCELERATION*5));
}
entityItem.isAirBorne = true;
break;
@ -61,7 +67,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionX = 0;
entityItem.motionZ = 0;
entityItem.motionY = Math.min((MAX_SPEED*4), entityItem.motionY+(ACCELERATION*5));
if(!suck)
{
entityItem.motionY = Math.min((MAX_SPEED*4), entityItem.motionY+(ACCELERATION*5));
}
else {
entityItem.motionY = Math.max(-(MAX_SPEED*4), entityItem.motionY-(ACCELERATION*5));
}
entityItem.isAirBorne = true;
break;
@ -74,7 +86,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionY = 0;
entityItem.motionZ = 0;
entityItem.motionX = Math.min(MAX_SPEED, entityItem.motionX+ACCELERATION);
if(!suck)
{
entityItem.motionX = Math.min(MAX_SPEED, entityItem.motionX+ACCELERATION);
}
else {
entityItem.motionX = Math.max(-MAX_SPEED, entityItem.motionX-ACCELERATION);
}
entityItem.isAirBorne = true;
break;
@ -87,7 +105,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionY = 0;
entityItem.motionZ = 0;
entityItem.motionX = Math.max(-MAX_SPEED, entityItem.motionX-ACCELERATION);
if(!suck)
{
entityItem.motionX = Math.max(-MAX_SPEED, entityItem.motionX-ACCELERATION);
}
else {
entityItem.motionX = Math.min(MAX_SPEED, entityItem.motionX+ACCELERATION);
}
entityItem.isAirBorne = true;
break;
@ -100,7 +124,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionX = 0;
entityItem.motionY = 0;
entityItem.motionZ = Math.min(MAX_SPEED, entityItem.motionZ+ACCELERATION);
if(!suck)
{
entityItem.motionZ = Math.min(MAX_SPEED, entityItem.motionZ+ACCELERATION);
}
else {
entityItem.motionZ = Math.max(-MAX_SPEED, entityItem.motionZ-ACCELERATION);
}
entityItem.isAirBorne = true;
break;
@ -113,7 +143,13 @@ public class TileEntityEMContractor extends TileEntity
entityItem.motionX = 0;
entityItem.motionY = 0;
entityItem.motionZ = Math.max(-MAX_SPEED, entityItem.motionZ-ACCELERATION);
if(!suck)
{
entityItem.motionZ = Math.max(-MAX_SPEED, entityItem.motionZ-ACCELERATION);
}
else {
entityItem.motionZ = Math.min(MAX_SPEED, entityItem.motionZ+ACCELERATION);
}
entityItem.isAirBorne = true;
break;

View file

@ -14,6 +14,7 @@ public class RenderEMContractor extends TileEntitySpecialRenderer
{
public static final ModelEMContractor MODEL = new ModelEMContractor();
public static final ResourceLocation TEXTURE = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "em_contractor.png");
public static final ResourceLocation TEXTURE_PUSH = new ResourceLocation(ResonantInduction.DOMAIN, ResonantInduction.MODEL_TEXTURE_DIRECTORY + "em_contractor_push.png");
@Override
public void renderTileEntityAt(TileEntity t, double x, double y, double z, float f)
@ -48,7 +49,14 @@ public class RenderEMContractor extends TileEntitySpecialRenderer
break;
}
this.func_110628_a(TEXTURE);
if(((TileEntityEMContractor)t).suck)
{
this.func_110628_a(TEXTURE);
}
else {
this.func_110628_a(TEXTURE_PUSH);
}
MODEL.render(0.0625f);
GL11.glPopMatrix();