From 011695b875e65e478433b5cba5f285fd3e163f79 Mon Sep 17 00:00:00 2001 From: Aidan Brady Date: Sat, 3 Aug 2013 01:55:45 -0400 Subject: [PATCH] Fixed NSWE motion! --- .../contractor/TileEntityEMContractor.java | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/src/resonantinduction/contractor/TileEntityEMContractor.java b/src/resonantinduction/contractor/TileEntityEMContractor.java index 31bcd88e1..2afbed3ba 100644 --- a/src/resonantinduction/contractor/TileEntityEMContractor.java +++ b/src/resonantinduction/contractor/TileEntityEMContractor.java @@ -40,8 +40,7 @@ public class TileEntityEMContractor extends TileEntity switch(facing) { case DOWN: - entityItem.posX = xCoord+0.5; - entityItem.posZ = zCoord+0.5; + entityItem.setPosition(xCoord+0.5, entityItem.posY, zCoord+0.5); entityItem.motionX = 0; entityItem.motionZ = 0; @@ -51,8 +50,7 @@ public class TileEntityEMContractor extends TileEntity entityItem.isAirBorne = true; break; case UP: - entityItem.posX = xCoord+0.5; - entityItem.posZ = zCoord+0.5; + entityItem.setPosition(xCoord+0.5, entityItem.posY, zCoord+0.5); entityItem.motionX = 0; entityItem.motionZ = 0; @@ -62,46 +60,42 @@ public class TileEntityEMContractor extends TileEntity entityItem.isAirBorne = true; break; case NORTH: - entityItem.posX = xCoord+0.5; - entityItem.posY = yCoord+0.5; + entityItem.setPosition(entityItem.posX, yCoord+0.5, zCoord+0.5); - entityItem.motionX = 0; entityItem.motionY = 0; - - entityItem.motionZ = Math.max(-MAX_SPEED, entityItem.motionZ-ACCELERATION); + entityItem.motionZ = 0; + + entityItem.motionX = Math.min(MAX_SPEED, entityItem.motionZ+ACCELERATION); entityItem.isAirBorne = true; break; case SOUTH: - entityItem.posX = xCoord+0.5; - entityItem.posY = yCoord+0.5; + entityItem.setPosition(entityItem.posX, yCoord+0.5, zCoord+0.5); - entityItem.motionX = 0; entityItem.motionY = 0; + entityItem.motionZ = 0; - entityItem.motionZ = Math.min(MAX_SPEED, entityItem.motionZ+ACCELERATION); + entityItem.motionX = Math.max(-MAX_SPEED, entityItem.motionZ-ACCELERATION); entityItem.isAirBorne = true; break; case WEST: - entityItem.posY = yCoord+0.5; - entityItem.posZ = zCoord+0.5; + entityItem.setPosition(xCoord+0.5, yCoord+0.5, entityItem.posZ); + entityItem.motionX = 0; entityItem.motionY = 0; - entityItem.motionZ = 0; - entityItem.motionX = Math.max(-MAX_SPEED, entityItem.motionX-ACCELERATION); + entityItem.motionZ = Math.min(MAX_SPEED, entityItem.motionX+ACCELERATION); entityItem.isAirBorne = true; break; case EAST: - entityItem.posY = yCoord+0.5; - entityItem.posZ = zCoord+0.5; + entityItem.setPosition(xCoord+0.5, yCoord+0.5, entityItem.posZ); + entityItem.motionX = 0; entityItem.motionY = 0; - entityItem.motionZ = 0; - entityItem.motionX = Math.min(MAX_SPEED, entityItem.motionX+ACCELERATION); + entityItem.motionZ = Math.max(-MAX_SPEED, entityItem.motionX-ACCELERATION); entityItem.isAirBorne = true; break;