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

    Zaikare

    Well ... i'm using 1060 craftbukkit and 1.28 Train Carts.
    SignLink don't work properly.
    I can set trigger but i can't link sign to my trigger. Console don't show any alert.
     
  3. Offline

    bergerkiller

    The third line is the variable name, for example, mytrigger. On the sign you want to display the time on, add the same name surrounded by % on the line. %mytrigger%. The fourth line of the trigger sign is the time to count down from, for example:
     
  4. Offline

    Zaikare

    i'm doing that and nothing is happening
    I will show expample
    trigger Sign
    Code:
    [train]
    trigger
    test
    00:15
    (i recive info "Trigger built!")
    Display Sign
    Code:
    Train will
    be here
    %test%
    (i don't recive any info)

    EDIT:
    My bad ... i don't have SignLink ... i don't read topic precisely, really sorry.
     
  5. Offline

    mze9412

    Is it possible to do something for Ejection? I.e. "only eject if train comes from the right" or "only eject if train comes from the left"? That would be nice ;)
     
  6. Offline

    bergerkiller

    @Zaikare also, don't use %test%, test variable is a built-in SignLink variable to display a test ticker. It could interfere... :)

    @mze9412 is easily possible, I'll look into that later. First got to allow single-minecart trains to work. Currently having issues with empty groups staying behind...

    EDIT

    Ok it is now possible to have single-minecart trains. They automatically change to Minecart Members on placement now.

    EDIT2

    Done, eject and destroy signs are now directional, just like the trigger sign.

    Updated to v1.29, fixing a few bugs mentioned by DomiStyle. Eject and destroy signs are now directional, I'll add some more info to what that means. Single minecarts are now seen a trains/groups too, they work with all train-related features. You can use stations and other sign related features with Minecarts. Stations can now be linked; a new station will override targets set by the previous. Train spawner also improved. General group updater thread interval set at 10 (1/2 second) to reduce CPU usage. It will clean up possible groups/trains every half a second now.

    Other than that, added 'push away' sign, setting if players can push the train or not. When a train passes over the deny sign, it can't be pushed, when over the allow sign it can be pushed again. Stations will set it non-pushable automatically. Until the target is finished it can't be pushed. More info in main post.

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

    1337phreak

  8. Offline

    King_KYl3

    Can you please add that only ops or people with permission node to create trains ? :D
     
  9. Offline

    Player225

    I think this will be realy difficult to implement...
     
  10. Offline

    bergerkiller

    Not really actually, it can easily be added. Note that I can't add permissions for the spawner signs, simply no way of telling who activated it. :)
     
  11. Offline

    King_KYl3

    Hm cuz would be epic please join my server :D to test 138.217.133.173
     
  12. Offline

    bergerkiller

    Sorry got no time xd

    Ok reuploaded (same 1.29) with the minecart place permission added.
     
  13. Offline

    1337phreak

    I'll come check it out King_KY13
     
  14. Offline

    King_KYl3

    i like it but with that permission node
    train.place.minecart:
    description: Allows you to place a minecart
    default: true

    how i have that op
     
  15. Offline

    bergerkiller

    that is still a general permissions issue, I'll keep it at true for everyone. I could go and add another option to change that perm. node, but that would only defeat the purpose of Bukkit permissions where everything is at one spot.

    In other words, two options:
    - Open plugin in WinRar and edit the plugin.yml
    - Make permission groups using Bukkit permissions (permissions.yml)
     
  16. Offline

    King_KYl3

    Ok do not make sence to me Lol im saying how do i make it only i can create trains not other players just can you make it only ops can create trains but every one can just place minecarts with out them becoming a train it would probs no be possiable :( but it would be so epic!
     
  17. Offline

    bergerkiller

    It's possible to some extend, but would be pretty useless most of the time...neither would it make sense. :)

    I'd have to store the owner of the Minecart like Minecart Mania does and allow or disallow linking based on that. But what would be the problem if everyone can make Minecart trains? :)
     
  18. Offline

    King_KYl3

    Hm i would love it but to hard dont worry lol :) but any way you have donr one amazing job :D
     
  19. Offline

    jeremytrains

    I don't know if this is supposed to happen or not, but I had a train of 6 carts and i had to restart the server. I saw the train, the server shutdown, and then when it came back up, the train was gone. I searched the entire track for it, but it was not found. The server log did say :
    Code:
    [TrainCarts] 1 Train has been loaded in 1 world (6 Minecarts)
    If you could help me that would be great, thanks!
     
  20. Offline

    Celtic Minstrel

    If you're using PermissionsBukkit, add "train.place.minecart: false" in the default group. For PermissionsEx, add "-train.place.minecart" in the default group. I have no idea how bPermissions handles removing permissions. Then add it as normal in your admin group.

    Alternatively, if you actually just want ops to have it, put this in your permissions.yml:
    Code:
    server.regular:
      default: notop
      children:
        train.place.minecart: false
     
  21. Offline

    bergerkiller

    @jeremytrains If nothing else is displayed in the log that is weird. Do note that minecarts are not stored, all that is stored is an unique ID of the minecart, velocity and the chunk that needs to be loaded before the train is grouped again. If something else 'removes' the minecarts then it can't find the group and it will eventually be cleared from the system.

    However, if a minecart remains being a 'minecart member' after the plugin is disabled, and the server is stopped, it will be lost since the server doesn't know how to save the Minecart Member to file.
     
  22. Offline

    King_KYl3

    plz join this 138.217.133.173 wanna talk and test
     
  23. Offline

    11Spedy11

    i drove with the car in a edge surrounded by walls. Leaving the turn, the mincart falls down into the ground.
     
  24. Offline

    bergerkiller

    @11Spedy11 Um what version and..screenshot of the scene with F3 on so I can see the 'face' value (F)?
    Kinda weird, since I thought I banned this behaviour since 1.12 or so.
     
  25. Offline

    11Spedy11

    I have TrainCart Version 1.29 and my Bukkitversion is 1060

    2011-09-06_19.58.17.png
     
  26. Offline

    bergerkiller

    @11Spedy11 Uuuhm maybe a little farther away from the rail? This is not really a setup... xd
     
  27. Offline

    11Spedy11

    ohh :D im not so good in english :D sorry. is this image better?
    2011-09-06_20.05.30.png
     
  28. Offline

    bergerkiller

    lots. :p

    EDIT

    But not reproducible...mine simply turn around and don't fall down even a bit...
    Always happens or random event?

    Also, I expect a plugin to be interfering, if you got other vehicle-related plugins, you can post that too. :)
     
  29. Offline

    11Spedy11

    its only when i sit in the minecart.

    I have a boatmod.
     
  30. Offline

    bergerkiller

    Um I rather think the minecart entered the wall in the curve, not go through the ground. Kinda obvious that that happens...the minecart needs to go through a 1-block wide gap turned.

    This also happens in Vanilla (no TrainCarts enabled), so I doubt it's possible to fix that.
     
  31. Offline

    11Spedy11

    My minecart drive in the floor under the next Rail after the curve. When I drive faster the minecart goes deeper in the ground.

    When I drive with maximum speed the minecart goes under the bedrock and leavs the map.

    By the way, are you speaking german? :D
     

Share This Page