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
-
View User Profile
-
Send Message
Posted Dec 1, 2019In reply to Sixela963:
Every programmer has a unique style to writing there code. Styles can be similar in ways.
The similar style i was refering to there is where you return out of the function as soon as possible instead of indenting into a if statement. I find it simpler to read as many forum posts including this one destroy formatting (indentation, wrapping, etc) so if you copy and paste the code into a text editor such as notepad++, you can still easily read the code even if its missing the indentations.
So for example. You may write
int A;
int B;
if (A < B){
//Do stuff
}
While i may write
int A;
int B;
if(A => B){
return;
}
//Do stuff
There are other parts of code style, but thats the one im refering to. In this case there is no efficiency benefit for either, however I have seen some code styles that do effect efficiency. But because its not my code style, it makes it more difficult for me to read it. Someone with similar code style will find your code easier to read
Like i said before, im not on my pc so i can not check your code, so it maybe a logical error im not seeing unless i debugged the code.
-
View User Profile
-
Send Message
Posted Nov 2, 2019one of my ships is size 48 and moves super fast with almost no delay, while the other one is size 459 and moves super slow, i thought that was just the way the ships worked and maybe it actually is, but when i right clicked the ships sign to see the ship info they both had the same max speed as 10, is there any way i can make the ship faster or no, is my original theory correct, the more blocks it has the more processing has to go into it, i should also clarify both of them are OPShips
-
View User Profile
-
Send Message
Posted Nov 2, 2019In reply to waffledragon122:
Your theory is correct. The more blocks the more blocks it needs to find (the hardest to process) and process.
You can change the speed of the ship by going into the "VesselData" file for the ship and change it there. Remember to change the speed on the sign too. Just to make sure your on the correct page. The "speed" of the vessel is how many blocks it moves by, it has no impact on processing speed.
-
View User Profile
-
Send Message
Posted Nov 3, 2019In reply to waffledragon122:
Oh just so you know. If your running Ships 6, there is a option to only update the ships structure if manually told so. This will increase the performance of movement by a lot as the searching for blocks doesnt occur
-
View User Profile
-
Send Message
Posted Oct 2, 2019Can you join my server to help me pls?
First everthing was 'in the way'
And now he doesn't track me ship at all
IP: kazikohli.backspin-hosting.com
discord: BRO-Kohli#6892
-
View User Profile
-
Send Message
Posted Oct 2, 2019In reply to Forge_User_42769262:
While i do join servers to help. I normally attempt to fix the server by talking first as a lot of the time its issues on the server side that a user can not see.
Ill hit you up on discord.
-
View User Profile
-
Send Message
Posted Oct 3, 2019In reply to Mosemister:
Okay, thank you so much. I'll wait a while :)
And ow, I realize that you had sent me a friend request that I accidentally canceled
-
View User Profile
-
Send Message
Posted Sep 19, 2019i keep getting this error
[20:12:04] [Server thread/ERROR]: Could not pass event InventoryCreativeEvent to Ships v5.0.1.14
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:320) ~[server.jar:git-Spigot-9de398a-9c887d4]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[server.jar:git-Spigot-9de398a-9c887d4]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:529) ~[server.jar:git-Spigot-9de398a-9c887d4]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:514) ~[server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:2289) ~[server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.PacketPlayInSetCreativeSlot.a(SourceFile:23) ~[server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.PacketPlayInSetCreativeSlot.a(SourceFile:9) ~[server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(SourceFile:144) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(SourceFile:118) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:910) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:903) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeAll(SourceFile:103) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:886) [server.jar:git-Spigot-9de398a-9c887d4]
at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:820) [server.jar:git-Spigot-9de398a-9c887d4]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Caused by: java.lang.NoSuchMethodError: org.bukkit.inventory.Inventory.getName()Ljava/lang/String;
at MoseShipsBukkit.Listeners.BukkitListeners.inventoryClick(BukkitListeners.java:512) ~[?:?]
at sun.reflect.GeneratedMethodAccessor122.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_221]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_221]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:316) ~[server.jar:git-Spigot-9de398a-9c887d4]
idk if its related, but signs dont work at all.
-
View User Profile
-
Send Message
Posted Sep 20, 2019In reply to bonboygaming:
Hi. What MC version are you running?
-
View User Profile
-
Send Message
Posted Sep 16, 2019Bug report for version R2 Alpha 2.6:
16.09 18:12:57 [Server] INFO SkyHeart_Ruins issued server command: /ships shiptype create
16.09 18:12:57 [Server] ERROR null
16.09 18:12:57 [Server] INFO org.bukkit.command.CommandException: Unhandled exception executing command 'ships' in plugin Ships v6.0.0.0
16.09 18:12:57 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:47) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:159) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:739) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.PlayerConnection.handleCommand(PlayerConnection.java:1800) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1608) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:47) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.PacketPlayInChat.a(PacketPlayInChat.java:5) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1013) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1006) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:990) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:923) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
16.09 18:12:57 [Server] INFO Caused by: java.lang.ArrayIndexOutOfBoundsException: 2
16.09 18:12:57 [Server] INFO at org.ships.commands.legacy.shiptype.LegacyShipTypeCommand.lambda$run$0(LegacyShipTypeCommand.java:33) ~[?:?]
16.09 18:12:57 [Server] INFO at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1577) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:469) ~[?:1.8.0_212]
16.09 18:12:57 [Server] INFO at org.ships.commands.legacy.shiptype.LegacyShipTypeCommand.run(LegacyShipTypeCommand.java:33) ~[?:?]
16.09 18:12:57 [Server] INFO at org.ships.commands.legacy.LegacyShipsCommand.run(LegacyShipsCommand.java:66) ~[?:?]
16.09 18:12:57 [Server] INFO at org.ships.implementation.bukkit.command.BCommand.onCommand(BCommand.java:27) ~[?:?]
16.09 18:12:57 [Server] INFO at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.14.4.jar:git-Paper-187]
16.09 18:12:57 [Server] INFO ... 17 more
Most other commands give me *ships <args>* including /ships reload
And with /ships shiptype create, it doesn't recognise any of the designs in the plugin, saying unknown ship type must be cloneable.
Hitting the [eot] sign while in creative will break it unlike the others.
Some blocks cause these errors in the log with each ship movement:
16.09 18:40:32 [Server] INFO Block: minecraft:oak_planks
16.09 18:40:32 [Server] INFO Failed: TileEntity
if I write the wrong ship type in the sign it'll flood the console with error reports.
And attempting to sit in a stair with a chair plugin causes the player to be kicked out, and a mannequin left in it's place.
-
View User Profile
-
Send Message
Posted Sep 16, 2019In reply to Forge_User_50238638:
Hi. Thanks for the bug report. The crash in your comment will be fixed in the next update.
There seems to be some confusion, the commands given on this page are for Ships 5 as it is currently the latest stable build of ships while you are using Ships 6 alpha, ships 6 does not have much documentation as I have been focusing on getting it stable so commands such as '/ships reload' do not exist, you can see all the commands of Ships 6 by just using the command '/ships' As for the shiptype create command, it is asking for the ship type id.
All commands have full support of the tab complete and suggestions to assist when writing.
The Server [INFO] has already been resolved on my build of Ships, so it will be fixed in the next update.
As for Chairs reloaded, that was a addon for Ships 5, it does not work for Ships 6 currently. There is plans to update this to work.
-
View User Profile
-
Send Message
Posted Sep 16, 2019In reply to Mosemister:
Understood, thanks for clarifying, happy to help.
-
View User Profile
-
Send Message
Posted Sep 16, 2019In reply to Forge_User_50238638:
Quick question, when can we expect the next update? I'm setting up a public server and knowing the time frames help.
And do you have any plans for adding Cannons support? Rk moving the ship will reset a Cannon. Cheers.
-
View User Profile
-
Send Message
Posted Sep 16, 2019In reply to Forge_User_50238638:
I typically update the ships plugin once per week, however I have been focusing on the sponge edition of Ships lately so thats why there wasnt one last week. Anyway I should be uploading the new update tomorrow (around 17:00-19:00 London time), it will need to be approved by dev.bukkit. on average it takes around a day for approval in my experience, but with the exception of the last update, its been approved within a hour of upload.
As for cannons support, I have attempted multiple times for different major versions of ships, however each version had a unexplained bug. I will be attempting with ships 6 but no promises.
I do have a few other plugins I plan to add support for, including one that will be announced and released later this week (if all goes to plan)
-
View User Profile
-
Send Message
Posted Sep 16, 2019In reply to Mosemister:
Exciting, looking forward to seeing what comes next.
-
View User Profile
-
Send Message
Posted Sep 17, 2019In reply to Forge_User_50238638:
Ships -b 6.0.0.0 alpha 2.7 has now been uploaded, awaiting approval
Edit:
Approved
-
View User Profile
-
Send Message
Posted Sep 12, 2019Due to technical issues, i wont be livestreaming today
-
View User Profile
-
Send Message
Posted Sep 5, 2019Ships 2.6 is now out
-
View User Profile
-
Send Message
Posted Sep 4, 2019Quick questions about 5.0.1.14 on a 1.12.2 CraftBukkit server. Sorry I have running list of things that I'm been dealing with. Thank you for keeping this project going for all these years, I've been using Ships since the version 2.0 days.
Each time I restart my server my ship signs have to be replaced... ideas? I can just recreate the ship sign and it works again.
The EOT sign is something I like to use... but I can't seem to get the speed setting where I would lke it.... I used to move 20 blocks per jump... now even after editing the configs ( vessel and main main config ) I can only get 2 blocks of movement. How can I adjust the speed?
Currently when I try to move a airship with the engine sign I get a message that the ship must be in the air..... all my ships are saying this... but of course are in the air.
One more ( sorry )
I've always wanted to make a submarine.. I can get the ship to create but nothing else seems to respond... I've made a sub hull underwater and also half in the water... still can't get it to work.
Thank you for all your work on this plugin... I really appreciate any guidance you can provide.
-
View User Profile
-
Send Message
Posted Sep 4, 2019In reply to kiptacula:
Hi. Sorry for the late reply, didnt get the notification.
Those are all interesting issue that I can not find in my common issues with Ships 5.0.1.14.
I personally stopped testing Ships 5.0.1.14 soon after it came out to focus on Ships 5.1 and then ships 6.0.0.0 as MC 1.13 was going to be in demand. So the later versions of bukkit may have broke compatibility as it got closer to 1.13 code.
Ill retest it soon with the latest 1.12 build of bukkit to see if I can replicate the issues.
I also want to get as much information as possible just so i know what im looking for and to recreate the situation as best as possible.
When you restart your server and all the signs need to be replaced. Before you replace the signs what happens if you click a move sign? Does a message appear to the player? Does an error occur on the console?
When you are attempting to modify the eot speed and you say you modify the vessel. Is that the vessel type file or the vessel data?
Thanks for your patience and wow you have been with the project longer then I have (I came into the scene at the end of 2.1 lifecycle).