〚 ⤓ Modrinth / ⤓ Spigot / ⤓ Jenkins Dev Builds / Source on GitHub / Javadocs / Discord 〛
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.
Discover how to use this plugin over at https://wiki.traincarts.net/p/TrainCarts
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
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!
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
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
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)
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.
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.
Download a zip file with the configuration from Dropbox here
Extract the zip file, you should now have a fairly large tcdemo.yml file. This file is going to be installed on the server.
Install this file at plugins/Train_Carts/savedTrainModules/tcdemo.yml
Either restart the server, or use /train globalconfig reload --savedtrainproperties
Usage Instructions
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
- 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
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.
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!).
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.
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
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
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
Make your train network come alive with trains that automatically travel to destinations all over your Minecraft world.
➦Wiki
Everything that can be done with sign actions, and more, can also be done using commands.
➦Wiki
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
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!
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
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.
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! :)