- Tested Minecraft Versions:
- Source Code:
- bergerkiller, Friwi, mg_1999, KamikazePlatypus, lenis0012, timstans
Please use GitHub to file an issue report
This plugin requires BKCommonLib
Since April 16, 2017 release version names will be in a MCVersion-pluginversion format. Older versions of Minecraft are also supported.
Plugin: TrainCarts - Linked Minecarts, sign-redstone systems, easy to use and realistic
TrainCarts/BKCommonLib for MC 1.7.10 can be found here (outdated)
Join our discord server for plugin help. https://discord.gg/q9gutsN
Incompatible with: RailCraft, ProtocolSupport (use ViaVersion instead)
This plugin looks for suitable Minecarts and links them together if possible. When two Minecarts are being "linked", the Minecarts will act as one single moving train.
Once carts are successfully linked, an effect is played and their velocity is shared in combination with an individual factor for each Minecart, which is used to remain a steady gap between carts. This gap is adjustable, the force at which this happens as well.
End result: a train! You can move it, make a roller-coaster out of it, split it in half, watch trains collide, whatever you want to do with trains.
As for 1.21, it is also possible to safely exit your train by setting an exit offset with a (sideways) push factor for the train. This feature is disabled by default. (only affects dropped items). If you want to display arrival times on signs (see redstone circuit part) you need SignLink, see the downloads on the bottom of the page.
As for 1.35 you can set train properties to make 'special' trains, or to 'finalize' a train
For testing out the new attachment system introduced in 1.12.2-v2, there is a free to download test resource pack available here:
The models are bound to durability values of the golden pickaxe.
- TrainCarts Demo Pack v3 (latest, also works on 1.13.2)
- TrainCarts Demo Pack v2
- Fixes relative positions of wheel-less carriages, wheels and pistons so they work correctly with rolling animations
- Added version to name of TP
- TrainCarts Demo Pack v1
The locomotive and carriages were made by Nullblox, a very talented voxel modeler. Maxi made the different color rollercoaster carts. If you want your own train models commissioned, you should definitely contact these and other very talented people on this website!
Here's some links if you are interested in making or setting up your own models:
Besides a resource pack, you can also download some default saved trains that can be put inside the 'plugins/Train_Carts/savedTrainModules' sub-folder:
The following train names can be spawned:
- Demo saved trains zip file (extract and put inside above mentioned folder, then restart the server)
Importing and exporting trains
- loco - Spawns locomotive without animations
- carr / carg / carb - Spawns red/green/blue carriages without animations
- loco_anim - Spawns locomotive with animation 'wheel' to bring it to life
- carr_anim / carg_anim / carb_anim - Spawns red/green/blue carriages with animation 'wheel' to bring it to life
- ferris - Animated ferris wheel, use animation 'spin' to control it (WARNING: VERY LAGGY)
- spinner - Animated spinning ride with 3 controllable animations ('spin', 'turn' and 'arm')
- rolr / rolg / rolb - Rollercoaster carts with 4 seats
As of 1.15.2-v1, you can now use commands to import and export trains:
- /savedtrain [name] export - Exports the train by name [name] and uploads it to our https://paste.traincarts.net Hastebin server (default, is configurable). You can then share it with others, or import it on another server, or edit the contents!
- /savedtrain [name] import - Imports train yaml from a Hastebin compatible server, like https://paste.traincarts.net
- /savedtrain list - List all saved trains
- /savedtrain [name] module [module] - Stores a train in it's own yaml file on the server, named [module].yml
Special Addons for TrainCarts
- TCHangRail - Trains floating below iron fences and also below/above other kinds of blocks (by TeamBergerhealer)
- TCCoasters - Rails in the air without requiring actual rails blocks (by TeamBergerhealer)
- TCTicketShop - Use sign interaction to buy train tickets (by DefinitlyEvil)
- LightAPI-Fork - Enables and powers the builtin Light attachment
- TCJukebox - Plays music for players inside the train using MCJukebox (by melerpe)
- Link minecarts using collision: no commands needed to make a train
- Move trains as easily as you would with single Minecarts
- Stores trains to file for persistence during reloads and server restarts
- Use sign-redstone circuits for subway systems, complete railroads and much more
- Station to gracefully stop and launch trains
- Player enter/ejector
- Property setters
- Tag systems to switch certain tracks based on tags on the train
- Destination systems to make your train travel to far-away lands all on it's own
- Transferring items between trains and storage blocks (chest, furnace, etc.)
- Infinite minecart speeds are possible, higher speed than vanilla!
- Change the blocks displayed in trains
- Cancel collisions with players, mobs, other trains using a variety of collision modes
- Loads of fixes for vanilla minecart physics, fixing network synchronization bugs (off the rails)
- Detector regions, to detect trains on stretches of track
- Vertical rails using ladders
- X-crossing rails using pressure plates
- API for custom rails and custom sign actions
- Teleport trains /w passengers (MyWorlds needed)
- Show arrival times on signs (SignLink needed)
- Push-away: Push mobs, players and items away from your trains to keep them running
- Change the gravity, slowdown and other physics behaviors of minecarts and trains
- Create custom 3D trains, using your own resource packs and creativity
You can join the Minecraft server hosted over at powerplugins.net to see this plugin in action, as well check out other cool plugins by the community!
- When non-operator players ride a train, the train glitches out and the player's cart gets stuck in position
NoCheatPlus thinks the player is cheating, because the cart is moving in unintended ways. The cart is teleported back to a valid state causing these strange glitches. To fix this, set the following to false in the NoCheatPlus configuration:
- When players are near, trains reach their destinations. With no one near, they don't. What do I do?
By default trains do not keep chunks loaded, and they will unload once they move into unloaded chunks. To make trains keep the chunk area (and themselves) around them loaded, set the 'keepchunksloaded' property to True. This can be done using the /train keepchunksloaded true command, using a property sign or by changing it to true in the DefaultTrainProperties.yml file. For more information about train properties, see here.
- When I exit a train, the train disappears. What gives?
If you have CraftBook installed on the server, this plugin can actually do exactly that. Turn it off in the configuration. http://wiki.sk89q.com/wiki/CraftBook/Minecart_Exit_Remover
- I have a iMac and signs don't work. What do I do?
Add 'parseOldSigns: true' to the config and type signs like 'train' instead of '[train]'.
If you have another plugin that performs similar Minecart replacement techniques, it is likely that TrainCarts will not function or function poorly. For the 'chunk persistence' part of this plugin, other plugins that unload chunks without firing events result in this feature failing. Minebackup is known for having this problem.
If you really like my work and want to give something in return, feel free to donate something small to me using the link down below. Thank you!
- Support for Minecraft 1.15+, new attachments, fixes and commands Feb 17, 2020
- Minecraft 1.14+ support, bugfixes, enhancements Aug 4, 2019
- Bugfixes and attachment animations Dec 24, 2018
Absolutely floored to learn how far this resource has come. It seems like only yesterday that bergerkiller answered my questions about minecart collisions and velocity while I built my now-inactive competitor, SimpleCarts. That was over 8 years ago! Keep up the great work and may the trains keep on chugging!
A fantastic plugin all around with an equally fantastic development team. If you have a server that needs trains, then this plugin is most definitely a must.
Beyond just the ability to make properly functioning trains, though, this plugin can make virtually anything possible when it comes to vehicles in general (or just about anything else on your server that you want to move!).
The devs of this plugin will help with essentially anything if you ask about it on Discord, too, and they keep their stuff properly maintained.
Overall, there's nothing I can think of as far as complaints go. The only thing that this plugin needs is more of what it already has - and there's not a whole lot more you can do than this.
This is one of the oldest and best plugins I have used. Since I think 8 years ago this 'thing' has blown my mind away what plugins can do on your server. Sometimes we had a few buggy and bumpy rights, but the stuff you can do with this plugin for the infrastructure on your server is endless.
Der Server (Spigot 1.14.2) stürzt öfters ab
[Train_Carts] Error while initializing sign power states in chunk CharlestonCity [-5/-2]
at java.util.HashMap$HashIterator.nextNode(Unknown Source) ~[?:1.8.0_211]
at java.util.HashMap$KeyIterator.next(Unknown Source) ~[?:1.8.0_211]
at java.lang.Iterable.forEach(Unknown Source) ~[?:1.8.0_211]
at net.minecraft.server.v1_14_R1.ChunkMapDistance.a(SourceFile:132) ~[spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
at net.minecraft.server.v1_14_R1.ChunkProviderServer.tickDistanceManager(ChunkProviderServer.java:204) ~[spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkFutureMainThread(ChunkProviderServer.java:144) ~[spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
at net.minecraft.server.v1_14_R1.ChunkProviderServer.getChunkAt(ChunkProviderServer.java:91) ~[spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]
at net.minecraft.server.v1_14_R1.World.getChunkAt(World.java:212) ~[spigot-1.14.2.jar:git-Spigot-093165d-ba575a5]