Minecraft Data Packs / Adventure

Sailable Custom Ships with Cannons!

  • check_circle Advancements
  • check_circle Functions
  • check_circle Predicates
  • check_circle Structures
  • 23,795 views, 49 today
  • 4,983 downloads, 10 today
  • 180
  • 173
  • 92
Exandreal avatar Exandreal
Level 42 : Master Explorer
Have you ever wished you could navigate the sea with your very own ship? Well, look no further!
This datapack introduces sailable ships that are 100% customizable. And did I mention they have explosive cannons as well?

If you have collected a lot of treasure on your voyage, fell free to put down a chest on the deck. Both chest and items within will be perfectly safe as you travel. Other players, parrots, dogs and other entities are also able to catch a ride on your ship.
The ship will sail automatically when you start it and you can turn the ship by 90° along the north/east/south/west directions.
Since boats only work on water, there is a built in failsafe that prevents the ship from crashing into the shore as well as other ships or constructions.
If you are not a fan of the two default ship designs, you can simply tear it down and rebuild it just the way you like (just make sure that it stays within the 11x13x13 hitbox, and that the control buttons all stays the same way).

To obtain the ship you must first gather 32 oak planks, 8 oak logs, 12 white wool, 4 iron blocks and 1 heart of the sea (ships are expensive!). Drop them all in a pile on the ground, to create the 'Heart of the Ship'. When the heart comes into contact with water, it will construct the ship for you, as long as there is space to build it.

Make sure to check out my other datapack, 'Pirate AI Ships crewed by Pillagers', which introduces pirate ships; moving targets that fire back at you!


- Download the .zip file and place it inside the datapacks folder in your world save.

- Explore and plunder!


- Summon either the plain ship or a fancy pirate themed ship:
  /function ships:control/summon_ship
  /function ships:control/summon_ship_pirate

- Copy the nearest ship to clipboard:
  /function ships:control/copy

- Place the copied ship on the water surface below/above:
  /function ships:control/paste

- Delete the nearest ship entirely from the world:
  /function ships:control/delete

- Save a backup of the nearest ship. Up to 50 different ships can be saved this way. Note: The backups are deleted if the server reloads or if you close the world!:
  /function ships:control/backup

- Restore the ship back to the backup version:
  /function ships:control/restore

- Teleport the ship at the "PLAYER_ON_SHIP" to the location given by "LOCATION_TO_TP" (x y z coordinates):
  /execute as <PLAYER_ON_SHIP> positioned <LOCATION_TO_TP> function ships:control/tp
CompatibilityMinecraft 1.17
toMinecraft 1.19

6 Update Logs

Update to v1.6 : by Exandreal 02/25/2023 4:01:36 amFeb 25th

- removed the slow sailing speed setting (too many clicks needed, which was a bit annoying..)
- instead, ship goes slow at first but quickly accelerates to full speed
- one click: ship starts sailing, another click: stop ship

- fixed issue with other types of buttons getting stuck

Create an account or sign in to comment.

04/27/2023 12:46 pmhistory
Level 1 : New Explorer
Jub3s avatar
Maybe due to TPS lag but when I press forward it continues forward indefinitely until it hits something. 1.19.4
03/13/2023 11:39 amhistory
Level 1 : New Miner
Smiile avatar
hey my ship is stuck in an open field on the ocean (control/restore doesnt work) and i dont know how to free the ship...

oh and btw is there a way to make the ship size bigger or maybe you could add bigger ship types

PS: i play on a paper server
03/14/2023 6:50 am
Level 42 : Master Explorer
Exandreal avatar
Is there anything blocking the path of the ship? maybe in the surface of the water?
Does the ship respond to any of the buttons, forward, turn, cannons?

Try typing the command (on the ship): /execute if entity @e[type=minecraft:armor_stand,distance=..10]
If the armor stand controlling the ship is there, it should find 1 entity.

To make the ships bigger, I would have to rewrite the code alot. Maybe I'll look into it at some point :)
03/14/2023 8:44 amhistory
Level 1 : New Miner
Smiile avatar
There is nothing in the way, all of the buttons dont work.

I tried the command and it said "Test failed" which im guessing means that the armorstand is missing. How can i fix this?
03/15/2023 12:13 pm
Level 42 : Master Explorer
Exandreal avatar
Hmm, That is weird.. I am not sure how, but the armorstand must have disappeared, which would explain the ship not working.

To re-summon the armorstand, stand exactly in the middle of the lookout barrel and type the following command:

/execute align xyz positioned ~0.5 ~-11.5 ~0.5 run summon minecraft:armor_stand ~ ~ ~ {Tags:["Sloop_Captain"],NoGravity:1,Marker:1,Invisible:1,Rotation:[-90f,0f]}

Then set the correct orientation, depending on the way the ship is facing:

do nothing
/data modify entity @e[tag=Sloop_Captain,distance=..16,limit=1,sort=nearest] Rotation[0] set value 0.0f
/data modify entity @e[tag=Sloop_Captain,distance=..16,limit=1,sort=nearest] Rotation[0] set value 90.0f
/data modify entity @e[tag=Sloop_Captain,distance=..16,limit=1,sort=nearest] Rotation[0] set value -180.0f

These two commands should make the ship sailable as before :)
03/16/2023 10:55 am
Level 1 : New Miner
Smiile avatar
So i tried the commands and it worked for 1 ship but not for the other 2 and i did exactly as you said. Its really weird
03/15/2023 12:34 pm
Level 1 : New Miner
Smiile avatar
thanks for your help. I appreciate it
03/10/2023 9:07 pm
Level 1 : New Miner
Batman2741 avatar
just a feature suggestion for more laggy servers make a command to go back to the old config of 1 click perm move
03/14/2023 6:51 am
Level 42 : Master Explorer
Exandreal avatar
I have recently added a feature to change the speed of all ships:

/scoreboard players set SHIP_SPEED ships.config 2

The 2 is default (fastest), setting it to higher values will make ships slower :)
03/14/2023 10:39 pm
Level 1 : New Miner
Batman2741 avatar
it still wont stop due to lag i already tried that even with set that which is why i made the suggestion
Planet Minecraft


© 2010 - 2023