Compatibility
Minecraft: Java Edition
Platforms
Supported environments
75% of ad revenue goes to creators
Support creators and Modrinth ad-free with Modrinth+Creators
Details
〚 ⤓ Modrinth / ⤓ Spigot / ⤓ Jenkins Dev Builds / Source on GitHub / Javadocs / Discord 〛
About TrainCarts
Trains in Minecraft! Automated metro networks, rollercoasters, gondolas, ski-lifts or amusement park rides. TrainCarts does it all with support for custom models, animations, automation with signs and a large API that supports add-ons that can do even more!
This plugin requires BKCommonLib
Join our discord server for help: https://discord.gg/wvU2rFgSnw
Please do not use very old versions with older versions of Minecraft. The latest release of TrainCarts and BKCommonLib are backwards-compatible with older Minecraft versions.
WIKI
Discover how to use this plugin over at https://wiki.traincarts.net/p/TrainCarts
Custom Trains
With the Attachment Editor you can customize the appearance of your trains. Create custom cart models in Blockbench and ride inside them in-game. Large models are possible by adding multiple sections of a model as separate (Armorstand) item models. TrainCarts will do the animating for you and move the parts as a whole.
Recommended reading before going into this: Custom Item Models in 1.9 and Up
Ingame Map Editor
Animations
For custom ride enthusiasts, trains can be fully animated. This means you can have doors that open and close, carts that spin around, or even create theme park rides like Ferris wheels, spinners and merry-go-rounds!
Demo Resource Pack
TrainCarts has a demo resource pack that you can download that includes a couple of train and rollercoaster cart models. You can already play around with these without having to delve into Blockbench yourself
The locomotive and carriages were made by Nullblox. Maxi made the different color rollercoaster carts.
Installation Instructions 1.19.3
Option A Configure the resource pack in server.properties
The preferred way is to configure the resource pack on the server end. This way not only will clients automatically load the resource pack, Traincarts can read the resource pack and show the models ingame in the attachment editor. This also makes the models listable under /train model search
and automatically loads the saved trains from them.
resource-pack=http://resourcepack.host/dl/7WhMys1sduesiVlWz0m521zXkg5OU46L/TrainCarts_Demo_TP_v4.zip
resource-pack-sha1=CB87E9E06E3CC72627F5A9A597688845CA3C3CD4
Option B Download the resource pack and host it yourself
Host the zip file somewhere on a FTP, your own server, a public resource pack host or some form of cloud storage that allows for a direct download. Then add the URL to your server.properties:
resource-pack=https://your-domain/path/to/TrainCarts_Demo_TP_v4.zip
Installation Instructions (Old Minecraft Versions)
1. Download the resource pack
2.A: Host it
Host the zip file somewhere on a FTP, your own server, a public resource pack host or some form of cloud storage that allows for a direct download. Then add the URL to your server.properties:
resource-pack=https://your-domain/path/to/TrainCarts_Demo_TP_v3.zip
This is the recommended way, as this way the train models also show properly inside the attachment editor.
2.B: Enable it in your client
You can follow this tutorial on the Minecraft Wiki to install the zip file as a resource pack in your Minecraft client.
Important note: you will get a warning about the resource pack being outdated, but it works just fine on modern versions of Minecraft. That warning can be ignored.
3. Download the train configurations
Download a zip file with the configuration from Dropbox here
4. Extract the zip file
Extract the zip file, you should now have a fairly large tcdemo.yml file. This file is going to be installed on the server.
5. Install the tcdemo.yml
Install this file at plugins/Train_Carts/savedTrainModules/tcdemo.yml
6. Reload saved trains
Either restart the server, or use /train globalconfig reload --savedtrainproperties
Usage Instructions
Spawn the trains
The new models are bound to durability values of the golden pickaxe. You can spawn these trains using:
- Spawn Sign
- Train Spawn Chest Item:
/train chest [name]
- Create it in the attachment editor. You can find the items to use with
/train model search
The following train names can be spawned
- loco - Spawns locomotive without animations
- carr / carg / carb - Spawns red/green/blue carriages without animations
- loco_anim - Spawns locomotive with animated wheels and pistons
- carr_anim / carg_anim / carb_anim - Spawns red/green/blue carriages with animated wheels
- 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
Physics
Trains don't just follow a line or are limited by Minecraft's own Minecart physics. They are simulated in real-time with gravity physics, rail switching and wheels that track the rails.
New Speed Limits
It is possible to make trains move much faster than the usual 0.4 blocks per tick. Zoom! The default (configurable) maximum speed limit is 5 blocks per tick (300kph!).
Keep Chunks Loaded
Trains can be set to keep chunks loaded. Then they act as moving chunk loaders, keeping themselves and a small area around them loaded and animated. This way they can run autonomously, no matter if no players are nearby.
Waiter
Make trains automatically slow down or stop completely when another train or occupied mutex zone is up ahead. An acceleration and/or deceleration can be set to make trains stop and start realistically to avoid obstacles.
➦Wiki
Properties
There are lots of other properties to change the train's behavior, and more are added all the time.
- Banking, gravity and friction: create realistic rollercoaster rides, or turn it off entirely
- Collision: change whether mobs enter automatically, or what happens when a player collides with a train
- Player enter and exit: Whether players can get in or out of your train
- Change view distance of the occupants (Paper server only)
- Tags: tag a train and route it through the train network, or do special things to it along the way
Sign Actions
Signs placed along the rails are used to make the trains do things. Change train properties, launch trains, create stations or automatically switch junctions. With an extendable API anything is possible.
➦Wiki
Path Finding
Make your train network come alive with trains that automatically travel to destinations all over your Minecraft world.
➦Wiki
Commands
Everything that can be done with sign actions, and more, can also be done using commands.
➦Wiki
Selector Support
Use the @ptrain selector to use the player passengers of a train as an argument in other (non-TrainCarts) commands. Or use @train to perform actions on multiple trains at once. Trains can be selected by cuboid, distance, set properties and many more.
➦Wiki
Featured
This plugin uses the Cloud Command Framework for handling commands
If you're impressed by the quality of TrainCarts' command auto-completions, suggestions and help menu and want this in your plugin, check out Cloud by Incendo!
Addons
TrainCarts exposes an API that allows third parties to extend the plugin. Primarily it adds support for new rail types, new attachment types and custom action signs.
- TC-Hangrail: Trains floating below iron fences and also below/above other kinds of blocks (by TeamBergerhealer)
- TC-Coasters: Rails in the air without requiring actual rails blocks (by TeamBergerhealer)
- SmoothCoasters: Minecraft Client Fabric mod that, if installed, smoothens armor stand animations and improves the first-person camera view
- TCTicketShop: Use sign interaction to buy train tickets (by DefinitlyEvil)
- LightAPI: Powers the built-in Light attachment. (Use this fork for MC 1.17.1 and below)
- TCJukebox: Plays music for players inside the train using MCJukebox (by melerpe)
- TC-Portals: Teleport trains between servers in a realistic way (by J0schlZ)
- TC-Destinations: Cross-server train destination pagination and helpful clickable commands (by J0schlZ)
- TrainCartsDestinationSelector: Adds clickable signs so players can select train destinations
- Traincarts AdvancedSigns: Adds additional sign types, particularly useful for rollercoaster rides
- TCAnimatronics: Play Animatronics animations with a TrainCarts sign
FAQ
When some 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:
checks:
moving:
vehicle:
enforcelocation: false
I'm on Minecraft 1.16 and players can get out of my playerexit=false train by pressing shift
Sadly, the Minecraft client had a bug in it where the server could not cancel players exiting from vehicles. Updating to Minecraft 1.17+ will fix this again. See also: SPIGOT-5891
When players are near, trains reach their destinations. With no one near, they don't.
Enable the keep chunks loaded property of the train.
I created an auto-spawner but trains are piling up somewhere closeby
Enable the keep chunks loaded property of the train. Trains will otherwise unload in the same spot when no player is near.
When I exit a train, the train disappears
If you have CraftBook installed on the server, this plugin can actually do exactly that. Turn it off in the CraftBook Configuration.
Donate
If you really like my work and want to give something in return, feel free to donate something small to me over PayPal using the button down below. Thank you! :)