1. Important information on Next Recommended Build

    Hi Guest,

    We're cleaning up our code to help us better prepare for the release of Minecraft 1.2. As a result, a lot of old, inefficient and buggy code is being removed and plugins will need to be updated.

    Please check your plugins, find out if the plugin developers have been keeping everything up to date and kindly let them know that they need to update their plugins to make sure they will be ready for R5.

[INACTIVE][MECH/FUN] MoveCraft v0.7.1 - Cars, Planes, and Boats made of blocks [1185]

Discussion in 'Inactive/Unsupported Plugins' started by SycoPrime, Jan 18, 2011.

     
  1. Offline

    SycoPrime

    MoveCraft - Cars, Planes, and Boats:
    Version: v0.7.0

    Build a vehicle of any shape and size out of blocks, the same thing you probably already built one out of in Minecraft. With MoveCraft on your server, you can take it for a spin / joy ride!

    MoveCraft was originally developed by Yogoda.
    Then ported to Bukkit and advanced by SycoPrime.
    MoveCraft is now in the hands of Valgor.
    You can find new information on the BukkitDev page.

    WARNING!
    MoveCraft is a fairly demanding plugin, and tends to lag on servers where even a few dozen plugins run fine. If the plugin does not run with an acceptable speed on your server, then that is the way it is, and I suggest not running the plugin.

    Download
    0.7.1 (for CraftBukkit 602-1185)
    Permalink
    Source

    MoveCraft Forums

    Video guide to using craft

    Video guide to installation

    Guide to craft types

    Commands
    Replace "[CraftType]" with the name of the type of craft you are using.
    [command] is specific to each craft type, and defined in its craft type file, and referable in the craft type list.
    • /[CraftType] [command] sail or pilot the craft
    • /[CraftType] release release the craft
    • /[CraftType] remote switch on/off the remote controller
    • /[CraftType] info gives information about the current craft
    • /movecraft types list the types of craft available to you, with size restrictions
    • /movecraft list list all the craft controlled by the players, with size
    Craft can be controlled (piloted and released) by placing signs on them with specific text. The idea of "driving licenses" is that only ops would have the ability to place signs with this text on them, and they could define per-craft usage for specific players or groups by placing these signs.
    Code:
    First line: craft type
    Second line: craft name [optional]
    Third line: craft owner (player or permission group) [optional]
    MoveCraft is the parent node, with all commands such as debug appearing directly under it. All craft are movecraft.craftname, and are checked by individual command. Some example nodes are:
    Code:
    movecraft.aircraft.*
    movecraft.car.*
    movecraft.boat.sail
    movecraft.boat.info
    To add access to all functions of all craft to any user (inadvisable, as only ops should be given full access, and they should have it already) add the following to their permissions node:
    movecraft.*
    To do list:
    • Update drill to support breaking drill blocks
    • RestrictedBlocks
    • Add a check to structureblocks to make sure users haven't added invalid block ids, or something chaos-ensuing like water.
    • Multithreading
    • Warps move with craft
    Known Bugs / Issues:
    • The drill should have a means of ascending.
    • The drill is carrying around water unintentionally
    • The drill, in general, is much buggier than I'd like.
    • Non-cubic craft which have the world in their bounding box upon detection go ahead and take some world with them.
    • Craft can no longer be dynamically built until I can figure out a way to determine if a block was placed in a player interact event.
    • Paintings do not move with craft
    Long-term to-do list, which will be addressed when the above two lists are completely resolved:

    • Automated craft movement using "engine" blocks
    • Waypoints for automated craft
    • Fuel consumption from items in chests, required for certain craft to move
    • Trains
    • Craft which can warp between worlds
    • Hyperspace movement (cover lots of blocks at one time)
    • Craft which can move into unloaded chunks
    • Docking & landing
    • Torpedoes
    • Bricklayers
    • Compatibility with controllerblock
    • Output to signs ("engine 1 is on", "fuel level: 50%" and so forth)
    The easy answer is do this.


    All bug reports will be ignored unless they meet the following conditions:
    1. Craftbukkit version and MoveCraft version must be given. Posts which do not contain this information are obviously not bug reports, and will be treated as idle commentary.
    2. User must test having turned off all other plugins, restarted the server, to verify that the issue is directly with the MoveCraft plugin, and not a conflict with other plugins.
    3. Please copy the output from the server console. If no messages or errors come up, please type "/movecraft debug" in the chat of the game, redo whatever is causing the error, and provide the console output from that.
    I can't fix an error if I can't replicate it.



    The MoveCraft you know and love today would not be possible without contributions (of code) from users like Afforess, Sunkid, and TeamFluff.
    The rest of you need to be more like them.

    Having trouble configuring MoveCraft? Not anymore

    User-created vehicles can be found here

    Server List

    Changelog
    MoveCraft 0.7.1 (for CraftBukkit 818-1185) [on 9/21/2011]
    • Verified working with 1.8.1.
    • Added new blocks from 1.8.1
    MoveCraft 0.7.0 (for CraftBukkit 818-1060) [on 8/18/2011]
    • <Bug> Fixed problem with blocks with data (wool, slabs, etc.) not being properly detected as data blocks.
    • <Bug> Fixed issues with water on craft
    • <Feature> Added SunKid's extensions so that plugins can listen for MoveCraft events.
    • <Feature> Hatches should now work okay
    • If you want hatches on the edges of your craft (nothing below or above them), you'll need to add them to the structureblocks list for that craft type (or the global config if the craft type file doesn't overwrite the setting)
    • Internal file restructuring, mostly for readability
    • Minor optimizations
    • When moving, craft now disassemble from the top down, and reassemble from the bottom up.
      This is probably going to mean slabs once again won't work right, but the tradeoff is less lag in movement.
      I'll try to implement a different fix for that soonish.
    • /crafttype size function removed, as it is part of info
    • /crafttype setname appears to work
    • <Bug> Fixed the issue with doors, potentially other blocks, thanks to TeamFluff
    • Fixed drills not dropping blocks (HungryHungryDrill config setting was accidentally "true" by default, now "false". Users with existing config files will need to manually change them, or recreate)
    • <Bug> Fixed bottom level duplication bug
    • General improvements to rotation
    • <Bug> Fixed chest duplication bug
    MoveCraft 0.6.9 (for CraftBukkit 602-860) [on 6/1/2011]

    • Config file extension changed to XML
    • Config setting "writedefaultcraft" has been removed, but the jar still creates the craft type files automatically (reverted changes made in beta releases)
    • Config setting "HungryHungryDrill" added to allow for drills that simply do not produce blocks. (Accidentally set to default)
    • Changed config setting "ForceTeleport" to "TryNudge" until better success is achieved with Player.setVelocity
    • Fixed cacti
    • Fixed craft not moving through snow
    • Fixed an edge detection issue brought up in 0.6.9 betas
    • fixed the zoolander issue (craft had problems turning left)
    • Added global "forbidden blocks" setting to config files
    • <Bug> Signs placed side by side on walls now resolved
    • <Bug> Double chest issue resolved
    • <Bug> Better handling of moving all entities on craft
    • <Feature> Craft should now ignore item entities onboard while moving.
    • <Bug> Part of the craft now places blocks from top-down instead of bottom-up as a way to partly resolve one of the issues steps were having.
    • <Feature> /<craft name> might work for names without spaces, ones with spaces coming soon
    • <Feature> Added a config setting for "RequiresRemote", where the craft will only move using the item defined as the remote
    • Added a config setting for "LogLevel" as a prelude to debugging with greater depth.
    • <Feature> Several improvements have been made to the rotation code currently implemented.
    • <Bug> Miscellaneous updates to rotation
    • <Bug> Water behind rotated craft works
    • <Feature> Added support for note blocks
    • <Feature> Added the ability to take remote control of a craft you're not already piloting, by pointing at it and typing "/<crafttype> remote"
    • <Feature> Added the ability to remote control craft in general with "/remote" (rather than only "/<crafttype> remote" as before)
    MoveCraft 0.6.8 (for CraftBukkit 602-860) on [4/10/2011]:

    • Altered plugin structure to support Player_Interact in place of older functions (please note, this introduced an error).
    • Craft moves all entities on it (Minecarts, dogs) rather than just players.
    • Attempted to add a means of moving players without teleport, failed.
    • Fixed Furnaces and dispensers not retaining inventory through movement
    • Multi-threading support added (but not stable)
    • Resolution of the "ridiculously long plugin" warning.
    • Namespace resolution as per regulation
    • Support for beds, half-blocks, and other Minecraft Beta 1.3 additions.
    • Fix to prevent crashing in the event of newly added blocks by handling them generically.
    • Signs on Craft now work, though not entirely as intended
    • Craft now sport three different movement options, which are set up per craft type, and not per individual craft of different types. By the default, the first is enabled, the other two are not. Theoretically, all could be enabled, but I wouldn't try it.
      To configure the options, add it to a craft type file in the form of "<name>=true/false", taking <name> from the list below.
      • listenItem: As it has been since being released on bukkit. Put something in your hand and right-click.
      • listenAnimation: Arm swing, theoretically just like hMod MoveCraft.
      • listenMovement: When the pilot moves, the craft moves. Theoretically it works for jumping (up), not sure if it'll work for ducking (down).
    • Two new craft type file settings that may or may not work (untested). Both of these work the same way as "structureBlocks", in that they are a comma-separated list of block IDs.:
      • restrictedBlocks: Structureblocks that are allowed by the default setting, but not counted as structure blocks for this particular craft type.
      • extendedBlocks: Structureblocks other than the default (set by config usually) that this block can use.
    • Two new config file settings:
      • ForceTeleport (boolean): Uses the old player teleportation on craft move style. Defaults to false.
      • ExperimentalMovementMultiplier (double): Multiplies the player "nudge" by this amount. Note that the current formula is (current craft speed * change in direction * this value). Defaults to 1.0.
    • Rudimentary rotation support.
    • Several small, undocumented fixes and changes that have unfortunately vanished from my memory.
    MoveCraft 0.6.7 (for CraftBukkit 531-460) on [2/27/11]:

    • <Feature> Nijikokun's Permissions Plugin is now supported
    • <Optimization> Revamped the way config files are handled internally to the plugin
    • <Feature> Added a global config setting for structureblocks.
    • <Feature> Added a config setting for universal remoteitemid
    • <Feature> Added a craft file setting for remoteitemid
    • <Optimization> Added a check to see if the chunk the craft is going to move into is loaded
    • <Feature> Chests, dispensers, and furnaces now retain items during movement
    • <Fix> Changed the way flyblocks are handled, so that all craft should be able to require these blocks in order to be created, only if the craft file is written to do so.
    • <Bug> Fixed a bug with WriteDefaultCraft=true, but I am heavily considering just releasing the craft files with the plugin in future updates, rather than having them be created by the plugin. I welcome commentary on this decision.
    • <Fix> Yogoda fixed craft detection so that submarines and craft with water in them work better.
    Changes in version 0.6.6 "Oprah":

    • <Bug> Fixed inability to have multiple craft.
    • <Bug> Made vehicles plow through things on grass instead of everything that requires support.
    • <Bug> Fixed different cloth colors and log colors.
    • <Feature> Added config file
    • <Feature> Added a config setting "RequireOp" that requires users to be ops in order to work craft.
    • <Feature> Added a config setting "WriteDefaultCraft", which allows you turn off the generation of default craft files.
    • <Feature> Added config setting "CraftReleaseDelay" to configure the delay between when the craft is exited and when it is automatically released. Use "0" to disable automatic release.
    Changes in version 0.6.5:

    • <Bug> Fixed controlling vehicles with signs, sign coloring is currently not working.
    • <Feature> Added a timer when exiting the vehicle that releases the vehicle if you do not get back on or /<vehicle> remote within 15 seconds.
    • <Support> Generic forward compatibility for would-be-added blocks.
    • <Bug> Cleaned up more console spam.
    • <Bug> Fixed submarine digging exploit (probably)
    • <Bug> Tweaked the drill. It's still not finished.
    Changes in version 0.6.4:

    • <Feature> Yogoda fixed the drill. It now works as it should, including dropping items. The last thing left to do is figure out a way to make it go back up.
    • <Bug> Fixed doors on craft.
    • <Bug> Fixed errors in console.
    • Fixed issues I was having with git commits. Repository should reflect properly now.
    Changes in version 0.6.3:


    Negligible.

    Changes in version 0.6.2:
    • <Bug> Fixed signs.
    • <Bug> Broke the drill (incomplete).
    • <:D> Drill might also spew diamonds, make it rain!
    MoveCraft 0.6.1:

    • Right-click to move the craft.
    • Tools are now allowed to be in hand while moving the craft.
    • Implemented the drill (incomplete).

    This post has been edited 11 times. It was last edited by SycoPrime Nov 9, 2011.
  2.  
  3. Offline

    Masocristy

    Sweet!

    This is one of the most awesome of plugins, hands down.

    There is just nothing else like it. There just is not!

    +45 Code Exp to you.
  4. Online

    ledhead900

    So for sake of asking have got any plans to end the horrible lag everyone within the chunk of a moving craft gets that was there since Hmod btw. A reason Im afraid in the end made us remove it. Im im not mistaken that was what the last dev was working on prior to bukkit.
  5. Offline

    rity177

  6. Offline

    SycoPrime

    I don't get horrible lag, but I only play with three people at most, though at times in a zeppelin that well exceeded the default 1000 block limit. I'll have to find a server that runs the mod with more than that.
    It also depends on the server doing the hosting, and the craft you're trying to pilot. Also, any other plguins you've got going on play a factor.
    To be honest, it's not my highest priority, since this is the first I've personally heard of it, and I don't consider myself knowledgeable enough with the Minecraft server's workings to undertake optimization yet.
    That being said, I as time goes on, I will attempt to reduce lag anywhere and any way made available to me.
  7. Offline

    Yogoda

    Thanks a lot Syco, what you are doing is really awesome :)

    I'm sorry I had to give the mod to someone else, but I now really want to stop plugins development and take care of my server :)

    Having a full time job and developing plugins at the same time is really not a good thing to do, it is extremely frustrating not being able to progress fast enough and exhausting. This is for the best.

    I love you all,

    Joël
  8. Online

    ledhead900

    Fair enough but the Origonal creator left of there and he admited him self on the Hmod thread that there was known lag issues with craft that fly.

    We found Boats did the same thing so this was my reason to suggest what I did and yea I understand mate, our server had bout 10 ppl on and 7 + plugins at that point ppl in the chunk started to DC for unknown reasons we eventually pinned it on movecraft.

    oh and take care Joël we had some good times with this plugin so it was not all bad.
  9. Offline

    Yogoda

    It creates lag because it is a lot of blocks updates very fast. I'm afraid the only thing we can do is slowing down the speed at which the craft renders. We do an update every time the user swings the arm, this is not a good thing.
    Limp3 likes this.
  10. Online

    ledhead900

    I figured as much I remember it was not possible to do my last idea a shame too sadly, I think I have another idea tho.

    We could add an option for those with slower connections/servers to have the blocks remain client sided until they stop moving for example player moves the craft but its not updateded server side or it is but very slowly. It then re updates properly when they stop moving or have been stationary for xx seconds/min.

    Tho slower update mode would be an optional on/off global setting in its config.
  11. Offline

    rity177

    damn, i cant move anything. Right-clicking does nothing. but it does recognize me being on a craft.

    :sorry i must have misread use right-click WITH tools ;)
  12. Offline

    Yogoda

    Maybe something like this will be possible in the future, as they said : "different users seing different blocks". I guess we could send block updates to the clients, blocks being not updated server-side.
  13. Offline

    RussianMC

    How instal this plugin on server??
  14. Offline

    Raphfrk

    Also, it might be possible to reduce the bandwidth required by using the compressed data packet format for craft.

    See this thread. They said that they are going to be looking into it.
  15. Offline

    moonmike

    thanks a lot for this it works great on 66
  16. Online

    ledhead900

    Very cool indeeed
  17. Offline

    Yogoda

    That would be wonderful, maybe it could fix the lag, if it is caused by the spam of block update packets.

    Please keep us updated !
  18. Offline

    Raphfrk

    Well, they said they would look, however I doubt it is high priority.

    Selective block updates would be good too. For example, you could set it so that only players within 10-20 blocks of the craft are actually given every update.
  19. Offline

    HaloInverse

    You might be able to reduce the number of block updates (especially for large craft) by only updating the changed edges in the direction of travel.

    For example, imagine a "ship" which is just a 5x5x1 square stone platform. If the ship moves 1 block north, then in effect, the north edge of the platform grows 1x5x1 blocks, and the south edge loses 1x5x1 blocks. The four northernmost rows of stone blocks all "moved" out of their original positions, but the next-most-southern blocks moved into their place. So the ship can be moved north by updating only 10 blocks, instead of all 25.

    In this example, diagonal horizontal movement would need to update 18 blocks, but that's still better than the full 25. Vertical movement would update all the blocks, because the craft is only 1 block thick, and there's no identical blocks to move into positions previously occupied by other blocks.

    A 5x5x1 checkerboard of stone and cobble would need to update every block when moving northwards, because there are no repeated blocks in the direction of travel. But the flying checkerboard would be optimized when flying, say, north-east, because checkerboards repeat diagonally.

    Implementing this would involve checking if each block is the same as the neighboring block in the direction opposite to the direction of travel. If it matches, skip updating that block.

    The number of block updates then becomes a function of the surface area and complexity of the craft, instead of the number of blocks in it. Worst-case, this performs as well/badly as updating every block.
  20. Offline

    zanakinz

    New link please that one is down :(
  21. Offline

    Yogoda

    This is how it works already :)
  22. Offline

    Seth.D

    Any chance for a PushBlocks port?
  23. Offline

    HaloInverse

    Oops. Derp.

    Carry on, then.
  24. Offline

    Neph

    The drill works pretty well actually. I dont use the preset, I made a submarine-drill craft template and it works fine, great for making passages [IMG] And thanks for porting this, it's one of the best mods from hmod . I'm sure it wasn't easy!

    The one question I have is, do you intend to finally get rotation working? I know it's something yogoda had trouble with but it is the most crucial feature that movecraft still lacks. Even a quick and dirty implementation would suffice. Like taking the mid point of the craft as the pivot point and the players direction when creating the craft to be the foward vector. Right now ships often have to move backwards or jink left and right which just looks wrong [IMG]

    I know it's a pain to implement, but do you forsee being able to do it? And is it a priority for you? Again thanks for porting!
  25. Offline

    varpness

    Foreseeing the impending doom of Hmod, might I suggest moving the description of the mod here so there is no reason to visit another forum to read about it?
  26. Offline

    SycoPrime

    No, not derp. I value your suggestions, and had Yogoda not already handled that, I would have welcomed the challenge of getting it implemented.

    That's a Yogoda question. As he said, he's shifting toward a sever management role, rather than a plugin development role. If PushBlocks was ported, I have no time to maintain it as well at the moment.

    Could you send me that template / post it? I'll compare it to my own and try to get the default working better.
    Actually, it was. Surprisingly so.

    Yes. It's my first real major goal. That, and getting signs / chests to work right.

    Hey0 has said that he will keep the hMod forums around (at least for the foreseeable future). The same actually can't be said about the releases here, as this entire section will be replaced with Fill, where I fully plan to write a full and revised plugin introduction.
  27. Offline

    Seth.D

    Aww that's a shame. The front gate to my castle is broken without PushBlocks. Oh well, can't win at everything can I? XD

    Of course, there might be other people out there who want to port it. :p

    Anyway thanks a lot for porting MoveCraft. It was one of my favorite plugins ever and is the main reason I got my own server. The owner of the server I used to go to didn't want to install MoveCraft.
  28. Offline

    varpness

    For having a plugin named "Movecraft," you sure are afraid of moving a few words from one forum to another.
  29. Offline

    Yogoda

    I will need to port it at a point for my server anyway, I will create a thread with the ported version when it is done.
    Of course not my highest priority at the moment when the server is half broken.
  30. Offline

    Neph

    Sorry when I said I made a template I mean I literally just added the 'candig' property to a copy of the submarine template, so you have a submarine that can tunnel (i had no diamond at the time ^^'). That works very well but I think you had something else in mind for the drill.

    EDIT: In fact the default drill works fine for me too.

    Oh but just one suggestion, you haven't added:

    flyBlockName=diamond

    to the drill template, so when a user tries to create one they just get

    Not enough null to make this drill move.

    Which could confuse some people.
  31. Offline

    Skyve

    A small bug list for the moment (CraftBukkit #66)
    • Text is cleared from signs and doors break/become one cell high on movement.
    • Sign activation of the craft (with craft name/type) does not work.
    • /release command does not work (the only way to release seemed to input a take control command while standing on ground or on another craft)
    • Server log/console gets spammed with "PlayerName used Item ###" while moving the craft (where ### is the ID of the item being held)
    And thanks for taking on this awesome plugin (the main source of entertainment on my server). Please keep up the good work.

Share This Page