I have made a plugin to run a minecart on a rail tracks at a constant speed. However, I encountered this problem while doing a few tests: Firstly, here's my code for moving the minecart. Code (Java): Block nxt = ginfo.getNxt(world.getBlockAt(cart.getLocation())); if (nxt == null) return; Block cur = world.getBlockAt(cart.getLocation()); double velox = 0, veloz = 0, veloy = 0; if (nxt.getX() > cur.getX()) velox = 0.1; if (nxt.getX() < cur.getX()) velox = -0.1; if (nxt.getZ() > cur.getZ()) veloz = 0.1; if (nxt.getZ() < cur.getZ()) veloz = -0.1; if (nxt.getY() > cur.getY()) veloy = 0.1; if (nxt.getY() < cur.getY()) veloy = -0.1; cart.setVelocity(new Vector(velox, veloy, veloz)); getNxt is basically the block the cart will move to after this current one. Here's the minecart normally: https://ibb.co/DkqN6Kf However, after going up, the minecart sways a bit to left. https://ibb.co/87K2bj2 https://ibb.co/gDZTrxW Yes, the minecart stays in that direction throughout the whole straight path in the second picture. I don't know what could be causing this. Thanks for any help.