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
In reply to Mosemister:
It's ok, I don't expect that weird destroying method would work either.
In reply to Neubulae:
If you want the error to go away just remove the issued files. Ill add in a new cleanup command for detecting issued filed.
I can't add my own type of ship?
In reply to Neubulae:
How do you mean your own ship type? Do you mean via plugin - as in the plugin adds the shiptype in? Or do you mean the none programming way?
Also what version are you using? 6.0.0.0 Alpha 1.14? 5.0.1.14? A different version?
In reply to Mosemister:
I added a few yamls and doesn't work
In reply to Neubulae:
If you mean in Ships 6.0.0.0, then, it wont work as the custom ship type loaders and implementation are yet to be added, it is planned before full release of Ships 6.
another question for ya, what makes a ship auto pilotable?
In reply to danylwb:
A class that the implementation of the vessel needs to implement to make it autopilotable.
The class is called FlightPathType and all it includes is a simple getter and setter. https://github.com/Minecraft-Ships/ShipsForCore/blob/master/src/org/ships/vessel/common/assits/FlightPathType.java
If you mean how to use auto pilot. Thats very simple, a command. You need to know the x,y and z of where you are going.
After that simply use the /ships autopilot command. Please note that it is not finished, there is a current big where it will travel to one of the "checkpoints" and then think that its a done job.
In reply to Mosemister:
ok cool! is there a way I can have the autopilot move faster or rather more blocks at a time?
P.s. also I'm sure you are aware of this, but normal ships get stuck on seaweed is there a quick fix I can apply to fix that?
In reply to danylwb:
I can not remember if I have added it in the config and if i had, if it reads from it. But there should be a autopilot option in the config, with the amount of time before the ship move again and the time unit its measured in (miliseconds, microseconds, minutes, etc).
As for your seaweed issue, yes. Take a look at the blocklist.yml file (above your config file). In there controls all the blocks. You will see a CollideType for every block, there are 3 types of collides.
DETECT_COLLIDE: this being that driving into the block will give the error message of collide detected.
MATERIAL: this being that the block can be used as a material
RAM: this being that driving into the block will break that block.
For your seaweed issue, change the CollideType of seaweed to RAM.
There is also a command to change the collidetypes. Use the /ships blocklist command.
In reply to Mosemister:
Thank you very much! This is really awesome being able to chat with you and get feedback! I and my friends are really enjoying this plugin! We have already become sky Vikings!
In reply to danylwb:
Glad your enjoying the plugin. And taking control of the sky ;)
In reply to Mosemister:
Yes, it has been great fun! I changed Kelp to RAM though it seems to still not let me move through the Kelp. it tells me that the Kelp is in the way. Kelp in the Blocklist is line 1756 Idk if you need to know that. I've tried restarting my server still seems to not let me pass-through
also if I use the command /ships blocklist set collidetype RAM minecraft:kelp it tells me
"Unknown collidetype of RAM" So I changed it manually in the Blocklist.yml
In reply to danylwb:
That is strange. When i get a min I'll test it on my end and see if i can work out whats happening
In reply to danylwb:
I suspect that the grass and kelp may be in the water, not the air, you may also need to change these four kinds of RAM, kelp, kelp_plant, seagrass, tall_seagrass,
In fact, the transformation of ships to reduce the contact with seawater on the wood and floor, can also easily avoid the marine plants, you may be able to do so before the author solves the problem.
For some reason the default airship doesn't deplete the coal it uses when I move the engine.. with one coal in the furnace for 5 minutes of testing.. same with submarine.. is this normal? in the config I also bumped up the consumption to be sure and still no. Thanks!
In reply to adamartus:
Its a known bug in Ships 6.0.0.0 Alpha. I am working on a fix, just trying to find out whats going wrong.
Heya,
I'm not sure what I'm missing; but I'm new to Ships - and get the following when moving a water ship:
https://imgur.com/a/24meUuz
Is there a Config option for filling in water? If not - is there an API for Ships6 so I can get a "ShipMoveEvent" and then run my own check on water in the area to level it out? if so, is there an example implementation of getting / using the API?
Cheers!
In reply to Forge_User_47336205:
Oh wow, thats a strange error. What does your ship look like?
As for an API, there is one, however the Events are not implemented yet, ill add the events into the next update and attempt to get the water level detection working better to sort your current error.
Also bare in mind that Ships uses a compatibility layer for both Bukkit and Sponge called ShipsCore, the events work slightly differently in ShipsCore to regular Bukkit (its mainly just the wording and the objects you use.
There is currently no examples of how you would implement it, this is mainly because ive been working on the main plugin instead of the pages associated with Ships (hence why its got old Ships 5 information above). But Ill show you how to do everything when the next update comes. This is the current page showing how to use ShipsCore and Ships.
https://dev.bukkit.org/projects/ships/pages/api/ships-6-r2
Currently if possible, could you send a picture of your current ship so i can optimize the water level detection. That would be great
In reply to Mosemister:
That's okay, the current ship looks like the following: https://imgur.com/a/E3QIbAd
Would love to take a look at the API once you're comfortable with the implementation. Don't worry too much on the documentation, I'm sure I'll muddle my way through it once it's all up and sorted, definitely can understand how the updates take priority over writing it all out atm :)
(Oh and running 1.14.2 just in case that helps)
Cheers for taking a look!