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

    Kane

    Hello @miyoko . Your plugin looks good. see your plugin does not offer all these features I'm desperately trying to find but I thought I would bring them up since you are working on a plugin sort of to what we are looking for.

    Right now Essentials supports all 3 of these features but its a bit to much overhead plugin just for 3 small features.

    1) /sethome /home = permissions and multiworld support. So if you /home in nether you end up at your /sethome in nether only or if not defaults to nether spawn. You never ever go back to say Build world. (unlegit)

    2) /warp = permissions and multiworld support. Also advanced permission system so you can set permissions to each warp if you like. Example!
    /warp trade
    - pluginname.warp.trade (this what permissions look like. Admin would be like - pluginname.warp.* or pluginname.*
    So vip users might have /warp vip and permissions be like - pluginname.warp.vip

    3) /spawn with multiworld support. Rather then /spawn taking you back to the main world it only takes you back to that world your in unless a config option is set maybe?

    Anyways thanks for your time :)
     
  3. Offline

    miyoko

    @Kane,

    1) I've been thinking about adding the ability to have multiple homes across different worlds, so I think I'll implement that tonight ;) I'll also add the ability to do /home <worldname> so you can traverse between worlds to your different homes.

    2) Are you talking about something like warp categories? The thing with my plugin, is that *all* warps are private. You can't publicize them except for doing /wp invite <user>, which allows a person to invite a user to add that point to their pointbook.

    3) I think I can write a little /wp spawn to allow the user to go to the spawn of the world that they're currently in, and add the ability to do /wp spawn <worldname> to go to the spawn of that world.

    Edit:
    3a) I may go ahead and implement a new /spawn. It just depends on how CommandBook on my server will deal with something else using its command...

    I'll probably have these things done, tested, and uploaded /very/ soon :)
     
  4. Offline

    Kane

    Well I was looking more for a plugin that had 3 major teleports all in 1 well maybe 4.

    home warp tp spawn and more advanced. I posted this in suggestions as your plugin seams to be more focus on private warps where Im trying not allow any warps but to certain people that can use a special public warp.

    http://forums.bukkit.org/threads/pl...e-and-i-guess-teleport-all-in-1-plugin.26173/
     
  5. Offline

    miyoko

    Oh ok. Teleportation should be simple to implement. Now that I understand a little better, I'll try and implement the grouped warps into my system (possibly a different command../wpwarp or /pubwp?). I'll get done what I can tonight, but I may get alot more done tomorrow. I may actually be able to just rewrite my existing system in a different way..You have inspired many ideas in me, good sir.
     
  6. Offline

    JukeboxJohnny

    Download link isn't working. Attempted to use the .jar on your github, but when launching my server it says it's out of date.

    Are there any plans for administration commands, like viewing another players waypoints, etc?
     
  7. Offline

    miyoko

    I can fix the download link real fast. Also, if you could post *exactly* what your server is spewing when you try to use the plugin, that would be useful, because I can fix it and release the fix in the 1.4 update :)

    Update:

    @JukeboxJohnny, the download link should be fixed now. Just be warned, its the JAR of the 1.4 beta.
     
  8. Offline

    JukeboxJohnny

    Well, I used the now fixed .jar in the OP and it works fine. I redownloaded the .jar from your github, tried to run it and the error is no longer coming up. Weird.
     
  9. Offline

    miyoko

    Well, glad its fixed. I'm going to finish up with 1.4 for then, and I'll push to Github, and have everything updated in probably the next 30 minutes, after a bit of testing of course :)
     
  10. Offline

    JukeboxJohnny

    Is there anyway to have this plugin not override the /sethome and /home commands from Essentials? At least have a way to disable the use of this plugins /sethome/home commands. That's be lovely.
     
  11. Offline

    miyoko

    There is no way to prevent from overwriting those commands from Essentials, as far as I know, but I will look into it. One of the bigger things of this plugin is the implementation of home management though. But still, I'll look into it.

    Edit: Sorry, but I just don't think that's going to happen at this point in time.

    Update: 1.4b is on Github, I'm going to go test right now.

    Update 2: There have been some unforeseen problems occuring. I'll have them fixed very soon.

    Update 3: Most issues have been fixed, and Op support is now fully functional.
     
  12. Offline

    athuw

    ummm hey its my server but says i dont have permission to use it do you know wut to do:(

    oh and can you make it to were we can edit it like we can change it to /setwarp (name) and /setspawn

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

    miyoko

    uhm, are you using a permissions plugin?

    also, i will go add those commands to the plugin.

    Update: Added /setwarp and /setspawn, fixed /warp set (property modifier)
     
  14. Offline

    Pr0Failure

    Can i get a list of the /warp set <permission list?>
    Meaning what I have to right to give permissions to use this warp, and how to set permissions on a warp.
    This plugin is EXACTLY what I need. I just need to know how to do that lol.

    Edit: Kinda figured it out, but every time I do:
    /warp set example permission Owner ( I added that to the groups under warp) it doesn't work
    Seems I'm having trouble configuring the groups part. I set groups to be
    - Public
    - Moderator
    - Admin
    - Owner
    But even when I create a new one it sets it to general. So I'm basically looking for a guide to setup the groups portion of this plugin lol.
    (sorry for the spam of this one message lol, I really needed this, so I'm testing everything.
    Request/Bug:
    /warp del example, won't delete warps not owned by you, which is when the request comes in...
    add: waypoint.admin.del (for admin's to delete other people's warps
    Seeing as /wp is for personal use in a way, I see no need for an admin version of delete for that.

    3rd Edit (lol): I would expect to add members under members like such..
    users:
    Pr0Failure:
    groups:
    - Owner
    But it said not to modify that part. So I'm still just kind of waiting for a guide on how to do this shiz lmfao.
     
  15. Offline

    miyoko

    Ah, /warp set.

    Syntax:
    /warp set <name> <'owner'|'permission'> <newownername|newpermission>
    Valid default permissions:
    -general
    -mod
    -admin
    You can setup your own warp permission groups in the config file under the "warp.groups" node.
     
  16. Offline

    Pr0Failure

    I changed the permissions to have
    - general
    - Moderator
    - Admin
    - Owner
    Did a basic try of setting it to admin with the correct string line, this is what happened...
    [​IMG]
    [​IMG]
     
  17. Offline

    miyoko

    @Pr0Failure I have to go skim through my code and decypher what exactly that error pertains to...I'll take a peek, one sec.

    Edit: I may have a solution. I just need to get my computer so I can test it.

    10:40:16 [INFO] [Waypoint] Set home to bed is enabled.
    10:40:16 [INFO] [Waypoint] Permissions plugin detected. Using Permissions v2.7.4
    10:40:16 [INFO] [Waypoint] Enabled version 1.4.5
    10:40:16 [INFO] [Waypoint] Warps: loaded permission groups: general, mod, admin
    _________________________________________________________________
    I'm thinking your problem may be fixed. Updating links and such.

    I just now saw the updates to this post :p

    I'll go work on the warp admin commands right now. waypoint.admin.warp.delete is the only one I can actually see making, because admins shouldn't need to *force* a warp to be made xP

    T'is done.

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

    Pr0Failure

    Downloading again and going to be testing it later. Got plans as of right now.

    (sorry for double quote) Now when I try the string it just gives me the ever so annoying "An internal problem occurred when executingmasd;asd" or some crap like that, can't remember the exact words.

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

    miyoko

    I failed very hard, and only realized it about 10 minutes ago. A new update will be up in just a moment.

    Update: The fix is up.
     
  20. Offline

    Pr0Failure

    Started it up, got the "Permissions plugin detected. Using Permissions v3.1.6"
    and loaded groups: general, mod, admin
    Only prob, my group names in Permissions are different. And when I change the groups in the config files, the plugin doesn't work with those set groups.

    Btw sorry for causing you to go through all this trouble, just trying to help perfect the plugin/make it work the way it's supposed to lmfao.
     
  21. Offline

    miyoko

    Trouble? What trouble? :p It doesn't bother me in the slightest. It actually makes me happy because people are actually using my plugin. But the groups system in Waypoint Warps works like this:
    You've got your warpgroups (vip, admin, general, etc)
    You've got whatever your user groups are in Permissions.
    You either add or modify warpgroups to fit your needs, and do it like so:
    Say you have a VIP group. You want to give that group access to the vip warpgroup.
    Open up your permissions config, go down to the VIP group and add the following permission node:
    waypoint.warp.access.vip
    Waypoint doesn't use your Permission's groups names, but it uses its own names, which you assign to the group yourself.
    If you have any questions that I didn't clear up, or if I failed to correctly comprehend (Its 3:20 AM -_-'), then just reply and smack me in the head :p
     
  22. Offline

    Pr0Failure

    Edit: OHHHH I see what you mean now lol. Wasn't 100% on how to set it up lol.
    Editing nodes now. Will test it and get back to you. Also, same time zone ftw.
     
  23. Offline

    miyoko

    Oh XD! 3:37 AM is a bitch, isn't it? :p

    And thanks for all your help, and your promptness with responses. It really helps me out :)
     
  24. Offline

    Pr0Failure

    Tested works. But there is ONE problem/bug kind of thing that I'm sure OCD people (like me) would like to have. I can live w/out if for now though.
    When you add groups in config for waypoint, it is NECESSARY that you use all lowercase. I tried using the groups with - Admin and waypoint.warp.access.Admin, but when trying to set the warp it didn't work.
    Attempt 2 With - admin ||| waypoint.warp.access.admin, if works just fine. But I'm sure OCD people would like the capability of being able to use capital letter for their groups. Even though it's no visual problem, just knowing you have to set it like that/do it that way kind of annoys me lol. I can live for now though.
    Also something that would be useful/I noticed, even with groups set (not including - general, meaning it's been changed) when you create a warp it sets the permission to general. Would be helpful to make it set to the first thing on the list. So permissions would have to be set first = default warp permission set.
    Aka (using group list below) this is what would happen
    /warp add exmaple
    warps:
    example:
    permission: general, but if you applied what I was trying to say it would be..
    /warp add example
    warps:
    example:
    permission: default, see what I'm trying to say?

    Sorry for wall of text.
    Something for people to know, say this is what you have set groups (mine)
    groups:
    - default
    - moderator
    - admin
    - owner
    The way the list does matter. I currently have a warp set to 'default' permission access. But because I'm an owner (in permissions and have owner warp access) I am still able to see the 'default' permission warp in /warp list. This means that the lower the group is on the groups: list, means the higher the rank you are, and are able to see lower ranking/set warps.
     
  25. Offline

    miyoko

    Now, it takes the first element off the list and uses that as the default permission. As for the capitalized stuff, I weirdly did not see any problems. Just try the latest build. At the specified link, or grab it off Jenkins at http://kyoto.maio.me/
     
  26. Offline

    Pr0Failure

    Will test once I get the server to myself.
     
  27. Offline

    miyoko

    Alrighty. Lets hope I squashed those bugs :)
     
  28. Offline

    Pr0Failure

    Currently getting all my warp locations from NiftyWarps to put them into Waypoint so we don't have to fly to them and add them that way. So it might be a while before I have results.

    Edit: I don't know if this is already in place since I can't test it atm. But if you could make it so that when you do point list or warp list that it only shows warps/points in that world/only being able to access those until they go to a different world.
    But ofcourse make those OPTIONAL because I know some people wouldn't like to have that.
    So just be like an option to set true/false. Would be really useful for me lol.

    Just giving ideas for future versions :O
     
    miyoko likes this.
  29. Offline

    miyoko

    Thats a good idea and I'll hit that up soon. Right now though, my main focus is the warp permissions. I'm gonna go back and check it out again, as I finally got to test the stuff myself, and it wasn't working. I'll have that fixed very soon.
     
  30. Offline

    Pr0Failure

    How was it not working?
     

Share This Page