[INACTIVE][MECH/TP] Minecart Mania Teleport 1.2.4 - Continue rails anywhere [MMC 1.2] [953]

Discussion in 'Inactive/Unsupported Plugins' started by kroimon, Mar 5, 2011.

  1. Offline

    kroimon

    Minecart Mania Teleport - Continue rails anywhere
    Version: 1.2.4
    Requirements: Minecart Mania Core 1.2.8 and CraftBukkit 953 (these are the tested versions, others might be ok, too)

    As I currently have no time to maintain this plugin, I marked it as being inactive.
    If anyone wants to provide patches, please clone my github repository and send pull-requests and PM me, so I can make a new version and post it here!
    Sorry for those of you who used this plugin!

    Download:
    [Download JAR file]
    Read the Permissions section below!
    Source code on GitHub

    Description:
    This plugin allows you to teleport moving minecarts (even with passengers) to whereever you want.

    To create a teleporter you need to place two linked signs at the end of minecart tracks.
    These signs have to contain the words "cart" and "teleport" in their first lines (first line containing text, doesn't have to be the first line really) and a unique name representing this pair of signs in their second line (case-sensitive). After placing a sign, right click it for the plugin to create a waypoint (you should get a confirmation message here).
    After right clicking the second sign, any minecart colliding with one of the signs teleports it to the rails next to the corresponding other sign.

    Permissions:
    Important for version >=1.2.0
    If you're using a Permissions plugin, you have to set the following permissions:
    • minecartmania.teleport.create - Create a teleporter sign
    • minecartmania.teleport.break - Break a teleporter sign
    • minecartmania.teleport.use - Use a teleporter as a minecart passenger
    If no Permissions-style plugin can be found, permissions are disabled and everyone is allowed to do everything.

    Notes:
    • Due to a limitation in Bukkit, the plugin prevents teleporter signs from being destroyed/dropped when the block holding the sign gets destroyed.
    • The plugin tries to find the target rails in NSEW order around the target sign.
    Todo / Wishlist:
    • Allow the creation of teleporters which only allow certain minecart types (e.g. storage minecarts) or passengers (e.g. animals only)
    • Allow multiple entry signs to point to one single exit sign.
    Changelog:
    • Version 1.2.4
      • Small fixes.
    • Version 1.2.3 (1,357 Downloads)
      • Fix for MinecartManiaCore API change.
    • Version 1.2.2 (606 Downloads)
      • Fix for the rare souls around not using a Permissions plugin.
    • Version 1.2.1 (130 Downloads)
      • Tried to fix everything new in 1.2.0 ... I failed!
    • Version 1.2.0 beta (17 Downloads)
      • Load worlds when they are needed. This should fix problems with plugin load-orders.
      • Added support for permissions. You have to set these if you use a Permissions plugin! (if you don't use one, everything works as in previous versions - anyone is allowed to do anything)
        • minecartmania.teleport.create - Create a teleporter sign
        • minecartmania.teleport.break - Break a teleporter sign
        • minecartmania.teleport.use - Use a teleporter as a minecart passenger
    • Version 1.1.1 (781 Downloads)
      • Adapted new MinecartMania naming scheme
    • Version 1.1.0 (296 Downloads)
      • Changed the way a teleport with passenger works. Hopefully, this fixes multi-world and long-distance teleports until Bukkit gets fixed.
    • Version 1.0.2 (121 Downloads)
      • Adapted to API changes in Bukkit 465+ (CraftBukkit 563+)
    • Version 1.0.1 (565 Downloads)
      • Fixed a NullPointerException for the very few people who teleport stopped minecarts using another plugin
    • Version 1.0 (23 Downloads)
      • Initial release
     
    Pinkpixels, John Kapsis and Benie like this.
  2. Offline

    QQCucumber

    Interesting.. I might incorporate this.
     
  3. Offline

    Mmm Octopie

    Minecart Mania core doesnt work for 493
     
  4. Offline

    kroimon

    I'm using it with exactly that version ;-)
     
  5. Offline

    Mmm Octopie

    then how does Minecart Mania work with it
    --- merged: Mar 6, 2011 2:33 PM ---
    Oh it does work sorry for the inconvenance <---- Bad Spelling
     
  6. Offline

    Afforess

    Works fine. What error are you getting?
     
  7. Offline

    Mmm Octopie

    It wouldnt work the first time I updated to 493 but I re-Downloaded it and it works now
    Thanks for your Great Plugin
     
  8. Offline

    Raphfrk

    @Afforess
    Btw, is it possible to do long range minecart teleporting?
     
  9. Offline

    kroimon

    I think you meant me?
    Yepp, should be possible over whichever distance you want - and even between worlds.
    But as far as I know, minecarts are only simulated in loaded chunks, or chunks where some player is around...
     
  10. Offline

    Afforess

    There's an option in MM to keep chunks loaded around minecarts too.
     
  11. Offline

    Raphfrk

    Well, both I guess :), since his plugin is the core.

    Anyway, when I use your plugin and try to teleport a large distance, I end up in floating in space.

    However, when I reload, I am in the target area.
    --- merged: Mar 6, 2011 7:19 PM ---
    It looks like teleport doesn't cause chunks to be sent to the player, when the player is in a vehicle.
    --- merged: Mar 6, 2011 7:23 PM ---
    Also, I get this exception when I use vehicle teleport (from another plugin) and your plugin is loaded

    Code:
    java.lang.NullPointerException
            at net.sradonia.bukkit.minecartmania.teleport.MinecartActionListener.onMinecartActionEvent(MinecartActionListener.java:25)
            at com.afforess.minecartmaniacore.event.MinecartManiaListener.onCustomEvent(MinecartManiaListener.java:131)
    
    I set the velocity to zero, so that could be causing problems with

    Code:
    Material type = blockAhead.getType();
    
     
  12. Offline

    Afforess

    Sounds more like a Bukkit issue.
     
  13. Offline

    Raphfrk

    Yeah, probably. They don't seem to load chunks when a minecart is teleported, even if it has a player as a passenger.
     
  14. Offline

    kroimon

    Yepp nice guess. Added a null-check and released it as 1.0.1. Thanks for reporting this (although it should only appear for very few people teleporting stopped minecarts).

    By the way: which plugin did you use to teleport the minecart? Is long-distance teleporting working with that one?
    Edit: Looked into the CraftBukkit code and it seems like there is some extra code for chunk loading in the CraftPlayer.teleportTo() method but not in the CraftEntity.teleportTo which is used for teleporting minecarts. Will look into that later :)
     
  15. Offline

    Raphfrk

    Was looking into adding it for ServerPort. Actually, I had tried before, and was just seeing if Bukkit actually supports it now.

    It seems that it still doesn't. I have it working for short range jumps. The cart "flies" to the target.

    I also had a quick look and I think much of the additional code is for handling inter-world teleports.
     
  16. Offline

    Sir Savary

    Does this work with multi-world? I'd love to have multi-world shipping lines
     
  17. Offline

    kroimon

    Teleporter locations are stored completely with the corresponding world-name, so it should be possible to teleport between worlds, but there seem to be issues with chunk-loading while teleporting (a CraftBukkit problem - I don't know if I can do anything about that...)
    Just give it a try and report back :)
     
  18. Offline

    Sir Savary

    I will in a sec, installing LOIC
     
  19. I've done some fairly extensive testing with this plug-in, as I was really hoping to be able to get resources to different worlds other than in a persons inventory. Nothing I tried worked. Having 2 clients running on my machine, I put one player in world 'b' and one player in world 'a', with a small amount of track & a sign connecting each. With a player in each world, I sent a chest-cart. I can see the cart arrive, but the player just couldn't interact with it - i.e. he couldn't break it up, or access the chest. If no-one was in world 'b' and I sent a cart from world 'a' to world 'b', as I teleported to world 'b', I could see the cart hanging in mid-air a little distance from me as the world formed, but it looked as though the cart was dropping below ground before the world fully formed, and there was never any cart waiting for me on the track. If I logged off the server & back on whilst still in world 'b', the chestcart was there, but again, I couldn't interact with it - i.e. I couldn't touch it or break it. If I broke the tracks beneath it, it sunk down a little as it would if you break a track beneath a cart, but still couldn't touch it.
    If I rode on the cart going from world 'a' to world 'b', I ended up in mid-air with no world forming about me, just the sun or the moon - nothing else, just air all around me. At least I didn't die. I always had to log out & back in at this point - I was always at the correct destination when logging back in, but no cart with me. I also tried setting up 2 points on the same world. Within a short distance, this worked perfectly - but I'm assuming I was still teleporting to a part of the same chunk. As I moved the 2 teleporting signs further apart, (I was doing this incrementally) I eventually got the same errors as going to another world, i.e. if I was in it, I ended up in mid-air with no world forming around me, or if I wasn't in it, the cart didn't appear at the other end.
    I saw Afforess's suggestion of keeping chunks loaded (he's a good man), so I turned this on for a while. With this on, no difference teleporting world to world. However, teleporting to 2 points to the same world, the cart appeared at the second location, even with no-one there, but again, I couldn't interact with it. I left carts in both point 'a' & 'b' on the track whilst trying this.
    My last option was to try a 'repeater' section of track. What I mean by this is, on the same world, I set up a teleport between point 'a' and point 'b' - point 'b' being just within range of where I knew it worked Point 'b' consisted of 10 pieces of track with a teleport sign at either end. I then put a 'Hold For' sign (6 secs) halfway along the 10 pieces - this was in the hopes of giving the world chance to load around the cart, or me & the cart if I was riding in it. I then had the cart continue on through the second sign to point 'c', which was beyond where the teleporting had worked previously. My hopes were high, from point b to c worked, so I extended by adding a point 'd' further away - hopes were dashed when point 'd' didn't work - even though it wasn't that far from point 'c' and should have been in the same chunk I would have thought ? Same results as previously described. I played about with this for a while, but couldn't get any futher by teleporting point to point.
    Please keep on with this plugin if you can ......... I am only reporting my problems, but I am hoping these issues may be 'resolvable' , and I'm looking forward to being able to transport chests from world to world with this, or if not, possibly at least around the same world (although world to world is what I'm really after) !
    Current Craftbukkit version git-Bukkit-0.0.0-497-gea319d1-b499jnks (MC: 1.3) (I reverted from build #514 to this earlier one because of MinecraftMainia issues with the later version). MincraftMania Core 1.02a. Mania teleport 1.0.1. (and Yes, I tried Mainia core 1.02b - same results, I went back to 1.02a because of other issues)
     
  20. Offline

    kroimon

    @icephantom
    Wow, that was a huge post ;-) Thanks for sharing your test results. The problem is that I'm not that deep in CraftBukkit development, but I'll try to have a look into these teleport issues when i find time.
    If there's anyone out there who is bored and want to participate in CraftBukkit, feel free :)
     
  21. Offline

    ThomasJ

    If the chunk loading issues are resolved, this will be a very sweet plugin.

    Would it be possible to add a feature to restrict the teleportation to certain minecart types? ie. so that one can only use it for storage minecarts for example?
     
  22. Offline

    Afforess

    Minecart Mania's "Keep chunks loaded" option did not actually work - due to a bug in bukkit's API. The next release WILL work, and I'd be interested in seeing more test results.
     
  23. Offline

    kroimon

    Woohoo, me too!
     
  24. Offline

    Benie

    Looking forward to not teleporting with nothing around me. This plugin could be just what I'm looking for.. in more ways than one.
    Already have ideas for a warp tunnel, with glass-restricting lava around the sides.

    In the future, I could have a central portal hub, linking to any station in the system. The possibilities would be endless with this thing.
     
  25. Well, I updated MinecarftMainia to 1.04 and ran some more tests (bukkit #559) - only preliminary at this stage.
    With Minecarts remaining loaded, Setting up 2 signs 1 in World 'A' and 1 in World 'B', send the cart, teleport to the world, the cart is not there. Log out log in where the cart should be, and its now there, but you can't interact with it. You can't touch it, break it or move it. I tried with an empty minecart and a storage minecart - same results.
    I also tried teleporting on the same world from point 'A' to point 'B' at a very long range - beyond where it worked last time. Still with Minecarts remaining loaded, and leaving a cart at point 'B', I went back to point 'A' and sent an empty minecart. I made my way to point 'B' and the cart was there & I could interact with it & break it back into my inventory. I tried with a storage cart with some cobblestone in it - same experiment. This was also at point 'B' and I could get my cobblestone back out of the cart, and break the cart back into my inventory.
    I have more tests to try, however, looking promising for teleporting on same world - not so good for world to world.
    Experiments done with me as a passenger are all exactly like before. As you get to the teleport sign, the world disolves around you and you end up with the sky & nothing else. Only thing to do is log out & back in again. You are at the correct destination and the cart is with you (although you are not in the cart).
    So might be more use for long range teleporting of goods on the same world. I was looking forward to world to world though .......... ah well ....... I'll post more results when I have a little more time to work on this.

    Had time for a few more tests - I've given up at the moment trying world to world teleport - as I said before, all results are the same - if you send a cart (tried empty and storage only), they get there, but you can't touch them. If you try it with a player in the cart, you end up getting stuck with just the sky to surround you - the world doesn't reform in any way at all around you. I've also given up trying to use this to teleport a player in the cart - the world just doesn't re-form at the destination point, and thats the same if its on another world, or the same one (unless its really short distance - say 40 blocks or so)
    Anyway, point to point teleport on the same world looks to be improved. If @Afforess reads this, my testing with the setting Minecarts to remain in memory (true / false) so far, it hasn't made any difference to the tests whether I have it set true or false.
    Tried setting a teleport up around 100 blocks apart - whether I leave a cart at pont 'B' or not, whether I leave a player at pont 'B' or not, the results are the same - the cart gets there & you can interact with it. If a player is at point 'B' then if its a storage cart, he can take stuff out of the cart & put it in his inventory - no problem. If there is no-one at point 'B', when you get there by whatever means you have (Teleport, Stargate, your own 2 legs) usually you won't see the cart, but its there, its just invisible, but this happens a fair bit anyway, I think its a client glitch, nothing to do with the plugin. If you go to where the cart should be and manage to move it, it'll appear & you can use it.
    Next test was to try a loop - so at point 'B', the track was laid so that the cart would come through the teleport sign, go round the loop of track and exit back through the sign to the starting point 'A' again. Results - with no-one at point 'B', the cart never returned - I made my way to point 'B' telporting and as I arrived, I assume the chunk-load was triggered by my arrival and I was just in time to see the cart complete the loop and return to point 'A'. Unfortunately - same result if I turned Minecarts to remain in memory to 'true' (and by the way, tremendous spam on the console if you accidentally spell 'true' with an extra 'e' - 'truee' as I did ... ). This means that if no-one at point 'B', nothing is going to happen until someone gets there.
    When I left a player at point 'B' with myself at point 'A', everything worked perfect. The cart arrived, went round the loop and came back to me, and I could still interact with it.
    I'm not sure if this means that there is still an issue with @Afforess 'keep minecarts loaded' or not, but it does show it works teleporting to points on a single world (wish it worked multiworld), but if you want to send a cart a long distance and have it do something, someone has to be present at the other end.
    ...... by the way, also tried 2 points that were 200 or so blocks apart - exactly the same results. I'll keep testing - I really want this to work multi-world, so I;m going to see if there's any permutations I haven't tried yet ......

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 11, 2016
  26. Offline

    Afforess

    The invisible cart issue is actually a bukkit issue - and reported.

    I think I caught another bug in Keep Minecarts Loaded. It's such a hard setting to test. Reading your post was extremely helpful and informative.
     
  27. Anything to assist ...... as you can probably tell, I'm keen to get this one working multi-world .... but I hope if we can get the single world bit working first, maybe that'll get sorted at the same time ? .... :'(
     
  28. Offline

    0rk

    Seems like /reload messes up the plugin.

    Craftbukkit: 544
    Minecart Mania: 1.04e
    Minecart Teleport: 1.0.1

    When I do /reload it doesn't properly load the sign teleporters or something since my signs stop working. Any ideas?

    Also would permissions integration be possible, or maybe the ability to restrict the creation of teleporters to ops?

    Thanks!
     
  29. Try upgrading to bukkit #556 or greater - up to now, I haven't had a problem with this - I've been using #559, recently went to #560 - still working .........

    ........ by the way @Ork - Minecraft mainia is up to ver 1.04f ....... you might want to try updating that as well .... several bug fixes ! ......

    Updated to ver 1.04g (bukkit #560) - thought I'd give it another go teleporting an empty cart to another world. I transported an empty cart, but when I got to the World, it wasn't there. Logging out & in failed to reveal it. I then put another empty cart on the track on the second world, and oddly enough, the other cart appeared - I tried picking it up, but as has happened before, I couldn't touch or interact with it. However, since it appeared when I put the other cart on the tracks, I put the 2nd cart on the tracks again, and by careful nudging one cart against the other, I managed to send the 1st cart through the teleport sign back to the first world. I also went back to the first world and saw the cart had arrived back, and now I coud interact with it ....... ? The only time I've seen this sort of thing happen is when one person hasn't got permission to get someone else's cart .... Does teleporting to another world somehow make me loose permission to do anything with the cart ? I'm an op on both worlds, so its certainly odd, but at least its something I've not had happen before ....... and at least I have found a way to recover my untouchable carts ! .... this post more for info of the plugin author & interested parties .........

    Just an update on the 'Keep minecarts loaded' issue. I've kept the setup I had previous available, at point 'A' 10 pieces track in a straight line leading to teleport sign. At point 'B', another teleport sign with a loop of track, so a cart coming through the sign at point 'B' goes round a loop & exits back the way it came through the same sign. I'm making an assumption here that keep minecarts loaded should behave like leaving a player in the location ? ..... hope I'm right. Anyway, on Mincartmainiacore 1.04g (bukkit #560), leaving no-one at point 'B', but a cart going around a seperate track in a continual loop, I set a storage minecart off from point 'A' to point 'B'. It didn't return. As soon as a player enters the area, the cart returns. If I leave a player at point 'B' we can see the cart arrive, go round the loop, and it arrives back with me at point 'A' as it should. Tried multiple times with both empty & storage minecarts, same results. :'(
    The only other test I can think of trying is sending a cart along a long piece of track from the same point 'A' to the same pont 'B' with plenty of booster blocks with a loop at point 'B' so that it should go & come back without assistance. This will take a while to set up, but I'll give it a go. However, I would have thought my revolving minecart at point 'B' should have been enough to keep the chunk loaded during my tests.
    If I've got things wrong about how the keep minecarts loaded should work, please let me know.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 11, 2016
  30. Offline

    Badzilla

    Any news on an update to CB561+

    Thanks
     

Share This Page