Items now move! :D
This commit is contained in:
parent
eedad4bc2d
commit
c45a426e75
1 changed files with 51 additions and 47 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue