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

    Pr0Failure

    Impatiently awaiting new build lol.
     
  3. Offline

    miyoko

    I'm still working on this utility for my dad :p but it may be sometime later tonight or some time tomorrow.
     
  4. Offline

    Pr0Failure

    Alright sounds good.
     
  5. Offline

    miyoko

    So. It's 7:26 PM. I'm sitting in my room, one monitor has this page, the other has Waypoint's source. I'm debating whether or not to try to remember how to implement these limits. Should I do it and release 1.6.3-beta tonight?
     
  6. Offline

    Pr0Failure

    yessssss that way I can make those videos when I get home tomorrow and be done with it. So many people have viewed the 1.5 video xD I got random questions on that video lol.
     
  7. Offline

    Ctark

    LIMITS! I WILL LOVE YOU!
    Alright but really, If you were a chick, I would love you, but since your not I feel compelled to add no homo to this sentence.
    Can you tell I'm excited for limits?
     
  8. Offline

    Pr0Failure

    You and me both.
    /highfive
     
    Ctark likes this.
  9. Offline

    miyoko

    ==Journey to 1.6.3-beta==

    So far:
    - hard-disabled AutoUpdate
    - fix the internal error on "/world import"
    - made warp.traverse_world_only and warp.list_world_only work with waypoints too
    - finished implementing a Governor class to manage/implement limits
    - removed some comments left over from a decompiler
    - reworked the WP/WORLD signs to be prettier.
    - made the /world unload and /world delete commands work correctly.
    - fixed server side crap so I can reenanble autoupdate
    - reenabled autoupdate
    - began integrating economy

    Need to do:
    - Nothing!
     
  10. Offline

    Pr0Failure

    Sounds goooooooooood.
     
  11. Offline

    Tak Suyu

    Had an idea when looking over the Essentials Warp system;
    Personally I like your system better so let me get that out of that way

    But the signs, I was liking the how they have a color code to show it works and the ability to set a cost with the economy

    Would it be impossible to get the warps to work like
    [WP:Warp] or [WP:World] (color coding isn't necessary but it was a nice idea)
    [Warp or World Name]
    (Economy cost) if you want could just be a decription line
    (Extra line for descriptions)

    Just a thought =P
     
  12. Offline

    miyoko

    I haven't added economy support yet, but when I do, I'll have the economy cost (maybe). But right now, I'll go work on that. I kinda like that better than how I'm doing it anyway :p

    Good news everyone!

    I'm working out one of the last little kinks in my limits implementation! So I should have a post on 1.6.3-beta written in the next few hours along with a download link :)

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

    Pr0Failure

    Better be ready by the time I get home D:<
     
  14. Offline

    blasterweb

    Appreciate that he wants to update it.... sigh
     
  15. Offline

    miyoko

    Why so sigh?

    It may.
     
  16. Offline

    Pr0Failure

    I'm home. I'll be free to make videos for the next like 3-4 hours or so.
     
  17. Offline

    Tak Suyu

    Good to hear, I don't mind troubleshooting if you need help also

    I rather like the plugin after all :D
     
  18. Offline

    miyoko

    To hell with it. I'll go ahead and start integrating economy stuff. I got some good stuff today. I'm motivated.
     
  19. Offline

    Pr0Failure

    Hell yea.
     
  20. Offline

    miyoko

  21. Offline

    Pr0Failure

  22. Offline

    cmatyas06

    Hello, this is a very nice plugin, I use it on my server. I will get to the point. I use SimpleServer as wells bukkit and this plugin conflicts with SS in some way. whenever I try to use /visit (SS command to tp) it shows in the console "[Waypoint] You must be a player to use this plugin." And the command doesn't work. As the owner I have all the permissions or rather the '*', is there something else I need to do to make both happy?
     
  23. Offline

    miyoko

    - fix the internal error on "/world import"
    - made warp.traverse_world_only and warp.list_world_only work with waypoints too
    - finished implementing a Governor class to manage/implement limits
    - removed some comments left over from the decompiler
    - reworked the WP/WORLD signs to be prettier.
    - made the /world unload and /world delete commands work correctly.
    - fixed server side crap
    - forced loading of chunks when /world, /spawn, /home, /tp, /tphere, /tploc, /warp, or /wp (only when the player is actually teleported)
    - fixed autoupdate urls and reenabled
    - began integrating economy
    - FINISHED IMPLEMENTING LIMITS (they work :))

    and probably some various little other things that i can't remember.

    You used /visit in game and that happened?

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

    cmatyas06

    Yes, I forwared /warp, but /warptome <username. and /warpmeto <username> does not work and gives the same message. I allow my players to have the /visit <other Player> command, but it doesn't work for them either.
     
  25. Offline

    miyoko

    I'll look into it.
     
  26. Offline

    cmatyas06

    Thank you very much. Your plugin is one that I would definitely like to use. Or maybe you could do something like simple servers /visit? Basically when a player1 types /visit <player2>, player2 gets a message saying "Player1 wants to visit you, type /ok to confirm or ignore this message to deny." All of the other features of your plugin are spot on. I enjoy it very much.
     
  27. Offline

    Tak Suyu

    Woo~

    Oh if you want help I'll help yah fix your Original Post
     
  28. Offline

    miyoko

    Alright, sounds good.
     
  29. Offline

    Smokie23

    i got a problem. when I make a warp it will write it in the warps.yml but if I restart server the file gets wiped and only
    { }
    is in the file. How do I make it not erase the data on server restart, start up, stop/start??
     
  30. Offline

    miyoko

    That shouldn't be happening...make sure your config.yml says 1.6.3 as the version. That's the only thing I can think of right now.

    So the day after I finally fix all the AutoUpdate shit...MY SERVER GOES DOWN. It can't be restarted yet, sadly, because my friend is at work, and I have no way to restart it.

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

    webcraft

    Where can I download it?
     

Share This Page