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

    Oh lol. Aight, just sayin' anyway. Someone decided to crash the server with WorldEdit anyway. So not like it matters anyway :\
     
  3. Offline

    miyoko

    :/ Thats stupid!
     
  4. Offline

    Pr0Failure

    I see it took you quite awhile to get /tploc according to the devbuild lmfao.
     
  5. Offline

    miyoko

    It's still not working for some reason.
     
  6. Offline

    Pr0Failure

    What exactly does the command do if I might ask? Considering /tp is new (to me at least)

    Edit: Nvm just looked at the list lol. Is it already in a new build? Aka is it available via Bukkit dl link? Or is it dev build only?

    Ignore this post. I'm using it store a cleaner permissions file for me seeing as I don't have a flashdrive on me (I'm at my friends house for the night.
    Ignore This (open)

    Code:
    groups:
        Guest:
            default: true
            info:
                prefix: ''
                suffix: ''
                build: false
            inheritance:
            permissions:
            - simpleadmin.list
            - simpleadmin.pm
            - simpleadmin.spawn
            - waypoint.spawn
            - waypoint.warp
            - waypoint.warp.list
            - waypoint.warp.access.Guest
            - multiverse.world.spawn
            - nomovedtooquicklykick.exempt
        Default:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Guest
            permissions:
            - waypoint.basic.list
            - waypoint.basic.teleport
            - waypoint.basic.add
            - waypoint.basic.delete
            - waypoint.home
            - waypoint.home.set
            - waypoint.warp.access.Default
            - bog.item
            - boi.item
            - bof.item
            - bol.item
        Member:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Default
            permissions:
            - waypoint.basic.invite
            - waypoint.basic.invite.accept
            - waypoint.basic.invite.decline
            - waypoint.warp.create
            - waypoint.warp.delete
            - waypoint.warp.access.Member
        Moderator:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Member
            permissions:
            - airbuild.build
            - bmobs.kill
            - rocketboots.boots.gold
            - simpleadmin.instakill
            - simpleadmin.inventory
            - simpleadmin.kick
            - simpleadmin.time
            - simpleadmin.tpto
            - simpleadmin.ban
            - simpleadmin.weather
            - waypoint.warp.access.Moderator
            - waypoint.warp.access.Builder
            - nocheat.speedhack
            - nocheat.movine
            - nocheat.flying
            - nocheat.fakesneak
            - nocheat.fastswim
            - nocheat.airbuild
            - nocheat.notify
        Builder:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Member
            permissions:
            - worldedit.*
            - airbuild.build
            - rocketboots.boots.gold
            - simpleadmin.item
            - simpleadmin.time
            - simpleadmin.weather
            - waypoint.warp.access.Builder
            - nocheat.*
            - ClothCommand.cloth
            - ClothCommand.cloth.unlimited
        Admin:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Moderator
            - Builder
            permissions:
            - bmobs.reload
            - spyer.*
            - simpleadmin.clearinv
            - simpleadmin.god
            - simpleadmin.heal
            - simpleadmin.say
            - simpleadmin.spawnmob
            - simpleadmin.unban
            - waypoint.admin.warp
            - waypoint.warp.access.Admin
            - SpongeRestore.all
            - multiverse.tp
            - multiverse.portal.*
            - instabreak.toggle
            - instabreak.bedrock
            - ClothCommand.*
        Owner:
            default: false
            info:
                prefix: ''
                suffix: ''
                build: true
            inheritance:
            - Admin
            permissions:
            - '*'
            - waypoint.warp.access.Owner


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

    xybre

    Code:
    04:47:05 [INFO] [Waypoint] Reading configurations.
    04:47:05 [INFO] [Waypoint] Configuration succesfully loaded.
    04:47:05 [INFO] [Waypoint] Set home to bed is enabled.
    04:47:05 [INFO] [Waypoint] Permissions plugin detected. Using Permissions v3.1.6
    04:47:05 [INFO] [Waypoint] Enabled version 1.5.0
    04:47:05 [INFO] [Waypoint] Saved all configurations.
    04:47:05 [INFO] [Waypoint] Auto-update is disabled.
    04:47:05 [SEVERE] Error occurred while enabling Waypoint v1.5.0 (Is it up to date?): null
    java.util.NoSuchElementException
            at java.util.AbstractList$Itr.next(Unknown Source)
            at me.pirogoeth.Waypoint.Core.Warps.LoadGroups(Warps.java:32)
            at me.pirogoeth.Waypoint.Waypoint.onEnable(Waypoint.java:65)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:878)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:272)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:162)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:146)
            at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:380)
            at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:312)
            at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    I keep seeing this pop up when I start/reload the server, other than the /tploc command, everything else seems to work just fine, and the server runs smoothly. Any ideas what it could be?
     
  8. Offline

    miyoko

    I have a pretty good idea of what it is. Can you post your config.yml please?
     
  9. Offline

    xybre

    Code:
      1 home:
      2     set_home_at_bed: 'true'
      3 warp:
      4     case_sensitive_tp: 'true'
      5     permissions:
      6     list_world_only: 'false'
      7     traverse_world_only: 'false'
      8 version: 1.5.0
      9 autoupdate: 'false'
     
  10. Offline

    miyoko

    You *need* to define permission groups under the permissions node in the warp sections. That's why it won't work.
     
  11. Offline

    xybre

    The commands work, except /tploc.

    That sounds like its trying to duplicate Permissions functionality in the plugin itself, why not just grant permissions to those groups there? Or perhaps I'm misunderstanding?
     
  12. Offline

    miyoko

    The warp permissions groups you add into the config right there are used inside your Permissions plugins to act as a group limiter.

    Say you have a Member group in your Permissions file. If you add the group to your Waypoint config.yml and give that group the waypoint.warp.access.Member, only Members can access the warps that group creates.

    Also, with tploc not working: get the latest jar from http://maio.me/~pirogoeth/Waypoint.jar
     
  13. Offline

    xybre

    Err, I think there's a missing word or two? :)

    I saw the commit on GitHub, I was wondering if it was fixed, thanks I'll try it out.
     
  14. Offline

    lezyamin

    When i use the warp list command and the /warp create command it says there is an internal error all of my plugins have these type of problems please can someone help me
     
  15. Offline

    miyoko

    Can you provide traceback text from the server console please?
     
  16. Offline

    miyoko

    Sure has been quiet here.......
     
  17. Offline

    woodzy

    @ miyoko just wanted to say i LOVE the comic!! in the main post
     
  18. Offline

    Yusuf Mihmat

    Hey,
    For the "/warp set <warpname> <key> <value>" command what is the "<key>" and "<value>"?
     
  19. Offline

    miyoko

    Key and value are owner, permission or any other value you want to set. Owner and permission are the only values used by the plugin, but you can add custom metadata to the warrp.
     
  20. Offline

    Pr0Failure

    /warp set <warp> <owner/permission> <user/warp permission group>
     
  21. Offline

    Yusuf Mihmat

    ok thanks. i got one more question. where is the file that you put the permission nodes in? im having trouble finding it.
     
  22. Offline

    Pr0Failure

    Server Folder>plugins>Permissions>world>groups.yml
     
  23. Offline

    oglop

    hello this plugin looks good on first sigh.
    If I am right I should be able to permissions to players:
    player can only use
    /home
    /home set (/sethome doesnt metter)
    /warp (player can warp to warp that I crated)
    this is very nice ..
    could be added commad and funcions to /home like at /wp?
    I mean
    /home inv(invite) <pl. name> (with auto accept)
    /home uninv (uninvite) <pl. name>
    /home public (everybody can teleport to that players home)


    and permissions to theese commands?

    thank you
     
  24. Offline

    miyoko

    If you want to get someone in your house, add a waypoint, and invite your friend(s) to it. I'm sorry, but I'm not going to re-implement existing functionality on a scale like this.

    If enough people want it, then there's a better chance that I'll write the code for this.
     
  25. Offline

    Yusuf Mihmat

    There isnt a permissions folder in my plugins folder.
     
  26. Offline

    miyoko

    Do you use a Permissions plugin?
     
  27. Offline

    Yusuf Mihmat

    no
     
  28. Offline

    miyoko

    If you don't use a Permissions plugin, my plugin will automatically detect that and pretty much just give Ops access to all commands.
     
  29. Offline

    Yusuf Mihmat

    Oh ok. Thanks. Ill get permissions.

    Ok. I did everything in the video and I'm still having trouble with the group thing. I made myself admin and whenever I try to set a warp to a different permission group it says i don't have permission to use that command. I need help!!!!

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

    joselitoeu

    People who join my server can't use any of the commands, and i can't understand how to give then permission without giving then OP.
     
  31. Offline

    miyoko

    Using /warpadmin? Also, I recommend looking at my sample Permissions file. Also, are you using Permissions v2.7.4?

    Without a Permissions plugin, its basically Op or bust until I can implement a system to act like Permissions.

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

Share This Page