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

    Ctark

    no, waypoint.spawn is for the /spawn command itself.
    any of the /tp commands use their individual nodes.
    and the code segment was for miyoko mainly, though I only added one copy paste and changed one word, so don't feel bad cuz you can't code, I'm not good at it myself.
     
  3. Offline

    miyoko

    It's too damn early for this. But I'll get to work.

    Limits -- per person, 0 would mean a limit of 0 ;p
    /world list -- just added a node for it ;p
    "waypoint.teleport.teleport" -- used only for /tp
    /world delete -- there's really no way to actually unload a world afaik, but i'll look into it
    warp permissions -- I can try to clean them up if you help me figure out how to make it simpler.
    And I need to rewrite the entire plugin description. /me is lazy :/

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

    Pr0Failure

    /world delete as in deleting the world. I've seen that done on a couple other plugins.
    As far as the nodes/descriptions go I can re-write/fix them if you don't have the time. I'll be sitting at my cousin's for the next day or so, so I won't be able to test anything server wise and I'll have a lot of free time.

    As far as the waypoint.spawn description, it's his fault for being misleading :O

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

    Themosey

    Is 1.6 back up, or just waiting for 1.6.1 for MC1.0?
     
  6. Offline

    Pr0Failure

    1.6.1 is out. Haven't tested on dev build for 1.0.0 though yet.
     
  7. Offline

    miyoko

    I'm using 1.6.1 on CB #1488. Works perfectly.

    Update: Also, going to add /world unload and /world delete
     
    Ctark likes this.
  8. Offline

    Pr0Failure

    Idk if it's bukkit or the plugin. But sometimes when using /world it'll put me into creative mode in a survival world.

    #1490 btw.
     
  9. Offline

    oden99

    Is that compatible with 1.0.0?
     
  10. Offline

    Pr0Failure

    Somewhat yea.
     
  11. Offline

    Ctark

    is it just me or does the downloads not work?
     
  12. Offline

    Pr0Failure

    miyoko likes this.
  13. Offline

    TbMarcher

    This is AWESOME!
     
  14. Offline

    Metamon7

    I get 404 error when i am trying to download :(
     
  15. Offline

    Pr0Failure


    Use the link in the quoted post.
     
  16. Offline

    DerMoritz

    What quoted box?
     
  17. Offline

    miyoko

    It's the plugin. I'm working on the mode changing system and also per-world PVP settings too. So I'll make sure to push it all out in say....20 minutes.

    >That awkward moment when you're bitching at your minecraft server because it's not running events but then you realise that you never registered said events.

    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

    Waiting for the fixes to test.
     
  19. Offline

    miyoko

    So, 1.6.2 beta (rename to Waypoint.jar) is out for testing. But please, pretty pretty pretty please make sure you run the 1.6.1 alpha (rename to Waypoint.jar) on your server if you want to upgrade to the 1.6.2 beta...If you come in the thread saying you used the 1.6.2 beta and didn't use the 1.6.1 alpha, I won't help you. And it's only because the 1.6.1 alpha rearranges some things in the config hierarchy and I don't have the same stuff happening in the 1.6.2 rel. So please, if you're gonna test, make sure you upgrade to 1.6.1 and then 1.6.2. Sorry if it makes things difficult, but it's just how things have to happen right now since updates aren't really getting distributed through autoupdate right now. Thanks.
     
  20. Offline

    Pr0Failure

    Testing tonight. I'll post back later if I find any bugs.
     
  21. Offline

    miyoko

    Alright.
     
  22. For some reason I can't do /tphere <name> it says "<name> does not have access to this world blablabla"

    Code:
    limits:
        waypoint:
            enabled: true
            threshold: 10
        warp:
            enabled: true
            threshold: 10
    home:
        set_home_at_bed: 'false'
    autoupdate: 'false'
    warp:
        string: You warped to %w
        permissions:
        - Citizen
        - VIP
        - SVIP
        - Mod
        - Admin
        warpstring_enabled: 'true'
        list_world_only: 'false'
        traverse_world_only: 'true'
    version: 1.6.2
     
  23. Offline

    Pr0Failure

    I'll do some testing on it soon-ish.

    Testing all the commands now. I'll report back within an hour or so.

    Done my testing. Only 2-3 bugs?

    /tphere <player> doesn't work. Gives "[Waypoint] Gaahlskagg0666 doesn't have permissions to enter this world." even though they are in the same world as you. (/tp <player> [target] still works though)

    And when you have the config set to list world only and traverse world only or whatev, it works like it supposed to with warps only. Waypoints you can still cross-world and list even when it's set to true.

    Also for some reason I couldn't get /spawn <world> to work unless the user has '*' permission. I tried putting in different nodes but none of them worked. If you could list it? Or maybe it's a bug? Idk. You also need to list waypoint.world.list to the node list. Otherwise people won't be able to use /world list.

    Suggestion: add /tpto <player> to teleport to a desired player.

    Tested everything on #1550

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

    Ctark

    /spawn world 'should' use the waypoint.spawn node, thats what the code is looking for anyway....
    for /tphere <player> that player needs the waypoint.world.access.<world> node (from what I can tell anyway)
    /tp <target> <user> should be the same, needing the waypoint.world.access.<world> node. (maybe only when tp'ing somone else somewhere, not you to them...?
    Hopefully you can try some of these nodes profailure, and maybe it will work.... maybe not.... :D
     
  25. Offline

    Pr0Failure

    My test buddy is sleeping so I'm out of luck until tomorrow lol.

    Any maybe if he would list all the correct nodes this kind of stuff wouldn't happen D:<
     
  26. Offline

    blokzeil1

    i miss a download link in your begin post..
     
  27. Offline

    miyoko

    Yeah...Um....I'm really sorry about not mentioning the new nodes ._. completely slipped up there.

    Any sort of teleportation command requires the use of the waypoint.world.access.<worldname> node. Part of all the new access shit I'm working on.

    For /spawn, the permissions literally just is "waypoint.spawn". I don't know what the problem is. But for /spawn you still also have to have "waypoint.world.access.<worldname>" defined. I just fixed a few bugs so, just use the same download like for the 1.6.2 beta in the other post. Or here it is again. Again, I'm sorry. I'm an idiot sometimes.
     
  28. Offline

    Pr0Failure

    Np. I think everything is working fine then.

    Oh, just the list world only and traverse world only still let waypoints to be used cross-world.
     
  29. Offline

    blokzeil1

    I have a problem with the permissions...
    This is my permissions file:
    Code:
    groups:
        default:
            default: true
            prefix: ''
            permissions:
            - myworlds.world.build.world
            - myworlds.world.build.vanilla
            - myworlds.world.build.ghostkaart
            - myworlds.world.build.world_nether
            - myworlds.world.enter.*
            - myworlds.world.build.nether_vanilla
            - myworlds.portal.use
            - commandbook.msg
            - commandbook.motd
            - commandbook.who
            - commandbook.rules
            - commandbook.whereami.compass
            - commandbook.spawn
            - commandbook.away
            worlds:
                world:
                    permissions:
                    - jail.usercmd.jailstatus
                    - lwc.protect
                    - myworlds.portal.use
                    - iConomy.holdings.*
                    - iConomy.help
                    - iConomy.list
                    - iConomy.payment
                    - iConomy.access
                    - iConomy.rank
                    - commandbook.kit.list
                    - commandbook.spawn
                    - mcmmo.ability.*
                    - mcmmo.skills.*
                    - mcmmo.commands.ptp
                    - mcmmo.commands.party
                    - mcmmo.chat.partychat
                    - craftbook.mech.*
                    - commandbook.kit.kits.starter
                    - waypoint.warp.*
                    - waypoint.warp.create
                    - waypoint.sign.link.use
                vanilla:
                    permissions: null
                    perfix: '&f[&7N&f]'
        Longtimer:
            inheritance:
            - default
            prefix: '&f(&3LT&f)&2 '
            permissions: null
            worlds:
                world:
                    permissions:
                    - commandbook.kit.kits.longtimer
                    perfix: '&f[&7N&f](&3LT&f)&2'
                vanilla:
                    permissions: null
        VIP:
            inheritance:
            - longtimer
            prefix: '&f(&6VIP&f)&2 '
            permissions:
            - myworlds.world.build.*
            worlds:
                world:
                    permissions:
                    - magiccarpet.mc
                    - magiccarpet.ml
                    - worldguard.stack
                    - commandbook.kit.kits.vip
                    prefix: '&f(&6VIP&f)&2 '
                vanilla:
                    permissons: null
        Prutser:
            inheritance:
            - longtimer
            prefix: '&f[&5Prutser&f][&4Mod&f]&d '
            permissions:
            - '*'
        Mod1:
            inheritance:
            - longtimer
            prefix: '&f[&4Mod&f]&e '
            permissions:
            - reporter.*
            - afkick.exempt
            - iConomy.admin.stats
            - jail.openchest
            - jail.command.jail
            - jail.command.unjail
            - jail.command.jailmute
            - jail.command.jailclear
            - OpenInv.openinv
            - OpenInv.search
            - OpenInv.crossworld
            - OpenInv.exempt
            - OpenInv.override
            - vanish.vanish
            - vanish.nopickup
            - vanish.noaggromobs
            - vanish.noaggromobs
            - worldedit.selection.*
            - worldedit.navigation.*
            - worldedit.region.stack
            - worldedit.fixwater
            - worldguard.*
            - backup.canbackup
            - CommandBin.*
            - commandbook.weather
            - commandbook.kit.kits.mod
            - commandbook.kit.kits.longtimer
            - commandbook.teleport.*
            - commandbook.return
            - commandbook.broadcast
            - commandbook.mute
            - commandbook.rocket.*
            - commandbook.slap.*
            - commandbook.clear.*
            - commandbook.shock.*
            - commandbook.thor.*
            - commandbook.debug.info
            - commandbook.debug.clock
            - commandbook.kick
            - commandbook.bans.*
            - commandbook.whereami.compass
            - commandbook.compass.*
            - commandbook.spawnmob.*
            - logblock.*
            - lwc.mod
            - FD.admin
            - nocheat.checks.moving.*
            - magiccarpet.mc
            - magiccarpet.ml
            - xraydetection.admin
            - commandbook.time
            - vanish.standard
            - cf.allowfly
            - cf.allowcheat
            - cf.display
            - mcmmo.chat.adminchat
        Mod:
            inheritance:
            - longtimer
            prefix: '&f[&4Mod&f]&e '
            permissions:
            - '*'
        Admin:
            inheritance:
            - Mod
            prefix: '&f[&4Admin&f]&c '
            permissions:
            - mrlemax
            - '*'
        BigBoss:
            inheritance:
            - Admin
            prefix: '&f(&3LT&f)&2 '
            permissions: null
        RE:
            prefix: '&f(&cRE&f)&2 '
            inheritance:
            - Longtimer
            permissions:
            - koolraap
            - myworlds.world.build.*
            Worlds:
                world:
                    permissions:
                    - commandbook.kit.kits.redstone
                    prefix: '&f(&cRE&f)&2 '
    
    but the plugin dont see the permissions i think, nobody can use the warps...
     
  30. Offline

    Pr0Failure

    You don't set per-world permissions in the groups file. There are different folders for different worlds. That's where you set the different permissions. There is no such thing as
    Code:
    worlds:
        world:
        - a.node
    
     
  31. Offline

    miyoko

    I know. It was originally only intended to be for warps. Waypoints are fine to be used/listed cross worlds.
     

Share This Page