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

    Bad news. My VPS host did not record my payment this month. So my slot has been wiped clean along with all my work from Waypoint 1.6.1. I have a built copy for testing purposes, but the loss of my server is a major problem, seeing as it hosted all my downloads, stats trackers, and miscellaneous things. Once I get this taken care of, I'll continue development on Waypoint and post back here. If they didn't keep a backup of my slot, and they can't restore my service, all of my work from 1.6 to 1.6.1 will be gone (it's a lot of work...). The only way I can possibly get all my code back is if I can find a java decompiler that works amazingly.

    Update: I sent an email off to volumedrive about the problem about 20 minutes ago, hopefully they'll respond soon.
    Update 2: I found a decompiler. The only thing is, my comments in the source don't actually get compiled into the class files so I have comment-less code :(

    Yeah, Waypoint doesn't know that one group is gigher than the other, because there's no sort of warp group ranking. Normally, just giving admins waypoint.warp.access.* will solve the problem and give them access to all warps.

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

    Psycho Robot

    Better than nothing!

    P.S. I'm a bit confused about some of the permission nodes. First, I'm not sure what's the difference between the nodes:
    • waypoint.admin.spawn
    • waypoint.spawn
    What I'm assuming is this waypoint.admin.spawn gives players access to /spawnadmin save, /spawnadmin load, and /spawnadmin set, but NOT /spawn. I'm also assuming that waypoint.spawn allows players to do /spawn to tele to a spawn.

    Likewise, I'm unclear as to what waypoint.basic.teleport does. I'm thinking it give access to:
    • waypoint.teleport.teleport
    • waypoint.teleport.location
    • waypoint.teleport.here
    Am I correct?
     
  4. Offline

    btuyl

    ok thank you i will try it and see if it work for me
     
  5. Offline

    Ctark

    As far as I know, Waypoint.basic.teleport is for the '/wp tp' command.
    waypoint.teleport.xxx is for the /tp, /tploc, /tphere commands.
    waypoint.spawn gives you access to the '/spawn' command
    waypoint.admin.spawn.set is for the '/spawnadmin set' command.
    waypoint.admin.spawn.save is for the '/spawnadmin save' command and so on.
    I hope this helps.
    also, you just HAD to go and lose your source eh? now I will feel bad if i bug you about warp limits :(
     
  6. Offline

    miyoko

    @Ctark I still have all of my current source, but when you decompile java, the decompiler has to make inferences about local variables and such, so there are quite a few things I have to repair, plus, I have to recomment all of my code..:/
     
  7. Offline

    Themosey

    Sorry to hear about the source code/decompile. That rots.

    In the mean time I can't download test so I am wondering if this is what I need.

    I want to:
    - set "public" warp that only group X can use
    - Set a second "public" warp that only groups X and Y can use (Y also includes X).
    - Tie each of them to a sign (again the X group can't use the Y sign/warp but Y can use both)
    - and group N00b can't use either sign/warp.

    Am I asking the impossible or can this be done with this plugin?
     
  8. Offline

    Ctark

    groupx gets the 'waypoint.warp.access.x' permissions node
    groupy gets the 'waypoint.warp.access.y' permission node PLUS 'waypoint.warp.access.x' node.
    both groups get 'waypoint.warp' and:
    'waypoint.sign.link.use' and/or 'waypoint.sign.warp'
    .
    '/warp add public1'
    '/warp add public2'
    '/warp set public1 permission x'
    '/warp set public2 permission y'
    .
    create sign1 with lines:
    .
    [waypoint]
    warp
    public1
    .
    .
    And a 2nd sign:
    .
    [waypoint]
    warp
    public2
    .
    .
    .
    and Ithink that should do it.... @miyoko can you double check this for me?
     
  9. Offline

    miyoko

    @Ctark Sounds about right :) You've absorbed EVERYTHING about this plugin, haven't you? :p
     
  10. Offline

    Themosey

    *fistpump*
    Thanks guys, this is perfect.
    ::Furiously clicking the download link::
     
  11. Offline

    miyoko

    I'll have an alternate download link for my (!!)BETA(!!) 1.6.1 later tonight. Probably around midnight CST. Just so you guys know.
    And I recommend that if you decide to use 1.6.1, you should back up your configurations. I think mine were wiped by some changes I tried to make in the config hierarchy. When I post the new link, if you do run into problems, I'd like you to post i back here instead of just ignoring it. There's always a way around ever mess I create :)
     
  12. Offline

    Pr0Failure

    I'll be downloading and making a new Waypoint video whenever Bukkit releases a RB of 1.0.0
    It'll probably be a couple videos seeing as I want to be more thorough this time in explaining all of the commands instead of just showing how to setup perms.
     
  13. Offline

    Themosey

    Is 1.6.1 released?
     
  14. Offline

    ChefWalker

    Please update for 1.0! My players need their homes! :p

    Thaks.
     
  15. Offline

    Ctark

    bro, bukkit hasn't released an RB for 1.0 yet....
    Wait for the RB and then you will get plugins.
     
  16. Offline

    athuw

    hey the download links wont work for me any idea why
     
  17. Offline

    miyoko

    GREAT NEWS EVERYONE! I FOUND MY SOURCE CODE! FULLY DOCUMENTED AND ALL! <3
     
    Ctark likes this.
  18. Offline

    Pr0Failure

    How did you lose your....
     
  19. Offline

    miyoko

    My development VPS was terminated even though I paid for it.
     
  20. Offline

    Pr0Failure

    That'sssssssssssssssssssss gay.
     
  21. Offline

    Ctark

    YAY Waypoint limits!
    but really, thats great news.
     
  22. Offline

    Pr0Failure

    @miyoko
    Do you want me to use Dev version of Bukkit (1.0.o) and make a new video going off of that seeing as perms 3.1.6 seems to still work even with the latest build. That way you actually have an up to date video(s) of how to use Waypoint 1.6 seeing as quite a few people have had questions on how to do stuff lol.

    Fix DL link please?
    or
    Can anyone spare a v1.6 of Waypoint for me please?

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

    miyoko

    Yep.

    SEE ALSO:

    !! BETA 1.6.1 BUILD !! : http://maio.me/downloads/Waypoint.jar

    Yeah, go for it! That'd be amazing :)!

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

    Pr0Failure

    Setting up Perms (since I've since deleted my server files :rolleyes:) and testing all the commands/fun stuff, etc. It'll be up within the next day or two.
     
  25. Offline

    miyoko

    Woo!! In the meantime, I'm gonna go build a huge freaking castle on my server.
     
  26. Offline

    Pr0Failure

    Question because I'm too lazy to test.
    Is waypoint.sign.warp & waypoint.sign.world required to use those types of signs? Or just to create them?
     
  27. Offline

    Ctark

    Oh my, who is excited?
    Answer: ME!
     
  28. Offline

    miyoko

    Us
    Use only.

    They don't work yet :p I never finished the implementations x3

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

    Pr0Failure

    Some questions/things on mind before I start testing because I'm lazy (plus I'll be busy packing to go away for Thanksgiving etc etc.

    Stuff (open)

    -First is waypoint.sign.warp/world required to use those signs, or just to create them.
    -Second is the "limits". Does that only limit the warps/waypoints per person, or in total? Seeing as I test everything by myself I won't be able to test some things.
    -Third is would be setting said limits to zero count as infinite? Or just zero?
    ^ I know limits isn't implemented yet but still
    -Fourth is that considering there's a "/world list" command, shouldn't there be a "waypoint.world.list" node?
    -Fifth: Is "waypoint.teleport.teleport" required for the other teleport commands? Or just /tp <player> [target]
    ~Suggestions:
    ~Add a "/tpto <player>" command/node
    ~Add "/world delete <world>" command/node (waypoint.admin.world.delete)
    ~Clean up the nodes!!!! (can help if possible)
    Meaning some nodes people may not understand fully/would look/feel better if written differently.
    For instance instead of "waypoint.warp" for usage of /warp <warp> it would be waypoint.warp.use, simpler and easier to understand. I could give you a full list of which ones to clean (with cleaned up ones if wanted also) This would also result in maybe adding some nodes (but simple possibly?) just differentiating the waypoint.teleport.teleport into the actual different commands (waypoint.teleport.player, waypoint.teleport.playerhere, etc) Once again I can give a list.
    Rewording some of the descriptions would be useful for new people to the plugin also.

    SORRY FOR THE MASSIVE WALL OF TEXT, I'M OCD<3
     
  30. Offline

    Ctark

    waypoint.teleport.teleport is only for: /tp <player> [target] -- teleport to another player, or teleport one player to another.
    waypoint.teleport.location is for /tploc
    waypoint.teleport.here is for /tphere
    Code:
    else if (subc.equalsIgnoreCase("list"))
    {
    
    if (!permissions.has(player, "waypoint.world.list")) {
    player.sendMessage(ChatColor.BLUE + "You do not have the permissions to use this command.");
    return true;
    }
    List<org.bukkit.World> w = plugin.getServer().getWorlds();
    player.sendMessage(ChatColor.GREEN + "World List: ");
    Iterator i = w.iterator();
    org.bukkit.World wx;
    while (i.hasNext())
    {
    wx = (org.bukkit.World) i.next();
    player.sendMessage(ChatColor.GREEN + " - " + wx.getName());
    }
    return true;
    }
    because I know you can't add that by yourself..... right? :D lol
     
  31. Offline

    Pr0Failure

    I don't really have any coding background so I really can't check anything for myself in his plugin. If he fails to update the op I've got to ask and wait for a response. It's a slow process but it gets the job done. As for the waypoint.teleport.teleport response,
    "waypoint.spawn -- you *must* add this if you want to be able to use spawn commands"
    So I wasn't sure if it applied the same way for teleport commands.
     

Share This Page