Movecraft
NOW MOVED TO SPIGOTMC, CHECK HERE FOR NEWER VERSIONS:
https://www.spigotmc.org/resources/movecraft.31321/

A Brief Description
Movecraft is a plugin that has been designed to give purpose to those extremely large (and awesome) oceans as well as to simply give the option to Sail, Drive, or Pilot amazing Ships, Creations, or Zeppelins. It allows the player and/or players to craft Vessels out of blocks that can be piloted and thus moved. Hence the name MoveCraft.
Credit
Movecraft was first created by Yogoda for hMod.
Movecraft 3 is a complete recode. It's only similarity to the Movecraft of Yogada is it's name.
Documentation, Tutorials, Quick Start Guide, and Demo Videos
For documentation and information, use this link:
http://www.planetminecraft.com/mod/movecraft-reloaded---loraxe42s-fork/
Also the builds on that site are more up to date than the builds on this site, so download the latest version there. Please be aware the builds on that site have not been checked by the dev.bukkit.org staff, so use at your own risk.
Here is a brief summary of Movecraft features covered on that site:
Control Method Options
- Sign and Pilot Tool
- Sign only
- Direct Control (the players movements control the craft)
- Misc Commands - /manoverboard, /release, etc
- Remote Signs to remotely activate command signs from other parts of the ship (Turn turrets, launch torpedoes, etc)
Craft Options
- Basic craft configuration options including size, speed, allowed block types, required blocks, etc
- Customizable Cruise Control to keep the craft moving forward
- Customizable Fuel Burning behavior
- Customizable sinking/crashing behavior including smoke, explosion on impact, and uncontrollable dives
- Restricting motion to horizontal or vertical planes
- Customizable "Hover" land contour following behavior for cars and surface vehicles
- Optional craft teleportation
- Require water contact for sailing ships and water craft
- Crafts that explode when they collide with things for ramming or torpedoes
- Repair signs to repair your ship, requires mats, and can require a fee
Server Options
- Customizable Pilot Tool for craft control (or you can disable it to force sign only movement)
- Man Overboard timeout to allow anyone who falls out of a craft to get back in it
- Configurable WorldGuard protection against moving into forbidden areas or sinking over protected areas
Permissions
Movecraft uses the following permissions:
movecraft.<craft name>.pilot
movecraft.<craft name>.move
movecraft.<craft name>.rotate
movecraft.<craft name>.repair
For example, if you have a craft named "Airship", you would need movecraft.Airship.pilot, movecraft.Airship.move, and movecraft.Airship.rotate in order to completely use it.
There is also:
movecraft.<craft name>.create - only required if RequireCreatePerm is set to true in config.yml
movecraft.cruisesign - only required if RequireCreatePerm is set to true in config.yml
movecraft.commands - grants access to /pilot, /cruise, /release, /rotateleft, /rotateright, /craftreport
You can also control these granularly with:
movecraft.commands.release
movecraft.commands.pilot
movecraft.commands.rotateleft
movecraft.commands.rotateright
movecraft.commands.cruise
movecraft.commands.craftreport
Dependencies
Movecraft does not require any other plugin to function, however certain features require additional plugins:
WorldEdit (>6.0) - For repair system
Vault - For payment system
In addition, the following plugins are supported for compatibility:
Cannons - Cannons will move with a piloted craft
WorldGuard - Region protection
Most common permission plugins - Assign permissions to various craft features
madrealms.net
MadRealms is the home server of Movecraft, and we welcome any player looking for a good movecraft experience to our main server : MadRealms : The Skyland Pirates.
Join today at madrealms.net
Statistics <> This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:
A unique identifier
The server's version of Java
Whether the server is in offline or online mode
The plugin's version
The server's version
The OS version/name and architecture
The core count for the CPU
The number of players online
The Metrics version
Opting out of this service can be done by editing plugins/Plugin Metrics/config.yml and changing opt-out to true. <>
-
Donations
Donations go towards funding movecraft's development.

Source Code
Source Code is hosted on GitHub and commits are built by Jenkins CI. The Jenkins is not currently publicly accessible.
Builds are regularly posted to BukkitDev from our CI System.
Localisation
Localisation is fully integrated into Movecraft 3. Locale can be set inside the config.yml.
Due to a bug in GetLocalisations software, language packs are not currently available for download. We apologise for the delay and are working to get them uploaded to BukkitDev ASAP.
Submit a translation to your language at: http://www.getlocalization.com/movecraft/
Troubleshooting, Error Reporting
Please use this site to report errors and for troubleshooting assistance: https://github.com/msummers123/Movecraft-3/issues

-
View User Profile
-
Send Message
Posted Jan 11, 2014@mwkaicz
Yup. Got it, merged it, looks good. I did some basic tests and it no longer lets me move my ship in such a way that it would result in a chest on my ship merging with a chest not on my ship.
Updated beta for others to test. Same link as before.
In other news, I'm 90% done with my torpedo tutorial, which I have turned into an overall combat tutorial.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@AJCStriker
I made request to Loraxe repository few minutes ago. I tested all possible combinations of translation and rotation what I know. And in all cases I can't make a triple chest anymore. And I added detection of double trapped chests to detection task. So you can test it all too, but from my point of view I'm ready.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@Loraxe42
Let me know when your pull request passes the test case I set out below, i.e it cannot crash a server by moving chests adjacent to each other, and that movecraft doesn't quit on people.
mwkaicz same goes with you, give me a poke when you are ready for a pull.
-
View User Profile
-
Send Message
Posted Jan 11, 2014Found a bug with torpedo's/collisionExplosion. Previously the explosion would be centered in a corner of a colliding block, resulting in the torpedo being much less effective when firing from certain directions. Now it originates in the center of the block. While this makes the explosions more consistent, it also reduces their effect and server admins will need to increase the collisionExplosion value to compensate.
For the default Torpedo, a value of 6.0 seems about right.
Code pushed, beta build where it always is...
-
View User Profile
-
Send Message
Posted Jan 11, 2014@mwkaicz
To your latest post: I think that sounds like an excellent solution, combined with the other protections in case anything slips through. I don't know how it would slip through, but better to be careful than crash someones server. I'll sit tight and test other things until the pull request comes through.
@AJCStriker
Hopefully the above will address these concerns, so that when it happens it is handled better than it currently is.
Ironically, when setting up the test I found a bug with WorldEdit with chests that caused inventory loss. So, at least we know chests cause problems for others too :P
-
View User Profile
-
Send Message
Posted Jan 11, 2014@Loraxe42
Unfortunately the last time Movecraft got released with chests this stuff did happen and did crash servers. Anything like this which can crash the Map Updater should be avoided, especially when it is noticed before release.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@AJCStriker
Right, and there are protections against even that since the map updater checks for double chests and throws a custom exception to prevent server crashes or inventory loss.
I'm not saying its perfect. The exception handling could be more graceful as currently it prevents anyone else from moving until its resolved and the exception keeps getting thrown because the map updater data doesn't get cleared.
Honestly, I wasn't worried about how gracefully it handled that particular eventuality because I didn't consider it would happen very often. However, I can make it more graceful.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@Loraxe42
I understand perfectly. It isn't an issue of flying a double chest. It is the issue of flying a single chest, or multiple single chests using separate crafts, into a double chest, creating a triple chest.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@AJCStriker
Actually I think it might be you that misunderstands. It doesn't allow double chests, and will inform the user if they try to form a craft with one. Go ahead and do some tests with the current beta
EDIT: To be clear, you can cause a chest collision by either modify a craft after formation by, for example, deleting a block next to a chest and replacing the block with a chest or by flying the craft with a chest on its borders next to another chest outside the craft. In both cases, the map updater checks for a collision and throws a custom exception to prevent crashes or inventory loss in the chest.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@Loraxe42
No Loraxe, you misunderstand.
Create a Double Chest, then attempt to fly a crate into it, then another, then another.
This used to cause a client crash and I don't think anything has changed, nor that there is adequate protection against it.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@mwkaicz
Right, so that's actually what the plugin does right now in the latest beta build. I guess great minds think alike? :) It does not allow the craft to be created if there is a double chest on it, and if it finds a double chest somehow slipped through on the map update it will throw a custom exception on just the map update task so the server doesn't go down and the chest contents are not lost.
EDIT: to clarify, the above was not directed to mwkaicz's most recent post, but to an earlier one. Your most recent post sounds like an excellent plan to add another layer of protection.
Ok, I have done a bunch of testing.
Test parameters: 5 test crafts containing 50 chests each.
After crafts were run simultaneously at maximum speed for an extended period using cruise control. One craft was moved by hand in random directions with random rotations over the duration of the test.
Results:
Total chest translations - 1,620,000
Total block translations - 5,190,000
No observed errors in chests. When checked, all chests contained their original contents.
1 Movecraft bug was noticed: when a sign was placed on a chest and the craft was moved, a "severe map updater error" was seen on the console and the sign disappeared. The chest contents were unaffected. This is a known bug that randomly crops up if a "fragile" block is placed on another "fragile" block.
2 Minecraft errors were noticed: on one ship, many of the chests dissapeared due to lag between the server and client. They dissapeared visually, but were still there on the server. This is a known Minecraft error when alot of updates are sent rapidly between client and server, most commonly creating "phantom signs". It was fixed by logging out and back in. The chest contents were unaffected.
The other Minecraft bug that was noticed was that during extreme lag a player fell off a chest, at a distance of no greater than 2 blocks. They died from the fall.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@VariousArtist
So what about detecting chests around the craft in translation and rotation task? When it will be near new location the craft and will threaten collison of doublechests, then disallow move and make a craft-obstructed event.
What are you thinking about this solution? In my opinion, it's best way how prevent this crash, before it comes and it should work. I'll try it and let you know.
EDIT: Ok, I got it :) no problems during translation, craft stops one block before chest when is same type of chest on both sides. Now is impossible join chest from craft with anotherone which isn't on the craft. I must to do same in rotation task then I will make request to Loraxe repository (today event, in my time zone cca after 6 hours from last edit of this comment)
-
View User Profile
-
Send Message
Posted Jan 11, 2014@serpental
That should be a problem, what's the plugin name? Look one or two pages back on this site. Kyren_Leah has same problem as you.
-
View User Profile
-
Send Message
Posted Jan 11, 2014@Loraxe42
The biggest problem was when you moved a single chest next to a double-chest, because minecraft doesnt allow this constalation, but movecraft made it possible! Insta-crashed the server + client, if I recall correctly.
-
View User Profile
-
Send Message
Posted Jan 11, 2014Can someone explain me why this happens : I don't see error logs in the console btw.
I denied block 22, allowed piston (for the crates) So crates are allowed (they fly with the ship) and if you want to lock your ship at home just place a 22 (lapis lazulli) It all worked fine, today I log in, dafuq? Crates don't fly and lapis was allowed. Nothing wierd in the movecraft file of the ship.
Can someone tell me how this happens?
-
View User Profile
-
Send Message
Posted Jan 10, 2014@AJCStriker
Sorry, I've been away. There is a fairly simple solution, eliminate the chests during craft reconstruction and replace them when it is done. This is already done with dispensers. However, I am curious if you have been able to produce this issue yet. The system does forbid the use of double chests already, both during ship detection and it checks again during map updates. I will also do some more rigorous tests and share the results.
I agree this is an area for concern and we should be careful. But I think its a little early to throw out the idea.
-
View User Profile
-
Send Message
Posted Jan 10, 2014And its not generated with a plugin
-
View User Profile
-
Send Message
Posted Jan 10, 2014name: EscapePod maxSize: 55 minSize: 10 allowedBlocks: - 5 - 20 - 35 - 42 - 57 - 61 - 62 - 63 - 68 - 152 - 323
forbiddenBlocks: - 7
canFly: false canCruise: true cruiseSkipBlocks: 10.0 minHeightLimit: 10 maxHeightLimit: 144 collisionExplosion: 0.0 fuelBurnRate: 9.0 sinkPercent: 99.0 speed: 30.0 tryNudge: false flyblocks: 35: - 10.0 - 100.0 152: - 3.0 - 100.0 42: - 10.0 - 100.0 49: - 0.0 - 3.0 57: - 1.0 - 5.0
-
View User Profile
-
Send Message
Posted Jan 10, 2014@serpental please send one of your craft files, or tell something about world. Is generated with some plugin or not?
-
View User Profile
-
Send Message
Posted Jan 10, 2014@AJCStriker
I understand your situation very well, I know what can do an unexpected bug in some plugin (I got one total freez of server yesterday from another plugin). I was afraid of doublechests too, especially I expected problems during the sinking process and I undestand what's happening during translation, but I don't know how to help Lorax to solve this.
Honestly I think that was a mistake to add support for doublechests now. There are so many unexpected events that may occur. And I'm not sure f.e. how is solved when are doublechest and double trapped chest abreast. In my opion, there should be prevention against doublechests in tasks or don't support them jet all. (I prefere prevention, but I understand if you not) But there are many of important bug fixs and we must move (like a craft :)).
If you want, we can try to do it upside down. Lorax could merge his version of bug fixs (without support of chests) to my update. And merging of chests make as separated request next time. As we could not find any mistake in hovercrafts over two weeks of testing in our server. But final decision, how it will be, is yours.