Ships
Ships
Source Code - Github |
JavaDocs |
Sponge version |
Discord channel |
Translate Core |
---|
Looking for Dev builds?
Dev builds give off new features and bug fixes before they are officially released, however these features and bug fixes may not have been tested as much as a release on here
Old page:
I am testing this new page out. I am aware of some parts that are missing such as ship types, but please say if there is anything that you wish to see. I plan on making a FAQ's that includes common questions such as how to change ship requirements.
If you want to see the old page, it is here
Video tutorial
Ships 6 changes
Ships has gone through many changes, Ships 6 is the latest rewrite of the plugin. The latest rewrite fixes multiple bugs found in the root of previous versions of Ships.
Features
Moving ships
As the name of the plugin suggests, you can create your own ship and move it with just a single click.
Works with all blocks
There is a fully-fledged list where you can configure every block to react differently for the ships, including being able to add a block type to interact with Ships, detect it as a collide, and even not react at all.
Teleport to ships
There have been many requests to be able to teleport to ships for not only this plugin but others like it. This feature has been added to Ships, however, if it is something you do not wish, then you can disable to command by not adding the command.
Falling Ships
Ships will fall/sink if requirements are not met, this could be done through your own interaction such as running out of fuel, or by something else such as a TNT explosion.
Ship types
Airship | Link |
Ship | Link |
Marsship | Link |
Submarine | Link |
Plane | Link |
Hybridship | Coming soon |
Move the ship:
In Ships, movement is done by signs. You can see all signs here
Collide types:
Name | ID | Description |
---|---|---|
Detect collide | DETECT_COLLIDE | If Ships detects this block in the way of a ship moving then the ship will not move with the error of this block being in the way |
Material | MATERIAL | Material means that you can build a ship out of this block and the Ships block detection system will detect it as part of your ship |
Ignore | IGNORE | If Ships detects this block in the way of a ship moving then the block will break and the ship will take its place |
Permissions
Permission node | Description |
---|---|
ships.cmd.info |
Allows the player to use the command '/ships info' |
ships.cmd.blockinfo |
Allows the player to use the command '/ships blockinfo' |
ships.cmd.shiptype.create |
Allows the player to use the command '/ships shiptype create' |
ships.cmd.config.set |
Allows the player to use the command '/ships config set' |
ships.cmd.config.view |
Allows the player to use the command '/ships config view' |
ships.cmd.blocklist.set |
Allows the player to use the command '/ships blocklist set' |
ships.cmd.blocklist.view |
Allows the player to use the command '/ships blocklist view' |
ships.cmd.ship.track |
Allows the player to use the command '/ships ship track' |
ships.cmd.ship.eot |
Allows the player to use the command '/ships ship eot' |
ships.cmd.ship.crew |
Allows the player to use the command '/ships ship crew' |
ships.move.own.ships.airship | Allows a player to move own airship |
ships.move.own.ships.watership | Allows a player to move own ship |
ships.move.own.ships.marsship | Allows a player to move own marsship |
ships.move.other.ships.airship | Allows a player to move anyones airship |
ships.make.ships.airship | Allows a player to make a airship |
ships.remove.other |
Allows a player to destroy anyones ships sign |
Developers:
Looking for a development wiki? maven/gradle dependencies? or something else relating to ships or translate core? Take a look at the getting started wiki
Is there any way for me to stop collision with sea grass and the likes, it stops me from turning my ship in the ocean
Im also having issues with the boats freezing the server whenever we try to move or turn them
In reply to parzeval_kun:
The seagrass issue, yes. If you go into the BlockList config file and then search for SeaGrass, you will see two options below it. Change the CollideType option to RAM then restart the server. Alternatively use the BlockList command (no restart needed).
As for the freezing of the server, there are a few experimental features to help and one none experimental feature which helps.
The none experimental feature is changing the config value of "AutoUpdateStructure" to false which disables the structure from being updated when you attempt to move, this means that there is a lot less processing needed to move the ship, however you will need to manually update the ship if you make changes to it by sneaking and clicking the [Ships] sign.
The experimental features are to do with the movement algorithm and Block finder algorithm. Both of which are set to Ships 5 by default. Changing these to Ships 6 will use the newer algorithm, which takes the tracking and movement of the ship in smaller chunks. It does however mean that the ship will take more time to move.
In beta 3 (which isnt out yet) there will be a async version of the ship 6 block tracker which helps reduce the freezing so much that its its not noticeable in most cases.
There are a lot of technical reasons why its difficult to reduce and even stop freezing. I wont go into the details because it gets complex quickly without some knowledge on how processors work, but still, trust me. Ive been working on concepts for a while to stop the freezing without causing harm to the server.
Hope this helps
Hey I was trying to use a ship but when I use the move sign it just makes the number on it bigger, I don't know how to make the ship move.
In reply to tenitikgaming:
Hi. So in Ships 6, the controls of the move sign have changed.
Left click moves the ship
Right click increases the speed of the ship
Sneaking + right click decreases the speed of the ship.
(If you have swapped hands then then left/right click are inverted)
In reply to mosemister:
Oh nice thanks
Oi mosemister, really great work you've been doing with this plugin, impressive stuff. I was wondering if you would ever consider making Ships, or something like it in a datapack form or even in the form of a forge mod so that modded players could use ships. I know a lot would have to be reworked, but I wanted to ask anyway to hear your thoughts. Thanks
In reply to spynathan:
I have considered it and actually made it (A version that works on forge at least). Take a look at the SpongePowered edition.
https://ore.spongepowered.org/MoseMister/Ships
If you don't know, Sponge is a plugin platform designed to interact with Forge mods, it uses completely different code to Bukkit (more advanced and more feature rich). It has amazing hooks into forge so you can get permissions for regular forge mods, etc. Sponge hooks directly into Forge so mods that add stuff in the regular Forge way will be accessable to Sponge and if they are accessable to sponge, then Sponge plugins can interact with them.
You will also find that the community on Sponge is a really nice place to ask questions of any kind, so much so that I offer my services there, so help is more then accessable for anything Sponge related.
Ships 6 was designed to run on both Sponge and Bukkit, but there will be some extra features eventually for the sponge edition. However currently there is a bug in the Sponge edition of Ships which I cannnot figure out why which is why it doesn't have much of the attention so far, but that will be changing soon.
Hope that helps
edit:
Oh I am also working on a Bukkit emulator that runs on Sponge too (so Sponge will be able to run some Bukkit plugins). Ships should eventually run on it, but currently it doesn't due to Sponge being on 1.12 and Ships needing 1.13+)
In reply to mosemister:
Thanks for the information, keep up the great work.
What version would you recommend for 1.14.4? I think I have 5.2 or something and my marsship just say that i need 0 inverted daylight sensors and the boost button doesnt work
In reply to harryflame123:
Hi. So for Ships to work on MC 1.13+ you need Ships 6.0.0.0. its currently in beta so the download button at the top doesn't download it.
Here is a link to all ships versions
https://dev.bukkit.org/projects/ships/files
Ships 6 cannot transfer data from Ships 5 yet (with some exceptions). So you will need to recreate everything. Sorry, I am working on it.
FYI. There is no Ships 5.2. Im sure you mean Ships 5.0.1.14.
Edit:
Every bukkit page has that list of pages and you can filter to MC version on the page too. Just click "Files" at the top of the page to get to it
Its been a while.
A new Beta has just been uploaded. This beta fixes a long term bug found in Ships 6 where fuel was not taken from airships as well as fixes a few other small issues.
You are now able to see what Alpha, Beta and PreRelease version you are running with the command '/ships info' so for instances of versions where there are multiple versions called "Ships X" you can now see the exact version you are running.
And now the github page has finally been updated again
Hello, I love this plugin so far, its been running great with little to no problems! But whenever I run the autopilot command on my ship/plane, it displays in chat a message saying "Ship is not auto pilotable". Is this a known bug, and if so is there a fix? Also, I'm running version 6.
In reply to dr_onyx:
Hey. Thanks for using Ships.
As for your issue, the regular ship sadly is not autopilotable as a autopilotable ship requires to be able to always have a clear path to where it needs to go (the exception being ground, or a location inside a wall as it will get to the blockage and then fly over it or say there is something in the way). As Ships are stuck to water and eventually will hit land, the autopilot feature is only put on flyable ship types.
As for the plane, yeah its a bug with that. Thanks for telling me.
Hope that helps
I own a Server and the players are unable to create the registration for the ships they want to fly and i cant find the config file for the server is there anyway to give ships registration powers to the players?
In reply to LastMansGamer:
What version of ships are you using? It changed in Ships 6 (the one for mc 1.13+)
In reply to mosemister:
i am using Ships 6
In reply to LastMansGamer:
In Ships 6 you can give the permissions to make ships using the following permission
ships.make.<Ship type id with . instead of :>
So if i i wanted my players to be able to make a airship i would give them the permission
ships.make.ships.airship
As the id for airship is "ships:airship"
Hello mosemister, thank you for all your time spent developing this plugin. I am unfortunately running into some problems. The spigot server i'm running has just this plugin enabled. Whilst experimenting with a very small ship, with no fuel consumption, the plugin does work, albeit very slowly and it takes a few seconds for my ship to respond to commands. Even with this very small ship, the server says it cannot keep up sometimes, the server has 6gigs of ram allocated to it. When I try to control a larger ship, even right clicking the license sign does not immediately give me the ships information. When ordering a move or turn command, the server gets overwhelmed and crashes. I will provide the crash dump here, again, I am only running this plugin. I hope this helps you out in developing this plugin with amazing potential! Thanks
https://pastebin.com/wZLCGmJ1
In reply to Forge_User_66815450:
That definitely helps.
Just so your aware, RAM isnt everything when it comes to server performance. If you do have a small ship then it sounds like you have a week processor running your server.
There is something you can do to attempt to decrease the time taken. There is a option in the config for "auto updating structure" which you can disable. This will cut out the most stressful check However if you try and add more blocks to your ship, you will need to manually update the ship.
I have been working on more ways to reduce the lag from ships and have seemed to have gained one. Still testing it though.
In reply to mosemister:
Yes you could very well be right about the processor, its an i5 4670k 3.4 Ghz, I'll try out and see if the auto updating structure will make it run better.