Spigot [PWarp] PlayerWarps! |GUI|EASY SET-UP|Player Warps| 3.0.1

Makes you charge players for setting a warp.

  1. The_King_Senne updated [PWarp] PlayerWarps! |GUI|EASY SET-UP|Player Warps| with a new update entry:

    Bug fix

    Read the rest of this update entry...
     
  2. Nice plugin. I was using /homes from EssentialsX as a way for players to set their own teleport locations and didn't enable warps. This plugin allows players to set warps as private which is useful.

    Overall the plugin seems to do what is expected and I'll follow-up with a review after a little more usage.

    A few setup and configuration observations learning to use the plugin.

    Default configuration:
    • Would prefer warpLimit and blackList already be in the configuration instead of them showing up after enabling these via online command.
    • For example, other plugins have used 0 to denote unlimited and [] (empty brackets) to denote no list.

    Lore:
    • The documentation doesn't describe what lore is. By using the command I found it adds lines of text to the warp location as seen when hovering over the warp icon in the gui. In order to help players I've added some information via /info warps as seen below.

    List:
    • Couldn't figure out how to enable or use /pwarp list or /pwarp list <page>.
    • I gave the default users the permission pwarp.info via LuckPerms even though it's not in the list of permissions. Didn't go as far as decompiling the plugin to determine use as I respect your work and the effort put in for the plugin.
    • I can /pwarp listother NAME to get a list of player warps including my own. However, this command seems like an admin capability so I didn't give it to the default group.

    info.yml:
    • It's all commented. Looks like it is meant for documentation purposes. I sorted the permissions to make it easier to run down through them and assign to my default and admin groups via LuckPerms. however this gets reverted on server start/restart.

    Warps:
    • Would prefer the list of warps be decoupled from the configuration and saved in a separate file.
    • Warps names are Highlander-style; meaning there can be only one. To overcome this my players have decided to use their real-world initials as a prefix to a warp name, for example sdk.mine1.
    • Something to consider is storing the warps on a per-person basis. I haven't given this much thought to provide any useful insights but I can imagine it's not entirely trivial.
    • What date format is 735557? I didn't try very hard to see if it was Java epoch related. Would prefer something more readable such as 2019-10-06 09:14:01 -1000 as used in usercache.json or an epoch value.
    • Displaying the create time on hover in the gui would also be useful.
    Tab completion:
    • Tab completion for commands would be nice.


    FWIW, here's the entire /info warps available to my users:
    Code (Text):
    #warps
    You are allowed 27 warp locations.
    &6Type &c/pwarp help&6 to see warp help and command list.
    &6Type &c/pwarp gui&6 to see a GUI of all the warps available to you.
    &6Type &c/pwarp set NAME&6 to set a warp location called NAME.
    &6Type &c/pwarp delete NAME&6 to delete a warp location called NAME.
    &6Type &c/pwarp warp NAME&6 to teleport to the warp location called NAME.
    &6Type &c/pwarp setlore <1,2,3> NAME&6 to set the line NUMBER of text for the warp location called NAME viewed in the gui on hover.
    &6Type &c/pwarp resetlore NAME&6 to remove the lines of text in the gui for the warp location called NAME.
    &6Type &c/pwarp setprivate NAME&6 to set the warp location called NAME only for your use.
    &6Type &c/pwarp setpublic NAME&6 to set the warp location called NAME to be used by everyone.  This is the default.
    &6Type &c/pwarp trust NAME PLAYER&6 to allow PLAYER to use your private warp location called NAME.
    &6Type &c/pwarp untrust NAME PLAYER&6 to disallow PLAYER to use your private warp location called NAME.
     
    • Informative Informative x 1
  3. Hi!

    First of all, sorry for my late reply. I read it yesterday, but didn't have the time to respond x).

    Secondly, thanks for the compliment and the criticism. (I can always appreciate some good criticism :) )

    As for the things you've said:
    I know the config doesn't look clean. It was on my to-do list for the next update to make a new file for warps and to add all keys to the config before they are actually being used.

    As for the lore, it's a Minecraft thing. Lore is a set of text that goes under the item name. I figured that would be self-explanatory to be completely honest.

    I actually removed the /pwarp list command when I introduced the GUI, as I figured it wouldn't really have a use. I can re-add it if you want me to, but I don't think it's a useful feature x).

    The /pwarp info command is actually meant for staff to just see some general settings which they can change. I'll check if I forgot to add the permission if so I'll add it :).

    The /pwarp listother is indeed meant for staff (or maybe donators), that's why there's a permission on the command x).

    The info.yml file is a file that always goes to default when the plugin loads. This is because I frequently keep adding things to the file. I will add a text to the file saying it should not be edited. As for the sorting, did you sort them alphabetically? I could do that as well.

    I actually like only being able to have each name once (and it would be a pain for me to rewrite everything to make it per player). The date isn't really supposed to be readable. It's just for the plugin to check when the warp became inactive. As for the creation date; that's also something I could add.

    And I'll think about adding tab completion :)

    Hope this answer helped you out!
    You can always add me on discord or PM me if you want to discuss things :)
     
  4. I'm a relatively new Minecrafter and host a private server for me, friends, and nephews/nieces and their friends. I constantly have to review the Minecraft documentation on just about everything. Even more newbie on Discord and lurk more than participate; here too.

    Managing multiple home locations via EssentialsX was a good start but one nephew suggested your plugin and here we are. :)

    Re: /pwarp list - no need to add it. I only mention it as it is listed on the Overview screenshots and commands as well as in game. I'll drop this from LuckPerms.

    RE: /pwarp info - Copy, will set as an admin command and not default.

    RE: info.yaml - Yes, I sorted it alphabetically. It groups like permissions making it easier to add to a LuckPerms master list.

    RE: non-unique names - Totally understand about keeping unique warp names. We have a good work-around that serves our purposes. We temp banned a friend-of-a-friend for being a jerk with warp names who later apologized. It's easy to lookup who made a terrible warp and correct it.
     
  5. Okay cool! I will organize the info.yml file better and remove the /pwarp list from the documentation. If you need any more help don't hesitate to PM me :)
     
  6. BUG FAT DUPLICATION BUG
    One of my player shows me this, you can get pwarp menu items when they're in lag. Hurry and fix it please.
     

    Attached Files:

  7. I will fix this asap. This might take me a couple of days because I'm super busy :/. I'll try and hurry!
     
  8. hey, i got this error on my server.
    Vault is installed and for the economy i use CMI. hope you can fix that problem. :/


    Code (Text):
    >.... [14:48:52 ERROR]: Could not load 'plugins/PWarp.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:138) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:337) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:282) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.craftbukkit.v1_14_R1.CraftServer.loadPlugins(CraftServer.java:355) ~[Paper-latest.jar:git-Paper-193]
    at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:226) ~[Paper-latest.jar:git-Paper-193]
    at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:870) ~[Paper-latest.jar:git-Paper-193]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
    Caused by: java.lang.NoClassDefFoundError: net/milkbowl/vault/economy/Economy
    at com.elixiumnetwork.vault.VaultPlugin.setupEconomy(VaultPlugin.java:32) ~[?:?]
    at com.elixiumnetwork.vault.VaultPlugin.<init>(VaultPlugin.java:17) ~[?:?]
    at com.elixiumnetwork.playerwarp.PWarpPlugin.<init>(PWarpPlugin.java:26) ~[?:?]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_212]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_212]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_212]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_212]
    at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_212]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:75) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:134) ~[Paper-latest.jar:git-Paper-193]
    ... 6 more
    Caused by: java.lang.ClassNotFoundException: net.milkbowl.vault.economy.Economy
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_212]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:139) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:85) ~[Paper-latest.jar:git-Paper-193]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_212]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_212]
    at com.elixiumnetwork.vault.VaultPlugin.setupEconomy(VaultPlugin.java:32) ~[?:?]
    at com.elixiumnetwork.vault.VaultPlugin.<init>(VaultPlugin.java:17) ~[?:?]
    at com.elixiumnetwork.playerwarp.PWarpPlugin.<init>(PWarpPlugin.java:26) ~[?:?]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_212]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_212]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_212]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_212]
    at java.lang.Class.newInstance(Class.java:442) ~[?:1.8.0_212]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:75) ~[Paper-latest.jar:git-Paper-193]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:134) ~[Paper-latest.jar:git-Paper-193]
    ... 6 more
     
  9. Do you have the correct version of vault installed (latest)? This is clearly the plugin not being able to find/hook into vault x)
     
  10. 4 quotes? xD
    sorry for the late answer...
    i've a recompiled version of vault installed for the compatibility with CMI: upload_2019-9-24_20-50-43.png
    that's the problem? if it is, so i can't use your plugin for now :(
     
  11. Sorry, my bad. The multiple quotes happened because of my bad internet connection yesterday x)
    Could you test with a normal version of vault? I don't believe this is the problem, but that's the easiest way of finding out :)
     
  12. happens. :D

    all of my plugins that works with the CMI economy system (so all of my plugins with vault requirement) no longer work if i use the normal vault version and PWarp still can't run. :/
    the recompiled version of vault is needed in my case :(

    upload_2019-9-25_15-46-12.png

    upload_2019-9-25_15-39-11.png

    upload_2019-9-25_15-48-2.png

    upload_2019-9-25_15-46-57.png
     
  13. Okay then that isn't the issue :). I will try looking into it, but I'm busy (also still have to release a bug fix I'm working on). I will try to fix this asap! (also just for the sake of asking, do you have the latest version of pwarp installed?)
     
  14. thanks a lot :)
    yep i have.
     
  15. Hi everyone!

    Sorry I haven't been able to push out updates... I have been really busy lately and will NOT be able to do so until 05/11 (5fth of November).

    Apologies for the inconvenience! :/
     
  16. Damn, Haven't seen this plugin in ages, The last time I messed around with this was February of this year haha!
     
  17. Hahaha well, I have been and still am quite busy x)

    I try to work on it whenever I can :)
     
  18. Men, i was trying to do a plugin, and i need a system like that gui, with all the list of "warps" (in my plugin there are arenas, not warps" what should i do?
    Code (Java):
    List<String> games = new ArrayList<String>() ;
    for(Game game : GamesFile.get().getConfigurationSection("Games").getKeys(false)) {
    String name = game.getName();
    games.add(name);
    }
    //send List String?
     
  19. I recommend watching a youtube tutorial or scrolling around through the spigot forums ;).
     
  20. Dont worry i know is simply looping xd