Vector3 movementVec = new Vector3(motionX, motionY, motionZ); ForgeDirection dir = ForgeDirection.getOrientation(movingobjectposition.sideHit); Vector3 normalVector = new Vector3(dir.offsetX, dir.offsetY, dir.offsetZ).normalize(); movementVector = normalVector.multiply(-2 * movementVec.dotProduct(normalVector)).add(movementVec); motionX = movementVector.x; motionY = movementVector.y; motionZ = movementVector.z;