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

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    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

    This post has been edited 52 times. It was last edited by miyoko Dec 21, 2012.
  2.  
  3. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Actually for some odd reason I have no experience with editing jar files :D
  4. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Prolly deleted Waypoint... Haters.
  5. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Just download 7-Zip, right click the essentials jar, open with 7-Zip, there should be a plugin.yml or some that has the list of nodes/commands, just highlight and delete the one with /warp
  6. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    What do you mean?
  7. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Totally can't wait for 1.6.4 full release :D
  8. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I've tried pretty much everything to get this world working..
    Works when I first make it.. but disappears after a restart
    Tried editing the properties and nope..
    Code:
    world:
        World_nether:
            env: NETHER
        World_skylands:
            env: NORMAL
        World:
            env: NORMAL
    worlds:
        grief:
            env: NORMAL
            mode: 0
            pvp: false
        world_nether:
            mode: 1
            pvp: false
        world:
            mode: 1
        world_the_end:
            mode: 1
        World:
            mode: 0
        fel:                                             #My New World
            pvp: false                              #Made with the latest beta release
            env: NORMAL
            mode: '0'
    
  9. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Editing the worlds file will never work and sometimes results in having to re-install Waypoint from scratch so never do that. When I've got time today I'll test it out.
  10. Offline

    Ctark

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    You lies! So ya my players found this little loophole.... they didn't like the limits so they get someone to make them a waypoint, invite them, then they can delete it and they still have access to it...
    I don't know how you would go about stopping them, unless you had some way to track who you have invited.
    The coding right now only deletes the waypoint for you:
    Maybe on the add you could do something like (I don't do java but I will try to make a fool of myself here):
    MinorUtils.UserNodeChomp(player, point, invited) and have it set that to the player name, or add it to the list.... (note minor tweaking / complete rewrite of the above code may be needed)
    ctark:
    blaze1:
    coord:
    Y: 53.0
    X: 363.60903367111166
    Z: -160.17045153679544
    world: WorldNAME_nether
    invite: Player1, player2, player3.
    If you do this, then you can easily referance the invite, under the delete section and be able to remove the point from their invite section at the same time... I don't think this would be to hard for someone of your skills, and it would be nice. You could always implement the same thing for a /uninvite or /revoke command...
    Thanks for putting up with me!
  11. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    In short, when you invite someone, it makes a new waypoint for them? So the fix would be to add "members" to a waypoint (assuming owner-member setup)
  12. Offline

    Ctark

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    when you 'add' waypoint 'xyz' for member abc under the data/users.yml file it will create a:
    users:
    abc:
    xyz:
    coord:
    x: bla
    y: bla
    z: bla (or something close to this that is)
    When you invite cba to your xyz waypoint you get under the same file:
    invites:
    cba:
    xyz:
    coord:
    x: y: z: ..........
    Basically I say add under the first 'users:' section an 'invited:' group, listing the members who are invited, then you can easily reverence them, go though and remove them from the 'invites:' section, and poof, problem solved.
    Granted miyoko probably knows an easier way to do this, or something, but with my limited knowledge of programming this is the way I would do it at least.
  13. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I'll work on this. http://phabricator.maio.me/T13
  14. Offline

    Ctark

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Awesome thanks man!
    Also I sent in a pull request on github for an override node, I don't know if it will work or not, can't figure out how to compile it.... :D (I know.... doesn't inspire faith...)
    Check it out when you have a sec, delete if garbage.
  15. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Also, new commands are coming with 1.6.4 going off of Ctark's problem for in-game use.
    /wp remove <player> <point>
    waypoint.basic.remove
    (Was T14, now merged into T13 for those that check Phabricator)

    This post has been edited 1 time. It was last edited by Pr0Failure Dec 30, 2011.
    Ctark likes this.
  16. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Are you saying that your world removes itself from the worlds list after a restart?
  17. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Yup, disappears completely and as far as I can tell all the files and indicators needed for it are there
    • Works
    • Restart
    • Poof
  18. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    You might be on a really old build lol.
  19. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Stuff miyoko forgot to mention:
    /warp remote <player> <point>
    waypoint.warp.remote
    Warps select player to select warp.
    Note: The command checks the command user's warp permissions, NOT THE SELECT PLAYER.
  20. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I asked earlier if I had to change anything when upgrading >x>
  21. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    And I responded and said no, just replace the old jar.
  22. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Exactly..
    • CraftBukkit 1597
    • Waypoint v1.6.4
    Could it be that because I was on v1.6.1 for so long that it needs to be remade?
  23. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    I don't think so. I've always just replaced the old jar with a new one and it's worked perfectly fine (except for when it had bugs) and I've tested it on the newest version and I couldn't re-create the problem.
  24. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    Guess I'll just play around with it
  25. Offline

    VVTisBoreD

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    How do i give new players (all players) permission to be in a world?
  26. Offline

    miyoko

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    If you use a permissions plugin, add the node 'waypoint.world.access.<worldname>' to their allowed permissions, where <worldname> is the name of your world.
  27. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    You could do what miyoko said, or give the default group waypoint.world.access.*
  28. Offline

    VVTisBoreD

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    what do u mean ._. like i put "waypoint.world.access.CraftTown" under permissions in permissions.yml and waypoint.world.access.<worldname> just to be sure but it still doesnt work.. can u guide me?
  29. Offline

    Pr0Failure

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    First of all, do you actually have a permissions plugin? Simply making permissions in Bukkit's permission.yml does nothing, you still need a permissions manager.
  30. Offline

    VVTisBoreD

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    what do u mean ._. like i put "waypoint.world.access.CraftTown" under permissions in permissions.yml and waypoint.world.access.<worldname> just to be sure but it still doesnt work.. can u guide me?
  31. Offline

    death1223

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    He means put
    waypoint.world.access.*
    In the permissions so that they can go to all worlds.
  32. Offline

    Tak Suyu

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Minecraft account:
    MCUSERNAME
    So good news, I managed to import a world not created through waypoint manually

    Its how it wrote up the world I guess

    Code:
    worlds:
        grief:
            env: NORMAL
            mode: 0
            pvp: false
        fel:
            pvp: false
            env: NORMAL
            mode: '0'
        skyblock:
            env: NORMAL
            mode: 0
            pvp: false
    


    Grief and skyblock are confirmed to work
    fel was made automatically with v1.6.4b

Share This Page