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 Jul 25, 2019In reply to Mosemister:
In reply to Mosemister:
How about something like Lazy detection? Like, once it detected the interior it would simply ignore everything else and count newly added blocks as detect_collide or something like that. But right-clicking on the license sign would update the detection and allows newly added interiors?
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Neubulae:
Knowing that a reload fixes the issue is very useful, it means that the file is being created. Its just failing to read it. Ill see what i can do in attempt to bypass the reading of the file for newly created Ships as all the data should be present.
As for lazy detection, Ships 6 has a feature planned for it. It uses the BlockFinder algorithm. The issue is that the old Ships 5 block finder can not be modified to use lazy detection as it does some hacky things that no programming language likes (Not my design, previous owners design - just been modified for speed by myself). The Ships5 block finder is the default block finder in Ships 6 as the new block finder is much slower, but can detect about 4000 more blocks before something complains.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Mosemister:
So overall it is possible to detect interior and exterior efficiently?
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Neubulae:
Yes and no. Because Ships was never designed for lazy tracking air (so interior), that part will not be. However the external ship was designed for lazy tracking so that bit will be.
Ships 6 was also designed with the ability to only update your ship via clicking the licence sign, so that feature will come eventually.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Neubulae:
Hi, so I took a look at the error in much better detail. The issue isn't with the newly created ship, but an older ship that is successfully loading initially, but failed to grab data from the world. Bit confused on how this happens as the data required to load initially is the same data needed for the grabbing of data at the later date.
Ill see what I can do to get around the error you are having, or at least tell you which ship is failing to get data.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Mosemister:
I guess I know, I destroyed a lot of vessels and found that their vessel data still remain.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Neubulae:
Did you destroy them on a older version? The destroying of vessels will always delete the file unless its destroyed by another plugin. In older versions you were able to destroy the sign with an explosion (such as creeper or tnt) and in even older versions, it just didnt delete the file.
It still doesn't explain why the original loading was successful, as that requires that the location must be a LicenceSign.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Mosemister:
I destroy them in plugin-ish way so yeah... maybe? But I didn't destroy them in any older version. The first version I use is simply this one. 6.0 R2 1.14.
-
View User Profile
-
Send Message
Posted Jul 25, 2019In reply to Neubulae:
How do you mean plugin-ish?
Also does your ships version soft crash when you reload the plugin? (As in it gives a error message but it still works fine)
-
View User Profile
-
Send Message
Posted Jul 26, 2019In reply to Mosemister:
when I reload the plugin by Plugman it works fine. Plugin-ish is that I worldedited it or using other destructive methods like explosive pickaxes.
-
View User Profile
-
Send Message
Posted Jul 26, 2019In reply to Neubulae:
WorldEdit will definitely not set of the event. The explosive pickaxe, it depends on how the explosion was created, but its probably the most efficient way which will not either.
This is a issue where there is no efficient way around. The way to get a efficient one is to get Bukkit to add an event for BlockBreakEvent via plugin, the same with ExplodeEvent however I have attempted many time to get them to add more events, they turned to me and said no, make a bukkit implementation and do it yourself (im paraphrasing but had the same end message). So there is nothing I can really do to help that sadly.
-
View User Profile
-
Send Message
Posted Jul 26, 2019In reply to Mosemister:
It's ok, I don't expect that weird destroying method would work either.
-
View User Profile
-
Send Message
Posted Jul 26, 2019In 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.
-
View User Profile
-
Send Message
Posted Jul 24, 2019I can't add my own type of ship?
-
View User Profile
-
Send Message
Posted Jul 24, 2019In 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?
-
View User Profile
-
Send Message
Posted Jul 24, 2019In reply to Mosemister:
I added a few yamls and doesn't work
-
View User Profile
-
Send Message
Posted Jul 24, 2019In 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.
-
View User Profile
-
Send Message
Posted Jul 24, 2019another question for ya, what makes a ship auto pilotable?
-
View User Profile
-
Send Message
Posted Jul 24, 2019In 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.
-
View User Profile
-
Send Message
Posted Jul 24, 2019In 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?