Inactive [TP] NiftyWarp v1.2 - Warp/Home plugin based on privacy/visibility of warps [1000]

Discussion in 'Inactive/Unsupported Plugins' started by Nifty Monkey, Jun 26, 2011.

  1. Offline

    Nifty Monkey

    ******** NOTICE ********

    NiftyWarp is no longer following or updating this forum thread.
    For all support, please use the BukkitDev site.

    ******** NOTICE ********
    NiftyWarp - A warp/home plugin that allows for private, listed, and unlisted warps.
    Version: v1.2
    CraftBukkit Version: 1000

    NiftyWarp was written because I wanted to create and manage warps in a way that was easy, but that didn't end up in a giant, cluttered-up list for everyone on the server. However, I didn't want to simply create personal warp lists only because I wanted the make sure it was easy for people to be able to share access to their warps if they so chose.

    • Warp Types
      • Create "listed" warps that are visible and useable by anyone.
      • Create "unlisted" warps that are invisible to others, but still useable by anyone.
      • Create "private" warps that are invisible to others, and only useable by you.
    • Change warp type for easy sharing with others.
    • Simple home warp creation and usage (e.g. /home, /sethome)
    • Cross-World Warping
    • Clearly see which warps are yours and which ones belong to others
    • Configurable default type
    • Permissions support (and three non-permissions-plugin options as well)

    Permissions 3.x (Optional) - tested with 3.1.3
    also works with Permissions 2.x (Optional) - tested with 2.7.4

    Feel free to post feature suggestions in this thread!
    Commands (open)
    In order to be able to function alongside other warp plugins, all of the main commands are unique to NiftyWarp and prefixed with "nw". However, for ease of use, I've also included quite a few common and intuitive aliases. Here are the commands listed using the aliases people are most likely to use. Below them are the main command and other alternates if you need to use this in conjunction with another addon.

    /addwarp <warpName>
    Add a warp
    - Command: /nwadd
    - Alternates: /nwa, /addwarp, /createwarp, /setwarp

    /deletewarp <warpName>
    Delete a warp
    - Command: /nwdelete
    - Alternates: /nwd, /deletewarp, /removewarp

    Set your home warp (currently just makes a warp named "home")
    - Command: /nwhomeset
    - Alternates: /nwhs, /homeset, /sethome

    Warp to your home (currently just warps to your "home" warp)
    - Command: /nwhome
    - Alternates: /nwh, /home

    /listwarps <worldName> <private | unlisted | listed>
    Get the list of warps. You can use asterisk for world to get all worlds if specifying type.
    - Command: /nwlist
    - Alternates: /nwl, /listwarps

    /renamewarp <warpName> <newWarpName>
    Rename an existing warp
    - Command: /nwrename
    - Alternates: /nwr, /renamewarp

    /setwarptype <warpName> private | unlisted | listed
    Set the privacy/visibility of a warp after creation
    - Command: /nwset
    - Alternates: /nws, /settype, /setwarptype

    /warp <warpName>
    Use a warp
    - Command: /nwwarp
    - Alternates: /nw, /nww, /warp

    /warptocoord x y z <worldName>
    Warp to a specific coordinate
    - Command: /nwwarptocoord
    - Alternates: /nwwtc, /nww2c, warptocoord, warp2coord, wtc, w2c

    Permissions (open)
    Permissions Plugin Nodes

    These permissions are for managing and using your own warps. Easy setup is to just set 'niftywarp.use.*' for your users.


    These permissions will allow you to delete/rename/set other people's warps. Add the 'niftywarp.admin.*' for all of the admin functionality.


    Permissions 3.0 users

    3.0 (and 3.0a+MP) seem to have some issues that I can't seem to work out just yet. Best bet is to use one of the non-Permissions-plugin rulesets defineable in the NiftyWarp.yml file (see the Quickstart README for details)

    Non-Permissions-Plugin Rulesets
    • ops-only - means only Ops can use this plugin's commands.
    • ops-for-admin - means only Ops can use the admin type functionality (such as renaming other people's warps).
    • ffa - or Free For All ... means anyone can use any commands/functionality
    Upcoming Features (open)
    • Configurable Safety
      • Safely placing you when the warp loc is inside a block
      • Safely placing you when warp loc is now over lava
      • Safely placing you when warp loc would cause you to fall to your death
    • Configurable namespace
    • More /listwarps options
      • Admin:
        • See all warps by type (private/unlisted/listed)
        • List a specific person's warps (including private)
        • (and a few more ideas I have)
    • Warp Import/Export routines
    • iConomy Support
    • Warp sharing (e.g. /sendwarp)
    • Warp copying (e.g. /copywarp)
    • Help command (e.g. /nwhelp)

    Version 1.2
    • Updated to 1.7.3 server support (build 1000)
    • Added ability to warp to a coordinate (x,y,z,world)
    • Added a "maximum warps" per user config option. Defaults to 20
    • Added destination chunk loading before warping
    • Added filters to the ListWarps command (world and/or type)
    • Added basic internationalization for in-game messages. Currently, German is supported. Will add more on request
    Version 1.1
    • Updated to 1.7.2 server support (build 953)
    • Simple home warp creation and usage (e.g. /home, /sethome)
    • Permissions overhaul
      • Permissions 2.x support
      • Better Permissions 3.x support
      • Three new non-Permissions-plugin based options
    History (open)

    Version 1.0
    Initial functionality:
    • Add warp
    • Delete warp
    • List warps
    • Rename warp
    • Set warp type
    • Warp
    • Permissions support
    Vhince and OptimusAlive like this.
  2. Offline

    OptimusAlive I steal plugins as my own

    Nice work into this!
    I actually posted a plugin that add less features then yours LOL
    I downloaded your plugin and it seems to work fine!
    I would like to talk to you by conversations , can we ?
  3. Offline

    Nifty Monkey

    I'm glad you like it.

    This is my first plugin so I'm anxious to see how it works out. Please let me know if you find any bugs.

  4. Offline

    Nifty Monkey

    Realized that I hadn't noted the "admin" permissions. Added those to the main post.
  5. Offline


    Looks nice =)
  6. Offline


    Two requests?

    Nevermind, they are on the todo list...Could I request they get higher priority?

  7. Offline

    Nifty Monkey

    So, to clarify, you want the following?:
    • Warp to unnamed location (using x,y,z)
    • Configurable max-number of warps
    If so, then yes I can try to get those into a 1.2 release. I'm currently in the process of finishing up a 1.1 release that will include sethome and home commands, as well as a refactor of the permissions support since I'm having issues with the version of Permissions my host uses.

    Thanks for using NiftyWarp and let me know if you see any issues.

    Updated to 1.1 which contains:
    • Updated to 1.7.2 server support (build 953)
    • Simple home warp creation and usage (e.g. /home, /sethome)
    • Permissions overhaul
      • Permissions 2.x support
      • Better Permissions 3.x support
      • Three new non-Permissions-plugin based options

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

    Nifty Monkey

    Updated main post to show commands and aliases.
  9. Offline


    changelog has to show last two versions without a spoiler
  10. Offline

    Nifty Monkey

    Done! :)
  11. Offline


    You should add functions to teleport people to Warps. IE. /warp <player> <warp>
    And on/off function, wish I had both :\
  12. Offline


    I like this a lot so far, just one suggestion. Niftywarp seems to use the players display name instead of the actual username for checking permissions. So if I have the alias "Zook" and my player name is "Zooka" I won't be allowed to use niftywarp even though my other plugins still work. I had the same problem when using God Powers. It added the [God] tag to my display name and Niftywarp couldn't recognize that I was the same player. Great plugin! Keep up the awesome work!
  13. Offline


    You have to add your nickname to the users under permissions plugin to get that to work. I know it's retarded but you do.

    Ex. You have Zooka to users, you would have to add Zook to the userlist too along with what group it is in.

    Also another idea, add an admin/owner feature to see unlisted warps.

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


    is there a way to import my old warps into this plugin?
  15. Offline


    I'm having trouble getting this to work in-game. I'm the owner of the server and I've tried almost all the commands, and different parameters for each, like, "/nwa Village" "/nwa Village listed" etc, as well as "/sethome" "/home" but each command I type in just gives me the help message,
    ex: "/nwa <warpname> [private|listed|unlisted] | Type defaults to private."

    Is there something else I need to set up with the plug-in, such as something with the Config.yml file?
    Sorry for the nooby questions I'm fairly new to Craftbukkit and plug-ins and I'm not very knowledgeable about setting them up. :\
  16. Offline


    If you just added the .jar to the plugins folder w/out restarting the server it won't work.

    EDIT: I also just use /addwarp etc, so try that.
  17. Offline


    It's working now, I went into the config file, set the check for permissions to false, and turned on FFA. Great plug-in btw! My server has been dying to have something exactly like this. :)
  18. Offline

    Nifty Monkey

    Sorry all ... on a family vacation. I'll address these issues in a few days when I get back
  19. Offline


    Would be good to see a multi world support. IE only see warps with /listwarps in the world you're in.
  20. Offline

    Nifty Monkey

    So it sounds like there's a workaround that Pr0Failure mentioned with the nicknames thing with Permissions. However it may be worth having a setting that let's you specify which name to use when building fully qualified names (in the case of naming collisions).

    For instance if you and I were on the same server and we both had a warp named "foo", right now I'd see "foo" for mine and "" for yours. I suppose I could create a config option that says whether to use name or display name when building fully qualified warp names. Does that sound useful?

    Great idea, I'll add that to the list.

    I'm sure I could write something. Where are your other warps stored? warps.txt or some other plugin?

    Yeah, the listwarps command could definitely grow in this way. I'll add it to the list.

    Thanks for your input

    Oh, and I'm adding internationalization to the next version.

    I plan on doing a German translation for sure, and for now the values will likely come from Google Translate.

    Any other translations needed/requested?

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


    Nope :3 just get to work, really working forward to the next update.
  22. Offline

    Nifty Monkey

    What specifically are you looking for in the next patch Pr0Failure?
  23. Offline


    Mainly just the world specific /listwarps. That's the main thing that I need atm.
  24. Offline


    @Pr0Failure Yeah that's eventually what I did. But it seemed like a bug so I thought I would mention it.
    That certainly sounds good. I think most admins record the users real name in permissions as opposed to their display names, since most plugins base their permissions off of the real name (although I could be wrong with this).
  25. Offline


    Pretty much, but the problem with basing off of display name is that servers could have more than one of the same nick name, causing problems.

    That's why I leave nick-naming and permissions of such to admins only.
  26. Offline

    Nifty Monkey

    v1.2 Status update:
    • Warp To Coordinate is implemented. (fatmarley request)
    • Maximum Warps configuration option implemented. (fatmarley request)
    • Working on extended listwarps functionality. (Pr0Failure request)
    • Hopefully can get i18n into this release.
  27. Offline


    Yeah, I'll probably set it up like that until a version with the real names option comes out. I do really like this warp plugin though so I'm happy to wait :p

    @Nifty Monkey

    I was poking around in the source code, and came across /niftywarp/permissions/

    At line 31 (and possibly 50), if I change
            String playerName = player.getDisplayName();
            String playerName = player.getName();
    should that work out for me? I'm not very familiar with java or the Bukkit API's so I thought I would ask before learning how to compile and jar java code.

    Also there are several other files that use player.getDisplayName() , I'm curious as to what would happen to warp point ownership if a player changes their nickname. Do they lose ownership of private warp points? Or is there a check for that I haven't seen?
  28. Offline

    Nifty Monkey

    Yes, technically that should work for you. However there are other implications with that change. A lot of the code is based around the warp owner. Currently this is coded to use display name. I plan on changing that to be configurable here in the next release or two but that will be a much more invasive code change than just this one line.

    If you are just looking for a quick fix for now though and you don't want to use the non-permissions-based options, then yes ... that one line should fix your situation.
  29. Offline


    I noticed that as I was perusing the code (thank you for including source by the way). I think I'll poke around with it for now for my own private use and see how it goes. I'll let you know if I accomplish anything worth making a commit for (although I doubt anything will come from my tampering :p)
  30. Offline


    I'm pretty much waiting on the update for this mod to actually go public with my server lol (besides tidying up the public worlds)

Share This Page