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
I tried it on my server and it`s quite slow. Ships move in delay and it`s not a computer issue. TPS constant at 20 , 20 gigs of ram and two processors.
In reply to Forge_User_39861406:
The default configuration file is designed to allow even the weekest of servers the ability to run Ships at the cost of being slow.
You can speed up Ships within its config by changing the stack values. To get faster moving ships you want to lower the "delay" value and increase the "Limit" value.
You will find there are 3 stacks to modify within the config, each stack relates to a different stage of the plugin. You can find out what stage the ships movement is at using the bossbar: visible: true option. So depending on what section is slow will depend on which values you focus on.
Most high end servers seem to get around a limit of 120 with a delay of 1 tick on both movement and block finding. Entity tracking most high end servers can get around 750.
Hope that helps.
Just to let you know, Minecraft Java edition is a game which hates something called "multi-threaded workloads" so you will find that from your two processors, one will be working really hard with the other not so much (unless your running multiple servers). To gain multiple processors it means you probably have two Intel Xeons, the Xeon family are known for a lot of cores that are only ok at single core performace. Therefore you may find that a single Core I9 or Ryzen processor will perform better for a server then two Xeons.
Is it possible to make the ships move any faster because when I move the ship it takes quite a while and the server is practically frozen for the whole timeFIXED This must have been an issue from an older update because it works now
also the ship de-materializes when moving is still an issue
In reply to tenitikgaming:
What do you mean by de-materializes?
In reply to mosemister:
Instead of moving all at once it removes blocks at a time the then replaces the blocks one by one when moving
In reply to tenitikgaming:
yep that will happen on the newer versions, by doing so it makes the server lag less (can reduce it completely). If you dont like it then you can make it go back to the previous way (such as Ships 1-5) then you can change it back in the config.
You should see something like this in the config. The line that starts with "Default" under "Movement", change "ships:movement_ships_six" to "ships:movement_ships_five" and then boot your server back up.
Is there anyway to make the movement more immediate? When I click "move" on the airship there is a good 15-25 second delay before it moves. I'm running apex paper server on version 1.16.1.
thanks for the time.
In reply to princeofrage413:
Depends on the settings you already have. There sadly isnt an option for immediate just simply because there are so many calculations required + ships is flighting a limitation of Minecraft which doesn't help.
If you send over your config i can tell you what you can do to make movement more immediate.
In reply to mosemister:
I have the same issue, could you help me as well?
In reply to Koidsman2:
Sure. Send over your config :)
Getting 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]
In 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
In 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
Hello 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.
Hello 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!
In 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.
In reply to HittTheDekk:
Here you go
https://pastebin.com/VkViNNxQ
Hey 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.
Nice work
In reply to mitromniz:
Thanks