Inactive [MECH] TrainCarts v1.71.2 - Link minecarts of different types together to form trains [2222]

Discussion in 'Inactive/Unsupported Plugins' started by bergerkiller, Aug 3, 2011.

  1. Offline

    bergerkiller

    [​IMG]

    After a request from Marius A. Winsjansen I started to work on linked Minecarts. On the first day I already managed to make multiple carts move with the same speed, but a long list of bugs was to be expected. After fixing lots of bugs, adding lots of (complicated) Minecart handling functions and after hours of testing on my local server, this plugin is finally ready for a stable release! :D

    Also, special thanks go to @Shamebot for helping me out several times. :)

    Description:
    For a lot of information about TrainCarts see the WIKI page!

    Configuration and permissions

    All configuration nodes can be found in config.yml and contains a description with it. Permissions can be found in PermissionDefaults.yml, combined with a description.

    Media:

    Early development video (Photobucket)

    Video displaying version 0.6 of this plugin (YouTube)

    Video displaying version 1.0 of this plugin (YouTube)

    Video displaying version 1.1 of this plugin (YouTube)

    Video displaying version 1.2 of this plugin (holy...)


    A tutorial video in German explaining various sign-circuitry of TrainCarts


    PhotoBucket Sign system tutorial videos (also linked in the WIKI pages)
    Train spawner / Stations / Stations2 / Arrival signs / Train teleportation / Track switcher based on tags / Destinations / Blocker
    Video of how the switcher, station and destination signs work together

    Side information:

    It works best on straight lines with not too much elevation changes followed up by sharp corners. As long the cart gap can be adjusted, everything goes fine. It had some collision issues in the past, but I fixed all of that by manipulating the actual Minecraft server native code. I added links in the source where this was appropriate. Sharp 'U'-turns cause individual carts to lose perceptive of their direction. Keep at least one piece of track in between corner sections! Trains are stored on-disk when reloading and stopping the server, so expect trains to be there when you return.

    Important when updating: do one reload to save all trains, then replace traincarts.jar, and then do another reload. This next reload will probably cause a noClassDefFound exception (since the old jar got replaced), this is why a pre-reload is required. Replacing the jar without reloading is a very bad idea: it will cause a lot of runtime exceptions. Best is of course to stop the server and start again, but this is not always possible.

    This plugin is made compatible with Minecart Mania. If you notice a certain feature of Minecart Mania is not compatible with TrainCarts, notify me and I'll fix it. :)


    Known bugs:
    - None.

    TODO:
    - Train-sign message handling using SignLink (low priority)
    - Minecart use permissions (for individual carts?) such as Storage Minecarts

    Commenting

    If you encountered a bug, post exactly what you had done and in what order. Even a slight wobble can help fixing bugs. When posting (long) errors I recommend you to post everything, don't cut it off. I work with native methods, so in my case these lines are important. For comments on the media content see YouTube, it also contains a description with the music name when music is used.

    Bug reporting (extend)

    1. Post the Craftbukkit version you are using (the first info message in the console)
    2. Post the log from where the first plugin gets enabled to the 'done'.
    3. Post possible errors in this log too (don't cut them short)
    4. No error? Still post the log. Also explain how I can reproduce it, you can use screenshots
    5. Before reporting, remove ALL plugins other than TrainCarts and try again. If it works then, find out what plugin is interfering and post that here. I can add support.
    6. ALWAYS use the latest recommended Craftbukkit build with this, or my methods may just fail because of renamed functions.

    Important links:

    Request thread
    TrainCarts on BukkitDev for download and more
    TrainCarts source and more on GitHub
    TrainCartsBlocks add-on source and more on GitHub
    SignLink Bukkit page (required to use Arrival signs)
    MyWorlds Bukkit page (required to use Portal train teleportation)

    notice: try to keep SignLink/MyWorlds up-to-date to prevent compatibility issues.

    Installation for those that don't know how

    1. Download and install the latest craftbukkit version
    2. Download the latest TrainCarts version
    3. ^ Save the archive (zip file) to your computer
    4. ^ Open the archive you just downloaded
    5. In the folder your server sits in, create the plugins folder if it doesn't exist
    6. Open the plugins folder
    7. Move the TrainCarts.jar file found in the archive into the plugins folder
    8. Run your craftbukkit server and look in the console/log for possible errors, and/or if the plugin is enabled.

    Changelog

    Show your appreciation for my plugins by donating
    [​IMG]
     
  2. Offline

    bttws

    I put build 39 on my server and I noticed that it crashes the server when a minecart comes off the track onto the ground. I switched back to build 38 and get no problems.
    Just thought I would let you know.
    -bttws
     
  3. Offline

    bergerkiller

    bttws if you use MC 1.2.3, then don't use 39 as it's not compatible. I guess you got some sort of 'NoSuchMethod' error.

    I guess I have a solution to this. I can make block-based versions a plugin or add-on for TrainCarts itself. It already has an 'onBlockChange' event I can use to handle it all, I only need to redirect some of the functions. I'll see what I can come up with, but I guess blocker/station blocks can be fairly useful...though it is very limited. The problem is indeed that 'block' based systems are very VERY limited. Not only do they limit the placement 'ability' like Don Redhorse mentioned, it also reduces the amount of settings you can set on the system. For example, a block-based station system can not set the distance to launch and the mode to use. And since it sits right under the track, I can't use redstone-directional-launching either.
     
  4. Offline

    Celtic Minstrel

    Mm, okay. I agree that block-based is kinda limiting... you could however use datavalues on the block for some extended (though still limited) customizability, and perhaps a magic wand item (ie using an item that normally has no interactable use and giving it a new meaning) or something to set/change those values.
     
  5. Offline

    _frozen

    I think we have to finalize the beta itself first before we can even consider add-ons based on blocks. I for one doesnt see magic signs as a impediment; rather, its more close to reality than blocks. And it looks much neater in huge TC system rather than a patchwork of blocks underneath.

    But, then, that was just me :D

    Update: /destroy trainall does not throw errors anymore. Success! Mind if I inquire about the status of Waiter signs and Announce signs?
     
  6. Offline

    Celtic Minstrel

    Nah, both of them have a neatness issue... either you have a patchwork of signs, or a patchwork of strange blocks. Signs are a little easier to hide, I guess, but they're still kinda ugly when you can see them.

    ...now, if you could somehow wrangle it so that you can put arbitrary text on the sign, that might be an interesting compromise for at least some of the cases (particularly destination signs). Not sure how this would be done though.
     
  7. Offline

    Junrall

    Just throwing an idea out there... How about not using signs or special blocks. How about just selecting a rail by right clicking on it then, via the console, assigning properties to the rail itself. No more special blocks.... no more signs.
    The only problem I see with this, is that you'll have to remember the location all those rails! And you certainly couldn't control them with redstone the way you do with the current sign system of TrainCarts. And, I'm sure this wouldn't be fun to incorporate into the existing code!
     
  8. Offline

    NOUS Vizuri

    Hello there

    We’re rebuilding now our subway system which was built with MinecartMania logic to your great TrainCart system which is much better and easier to setup. However some logic i cannot implement so please help me to do it.
    Our setup with MinecartMania was the following –
    - 16 stations
    - Each station had 15 clickable signs with names of the target stations. it takes quite a lot of space so at first player has to choose a destination and after that he enters in a cart as it is not suitable or even impossible to do from a cart. And as in MM destination label were assigned to player not a cart so it was no problems.
    - After choosing station player enters in the cart and is being delivered to the point.
    - After arrival player is ejected and the cart it is being despawned
    And all the redbrick switch rails had to be programmed by signs where to turn to reach needed station. Your system is much better so we’d like to rebuild our subway but have some issues and we hope you can help with how to do.

    I spawn a 1 cart train by <[train] spawn 1 m>. when the cart is spawned it has no owners. So when passenger enters this cart and choose destination on a sign, this destination will be assigned to the train. But as I mentioned in our scheme the player has to choose destination before entering a cart. And in this case destination is assigned to the train last used by player but no to the just spawned one.
    Is there a way to assign cart owner when someone spawn it but not enter in? or maybe is it possible to use some temporary variable to pass destination value to the train after it is chosen on the sign wall? or maybe you could advise some different better way how to organize it?

    We use CraftBukkit 1.2.4 # 2117, TrainCarts v1.60 Beta v39

    Thanks in advance,
    NOUS
     
  9. Offline

    Celtic Minstrel

    Indeed, this is another option, and a somewhat viable one; it has a few flaws, though, most notably that you need a special tool just to see what a rail does.

    Or have an "info" tool. :p

    Not entirely true; rails can certainly take redstone input. It wouldn't have quite the same variety of options for redstone control, but it would be doable.

    The examples appear to show rails raised off the ground, exposing the signs on the support posts, but yeah, you could just as well bury them under the ground.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Sep 9, 2018
  10. Offline

    Junrall

    Yeppers... at least its one special tool and not 10 special blocks;)

    An info tool for looking at a specific rail's info and a command to list all rails with properties and their xyz locations.... and a way to tp to them might be handy.
     
  11. Offline

    Celtic Minstrel

    I dunno, a command listing all rails with properties doesn't seem very useful at all.
     
  12. Offline

    Junrall

    Yikes! No, what I meant was a command that would only list the rails and their xyz locations.
     
  13. Offline

    Celtic Minstrel

    I'm confused... what's the difference between what I said and what you said? They seem the same to me...
     
  14. Offline

    Don Redhorse

    well if you could create custom rail material the idea with storing the information in the rail would work..

    but perhaps I have a misunderstanding... afaik the signs can / will be beneath the tracks.. similar like the blocks, so you shouldn't be able to see the signs, which of course raises the issue of finding the config points again.

    But for compactness the rail with data approach would be cool.. with an info tool it could work.. perhaps even similar like the "telephone markers" at german motorways.. you touch a rail with the info tool and it will tell you the next info point in both directions, on top of that it will display the information of the next info point directly.

    Editing the information would be arkward though without a nice interface.

    I would say, finish the main part first and than let's wait and see how we can enhance handling.
     
  15. Offline

    _frozen

    Well, There are two ways to do this, both different.

    1) Instead of calling the cart upfront and having it arrive before you select a destination:

    (this is behind the scenes)
    1) Cart is called, comes to a stop NOT AT THE PERSON, but before a track full of [train]/property/destination/(Insert destination) signs (15 of them)
    2) Person selects a destination. The signal in the back sends it to two locations: it turns on a small station to launch the train, and towards the approriate destination sign, and no where else.
    3) the train arrives with the destination already set.

    You can also have a redstone indicator of the stages, and it mostly resembles what you already have set.

    2) Have the person select the destination beforehand from a wall of destinations. The selection wiring goes to a single track with all the necessary info on it. You will need 15 tracks to do this (I have succeeded with 32 destinations doing this method.) Each tracks has 1) a spawner sign 2) a destination sign and (optional) 3) a train property setdefault sign to assign whatever options you selected in the defaulttrainproperties.yml file (handy to assign a common speed, etc.). all 15 tracks then proceed to combine into one track where the person boards it.
     
    NOUS Vizuri likes this.
  16. Offline

    Junrall

    Hmmm... let me reread...
    Sorry, I obviously misunderstood.:rolleyes:
     
  17. Offline

    bttws

    We are doing the same thing on our server, Here is the solution I came up with.

    We use scrolling menu sign, I allows you to but a unlimited amount of commands on one sign. (its great for all kinds of other uses...) Heres how it works.
    Have a player get in a cart.
    Have the player select destination from the sign (from inside the cart) /train dest STATION
    After the destination is selected, the player will select a button to be launched out of the station.
    Now the train/cart has a dest set and will find its way to it's destination.

    Hope that helps
     
    NOUS Vizuri likes this.
  18. Offline

    Cuitpoisson

    Nous, alternatively, and i think this is the easiest you can do it all in a single line (or curve it if you need to).

    Make a track section that is twice as long as the number of stations. Then have a set of switches that power <[cart];property;destination;{StationName}> signs that are associated with the track. Only select one switch to be on at a time, and then have a button spawn the minecart, it will go past all the switches/signs and the correct destination will be set.

    I did it for minecartmania and now for train carts. Seems to be the easiest, smallest, and most economical without using other plugins and with the current feature set.

    Also, bergerkiller, would it be possible to add a line showing the train's destination when you type /train i. And it appears that the destination information gets lost on a server restart. Is it possible for that to be saved?

    Thanks!

    Edit, silly me, thanks frozen. It still looks like it does lose the destination information on a restart though

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 14, 2016
    NOUS Vizuri likes this.
  19. Offline

    _frozen

    That info is stored in /cart info instead of /train info. :D
     
  20. Offline

    skyline4ever

    hey, i was testing some out with your plugin... but switch/tag function doesnt work for me öO neither does [train] proberty destination ...

    heres the log of my bukkit-server:
    [INFO] Starting minecraft server version 1.1
    2012-03-27 09:01:11 [INFO] Loading properties
    2012-03-27 09:01:11 [INFO] Starting Minecraft server on *:25565
    2012-03-27 09:01:11 [WARNING] **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
    2012-03-27 09:01:11 [WARNING] The server will make no attempt to authenticate usernames. Beware.
    2012-03-27 09:01:11 [WARNING] While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
    2012-03-27 09:01:11 [WARNING] To change this, set "online-mode" to "true" in the server.properties file.
    2012-03-27 09:01:11 [INFO] This server is running CraftBukkit version git-Bukkit-1.1-R6-b1988jnks (MC: 1.1) (Implementing API version 1.1-R6)
    2012-03-27 09:01:11 [INFO] [BlocksOnGlass] Loading BlocksOnGlass v0.7
    2012-03-27 09:01:11 [INFO] [BKCommonLib] Loading BKCommonLib v1.11
    2012-03-27 09:01:11 [INFO] [AdminCmd] Loading AdminCmd v5.12 (BUILD 01.03.2012 @ 20:13:36)
    2012-03-27 09:01:11 [INFO] [Train Carts] Loading Train Carts v1.6
    2012-03-27 09:01:11 [INFO] [BKCommonLib] Enabling BKCommonLib v1.11
    2012-03-27 09:01:11 [INFO] BKCommonLib version 1.11 enabled!
    2012-03-27 09:01:11 [INFO] Preparing level "world"
    2012-03-27 09:01:11 [INFO] Default game type: 0
    2012-03-27 09:01:12 [INFO] Preparing start region for level 0 (Seed: 1812834250363420672)
    2012-03-27 09:01:12 [INFO] Preparing start region for level 1 (Seed: 7389743051865236828)
    2012-03-27 09:01:13 [INFO] Preparing start region for level 2 (Seed: 7389743051865236828)
    2012-03-27 09:01:13 [INFO] Preparing spawn area: 0%
    2012-03-27 09:01:13 [INFO] [BlocksOnGlass] Enabling BlocksOnGlass v0.7
    2012-03-27 09:01:13 [INFO] BlocksOnGlass 0.7 is enabled!
    2012-03-27 09:01:14 [INFO] [AdminCmd] Enabling AdminCmd v5.12 (BUILD 01.03.2012 @ 20:13:36)
    2012-03-27 09:01:14 [INFO] [AdminCmd] Plugin Enabled. (version 5.12 (BUILD 01.03.2012 @ 20:13:36))
    2012-03-27 09:01:15 [INFO] [AdminCmd] motd.txt loaded
    2012-03-27 09:01:15 [INFO] [AdminCmd] motdNewUser.txt loaded
    2012-03-27 09:01:15 [INFO] [AdminCmd] news.txt loaded
    2012-03-27 09:01:15 [INFO] [AdminCmd] rules.txt loaded
    2012-03-27 09:01:15 [INFO] [Train Carts] Enabling Train Carts v1.6
    2012-03-27 09:01:15 [INFO] Plugin 'Train Carts' v1.6 is too old to run on CraftBukkit build 1988
    2012-03-27 09:01:15 [INFO] Update Train Carts to a newer version or look for an older build of CraftBukkit
    2012-03-27 09:01:15 [INFO] The plugin will still function, but may be instable.
    2012-03-27 09:01:15 [INFO] [Configuration] File 'plugins\Train Carts\PermissionDefaults.yml' has been generated
    2012-03-27 09:01:15 [INFO] [Configuration] File 'plugins\Train Carts\config.yml' has been generated
    2012-03-27 09:01:15 [INFO] Train Carts version 1.6 enabled!
    2012-03-27 09:01:15 [INFO] Server permissions file permissions.yml is empty, ignoring it
    2012-03-27 09:01:15 [INFO] Done (4,033s)! For help, type "help" or "?"

    i added some screenshots of the build itself.

    after i searched your wiki a bit a saw this construktion: http://www.minecraftwiki.net/wiki/File:TrainCarts_sign_example_2.png

    and builded it to test if switcher works (switcher2.jpg) but it doesnt, trains drive always in direction to where the rails go.

    any1 who can help me?

    sry for my bad english skills, im german.

    greetings

    skyline4ever spawn.jpg spawn2.jpg switcher.jpg tag.jpg switcher2.jpg

    well i forgot a pic of the proberty sign... this is what stands on it:

    [train]
    proberty
    destination
    b

    if im placing a sign like this there doesnt come any message of traincart like the spawn msg, could that be the prob?
     
  21. Offline

    NOUS Vizuri

    Thank you all for help.
    Yes, it really is the easiest and best variant :)
     
  22. Offline

    Cuitpoisson

    Skyline4, make sure the sign is (its proPerty, not proBerty):
    [train]
    property
    destination
    b

    And that it gets redstone power when you want it to be activated. Also, after everything has been placed, try doing the command "/train reroute" to make sure the routings are reconfigured.
     
  23. Offline

    _frozen

    Strange Behavior for the last beta covering 1.2.3 (I have NOT updated yet due to other plugins not being compatiable with 1.2.4)

    Placing minecart crashes the server. Copied the log (thankfully) and restarted. Server is behaving like there was a rollback -- in the server.log it was erased (!) and started a new log.


    Code:
    2012-03-28 16:16:18 [SEVERE] Could not pass event BlockBreakEvent to Train Carts
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:218)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:103)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:535)
    at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NullPointerException
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:152)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:148)
    at com.bergerkiller.bukkit.common.utils.BlockUtil.getAttachedBlock(BlockUtil.java:105)
    at com.bergerkiller.bukkit.tc.Util.getRailsFromSign(Util.java:89)
    at com.bergerkiller.bukkit.tc.TCListener.onBlockBreak(TCListener.java:375)
    at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    ... 12 more
    2012-03-28 16:16:45 [SEVERE] Could not pass event BlockBreakEvent to Train Carts
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:218)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:103)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:535)
    at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NullPointerException
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:152)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:148)
    at com.bergerkiller.bukkit.common.utils.BlockUtil.getAttachedBlock(BlockUtil.java:105)
    at com.bergerkiller.bukkit.tc.Util.getRailsFromSign(Util.java:89)
    at com.bergerkiller.bukkit.tc.TCListener.onBlockBreak(TCListener.java:375)
    at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    ... 12 more
    2012-03-28 16:16:59 [SEVERE] Could not pass event BlockBreakEvent to Train Carts
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:218)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:103)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:535)
    at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NullPointerException
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:152)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:148)
    at com.bergerkiller.bukkit.common.utils.BlockUtil.getAttachedBlock(BlockUtil.java:105)
    at com.bergerkiller.bukkit.tc.Util.getRailsFromSign(Util.java:89)
    at com.bergerkiller.bukkit.tc.TCListener.onBlockBreak(TCListener.java:375)
    at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    ... 12 more
    2012-03-28 16:17:31 [SEVERE] Could not pass event BlockBreakEvent to Train Carts
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441)
    at net.minecraft.server.ItemInWorldManager.breakBlock(ItemInWorldManager.java:218)
    at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:103)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:535)
    at net.minecraft.server.Packet14BlockDig.handle(SourceFile:43)
    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112)
    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    Caused by: java.lang.NullPointerException
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:152)
    at org.bukkit.craftbukkit.block.CraftBlock.getRelative(CraftBlock.java:148)
    at com.bergerkiller.bukkit.common.utils.BlockUtil.getAttachedBlock(BlockUtil.java:105)
    at com.bergerkiller.bukkit.tc.Util.getRailsFromSign(Util.java:89)
    at com.bergerkiller.bukkit.tc.TCListener.onBlockBreak(TCListener.java:375)
    at sun.reflect.GeneratedMethodAccessor90.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301)
    I am attempting the update to 1.2.4 now, though. Just wanted to give you a headsup.

    EDIT: Decided against updating at this moment and awating the 1.2.4 rb updates for my plugins instead of a dev version.
     
  24. Offline

    bttws

    I am getting the same crashses 1.2.4
    Code:
    2012-03-29 04:15:49 [SEVERE] java.lang.NoSuchMethodError: org.bukkit.event.vehicle.VehicleDestroyEvent.<init>(Lorg/bukkit/entity/Vehicle;Lorg/bukkit/entity/Entity;Ljava/util/List;)V
    2012-03-29 04:15:49 [SEVERE]    at com.bergerkiller.bukkit.tc.NativeMinecartMember.damageEntity(NativeMinecartMember.java:181)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.EntityHuman.attack(EntityHuman.java:749)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:997)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
    2012-03-29 04:15:49 [SEVERE]    at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
    2012-03-29 04:15:49 [SEVERE] Unexpected exception
    java.lang.NoSuchMethodError: org.bukkit.event.vehicle.VehicleDestroyEvent.<init>(Lorg/bukkit/entity/Vehicle;Lorg/bukkit/entity/Entity;Ljava/util/List;)V
        at com.bergerkiller.bukkit.tc.NativeMinecartMember.damageEntity(NativeMinecartMember.java:181)
        at net.minecraft.server.EntityHuman.attack(EntityHuman.java:749)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:997)
        at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:229)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113)
        at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
     
  25. Offline

    bergerkiller

    bttws _frozen CraftBukkit team pushed out a new recommended build (R1.0) for 1.2.4, see GitHub for the newest TrainCarts version which supports this. The error mentioned is fixed, same with some 'minecart destroy' errors that came with it.

    TrainCarts left beta and is now in release versions again, as all experimental code is fully working now. :)
     
  26. Offline

    Mycah

    Congrats. And thanks again!
     
  27. Offline

    bttws

    Hey there, thanks for all the fast updates! I was wondering what the new sign commands are? The don't see them on any of the pages. Thanks!
     
  28. Offline

    bergerkiller

    bttws good point, I really need to put them up...

    As I don't have much time for it atm, I'll write a stub ("Commands")
     
  29. Offline

    andrewpo

    It's PROPERTY, not PROBERTY and the powering of:
    Code:
    [train]
    tag
    signs with no arguments is not necessary.
     
  30. Offline

    apartypooper

    I had a quick peek at the source, since I couldn't make the destination sign set the destination on new carts. Shouldn't the latter condition in SignActionDestination.java line 14 (prop.destination!=null) be prop.hasDestination() since the property is set to "", not null, in CartProperties.java?

    I tested the patch and it seems to work now, but does this cause other problems?
     
  31. Offline

    bergerkiller

    apartypooper you could be right about that, though "" should be saved and seen as null too...
    I'll change it anyway, can't hurt I guess.

     

Share This Page