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 Forge_User_47336205:
Thanks for the image. After looking at it, I built a ship with the same bottom on my test server and got the same result, so I managed to fix the issue very quickly.
I have also added a few events into Ships. I would advice looking at the nested events inside VesselMoveEvent, there is also VesselStructureUpdate if you need.
Before I go to bed Ill update that API page as some of the information in there is now out of date (Ships are stored in RAM now so they dont need to be loaded for instance)
The update has been tested and is uploaded, just waiting for bukkits approval.
In reply to Mosemister:
Just got home from work to test it. Works like a charm, I'll take a look into the API once I have some time to dig into it.
Thanks!
In reply to Forge_User_47336205:
Glad its working for you. Tell me how the api is, if there is anything you want adding/changing just shout and I'll see what I can do
Just downloaded and installed. it looks really cool! but sadly when I try to make a ship it just tells me in-game chat "[Ships] is not installed on this server" i play a 1.14.3 server using spigot not sure what ive done wrong or how fix :/
In reply to danylwb:
What are you writing on the sign? I need to know exactly what your writing line by line.
That error message occurs when you try and create a ship type that doesn't exist. Due to the fact the ship type name is blank (should be before the "is") my guess is your leaving this line blank. However i want to be sure.
In reply to Mosemister:
I write:
1. [Ships]
2.
3. S.S. Blue Lotus
4.
In reply to danylwb:
You need to provide a ShipType on line 2.
1: [Ships]
2: <Ship type>
3: <Ship name>
Currently there are the following ShipTypes in Ships 6.
1: OPShip
2: Airship
3: Ship
4: Submarine
5: Marsship
An example of a sign would be the following
1: [Ships]
2: Airship
3: ExampleShip
In reply to Mosemister:
Alright, Thanks!
In reply to Mosemister:
I've got another Question/issue.
I'm trying to make an airship though it says "[Ships] Your vessel needs 0.0 of (of either) [WOOL]."
Then when I remove the wool it says "[Ships] Your vessel needs 100.0 of (of either) [WOOL]."
In reply to danylwb:
It seems like your running Ships 5.0.1.14. which is not compatible with Minecraft 1.13 or better. Please make sure your running Ships 6.0.0.0, you can check what version your running with the following command.
/Ships info
In reply to Mosemister:
it would seem you are correct I am running 5.0.1.14 I will swap to 6.0.0.0
Thanks! I will let you know if I have any more issues!
In reply to danylwb:
Glad i could help
Hi
The new version no longer causes the server to crash, but (Sticky Piston)
This material, after I click [Down] under the [Altitude] logo, the Sticky Piston will fall.
I will report this problem to you first, maybe wait for the next update, it can be fixed, and I will continue to use it. If I find the problem, I will report it to you again.
Your work and plug-ins make me awe. As you said, minecraft has 500. Multiple blocks, and each block has to be plugged in, so this work makes me feel very difficult, thanks to everything you do for the plugin.
In reply to kevinhsneh:
I will take a look at the sticky piston error. Thanks for your patience.
The main issue im having is Bukkit does not have the ability to remove a double block (as in a block that takes two spaces). In regular minecraft a double block when broken will not drop anything, but instead it will remove the other block and that block would give the drop.
This means when I destroy one half of the block, the other is dropping the item. This meant I couldn't fix the issue with simply marking the block as Attachable. I had to get creative which is where the current fix comes from. By stopping any and all items from spawning on the location of a ship when that ship is in motion. The problem with getting creative is that others bugs normally arrise, or something goes wrong.
You can see parts of this plugin where I have needed to get creative such as activating no gravity when the ship is in motion to combat the long move times of large ships, which has caused the no gravity glitch I keep putting stops to, but somehow still continue to get reports of.
In reply to Mosemister:
HI
After I repeatedly use the plugin, my personal thoughts are to be sugge understand programming, I think this plugin should work better.
Your approach. .
When the captain clicks the [MOVE] or [[Altitude]] sign, the captain becomes gravity-free first, then the position of the [MOVE] block is tracked, and the captain is teleported to that position, which allows the third eye to see the captain's body receding. The faster the speed, the farther the captain's body recedes.
my thoughts. .
If you can do it, click on the [MOVE] logo to make the captain's body invisible (such as stealth), and then appear in the position that should appear, maybe the effect can be better.
Second thought. .
Click [Wheel] whether it should be able to maintain the captain's gravity (because it does not seem to involve the movement of the block), so maintaining gravity allows the captain to turn in the direction of the turn.
As for. . The block falls due to a collision
>> Your original text
The main issue im having is Bukkit does not have the ability to remove a double block。。。
<<
I thought, does it mean that the block maintains the original properties of minecraft, and in fact, when the hull moves, if the block is first changed to a different property (for example, changed to an air block) and then moved, then the block is restored. Attributes, whether or not such a collision can be improved.
Maybe my thoughts are too naive, because I don't know how JAVA does this thing. This is my personal thought, I just hope that the plugin can be better.sted to you. Some of them may involve programming. Although I don't
In reply to kevinhsneh:
Hi. So turning the player invisible will not do anything to help the issue that arrises from the no gravity issue. As mentioned before the issue is that longer movement times (caused by larger ships requiring more processing). Turning the player invisible will still make the player fall off the ship to there death (normally) and Ships will still need to disable the invisible which seems to be the problem.
As for the wheel sign, it sadly uses the same code. Not only that but sadly the no gravity is still needed for if the player is close to the edge of the ship and the block they are standing on no longer exists after the move.
As for keeping block properties. You are correct in the fact that Ships maintains the block properties of the old location even if that was destroyed, however turning the block to air will still cause a block to drop. (Ships actually turns the entire of the old location to air first before spawning the ship in its new location).
I have been thinking of other ways to get around the no gravity issue, one of which is to not turn the ship to air instead change the new location first and then remove the old location if the blocks have not been replaced. However there is a chance of the player ending up inside a wall with that one.
Another idea was to teleport the players with the block they are currently standing on. However due to how complex the movement is already, adding a check to all the blocks while moving will reduce the speed considerably.
There are more ideas, however they all came with dire issues, those two were the most logical though.
In reply to Mosemister:
Yes, [Wheel] is my idea too naive, the code should be the same, the problem is less
As for gravity-free, it is necessary, or you have already worked on the whole code, and you have done a thorough consideration. Your approach has been perfect. Any change will not help solve the problem. You are right.
I am thinking of an idea for your reference.
Suppose this plugin limits the position of the player standing, is it OK?
For example. .
For example, let the player stand on a brick. . Or a piece of wood, click on the [MOVE] sign to move the boat forward. If you don't stand on this brick or board and click [MOVE], the boat will not have any movements. This allows the player to establish the position of the ship. However, does it mean that the code is more efficient, and it is not necessary to search for the position of the player to fall or not, etc.
After moving the block, the player still stands in this position.
This is also in line with the actual sailing situation (after all, the captain will not stand in the corner of the deck to sail), such restrictions, the player accepts a large degree, may be able to reduce the complexity of the plug-in code, and then use better code in the other Place, not to check the player,
I don't know if it helps. .
The above is just my thoughts
In reply to kevinhsneh:
Sadly it doesnt help. Due to the fact Ships can move any distance (just change it in the config for the ship) the player (and all entities) must be tracked.
Limiting the block that the player can stand on will not help either, as this will only restrict freedom for the player.
Like you said, the code works currently with very few bugs, so I wont be changing it any time soon.
Found a bug while trying to use this plugin, I installed it into my server and suddenly no items would drop anymore. Break a block and nothing drops, drop an item and no drop spawns in, etc, etc.
Found out that this plugin was doing it after I took it out and stuff began dropping again.
In reply to Vipersden01:
Well thats strange. You can use the previous version (alpha 1.11) which will fix that. Ill take a look to see what's happening.