The Archimedes Ships mod allows you to make moving custom ships in Minecraft. The mod allows you to create a block called a "ship marker." When you place it on a structure you have built, it turns all the blocks connected to it into a moveable chunk entity that you can control.
You can also make blocks called “air balloons” that will make a ship fly when they are used in its construction. In order to become airborne, a ship must be at least 40% air balloon blocks and can’t be over a certain size. Natural materials such as dirt, sand, water, and grass won’t connect with a build.