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
Nice work
In reply to mitromniz:
Thanks
Huge 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.
Hello, 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.
In 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
Im 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
In 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
W odpowiedzi dla mosemistera :
mam problem na serwie
hello, 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
In 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?
In 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.
In reply to kirbyelement25:
When a ship is created, it takes all the data from the ship type and then uses that as its base. Therefore modifing the ShipType data will only affect ships created after the modification. Therefore any ships created before hand will need to be modified manually.
There is a change coming up whereby "defaults" are applied as ship data, therefore if you changed the ship type data it would change all the ships that used default data. Sadly I havent got fully round to that
In reply to mosemister:
i assumed thats how it would work, but even ships made after the change stay stuck at 10 speed max. I'm able to disable the burner and change wool percentage and it works on all new ships, just the speeds that don't change. i even tried reinstalling the plugin incase i messed up the config but it remains the same way.
In reply to kirbyelement25:
Thats odd. What shiptype is it?
In reply to mosemister:
i tried it on both airship and plane, i haven't tested the other shiptypes but I'm assuming the same thing would happen.
In reply to kirbyelement25:
Thats odd. Im not near a pc currently to test, however the code is there to read the ships speed from the file. Ill keep searching around for reasons before I get back to my pc. Once I do get to my pc I can do some testing
In reply to kirbyelement25:
Hey, I think I have found the issue. Patching the issue now. Should be fixed in the next update
In reply to mosemister:
sorry for the late reply but thank you very much. its a great plugin and i love it but my players havent been able to use it much yet, so ill check out the new update!
In reply to kirbyelement25:
Tell me any feedback to make it better for yourself and your users. Glad you love it.
In reply to mosemister:
dzieĆ dobry