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.
@1337phreak
The issue with not being able to enter the carts is caused by Modloader.
Check this Thread. There is a temporary solution
http://www.mcportcentral.co.za/index.php?topic=1332.0
For me it fixed the ability to enter minecarts. I still have some other issues (property signs not working) but I don't know if thats caused by modloader/mc forge.
Bergerkiller I'm having a problem with traincarts and not being able to get into a minecart. (tested on Beta17 & 20)
Server: Bukkit 1.1-R3 ModloaderMP (newest) MinecraftForge (newest)
I've tried running the server with only modloader, forge and traincarts and I still am unable to sit in a minecart, also nocollide doesn't seem to work, trains just get stuck together and eventually stop (last checked on Beta17)
@uta9784 I'll look at that now then.
@4am No, the library is required for it to work at all. It is a plugin, so you don't have to place it in the lib folder. It does not cause performance loss on the server; it does nothing but keep track of the 'plugin that require ignored items' and supply the needed functions for other plugins.
@skullonroses Powered carts should still require coal, unless slowdown is false. (it doesn't slow down, why do you need fuel?)
Slow down seems to be not working in the latest dev! Is it possible for powered minecart to require coal/charcoal just like in vanilla?
Can I get a version without a separate library JAR?
I'm using the last version of traincarts.
It works fine when someone is riding in the train.
But when there is no pessengers in the train, the train is broken after few seconds.
And it divided into many carts, and it causes server lags.
There was no serverlog about traincarts.
This problem was not accused in the previous version(1.54)
I attatched my traincart configfile on my ticket
Version 1.60 beta 15 is now up on GitHub. This version is compatible with CB 1846 (RB 3) and uses a completely new system. (my library, with the plugin base allowing new features)
Main noticeable changes:
This is sort of an intermediate version, as a lot of new features still need to be implemented. Expect the following features as well:
Read your posts a bit, and yes, have been very busy, also with TrainCarts but especially with NoLagg. Now NoLagg is pretty much updated, I'll work on TrainCarts again.
AFAIK all exceptions mentioned here are fixed in my local build, I'll try to put a new beta version up tomorrow. Note that it is still in Beta version because I am working towards Minecart Mania - fully implemented. This obviously takes a while to do. The beta version is pretty stable, but may contain some 'half-written' code in it which is not fully tested. (for the latest beta this was the case with the auto path finding rerouting, it caused an NPE in the block location creation.)
Since I am using my own coding library now, I had to move an immense amount of code: https://github.com/bergerkiller/TrainCarts/commit/383c7fe43734573c1b3f09be075ca5b0d4b9f612 This is why it took me several days to respond here :)
I have errors and can't get on my server now :\
15:25:50 [SEVERE] java.lang.NoSuchFieldError: bN 15:25:50 [SEVERE] at com.bergerkiller.bukkit.tc.NativeMinecartMember.move( NativeMinecartMember.java:690) 15:25:50 [SEVERE] at net.minecraft.server.EntityMinecart.y_(EntityMinecart .java:396) 15:25:50 [SEVERE] at net.minecraft.server.World.entityJoinedWorld(World.ja va:1257) 15:25:50 [SEVERE] at net.minecraft.server.WorldServer.entityJoinedWorld(Wo rldServer.java:110) 15:25:50 [SEVERE] at net.minecraft.server.World.playerJoinedWorld(World.ja va:1239) 15:25:50 [SEVERE] at net.minecraft.server.World.tickEntities(World.java:11 46) 15:25:50 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServe r.java:525) 15:25:50 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftSer ver.java:432) 15:25:50 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(Sour ceFile:465) 15:25:50 [SEVERE] Unexpected exception java.lang.NoSuchFieldError: bN at com.bergerkiller.bukkit.tc.NativeMinecartMember.move(NativeMinecartMe mber.java:690) at net.minecraft.server.EntityMinecart.y_(EntityMinecart.java:396) at net.minecraft.server.World.entityJoinedWorld(World.java:1257) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:1 10) at net.minecraft.server.World.playerJoinedWorld(World.java:1239) at net.minecraft.server.World.tickEntities(World.java:1146) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:525) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:432) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
@NODeeJay
Whilst it would be great from the P.O.V of the dev, I'd have to say it would be a LOT of effort to co-ordinate something like this, for the sake of testing a single mod.
All I need at this point is confirmation from bergerkiller that the errors we are receiving are errors with the mod and not our server setups. I've made a post on here with my issue, and I've also posted an issue on his github (5 days ago), but I have yet to receive a single word of communication from him as to whether this issue is just me being stupid or if its an actual error with the mod. I see new updates happening on github, but no response!
Bergerkiller, please tell me if this is a known problem with the mod, or if I may have a problem with my setup. I'm very much hoping I can use this as a permanent solution for transportation on my server, but unfortunately its useless to me unless the chunks remain loaded.
@bergerkiller, sunconure, Kghareus, dougmpv, Xordaii, draccydragon, Deathknight0897,...
In my dream all you guys having issues
There we can test, see, troubleshoot, develop, .... to identify and knock out the issues together. Easier for the guys having issues, because no destroyed worlds/hanging servers etc. and easier for the developer because live debugging etc. is possible.
For my 1.1 testing I started a second server on separate hardware (Intel [email protected], 1.5GB RAM, 50MB down/5MB up) to test. Your plugin is one of the missing ones for the 1.1 migration (because there is just a beta and no RC or release) and it seems that we could do better if we have the possibility to share the exact issues.
If you want, PM me, I have time from tomorrow 20:00 UTC+1 over the weekend.
I am getting
2012-02-01 17:33:56 [SEVERE] java.lang.NoSuchFieldError: bN
2012-02-01 17:33:56 [SEVERE] at com.bergerkiller.bukkit.tc.NativeMinecartMember.move(NativeMinecartMember.java:690)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.EntityMinecart.y_(EntityMinecart.java:396)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.World.entityJoinedWorld(World.java:1256)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:110)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.World.playerJoinedWorld(World.java:1238)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.World.tickEntities(World.java:1145)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
2012-02-01 17:33:56 [SEVERE] at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
2012-02-01 17:33:56 [SEVERE] Unexpected exception
java.lang.NoSuchFieldError: bN at com.bergerkiller.bukkit.tc.NativeMinecartMember.move(NativeMinecartMember.java:690)
at net.minecraft.server.EntityMinecart.y_(EntityMinecart.java:396)
at net.minecraft.server.World.entityJoinedWorld(World.java:1256)
at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:110)
at net.minecraft.server.World.playerJoinedWorld(World.java:1238)
at net.minecraft.server.World.tickEntities(World.java:1145)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
@bergerkiller
I've made a post on your github bergerkiller, but the chunk loading issues aren't fixed (at least I don't think so). When the train reaches the edge of the chunk it just stops as if the chunk hasn't loaded. It doesn't throw any errors up in the console like it used to, but its as if the entire chunk loading part of the mod is missing - it just doesn't seem to register when the train reaches the edge of the chunk.
I AM using the 1.6 BETA V14 in combination with 1.1-R1, and I understand that 1.6 is in Beta, but if you believe the chunk loading errors should be fixed (and unless you've disabled chunk loading altogether as a quick-fix), then the chunks should be loading. Please tell me if I'm being stupid and missing something, nobody else seems to be having this error... or at least they aren't posting it.
Hello, I'm having some errors on console once in a while:
Could not pass event org.bukkit.event.block.BlockBreakEvent to Train Carts at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:453) at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:217) at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:171) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:510) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:204) at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43) at net.minecraft.server.NetworkManager.b(NetworkManager.java:226) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100) at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:587) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:536) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:434) at net.minecraft.server.ThreadServerApplication.run(SourceFile:465) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at org.bukkit.plugin.java.JavaPluginLoader$103.execute(JavaPluginLoader.java:1024) ... 14 more Caused by: java.lang.NullPointerException at com.bergerkiller.bukkit.tc.utils.BlockLocation.<init>(BlockLocation.java:17) at com.bergerkiller.bukkit.tc.utils.BlockMap.get(BlockMap.java:39) at com.bergerkiller.bukkit.tc.pathfinding.PathNode.clear(PathNode.java:57) at com.bergerkiller.bukkit.tc.listeners.TCListener.onBlockBreak(TCListener.java:320) ... 18 more
Thanks
@bergerkiller We were having the same issue as NODeeJay, so I did use the 1.6 v13 to solve it. It fixed that error, but now we are getting another one when using the /gm command:
2012-01-29 04:58:13 [INFO] [PLAYER_COMMAND] Xordaii: /gm
2012-01-29 05:02:26 [SEVERE] Could not pass event org.bukkit.event.block.BlockBreakEvent to Train Carts org.bukkit.event.EventException
Not sure why, as I was only one on, nowhere near a track or cart (about 100 chunks away) and was breakiing normal things like planks and stone, ladders. Happened several times, not just once. Opened a ticket on github with the full error. (Be warned though, I don't usually check back there.) Hope it helps.
@NODeeJay yeah you need to use the later Beta versions for the newest 1.1 build, see 'Github downloads page' above. It works very well, but I am still implementing a lot of Minecart Mania's features in it. AFAIK the chunk load issues is fixed there, but I can't tell for sure.
Hi Bergerkiller,
we started the Upgrade to 1.1 on a v-server and got pretty all running more or less but when some carts come together at a train spawner the following error occurs:
10 - 15 seconds later all clients disconnect (end of stream) and can not reconnect until I restart the server. When I don't do a train destroyall on console you can connect but keep falling until the client disconnects. TrainCarts is version 1.54
I just wanted to thank you for this plugin, by the way. At first I ran it and I thought all it did was link minecarts together..then I watched the videos and I discovered that this was everything I ever wanted about minecarts all in one!
@sunconure
Are you running a 1.1 build of Craftbukkit?
@sunconure
When you try removing them they don't even react on hits, just like frozen. What helps me in these moments is:
on the console: train destroyall
now stop and start (not reload) the server, you will see probably still some (too many) carts/trains loaded, give another train destroyall
if you still have carts, locate them with your player and do the /train destroyall from chat.
The prob is, like you experienced as well, if there are too many carts around the server hangs. In my case it happens when a train crosses a chunk which is not loaded. Therefore I expected the setting: keepchunksloaded = true to keep the chunk around the train loaded, even when stopping for some seconds in a station, but it does not fix that.