Items now move! :D

This commit is contained in:
Aidan Brady 2013-08-03 01:29:28 -04:00
parent eedad4bc2d
commit c45a426e75

View file

@ -12,6 +12,7 @@ import net.minecraftforge.common.ForgeDirection;
public class TileEntityEMContractor extends TileEntity public class TileEntityEMContractor extends TileEntity
{ {
public static int MAX_REACH = 40; public static int MAX_REACH = 40;
public static double MAX_SPEED = .4;
private ForgeDirection facing = ForgeDirection.UP; private ForgeDirection facing = ForgeDirection.UP;
@ -24,8 +25,6 @@ public class TileEntityEMContractor extends TileEntity
@Override @Override
public void updateEntity() public void updateEntity()
{
if(!worldObj.isRemote)
{ {
if(operationBounds != null) if(operationBounds != null)
{ {
@ -37,51 +36,56 @@ public class TileEntityEMContractor extends TileEntity
{ {
EntityItem entityItem = (EntityItem)entity; EntityItem entityItem = (EntityItem)entity;
double velX = 0;
double velY = 0;
double velZ = 0;
switch(facing) switch(facing)
{ {
case DOWN: case DOWN:
entityItem.motionX = 0; entityItem.motionX = 0;
entityItem.motionZ = 0; entityItem.motionZ = 0;
velY = -.2; entityItem.motionY = Math.max(-MAX_SPEED, entityItem.motionY-.2);
entityItem.isAirBorne = true;
break; break;
case UP: case UP:
entityItem.motionX = 0; entityItem.motionX = 0;
entityItem.motionZ = 0; entityItem.motionZ = 0;
velY = .2; entityItem.motionY = Math.min(MAX_SPEED, entityItem.motionY+.2);
entityItem.isAirBorne = true;
break; break;
case NORTH: case NORTH:
entityItem.motionX = 0; entityItem.motionX = 0;
entityItem.motionY = 0; entityItem.motionY = 0;
velZ = -.2; entityItem.motionY = Math.max(-MAX_SPEED, entityItem.motionY-.2);
entityItem.isAirBorne = true;
break; break;
case SOUTH: case SOUTH:
entityItem.motionX = 0; entityItem.motionX = 0;
entityItem.motionY = 0; entityItem.motionY = 0;
velZ = .2; entityItem.motionY = Math.min(MAX_SPEED, entityItem.motionY+.2);
entityItem.isAirBorne = true;
break; break;
case WEST: case WEST:
entityItem.motionY = 0; entityItem.motionY = 0;
entityItem.motionZ = 0; entityItem.motionZ = 0;
velX = -.2; entityItem.motionY = Math.max(-MAX_SPEED, entityItem.motionY-.2);
entityItem.isAirBorne = true;
break; break;
case EAST: case EAST:
entityItem.motionY = 0; entityItem.motionY = 0;
entityItem.motionZ = 0; entityItem.motionZ = 0;
velX = .2; entityItem.motionY = Math.min(MAX_SPEED, entityItem.motionY+.2);
break;
}
entityItem.addVelocity(velX, velY, velZ); entityItem.isAirBorne = true;
break;
} }
} }
} }