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 Aug 22, 2020In reply to Koidsman2:
Sure. Send over your config :)
-
View User Profile
-
Send Message
Posted Aug 14, 2020Getting this when i update to 1.16.2. Thanks for you help.:
[21:42:11] [Server thread/INFO]: [Ships] Enabling Ships v6.0.0.0
[21:42:11] [Server thread/WARN]: Ships is not running on Paper. For a 'better' experience, use Paper as it runs faster and gives plugins slightly more control if they choose to use it
java.lang.NullPointerException: null
[21:42:11] [Server thread/ERROR]: Error occurred while enabling Ships v6.0.0.0 (Is it up to date?)
at org.ships.implementation.bukkit.platform.BukkitPlatform.initukkitPlatform.java:103) ~[?:?]
at org.ships.implementation.bukkit.CoreToBukkit.<init>(CoreToBukkit.java:39) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R2.tag.CraftBlockTag.getValues(CraftBlockTag.java:25) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at org.ships.implementation.bukkit.CoreToBukkit.init(CoreToBukkit.java:46) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at org.bships.plugin.ShipsMain.onEnable(ShipsMain.java:24) ~[?:?]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:351) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugins(CraftServer.java:406) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at org.bukkit.craftbukkit.v1_16_R2.CraftServer.enablePlugin(CraftServer.java:492) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at net.minecraft.server.v1_16_R2.DedicatedServer.init(DedicatedServer.java:219) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at net.minecraft.server.v1_16_R2.MinecraftServer.loadWorld(MinecraftServer.java:435) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:808) ~[spigot-1.16.2.jar:git-Spigot-379750e-9c9fb59]
-
View User Profile
-
Send Message
Posted Aug 14, 2020In reply to Decabyte0110:
The error is a new one to me. After a quick look it seems like one of the assumptions that Ships makes about Bukkit is no longer true (Ships needs to make this assumption as there was no direct way to get the data in 1.13 so Ships does a hacky way of getting it).
Please make sure your up to date on spigot and I will do the same tomorrow and test it myself.
I had tested it on 1.16.2 but it was a early version of it (1 hour after 1.16.2 released) so things may have changed. Ill reply on my findings
-
View User Profile
-
Send Message
Posted Aug 15, 2020In reply to Decabyte0110:
I have tested it on the latest version of Spigot with no luck of getting your error. The only thing I can suggest is that you update to the latest spigot if its not already.
For infomation of the Spigot version I used, the information is listed below
You can see this by opening up the spigot jar file then open the file called "version.json".
For a more traditional version number, here you go
git-Spigot-379750e-82542d0
-
View User Profile
-
Send Message
Posted Aug 11, 2020Hello everyone
A new addon has appeared. ShipsSkript.
Developing plugins isn't for everyone, but automation is so useful for a server. SkriptLang is a good half way house between getting automation but not developing a plugin. Use simple structured English to control parts of minecraft with SkriptLang.
The main issue with SkriptLang is its lack of directly hooking into plugins, it is possible, however required SKReflect which at that point, its easier to just develop the plugin in Java.
ShipsSkript bridges that gap, giving you access to Ships using SkriptLang without the need for reflection.
-
View User Profile
-
Send Message
Posted Aug 10, 2020Hello mosemister,
I don't know if you're still providing support for the older versions of your plugins, but I quite enjoyed Version 4 on MC 1.7. I upgraded my server to MC 1.8.8, and downloaded the last version of Ships that supports 1.8, which was 5.0.1.7/8.
When I start up the server, Ships loads properly and everything, but when I try to make a new vessel, the plugin doesn't find any blocks. I narrowed it down to what I believe is the materials.yml file, which is empty, and undocumented for Ships 5. I would appreciate your help with this. I saw the video by Lt.Jim007, which briefly covers the materials.yml file, but I really don't want to have to transcribe a file from a video frame-by-frame, haha.
I tried installing the plugin on a fresh server, and the materials.yml file was still empty.
My server is PaperSpigot version 1.8.8 (The last "legacy" version you can download on their site).
Thanks!
-
View User Profile
-
Send Message
Posted Aug 10, 2020In reply to HittTheDekk:
I try and help anyone who has an issue. From what I can remember there was a bug on the older 5.0 versions whereby the materials list would not generate (cannot for the life of me remember why).
When i get a chance, i still have my 1.12.2 (Ships 5.0.1.14) setup - whereby the only difference between both the 5.0.1.7/8 and 5.0.1.14 material lists are the addional blocks that came with the MC versions - so I will send you that.
If the addional blocks annoy you or something then please message me, i still have the source code for all 5 versions so I can strip out the 1.9+ blocks.
There seems to have been a demand for Ships on 1.8 recently so I have been thinking about porting 5.0.1.14 back to MC 1.8 anyway, so you will get all the later features.
-
View User Profile
-
Send Message
Posted Aug 11, 2020In reply to HittTheDekk:
Here you go
https://pastebin.com/VkViNNxQ
-
View User Profile
-
Send Message
Posted Aug 9, 2020Hey everyone. Ships beta 7.1 will be coming soon.
This fixes a bug where an infinite loop occurs when refreshing the structure of the ship. This was caused due to two or more extended block lists getting the block list values from one and another and attempting to apply those extra values to itself.
-
View User Profile
-
Send Message
Posted Aug 8, 2020Nice work
-
View User Profile
-
Send Message
Posted Aug 9, 2020In reply to mitromniz:
Thanks
-
View User Profile
-
Send Message
Posted Aug 6, 2020Huge update incoming:
Its been a while since I have mentioned a new update before its ready. So here we go.
Beta 7 is currently being developed with a lot of fixes in mind and already ready to be shipped.
The first is a big one. In Ships 5 there was a feature called "resync" whereby if your server unexpectedly shuts off, minecraft itself may not save the world thereby a ship may essentially move back, however there is no way for ships to know if the server shut down unexpectedly, therefore the ships file will be out of sync with the server. Resulting in a error when launching ships saying "Unable to load file". Resync allows the ship to be resynced with the world again simply by clicking the licence sign fixing the error when loading.
The next big change is both Hoppers and Dispensers will keep there inventories on movement. This was actually caused by a bug whereby the word "this" was missing for both blocks.
Next is a small change but a lot have taken note of it. "Air is not directional" error caused by being in creative and left clicking a ships sign without a sword. This has been fixed in the next version
Itemframes now store the item inside the frame when moving. I am aware they still pop off when moving but it will be there after a move. Before I fully release it I am going to look at what can be done about the poping off issue.
There is a issue in the current version of ships whereby the licence sign will pop off when you create a new ship or fall. This was caused by the fall check of ships being active and applying to a ship that may not have been ready to accept falling. Falling wont be applied to ships that have not made at least 1 successful move in this next update
For those who run ships without a permissions plugin, you will notice that your none OP players will be able to use some of the commands now. Still adding to this to allow movement of ships and even creation of ships but its a start.
There is also a few other fixes and changes in this upcoming update however you will need to wait for the release of it and see the change log. This is by far the biggest ships 6.0.0.0 beta update ever.
-
View User Profile
-
Send Message
Posted Aug 4, 2020Hello, this comment has both feedback and bug reports.
In the current latest version (6.0 R2 beta 6.2), on a 1.16.1 spigot server, any movement, even on a relatively small ship, there is a quite long (about a second or two) delay before movement even starts, which in total makes movement as long as 5 seconds, especially with the default stack limit values. Is this intended behaviour?
Also, there is no way to check for special block % without trying to move, and with falling enabled it can be harmful.
Speaking of falling, at one point my watership started falling despite having enough wool, but I wasn't able to replicate it.
When right clicking a [Wheel] sign with no [Ships] sign, the bedrock illusion appears as normal, but it doesn't reverse naturally, and this shows up in the console:
[18:48:47] [Server thread/WARN]: [Ships] Task #807 for Ships v6.0.0.0 generated an exception
java.lang.IllegalStateException: No DisplayName
at org.ships.implementation.bukkit.scheduler.BScheduler.<init>(BScheduler.java:46) ~[?:?]
at org.ships.implementation.bukkit.scheduler.BSchedulerBuilder.build(BSchedulerBuilder.java:116) ~[?:?]
at org.ships.vessel.sign.WheelSign$1.onExceptionThrown(WheelSign.java:117) ~[?:?]
at org.ships.vessel.common.loader.ShipsOvertimeUpdateBlockLoader$OvertimeRunnable.onShipsStructureUpdated(ShipsOvertimeUpdateBlockLoader.java:34) ~[?:?]
at org.ships.algorthum.blockfinder.Ships6BlockFinder$Overtime.lambda$new$0(Ships6BlockFinder.java:95) ~[?:?]
at org.ships.implementation.bukkit.scheduler.BScheduler$RunAfterScheduler.run(BScheduler.java:16) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at org.bukkit.craftbukkit.v1_16_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:400) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at net.minecraft.server.v1_16_R1.MinecraftServer.b(MinecraftServer.java:1061) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at net.minecraft.server.v1_16_R1.DedicatedServer.b(DedicatedServer.java:354) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at net.minecraft.server.v1_16_R1.MinecraftServer.a(MinecraftServer.java:1009) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:848) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot.jar:git-Spigot-9639cf7-8fb6585]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_261]
also, when turning a ship, fences are not rotating properly (they end up at the opposite as to what they should be).
When using blockfinder_ships_six, moving would sometimes not work (tested underwater), with the chat message "Unknown error: minecraft:air is not directional". This was when left clicking a [move] sign in creative mode, and I think for some reason it isn't restored in that case, so maybe the finder tries to check the direction of air thinking it is still a sign?
Are waterships supposed to be able to be submarines? because they can.
Finally, how close do you think you are to a stable usable release? out of curiosity
Thanks for staying on course in such an undertaking.
-
View User Profile
-
Send Message
Posted Aug 4, 2020In reply to Sixela963:
The delay can be minimised with the right settings for your server, its typically where the default value for "entity finder" is too low (by default its 2, it can normally go much higher. It was a new untested value so I kept it low), some of the other default settings are designed for weak servers too just to make it accessable to everyone. Im more then happy to help adjust the settings for you.
As for checking perfect (all requirements), in the code for Ships, it requires something called a "Moving Structure" so you can check the requirements by setting the speed of the ship to 0. I am able to make it so you can check the "Micro requirements" which are the requirements that are checked for if the ship should fall or not.
As for bedrock not turning back. Thats a easy fix on my behalf, sorry that error is a old one that I thought I got rid of.
Fences not rotating. Thats a new one on me, ill need to test it.
Air not being directional, yeah im aware of the issue. Its part a issue on Bukkits end, part on Ships, trying to fix it. For the mean time you can use a sword in creative or not creative
Waterships being submarines. There is no good fix for this, all are resource heavy. So not sure how to prevent that.
As for full release. There are still some stuff I want to patch up such as Async block finding, the path finder for auto pilot stopping completely after a change of direction, some minor bugs here and there (some of which you have mentioned) and expose some more configuration options including messages. However the thing that is probably going to take the longest is the Sponge port of Ships.
Sponge is in the situation of moving from API 7 (which is MC 1.12.2) to API 8 (MC 1.14.4). From the changes I have seen of it, it changes everything (Sponge has been known to make breaking changes in the name of progress, something Bukkit doesn't do). However because Ships uses a translation layer between Bukkit and Core as well as Sponge and Core whereby Ships is built ontop of Core, its likely that Core would need to change a lot to suit the new changes from Sponge, which means that its likely that the Bukkit edition of Ships will spring out with new issues to patch. Therefore im not comfortable in releasing Ships fully until Ships is ready for both Bukkit and Sponge (Server version of Sponge at least).
Its hard to say when Sponge will have a release of API 8 for public testing, but the rate they are going, it should be out before 2020 (should be much earlier then that but just in case).
Edit:
Sorry I read your "Fall" issue but forgot to reply. In the next update there is going to be a flag stating that if the ship has sucessfully moved or not, only after a sucessful move will it check for fall
Edit2:
Just found the issue with Fences. Turns out it only affected blocks when you rotated left (when rotating right it was unaffected). It affected any block that was classed in Bukkit as "MultipleFacing" which fence is a part of. It will be fixed in the next update
-
View User Profile
-
Send Message
Posted Aug 2, 2020Im getting this error. Any ideas why?
[04:55:28] [Server thread/ERROR]: Could not pass event InventoryClickEvent to Ships v5.0.1.14
org.bukkit.event.EventException: null
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:319) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:589) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:576) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.PlayerConnection.a(PlayerConnection.java:2191) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.PacketPlayInWindowClick.a(SourceFile:32) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.PacketPlayInWindowClick.a(SourceFile:10) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.PlayerConnectionUtils.lambda$0(PlayerConnectionUtils.java:19) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.TickTask.run(SourceFile:18) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeTask(SourceFile:144) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeNext(SourceFile:118) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.MinecraftServer.aZ(MinecraftServer.java:943) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.MinecraftServer.executeNext(MinecraftServer.java:936) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.IAsyncTaskHandler.executeAll(SourceFile:103) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.MinecraftServer.sleepForTick(MinecraftServer.java:919) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.MinecraftServer.v(MinecraftServer.java:852) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at net.minecraft.server.v1_16_R1.MinecraftServer.lambda$0(MinecraftServer.java:164) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
at java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: java.lang.NoSuchMethodError: 'java.lang.String org.bukkit.inventory.Inventory.getName()'
at MoseShipsBukkit.Listeners.BukkitListeners.inventoryClickukkitListeners.java:512) ~[?:?]
at jdk.internal.reflect.GeneratedMethodAccessor6.invoke(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:315) ~[spigot-1.16.1-120.jar:git-Spigot-c3a49df-2f18108]
... 18 more
-
View User Profile
-
Send Message
Posted Aug 2, 2020In reply to Decabyte0110:
Yes. Your using Minecraft 1.16.1 but Ships 5.0.1.14 (MC 1.12.X only). As the title of your Ships version states, it only works on Minecraft 1.12.X.
Try Ships 6.0.0.0 for Minecraft 1.13+. You can find all versions of Ships here.
https://dev.bukkit.org/projects/ships/files
-
View User Profile
-
Send Message
Posted Aug 3, 2020W odpowiedzi dla mosemistera :
mam problem na serwie
-
View User Profile
-
Send Message
Posted Jul 29, 2020hello, ive been using this plugin for a little while and it works great. my only problem is that i can't increase the speed of ships in the config. for example, i tried increasing the airship speed up to 50, but in-game the engine only goes up to 10. the same thing happens for all ships.
so, I'm wondering is there a way to increase the ship speeds? am i doing something wrong?
version is 6.0 R2 Beta 6.2
-
View User Profile
-
Send Message
Posted Jul 29, 2020In reply to kirbyelement25:
When you say you changed the value in the config? What config are you talking about? The ship type config? The vessel data config?
-
View User Profile
-
Send Message
Posted Jul 30, 2020In reply to mosemister:
Yes, I meant the ship type config. idk if the vessel data works but i would rather not manually edit everyone's ships although i am willing to do it.