Inactive [MECH] TrainCarts v1.71.2 - Link minecarts of different types together to form trains [2222]

Discussion in 'Inactive/Unsupported Plugins' started by bergerkiller, Aug 3, 2011.

  1. Offline

    bergerkiller

    [​IMG]

    After a request from Marius A. Winsjansen I started to work on linked Minecarts. On the first day I already managed to make multiple carts move with the same speed, but a long list of bugs was to be expected. After fixing lots of bugs, adding lots of (complicated) Minecart handling functions and after hours of testing on my local server, this plugin is finally ready for a stable release! :D

    Also, special thanks go to @Shamebot for helping me out several times. :)

    Description:
    For a lot of information about TrainCarts see the WIKI page!

    Configuration and permissions

    All configuration nodes can be found in config.yml and contains a description with it. Permissions can be found in PermissionDefaults.yml, combined with a description.

    Media:

    Early development video (Photobucket)

    Video displaying version 0.6 of this plugin (YouTube)

    Video displaying version 1.0 of this plugin (YouTube)

    Video displaying version 1.1 of this plugin (YouTube)

    Video displaying version 1.2 of this plugin (holy...)


    A tutorial video in German explaining various sign-circuitry of TrainCarts


    PhotoBucket Sign system tutorial videos (also linked in the WIKI pages)
    Train spawner / Stations / Stations2 / Arrival signs / Train teleportation / Track switcher based on tags / Destinations / Blocker
    Video of how the switcher, station and destination signs work together

    Side information:

    It works best on straight lines with not too much elevation changes followed up by sharp corners. As long the cart gap can be adjusted, everything goes fine. It had some collision issues in the past, but I fixed all of that by manipulating the actual Minecraft server native code. I added links in the source where this was appropriate. Sharp 'U'-turns cause individual carts to lose perceptive of their direction. Keep at least one piece of track in between corner sections! Trains are stored on-disk when reloading and stopping the server, so expect trains to be there when you return.

    Important when updating: do one reload to save all trains, then replace traincarts.jar, and then do another reload. This next reload will probably cause a noClassDefFound exception (since the old jar got replaced), this is why a pre-reload is required. Replacing the jar without reloading is a very bad idea: it will cause a lot of runtime exceptions. Best is of course to stop the server and start again, but this is not always possible.

    This plugin is made compatible with Minecart Mania. If you notice a certain feature of Minecart Mania is not compatible with TrainCarts, notify me and I'll fix it. :)


    Known bugs:
    - None.

    TODO:
    - Train-sign message handling using SignLink (low priority)
    - Minecart use permissions (for individual carts?) such as Storage Minecarts

    Commenting

    If you encountered a bug, post exactly what you had done and in what order. Even a slight wobble can help fixing bugs. When posting (long) errors I recommend you to post everything, don't cut it off. I work with native methods, so in my case these lines are important. For comments on the media content see YouTube, it also contains a description with the music name when music is used.

    Bug reporting (extend)

    1. Post the Craftbukkit version you are using (the first info message in the console)
    2. Post the log from where the first plugin gets enabled to the 'done'.
    3. Post possible errors in this log too (don't cut them short)
    4. No error? Still post the log. Also explain how I can reproduce it, you can use screenshots
    5. Before reporting, remove ALL plugins other than TrainCarts and try again. If it works then, find out what plugin is interfering and post that here. I can add support.
    6. ALWAYS use the latest recommended Craftbukkit build with this, or my methods may just fail because of renamed functions.

    Important links:

    Request thread
    TrainCarts on BukkitDev for download and more
    TrainCarts source and more on GitHub
    TrainCartsBlocks add-on source and more on GitHub
    SignLink Bukkit page (required to use Arrival signs)
    MyWorlds Bukkit page (required to use Portal train teleportation)

    notice: try to keep SignLink/MyWorlds up-to-date to prevent compatibility issues.

    Installation for those that don't know how

    1. Download and install the latest craftbukkit version
    2. Download the latest TrainCarts version
    3. ^ Save the archive (zip file) to your computer
    4. ^ Open the archive you just downloaded
    5. In the folder your server sits in, create the plugins folder if it doesn't exist
    6. Open the plugins folder
    7. Move the TrainCarts.jar file found in the archive into the plugins folder
    8. Run your craftbukkit server and look in the console/log for possible errors, and/or if the plugin is enabled.

    Changelog

    Show your appreciation for my plugins by donating
    [​IMG]
     
  2. Offline

    bergerkiller

  3. Would it be possible to make the signs optional either via the config or permissions? I don't want my players to be able to spawn minecarts. Thanks! ^_^
     
  4. Offline

    bergerkiller

    Shall I add OP permissions with the option to use the bukkit perms?
     
  5. Offline

    Celtic Minstrel

    I would just add Bukkit permissions and default them to op...
     
  6. Offline

    Astrae

    Noted; thanks for the tip!

    Also; you you modify the Minecart mania listener so the train will stop on the first cart only? It seems excessive to top for every cart
     
  7. That, but I said it.
    <.<
    >.>
     
  8. Offline

    bergerkiller

    @Astrae yep that is already added; if (member == group.head())'; plain and simple. :)

    And ok, I'll use bukkit permissions and if it is not found it checks if the user is OP.
     
  9. Offline

    King_KYl3

    Hopfully you can make a delay sign the minecarts hold for the amount wrote on the sing? XD
     
  10. Offline

    bergerkiller

    @King_KYl3 yep that was the thing I mentioned in my previous post. The train simply moves 'one up' and it waited again on the next cart. That is fixed. :)

    Anything else I need to update/add for 1.25?
     
  11. Offline

    King_KYl3

    Sorry but not getting you,your saying you already have this in this plugin? place a sign underneath a track and write "hold for [seconds]" so ?
     
  12. Offline

    bergerkiller

    That feature works in Minecart Mania, yes.
    If you want it in the standard version, I don't think it is needed. You can easily make it out of a redstone circuit with lots of repeaters. :)

    Need an example? :p

    Also, not in the version uploaded here, it is in the version I have, which I am about to publish. :)
     
  13. Offline

    randeri221

    dude every time i make a group when it turns it just get stuck does someone knows why?
    i didnt touched the config....
    edit:nvm works great beside one thing
    when the minecart turns it stops unless u make the turn like so:
    [​IMG]and not normaly like
    [​IMG]
     
  14. Offline

    bergerkiller

    @randeri221 Stuck as in, how? Immovable? Did the carts try to move towards each other? Is a gap visible between the carts? Does this always happen, or is it a random occasion? How can I reproduce it? (most important)

    This includes:
    - placement
    - which cart you moved
    - if possible: press F3, look at the direction you want the train to move and tell me what F: value is shown (0-3)

    EDIT

    Ok that IS weird...let me take a look. :)
    BTW: I get the idea it is in the setForwardForce function.

    EDIT2

    Nope I can't seem to reproduce this. I did see it before; one cart stopping in the middle of the curve; but with the current setup I can't seem to reproduce it...

    I don't think I have to ask, but still, you are using 1.24?
     
  15. Offline

    randeri221

    dude look at the post i changed it
    now it get stuck less and it stuck every time in another turn
    edit i checked and it get stucked only in the same turn now
    the f in this place is 1

    yea i just upgreaded :D
    but it happaned even after i upgraded

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  16. Offline

    bergerkiller

    Just in case you had v1.21 (which was very unreliable, I even removed it from the changelog lol), remove the Train Carts folder in plugins. I had issues with 900 'ghost trains' being invisible, so it is a 'just in case' thing.

    And still can't seem to reproduce it...

    Just in case I 'magically fixed it without me noticing it' I'll upload v1.25.

    Try this version, if it still fails I might need the 'best possible bug report of human history' to solve this...

    EDIT

    Also, a list of plugins you use could be nice. No idea if other plugins exist that alter minecart movements. (except Minecart Mania of course)
     
  17. Offline

    Celtic Minstrel

    Ah, that's not quite what I meant by default; I meant just check Bukkit permissions only, and then in your plugin.yml add stuff like this:
    Code:
    permissions:
      your.permission.node:
        default: op
     
  18. Offline

    bergerkiller

    Ah ok, didn't know that existed. :)
    Does this go before or after the Commands: ?
     
  19. Offline

    Celtic Minstrel

    Doesn't matter what order it goes in.
     
  20. Offline

    randeri221

    it should be like maybe train.then maybe something like train.combine or what ever :D
    bt wabout giving a list of plugins that could be a problem cuz i got like 50 plugins xD
     
  21. Offline

    bergerkiller

    Code:
    name: Train Carts
    main: com.bergerkiller.bukkit.tc.TrainCarts
    version: 1.25
    author: bergerkiller
    description: Plugin that allows the use of minecart trains with adjustable settings
    permissions:
                train.build.station:
                            default: op
                train.build.spawner
                            default: op
    commands:
    Like this I suppose?

    It only has permissions for sign building; could add permissions for pushing trains if someone requests it. Linking is pretty much impossible to add permissions to...there is no 'source' of a player when linking.

    And @randeri221
    Make a new batch script in the plugins folder (list.bat), edit it with notepad and add this in the text:
    And post the text in plugins.txt. It should give a fair list of the plugin you use. :)
     
  22. Offline

    randeri221

    well then this is my list of plugins:
    Code:
    AuthMe
    AuthMe.jar
    Backup
    Backup.jar
    BasicCircuits-beta (2).jar
    BigBrother
    BigBrother.jar
    BlockDoor
    BlockDoor.jar
    BlocksOnGlass
    BlocksOnGlass.jar
    CFBanner
    CFBanner.jar
    ChestShop
    ChestShop.jar
    ClockDisplay (1).jar
    CraftBall
    CraftBall.jar
    CreativeGates
    CreativeGates.jar
    Elevators
    Elevators.jar
    Essentials
    Essentials.jar
    EssentialsChat.jar
    EssentialsSpawn.jar
    FalseBook
    FalseBookBlock.jar
    FalseBookChat.jar
    FalseBookCore.jar
    FalseBookExtra.jar
    FalseBookIC.jar
    iChat
    iChat-p3.jar
    iConomy
    iConomy.jar
    list.bat
    Lockette
    Lockette.jar
    LWC
    LWC (1).jar
    MagnetBlock
    MagnetBlock (2).jar
    MinecartMania
    minecartmaniaadmincontrols-dev-SNAPSHOT.jar
    minecartmaniachestcontrol-dev-SNAPSHOT.jar
    MinecartManiaCore
    minecartmaniacore-dev-SNAPSHOT.jar
    MinecartManiaSignCommands
    minecartmaniasigncommands-dev-SNAPSHOT.jar
    MoveCraft
    MoveCraft (7).jar
    New Useful Commands
    New Useful Commands Version 1.2.jar
    NextStation
    NextStation.jar
    NoGrief
    NSCommand.jar
    nSpleef
    nSpleef.jar
    OnlyOP
    onlyop (2).jar
    p2aliases.jar
    Permissions
    Permissions.jar
    PermissionsPlus
    PermissionsPlus.jar
    PermissionsSql.jar
    plugins.txt
    PorteCoulissante.jar
    PuzzleQuest
    PuzzleQuest.jar
    PvPplus
    PvPplus.jar
    RedstoneChips
    RedstoneChips-beta (2).jar
    Regios
    Regios.jar
    Reporter
    Reporter.jar
    ScheduledAnnouncer
    ScheduledAnnouncer.jar
    ScrollingMenuSign
    ScrollingMenuSign.jar
    Seats (1).jar
    SensorLibrary-beta (1).jar
    SimpleRestart
    SimpleRestart.jar
    Slots
    Slots.jar
    snipers.txt
    Spout
    Spout.jar
    SuperSigns.jar
    Train Carts
    TrainCarts (1).jar
    Tuto
    Tuto.jar
    uQuest
    uQuest.jar
    VoxelSniper
    VoxelSniper.jar
    WorldEdit
    WorldEdit.jar
    AuthMe
    AuthMe.jar
    Backup
    Backup.jar
    BasicCircuits-beta (2).jar
    BigBrother
    BigBrother.jar
    BlockDoor
    BlockDoor.jar
    BlocksOnGlass
    BlocksOnGlass.jar
    CFBanner
    CFBanner.jar
    ChestShop
    ChestShop.jar
    ClockDisplay (1).jar
    CraftBall
    CraftBall.jar
    CreativeGates
    CreativeGates.jar
    Elevators
    Elevators.jar
    Essentials
    Essentials.jar
    EssentialsChat.jar
    EssentialsSpawn.jar
    FalseBook
    FalseBookBlock.jar
    FalseBookChat.jar
    FalseBookCore.jar
    FalseBookExtra.jar
    FalseBookIC.jar
    iChat
    iChat-p3.jar
    iConomy
    iConomy.jar
    list.bat
    Lockette
    Lockette.jar
    LWC
    LWC (1).jar
    MagnetBlock
    MagnetBlock (2).jar
    MinecartMania
    minecartmaniaadmincontrols-dev-SNAPSHOT.jar
    minecartmaniachestcontrol-dev-SNAPSHOT.jar
    MinecartManiaCore
    minecartmaniacore-dev-SNAPSHOT.jar
    MinecartManiaSignCommands
    minecartmaniasigncommands-dev-SNAPSHOT.jar
    MoveCraft
    MoveCraft (7).jar
    New Useful Commands
    New Useful Commands Version 1.2.jar
    NextStation
    NextStation.jar
    NoGrief
    NSCommand.jar
    nSpleef
    nSpleef.jar
    OnlyOP
    onlyop (2).jar
    p2aliases.jar
    Permissions
    Permissions.jar
    PermissionsPlus
    PermissionsPlus.jar
    PermissionsSql.jar
    plugins.txt
    PorteCoulissante.jar
    PuzzleQuest
    PuzzleQuest.jar
    PvPplus
    PvPplus.jar
    RedstoneChips
    RedstoneChips-beta (2).jar
    Regios
    Regios.jar
    Reporter
    Reporter.jar
    ScheduledAnnouncer
    ScheduledAnnouncer.jar
    ScrollingMenuSign
    ScrollingMenuSign.jar
    Seats (1).jar
    SensorLibrary-beta (1).jar
    SimpleRestart
    SimpleRestart.jar
    Slots
    Slots.jar
    snipers.txt
    Spout
    Spout.jar
    SuperSigns.jar
    Train Carts
    TrainCarts (1).jar
    Tuto
    Tuto.jar
    uQuest
    uQuest.jar
    VoxelSniper
    VoxelSniper.jar
    WorldEdit
    WorldEdit.jar
    AuthMe
    AuthMe.jar
    Backup
    Backup.jar
    BasicCircuits-beta (2).jar
    BigBrother
    BigBrother.jar
    BlockDoor
    BlockDoor.jar
    BlocksOnGlass
    BlocksOnGlass.jar
    CFBanner
    CFBanner.jar
    ChestShop
    ChestShop.jar
    ClockDisplay (1).jar
    CraftBall
    CraftBall.jar
    CreativeGates
    CreativeGates.jar
    Elevators
    Elevators.jar
    Essentials
    Essentials.jar
    EssentialsChat.jar
    EssentialsSpawn.jar
    FalseBook
    FalseBookBlock.jar
    FalseBookChat.jar
    FalseBookCore.jar
    FalseBookExtra.jar
    FalseBookIC.jar
    iChat
    iChat-p3.jar
    iConomy
    iConomy.jar
    list.bat
    Lockette
    Lockette.jar
    LWC
    LWC (1).jar
    MagnetBlock
    MagnetBlock (2).jar
    MinecartMania
    minecartmaniaadmincontrols-dev-SNAPSHOT.jar
    minecartmaniachestcontrol-dev-SNAPSHOT.jar
    MinecartManiaCore
    minecartmaniacore-dev-SNAPSHOT.jar
    MinecartManiaSignCommands
    minecartmaniasigncommands-dev-SNAPSHOT.jar
    MoveCraft
    MoveCraft (7).jar
    New Useful Commands
    New Useful Commands Version 1.2.jar
    NextStation
    NextStation.jar
    NoGrief
    NSCommand.jar
    nSpleef
    nSpleef.jar
    OnlyOP
    onlyop (2).jar
    p2aliases.jar
    Permissions
    Permissions.jar
    PermissionsPlus
    PermissionsPlus.jar
    PermissionsSql.jar
    plugins.txt
    PorteCoulissante.jar
    PuzzleQuest
    PuzzleQuest.jar
    PvPplus
    PvPplus.jar
    RedstoneChips
    RedstoneChips-beta (2).jar
    Regios
    Regios.jar
    Reporter
    Reporter.jar
    ScheduledAnnouncer
    ScheduledAnnouncer.jar
    ScrollingMenuSign
    ScrollingMenuSign.jar
    Seats (1).jar
    SensorLibrary-beta (1).jar
    SimpleRestart
    SimpleRestart.jar
    Slots
    Slots.jar
    snipers.txt
    Spout
    Spout.jar
    SuperSigns.jar
    Train Carts
    TrainCarts (1).jar
    Tuto
    Tuto.jar
    uQuest
    uQuest.jar
    VoxelSniper
    VoxelSniper.jar
    WorldEdit
    WorldEdit.jar
    
    i hope that helps to somehow fix the problem with the turns :D
     
  23. Offline

    Celtic Minstrel

    Permissions also have an optional description field, if you want to use that.
     
  24. Offline

    bergerkiller

    @randeri221 I see multiple (1) and (2) names under plugins, you should never rename the jar files. It can cause duplicate plugins, and this can cause plugins to kill each other. (same class names, different location, classnotfounderror). I also see Spout, I'll have to see if TrainCarts is compatible with that, too.

    EDIT

    Compatible with Spout (latest recommended build).

    EDIT 2

    Failed to find any conflicting plugin. Even falsebook and nextstation worked correctly...
    Can only recommend the thing everyone recommends: move all plugins away and add them until it stops working.

    EDIT 3

    Aw well updated to v1.25, adding the features discussed above.
     
  25. Offline

    Bharel

    Config/Permissions for stations and spawners (I would like to disable the stations and the spawners)
     
  26. Offline

    bergerkiller

    I'll add them in the main post too.
     
  27. Offline

    js105287

    It was working perfectly, until it caused all my minecarts to duplicate themselves by like a 100 each.
     
  28. Offline

    bergerkiller

    @js105287 this happens when you reload too fast, I have had it once too, very bad. :(
    What happens is the following:
    - MinecartMember despawns and spawns the EntityMinecart
    - Weird reload glitch (?)
    - Entity minecarts link with eachother; despawns and spawns MinecartMembers again
    - Minecart UUID becomes invalid
    - Reload returns and spawns all minecarts again

    All it is is a weird glitch where the despawn/spawn system suddenly fails and 'forgets' to remove the previous minecart it is supposed to despawn. Have been tackling it for a while now, I see it is not yet gone...
     
  29. Offline

    King_KYl3

    Join this to test on :D

    121.214.135.122
    :DDD

    Its cracked for you :D

    jjoin now XD

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  30. Offline

    js105287

    I see haha, well besides that it's a great plugin, all my players were very pleased with it. Unfortunately I always remove and add plugins and I use the reload command often, so until it's fixed I'll have to do without the plugin for now :/
     
  31. Offline

    bergerkiller

    @js105287 I understand, also took a deeper look after your reply, at the native coding. I used as 'fix': Entity.remove(), but it appears it only sets the cart to 'dead'. In other words; the cart is not removed when the next one spawns! So, I might find some real solution around it. :)
     

Share This Page