TrainCarts
TrainCarts Development has moved to SpigotMC.
You can get the new versions at the following URL:
https://www.spigotmc.org/resources/traincarts.39592/
This page is no longer being actively monitored, please seek for support on SpigotMC.
Plugin: TrainCarts - Linked Minecarts, sign-redstone systems, easy to use and realistic
Version: v1.73.0
Build: 1.7.2 R0.1/R0.2
Incompatible with: RailCraft
Description
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

Links
For configuration, permissions and how-to's, see the Wikipedia page (it is rather long):
Note that I would prefer having comments, bug reports and others in the main Bukkit page, since I visit that site the most. :)
Addons
Special Addons for TrainCarts
Features
- Link minecarts using collision: no commands needed to make a train
- Move trains as easily as you would with single Minecarts
- Store 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
- Spawn
- Teleport
- 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
- Supports Minecart Mania's features
- Infinite minecart speeds are possible
- Push-away: Push mobs, players and items away from your trains to keep them running
- Everything is configurable, if something proves not to be, I will make it that way
FAQ
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.
Why not boats?!?!
Incompatibilities
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.
Metrics
This plugin sends server count statistics to MCStats.org. You can (globally) opt out in the PluginMetrics/config.yml file.







-
View User Profile
-
Send Message
Posted Sep 24, 2012every time redstone interacts with a destination or spawn train sign I get this error. Please help me. :P
02:47:59 [SEVERE] Could not pass event BlockRedstoneEvent to Train Carts org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:341) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav a:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j ava:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j ava:462) at net.minecraft.server.BlockSign.doPhysics(BlockSign.java:124) at net.minecraft.server.World.m(World.java:440) at net.minecraft.server.World.applyPhysics(World.java:420) at net.minecraft.server.BlockRedstoneWire.l(BlockRedstoneWire.java:55) at net.minecraft.server.BlockRedstoneWire.doPhysics(BlockRedstoneWire.ja va:294) at net.minecraft.server.World.m(World.java:440) at net.minecraft.server.World.applyPhysics(World.java:417) at net.minecraft.server.World.update(World.java:373) at net.minecraft.server.World.setData(World.java:314) at net.minecraft.server.BlockButton.b(BlockButton.java:228) at net.minecraft.server.WorldServer.a(WorldServer.java:462) at net.minecraft.server.WorldServer.doTick(WorldServer.java:169) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:557) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:473) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:405) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NoSuchMethodError: org.bukkit.craftbukkit.util.LongObjectHa shMap.get(II)Ljava/lang/Object; at com.bergerkiller.bukkit.common.utils.WorldUtil.getChunk(WorldUtil.jav a:56) at com.bergerkiller.bukkit.common.utils.WorldUtil.getChunk(WorldUtil.jav a:52) at com.bergerkiller.bukkit.tc.controller.MinecartMemberStore.getAt(Minec artMemberStore.java:169) at com.bergerkiller.bukkit.tc.controller.MinecartMemberStore.getAt(Minec artMemberStore.java:160) at com.bergerkiller.bukkit.tc.events.SignActionEvent.getMember(SignActio nEvent.java:381) at com.bergerkiller.bukkit.tc.events.SignActionEvent.hasMember(SignActio nEvent.java:396) at com.bergerkiller.bukkit.tc.events.SignActionEvent.hasRailedMember(Sig nActionEvent.java:216) at com.bergerkiller.bukkit.tc.signactions.SignActionCollect.execute(Sign ActionCollect.java:71) at com.bergerkiller.bukkit.tc.signactions.SignAction.executeAll(SignActi on.java:184) at com.bergerkiller.bukkit.tc.signactions.SignAction.executeAll(SignActi on.java:168) at com.bergerkiller.bukkit.tc.TCListener.triggerRedstoneChange(TCListene r.java:483) at com.bergerkiller.bukkit.tc.TCListener.onBlockRedstoneChange(TCListene r.java:415) at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja va:339) ... 20 more
-
View User Profile
-
Send Message
Posted Sep 24, 2012@Psychokiller1888 Not compatible with the latest CraftBukkit build. I am waiting for a new beta or recommended build to support. Next time, use pastebin.com/pastie.org for the error. It is too much of a spam.
-
View User Profile
-
Send Message
Posted Sep 24, 2012Hi there... Thought someone else would have the same problem, but since it's going on since versions and version, here it is. The plusgin doesn't work anymore at all
2012-09-24 19:18:50 [INFO] [Train Carts] Enabling Train Carts v1.71.7 2012-09-24 19:18:50 [INFO] [Train Carts] 0 Trains have been loaded in 0 worlds. (0 Minecarts) 2012-09-24 19:18:50 [INFO] [Train Carts] Loading chunks near trains... 2012-09-24 19:18:50 [SEVERE] [Train Carts] An error occurred while enabling, the plugin will be disabled 2012-09-24 19:18:50 [SEVERE] [Train Carts] You may have to update Train Carts or look for a newer CraftBukkit build. 2012-09-24 19:18:50 [SEVERE] java.lang.NoClassDefFoundError: org/bukkit/craftbukkit/util/LongObjectHashMap 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupMap.<init>(OfflineGroupMap.java:14) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupManager.<init>(OfflineGroupManager.java:100) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupManager.get(OfflineGroupManager.java:45) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupManager.get(OfflineGroupManager.java:51) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupManager.initChunks(OfflineGroupManager.java:329) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.storage.OfflineGroupManager.init(OfflineGroupManager.java:318) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.tc.TrainCarts.enable(TrainCarts.java:336) 2012-09-24 19:18:50 [SEVERE] at com.bergerkiller.bukkit.common.PluginBase.onEnable(PluginBase.java:234) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:365) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:265) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:247) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.MinecraftServer.i(MinecraftServer.java:296) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:275) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:225) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:140) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378) 2012-09-24 19:18:50 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) 2012-09-24 19:18:50 [SEVERE] Caused by: java.lang.ClassNotFoundException: org.bukkit.craftbukkit.util.LongObjectHashMap 2012-09-24 19:18:50 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:34) 2012-09-24 19:18:50 [SEVERE] at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29) 2012-09-24 19:18:50 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 2012-09-24 19:18:50 [SEVERE] at java.lang.ClassLoader.loadClass(Unknown Source) 2012-09-24 19:18:50 [SEVERE] ... 19 more 2012-09-24 19:18:50 [INFO] [Train Carts] Disabling Train Carts v1.71.7 2012-09-24 19:18:50 [INFO] Train Carts disabled! 2012-09-24 19:18:50 [INFO] [Train Carts Blocks] Enabling Train Carts Blocks v1.04 2012-09-24 19:18:50 [SEVERE] Plugin Train Carts Blocks is attempting to register event com/bergerkiller/bukkit/tc/events/MemberBlockChangeEvent, which does not exist. Ignoring events registered in class com.bergerkiller.bukkit.tcb.TCBListener 2012-09-24 19:18:50 [INFO] Train Carts Blocks version 1.04 enabled! 2012-09-24 19:18:50 [INFO] Done (4.551s)! For help, type "help" or "?"
-
View User Profile
-
Send Message
Posted Sep 24, 2012@bergerkiller
Whoops completely forgot this comment.
But yeah would be great if you could add a default teleporter sign.
-
View User Profile
-
Send Message
Posted Sep 23, 2012New version coming up very soon. There are a few severe problems with the 1.71.6 version which made it slightly unstable. One major issue was that it could potentially crash the server because it loads chunks in very-far-away places. (the block position was maxed upon spawning) Use with caution.
-
View User Profile
-
Send Message
Posted Sep 23, 2012@oelpest
Thanks very much. I test it.
-
View User Profile
-
Send Message
Posted Sep 23, 2012@Stefan_FCE
thats easy now, look at this picture
-
View User Profile
-
Send Message
Posted Sep 23, 2012Need
[train] destroy empty
or
[train] switcher empty
without drive on the grass....
Because the plugin switched left and right but not straight ahead!
Plz fix it or give me solution to this problem.
Great Plugin! Since 1 month the train dont drive because of this :(
u can see it at my server: stefanfce.minecraft.to
-
View User Profile
-
Send Message
Posted Sep 22, 2012@Mystra007 It could very well be that RailCraft, too, replaces minecart entities like TrainCarts does. In that case there are a few ways to make it compatible on my side:
But generally this is a huge hassle, mainly because I have a lot of logic in the implementations. Duplicating all that is not going to look nice. It would be easier if RailCraft (if it has a smaller version) allowed me to implement the logic so both plugins can use it. But I would have to discuss it with those authors then.
EDIT
I saw that Railcraft, too, has a lot of entity replacement/mods going on. I am pretty sure this is the problem, as TrainCarts only replaces raw EntityMinecart classes. This is to prevent TrainCarts rendering other replacements useless.
-
View User Profile
-
Send Message
Posted Sep 22, 2012@bergerkiller
I didn't get any errors, that is what made debugging this much harder. All those issues happens with Railcraft , the plugin works fine without it:
o When I place a cart it doesn't seem to "register" with traincarts, so I claiming doesn't work no matter how many carts I place / hit / hop on / disembark from.
o I checked that I used the same entities as the default game in the railcraft config. Maybe the way railcraft reorganize how tracks works screw up this plugin?
o The station give me the usual help message after I create one, but the train just goes past it even if it is powered on both side. (station 5 with left or right and a wait time of 30s)
o If I created a station with railcraft deactivated, they will still work when it is enabled. But new ones will not (so at least I don't lose my admin tunnels when I test ;) )
-
View User Profile
-
Send Message
Posted Sep 22, 2012@bergerkiller Up: http://dev.bukkit.org/server-mods/traincarts/files/46-v1-71-7/
-
View User Profile
-
Send Message
Posted Sep 22, 2012@ToddVee Depends on what Tekkit edits, but I am pretty sure it is.
Note: I will upload 1.71.7 shortly. I forgot about a problematic bug that occurred a real long while ago (chunks loading in far away places) and that now is happening again in 1.71.6 because of my 'lazy' fix. Now checking if there are any other problems.
-
View User Profile
-
Send Message
Posted Sep 22, 2012I sthis plugin Tekkit compatible?
-
View User Profile
-
Send Message
Posted Sep 22, 2012Ok small notice: Timstans found a bug with the cart station, when it basically stops the train after launching it. (the station bug). I had to fix that first.
So I re-uploaded 1.71.6. It is the same dev-bukkit link I posted below.
-
View User Profile
-
Send Message
Posted Sep 22, 2012@bergerkiller
Ahhh, that makes since. All cool none the less, not a big deal. We just split the rails into a separate systems and its good.
-
View User Profile
-
Send Message
Posted Sep 22, 2012You can find a new 1.71.6 version here. It is being approved:
http://dev.bukkit.org/server-mods/traincarts/files/45-v1-71-6/
-
View User Profile
-
Send Message
Posted Sep 21, 2012@julemand101 @Daikenkaiking I won't add multithreaded calculations in the next version though. Using a separate thread to read blocks is a dangerous thing to do, and can result in world corruption if done wrongly. I really need to consider doing this at some point, though, because the block-by-block calculation can be a bit slow. Note that I can not do a recalculation directly after the command, because all the command does is clear the nodes. I know no starting points to started reading the path finding. The initial idea was that it would gradually get to know the world, but with very large worlds I can imagine it taking very long.
-
View User Profile
-
Send Message
Posted Sep 21, 2012@julemand101
I too would like the recalculation to be run on the command as well. Our last map did the same thing, after a reroute it took 5 minutes to be able to come back and log in. This map is starting to have a noticeable delay after a reroute too.
-
View User Profile
-
Send Message
Posted Sep 21, 2012hello, I am sorry if this request is already made before but is it possible to make the command "/train reroute" to do this:
1) Recalculate the time you running the command and not when the first person try to use a minecart. When the calculation is finish, write something lige "recalculation is finished" in the chat.
2) Run the recalculation in another thread so the server is not stressed out when it calculate the routes.
I am admin on the Crafters.dk server (you have fixed some other stuff before for us) and our minecart network is now really big. The problem comes when I connect our four main routes together in a ring and run "/train reroute". The calculation took 10-15 min, disconnected all players and it was impossible to login. On the server only one of our four CPU kernels was in use when the recalculation was running.
That said, I am very impressed with the TrainCarts plugin could keep to our large network and after recalculating the routes everything running as it should. :)
-
View User Profile
-
Send Message
Posted Sep 21, 2012great i will test it then :)