motionX = dir.offsetX*this.getSpeed();
motionY = dir.offsetY*this.getSpeed();
motionZ = dir.offsetZ*this.getSpeed();
velocityChanged = true;
}
<BUG>protected void setDirection(CubeDirections dir) {

this.setLocationAndAngles(this.getBlockX()+0.5, this.getBlockY()+0.5, this.getBlockZ()+0.5, 0, 0);</BUG>
motionX = dir.directionX*this.getSpeed();
motionY = 0;

motionX = dir.offsetX*this.getSpeed();
motionY = dir.offsetY*this.getSpeed();
motionZ = dir.offsetZ*this.getSpeed();
velocityChanged = true;
}
protected void setDirection(CubeDirections dir, boolean setPos) {
if (setPos)
this.setLocationAndAngles(this.getBlockX()+0.5, this.getBlockY()+0.5, this.getBlockZ()+0.5, 0, 0);
motionX = dir.directionX*this.getSpeed();
motionY = 0;
