Inactive [TP/HOME/WARP] Waypoint v1.6.4(beta)- Teleportation points, home, spawn, and warp management. [1609]

Discussion in 'Inactive/Unsupported Plugins' started by miyoko, Jul 12, 2011.

  1. Offline

    miyoko

    Notice!

    THIS PLUGIN IS OLD AND VERY VERY OUTDATED. DOWNLOADS ARE NO LONGER AVAILABLE, AND SUPPORT FOR THIS PLUGIN HAS BEEN DROPPED. IF YOU NEED A SIMILAR PLUGIN, PLEASE USE ZPort


    Waypoint - simple teleportation point and home/spawn/warp management plugin:
    Version: v1.6.4 beta

    NOT YET UPDATED FOR 1.2

    *New in 1.6: modular command hookins, reworked command system, SuperPerms, ????*

    Waypoint is an easy teleportation point management and home location
    management plugin. You can create teleportation points to go back to later
    as well as share privately with other users. You can also create public warps that only certain groups of users can access.

    Waypoint's Features:
    • Add/delete waypoints for later access
    • List all of your waypoints simply
    • Share your points privately with other users
    • Points are private, and only accessable by you, unless shared
    • Multiworld support
    • Permissions/SuperPerms/OP support with strict nodes.
    • Home location management
    • Home location is automatically set to the bed you last exited (only if enabled in config.)
    • Create and manage public warps
    • Control which groups of users can access these warps
    • Save/Load the spawn points for all of your worlds
    • Selective showing of warps (you only see what you can access.)
    • Teleport easily between worlds
    • Create and import other worlds
    • Create and teleportation signs to travel to warps or world spawnpoints
    Download: JAR | SRC
    Development build (bleeding edge): JAR
    Integrity (CI): Waypoint project

    If you like my work, please consider sending a dollar or two my way so my little development company can pay for a server to do work and testing on :)
    [​IMG]

    For those of you that want to contribute, or even just watch progress get made on this, check this out: http://phabricator.maio.me/project/view/1/

    Phabricator: Source Code/Collaboration

    Commands:
    • /wp add <name> -- add a waypoint to your list
    • /wp del <name> -- remove a waypoint form your list
    • /wp tp <point> -- teleport to your point
    • /wp invite <player> <point> -- send an online player an invite to your point
    • /wp accept <point> -- accept an invite to a point
    • /wp decline <point> -- decline an invite to a point
    • /wp list -- list of all of your points
    • /home -- teleport to your home
    • /home set -- set your current location to your home
    • /spawn [world] -- teleport to the world's spawn point
    • /spawnadmin <save|load> [world] -- save or load the spawn point of the specified world
    • /spawnadmin set -- set the spawn point of your current world
    • /warp [warpname] -- teleport to the specified warp, if you have access
    • /warp add <warpname> -- create a public warp with the default permissions
    • /warp del <warpname> -- delete a warp you own
    • /warp set <warpname> <owner|permission|or a custom value> <newvalue> -- set property values in the warp's metadata
    • /warp list -- list all warps that *YOU* have access to
    • /warpadmin <set|del> <warp> [key] [value]
    • /tp <player> [target] -- teleport to another player, or teleport one player to another.
    • /tphere <player> -- ejects the target from a vehicle (if applicable) and teleports that player to you.
    • /tploc <x,y,z> -- teleport to a set of coordinates.
    • /world [worldname|create|import|list] -- displays what world you are in and your current position, or if given a worldname, teleports you to that worlds spawn.
    Installation and Configuration:
    Download the jar file and drop it into your minecraft server's plugins/
    folder and reload/restart the server. The configuration will be
    automatically created for you.

    Teleportation Signs:
    To create a teleportation sign, you must format it like this:
    Code:
    Line 1: [WP:WARP] or [WP:WORLD]
    Line 2: world name or warp name
    Line 3: (optional) description # maybe economy cost at some point soon
    Line 4: (optional) description
    
    It is case insensitive btw.

    Configuration options:
    'set_home_at_bed': set this to true if you want your home to be reset
    whatever bed you get out of.
    'autoupdate': check for updates and download upgraded jars automatically
    'warp.groups': permission groups for warps
    'warp.string': message sent to user after teleporting to a warp, %w is warpname, %p is playername
    'limits': self-explanatory.

    Permissions Nodes: (should each be self-explanatory)
    • waypoint.basic.add
    • waypoint.basic.delete
    • waypoint.basic.teleport
    • waypoint.basic.invite
    • waypoint.basic.invite.accept
    • waypoint.basic.invite.decline
    • waypoint.basic.list
    • waypoint.debug.config_node_test << debugging *ONLY*
    • waypoint.home -- you *must* add this if you want to be able to use home commands
    • waypoint.home.set
    • waypoint.home.set_on_bed_leave
    • waypoint.admin.spawn
    • waypoint.admin.spawn.set
    • waypoint.admin.spawn.save
    • waypoint.admin.spawn.load
    • waypoint.admin.warp
    • waypoint.admin.world.create
    • waypoint.admin.world.import
    • waypoint.teleport.teleport -- for general teleportation actions
    • waypoint.teleport.location -- for coordinate-based teleportation
    • waypoint.teleport.here -- for teleporting players to you
    • waypoint.spawn -- you *must* add this if you want to be able to use spawn commands
    • waypoint.warp -- you *must* add this if you want to be able to use warps
    • waypoint.world -- you *must* add this if you want to be able to use /world
    • waypoint.world.teleport
    • waypoint.world.list
    • waypoint.world.access.<worldname> -- more info on this below
    • waypoint.warp.access.<permission category>
    • waypoint.warp.create
    • waypoint.warp.delete
    • waypoint.warp.list
    • waypoint.sign.link.create
    • waypoint.sign.link.use
    • waypoint.sign.link.delete
    • waypoint.sign.warp
    • waypoint.sign.world
    • waypoint.cost_exempt.teleport -- teleports do not cost a single dime.
    Known Bugs:
    • Set home at bed is not disabling, ever. Currently looking into it. T3
    If you find a problem, report it at Github.

    Permissions Setup:
    Here is a sample Permissions 2.7.4 configfile with Waypoint's nodes already set up, and a user set up to give an example. Change it to your liking.

    << Thanks Pr0Failure :D

    World Access
    As of about 1.6.1, I added a few new things that implement a whole "world access" type schema of features. Players will NEVER be able to access a world unless they have the "waypoint.world.access.<worldname>" or "waypoint.world.access.*" permissions. I will add a configuration option to disable this, but for now, it's always on. If you want to effectively disable it without a config option and your permissions system supports inheritance, simply place the "waypoint.world.access.*" node at the lowest level and it should filter up through everything that inherits that or its children. I only added this because I felt it would be handy in the case of servers wanting to prevent griefing in creative worlds, but leaving whitelisting off, and just spawning all new users in the spawn world, but not letting them traverse your minecraft universe of worlds. There will be a config option to turn this off soon. By the way, if you didn't catch the gist of what I was really saying, this prevents ALL teleporting between worlds (only if you don't have the permissions for that world) no matter what you use to teleport. This catches events at a low level and checks each user's permissions as they change worlds. But enough about this.

    Bugs and Errors
    If you get a "An internal error has occurred" message when you use a command, * PROVIDE A TRACEBACK PLEASE. * (hint: a traceback is the error code in the server console that shows the error and its callers)
    And for those of you that didn't read this text, maybe this image will catch your attention:

    [​IMG]

    TODO:
    • Fix PermissionsEx not being detected correctly.
    • Rewrite command structure again with sk89q's command framework.
    • Add configuration options to disable various things.
    • Clean up core support code (me.pirogoeth.Waypoint.Core.*)
    • OpenAuth integration in the future?
    Changelog:
    Version 1.6:
    • Completely rewrote the command parser from the ground up.
    • Added SuperPerms support
    • Split commands apart into categories (much cleaner for anyone who works through the code)
    • (Supposedly) Fixed NPE from LoadWorlds during plugin load.
    Version 1.5:
    • Rewrote the configuration loader and put it in its own class
    • Restructured config storage
    • Added new warp limitations
    • Added an autoupdater
    Version 1.4.5
    • Fixed warp permission loading and detection
    Version 1.4.4
    • Fixed the internal errors spewed on /warp set
    Version 1.4.1
    • Removed some unneeded imports
    • Removed some unused variables
    • Now using String.format in checkperms
    Version 1.4
    • Added warp management
    • Restructured most of the config file formatting.
    • Homes-per-world (you can have one home per world now.)
    • Added spawn management
    • Added backup/restore of world spawn points
    Version 1.3
    • Added home support
    • Fixed configuration node bugs
    Version 1.1
    • Added invite support
    Version 1.0
    • Wrote all base code
    And some thanks.
    Definitely got some big thanks here, especially to Pr0Failure, who been testing the crap out of this, even during its magical beta stages. And some more thanks to all of you that put up with me not being around for weeks on end due to school. And thanks to others who at one point sent in a pull request to fix something I had missed. I love you all, you're a very supportive community :) Also, some big thanks to Ctark who's been following this like crazy and even digging through my messy code to find nodes to help others while I'm not around :) Again, THANK YOU ALL <3
     
  2. Offline

    miyoko

    Doing the "no capped permissions for you" thing :<
    I may be able to figure out whats causing it if I can get one of my users to test it for me, since I have no way of getting on Minecraft...
     
  3. Offline

    Pr0Failure

    I've got the server to myself and are testing plugins that I'm adding atm. How are you getting this ?error? if so what does it mean lol. I don't know java :rolleyes:

    Edit: Added warps via config file. Tried warping to them in-game. "Warp <name> does not exist." here's the config file. Seems like everything is perfect.. No tabs, all spaces.
    Code:
    home: ''
    invites: ''
    spawn:
        Build:
            coord:
                Y: 70.0
                X: 46.0
                Z: -78.0
        world_nether:
            coord:
                Y: 64.0
                X: 0.0
                Z: 0.0
        Nicks_World:
            coord:
                Y: 78.0
                X: 70.0
                Z: -71.0
        world:
            coord:
                Y: 70.0
                X: 24.0
                Z: -74.0
        Mine:
            coord:
                Y: 64.0
                X: 165.0
                Z: -203.0
    users: ''
    warps:
        Random:
            coord:
                Y: 72.0
                X: 75.8125
                Z: -128.0
            owner: Pr0Failure
            permission: default
            world: world
        LibraryOfTheAncients:
            coord:
                Y: 74.62
                X: 2955.46
                Z: 2600.78
            owner: Gaahlskagg0666
            permission: admin
            world: world
        MarksVoid:
            coord:
                Y: 72.62
                X: 11982.52
                Z: 12026.8
            owner: Pr0Failure
            permission: admin
            world: world
        Message:
            coord:
                Y: 73.62
                X: 78.53
                Z: -131.21
            owner: Pr0Failure
            permission: admin
            world: world
        PokeCenter:
            coord:
                Y: 66.62
                X: -180.53
                Z: 161.28
            owner: ieatsyou
            permission: admin
            world: world
        Fortress:
            coord:
                Y: 68.62
                X: 383.08
                Z: 224.84
            owner: Gaahlskagg0666
            permission: admin
            world: world
        HappyFunPlace:
            coord:
                Y: 73.62
                X: 135.41
                Z: -1.83
            owner: Pr0Failure
            permission: admin
            world: world
        Pyramid:
            coord:
                Y: 67.62
                X: 2908.28
                Z: 2922.66
            owner: Vendaj
            permission: admin
            world: world
        Spawn:
            coord:
                Y: 71.62
                X: -9.25
                Z: -49.07
            owner: Pr0Failure
            permission: admin
            world: world
        TerrorTower:
            coord:
                Y: 79.62
                X: 5.18
                Z: -170.75
            owner: ieatsyou
            permission: admin
            world: world
        TheButton:
            coord:
                Y: 70.62
                X: 363.15
                Z: 64.68
            owner: Pr0Failure
            permission: admin
            world: world
        TheVoid:
            coord:
                Y: 80.62
                X: 3350.12
                Z: 3346.08
            owner: Sharkmage
            permission: admin
            world: world
        WorldPortals:
            coord:
                Y: 71.62
                X: 23.98
                Z: -72.54
            owner: Pr0Failure
            permission: admin
            world: world
    set_home_at_bed: 'false'
    warp:
        groups:
        - default
        - moderator
        - admin
        - owner
    
     
  4. Offline

    miyoko

    Its the error when you try to /warp set <warpname> permission Groupname

    It just is not working at all now. Did you add them in the right format? Thats also why I strongly discourage adding them directly like that...format is as follows, and includes the main tag.

    Code:
    warps:
        warpname:
            coord:
                X: xcoord
                Y: ycoord
                Z: zcoord
            owner: playername
            permission: permissiongroupname
            world: worldname
     
  5. Offline

    Pr0Failure

    I'm guessing you changed it to follow MC coords list. Because before the patch for default warp permissions it set it as
    Y
    X
    Z
    So I based it off of that. And yea I did in the correct format. Going to change it to the way you posted and get back to you.
    Edit: Also some way of communicating faster with you would be helpful lol.
     
  6. Offline

    miyoko

    Do you use IRC? That'd be billions of times faster. If you do, you can find me at irc.maio.me #maiome.lobby

    So, you know how we all have those moments when we're completely out of our
    minds and such? Well, appearently I was in that state when I wrote all
    of the stuff for the warps (just the parsing stuff). Appearently,
    I forgot that I used some toLowerCase() methods in there, making the
    keys *and* values in the command all lowercase, instead of keeping its
    current case. Your warp permissions groups can now have *any* type of
    capitalisation and such. Shit, you could name it LoLdEfAuLt and it would work now.
    I feel like such an idiot for missing those two little statements
    right now. I was so pissed when I realised what I actually did wrong.
    But now, everything in the current build works and is tested.

    Warp group permissions officially work all the way :)

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

    Pr0Failure

    /RAGE, Dammit dawg, I'm sitting here testing my brains out, and you come out with yet another new build T.T now I gotta set my permissions back to regular so I can test this stuff for myself. Is the download link updated or no?
     
  8. Offline

    miyoko

    It should be :3 Let me just hit up the automated build on Jenkins and I'll tell you when its done. You should hop on IRC so i can tell you a tad faster :p
     
  9. Offline

    Pr0Failure

    Afak you already responded. Aight.
    Edit: No i don't use IRC. No idea what it is lol,.
     
  10. Offline

    miyoko

    irc.maio.me #maiome.lobby
     
  11. Offline

    Pr0Failure

    Don't use IRC, I was being a nub lol. Also, I've decided to set up my waypoint warps the LONG way. Aka switching back and forth between nifty warp and waypoint.
    warp with nifty, install waypoint, add warp. go back to nifty, warp. install waypoint, add warp. Gonna take forever.
     
  12. Offline

    miyoko

    actually, i may be able to not make that such a long time. how does nifty store warps? in a config, or sql db?
     
  13. Offline

    Pr0Failure

    Sadly no. If you go into the NiftyWarps folder there's a NiftyWarp.yml file but it's only used to change some variables.
    Edit: holdup, i have this a db file that's all weird. There's A LOT of warps. But I'm only looking to save like 12 specific ones. Do you want me to post the contents or just give a link to the file?
     
  14. Offline

    miyoko

    so its sql? :/ thats evil. you may actually be able to just do something like this:

    /nwwarp warpname
    /wpwarp add warpname
    /nwdelete warpname

    that should lessen the amount of time youre doing that :)
     
  15. Offline

    Pr0Failure

    :OOOOO let's hope that works.
     
  16. Offline

    miyoko

    It should. :)
     
  17. Offline

    Pr0Failure

    FUUUUUUUUUUUUUUUUUUUUUUUUUUCK YESSSSS Alright. This just made things A LOT easier. I pretty much have everything for public worlds set up now. Except that for some reason mobs keep spawning in one my worlds when I have animals set to false. I all have to go into bMobs and edit crap there too.

    Thank you soooo much for making all this crap work.
    I'm going to test the visual aspect of warp permissions after I'm done adding the warps.
     
  18. Offline

    miyoko

    Its no problem. I enjoy doing these things. And this is my first Bukkit plugin :D
     
  19. Offline

    Pr0Failure

    Testing visual permissions warp list now. Will edit when I'm done.
     
  20. Offline

    miyoko

    Woot woot!
     
  21. Offline

    Pr0Failure

    I found a bug, but I need another person to help test it further.
    Edit: Getting the gf on to help me so it's cool.

    Bug. /warp <name> requires the warp (in config) to be lowercase. Here's my command log. Note, I had the original warp for Message, set as Message, with a capital M. capitals in warps don't work, making permissions in capitals works though.
    /warp Message
    [Waypoint]Warp message does not exist.
    /warp random
    Welcome to random, Pr0Failure

    Also, there MIGHT be another bug or not. I'm not sure if it's a problem with your plugin or with permissions seeing as I'm having problems with nodes.
    I set waypoint.warp.list to group Moderator, and set my gf as Moderator, but when she tried /warp list, it says that she doesn't have permission. Note i posted this problem both here and on Permissions page for double the help.

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

    miyoko

    I'll take care of it right now before I go to bed. Its an easy fix, afaik.

    Update: Waypoint is updated to build #18 (1.4.8 or something) and all links are updated.
     
  23. Offline

    Pr0Failure

    Thanks. I'm trying to work out some Permissions problems atm. When I de-rank myself in permissions to moderator, i still have permissions as if I'm Owner. It's weird.
     
  24. Offline

    miyoko

    I hope thats a Permissions problem, and not Waypoint problem....>_>
     
  25. Offline

    Pr0Failure

    Was a Permissions problem. I fixed it. But the new build.
    /warp Message
    [Waypoint]Warp message does not exist. (in red text)
    /warp message
    [Waypoint]Warp message does not exist. (in pink text)

    Also 1.4.8 build link download says 1.4.5, might wanna update the text, not just the link :D

    Also again. Above you said X, Y, Z format. But even with the in-game warps added, it still shows Y, X, Z format. "random" is in that format and WORKS, but the others that have Capital first letter still don't work as stated above ^
     
  26. Offline

    miyoko

    argh. i'll look whenever i get up later. i need sleep :p it will be taken care of.
     
  27. Offline

    Pr0Failure

    Edited the post, might wanna take a look at it lol. And that's fine, I need some sleep too anyway.
     
  28. Offline

    miyoko


    The red coloured message is sent when the world section for the specified warp does not exist. Check if you entered the worldname wrong or if you indented wrong. If all else fails, PM me your Waypoint/config.yml and I'll look myself. Also, it doesn't actually matter in which order the coords are stored, it just stores it as Y, X, Z, but with the correct values for each. I just said X, Y, Z because it's the proper order ;P
     
  29. Offline

    Pr0Failure

    How would it be entered wrong? I used /warp add for those. The only diff between the red/pink chat color is that when I tried /warp I used a capital M instead of a lowercase m. Sending a link of the .yml file in like a minute.
     
  30. Offline

    miyoko

    Oh gosh. I'll do some (tons of) testing tomorrow. I'll resove this. In the meantime, try deleting and re-adding the warp.
     
  31. Offline

    Pr0Failure

    Will do. I send the link, said the dl will be up in a few.
    Edit: deleting/re-adding doesn't work (attempted with capital letter because I know lowercase works 100%) still the same result with red/pink message.
     

Share This Page