[INACTIVE][ADMIN][GEN]HunkleberryGeneral v0.75 - Friendly Commands [493]

Discussion in 'Inactive/Unsupported Plugins' started by Glen McNeilley, Feb 23, 2011.

  1. Offline

    Glen McNeilley

    HunkleberryGeneral - Friendly General Commands Plugin:
    • NEW-/msg, /reply and /afk. Better persisting. Sorted properties files. Better formed response from material matching.
    • NEW-Constraining functions, /setname may only set your own name, added /setothername. Added /home, /sethome, and /worldhome, /setworldhome- different options you may offer to groups that don't have full rights.
    • NEW-/setname persists through server restarts.
    • NEW-/sights, and /see, persisted world aware private named locations.
    • NEW-/worldloadlist, set worlds to load on startup. /hg_help displays only commands you can use.
    This is a friendly general command plugin with a number of excellent features. It will never do more than monitor the chat commands (nearly), which should allow for flawless integration with other plugins. In the event of a command name conflict a properties file is available to set an alias for the particular command, or all of them. Also provided is a config file for renaming the given Permissions2.0(Not Required) keys, and two config files that allow for the setting of server-wide and Ops permissions, all at the individual command level.


    Getting started:
    Please copy the plugin into your plugin directory and /reload your server to generate the plugins/HunkleberryGeneral/ path and properties files. Delete this path or these files at any time to have them regenerate with defaults at the next server reload.

    (alias functionality temporarily removed)
    (help with a workaround here)
    Download the C.B. 493+ plugin here (google docs)
    or wgetable (github)
    Download an example MOTD file here (google docs)
    Download the source code here (github)

    Commands of note:
    • /sights and /see, private named locations.
    • /leap and /flick, well implemented world-aware teleport command.
    • /getblock and /giveblock, itemdata aware inventory generators for items under your crosshair.
    • /slay and /cleardrops, to clean up any messy world spawns
    • /strata, a command which allows you to teleport x number of air/solid block transitions (stratum, loosely) such as walls, mountains, trees,..., e.g., using /strata 3 while looking at the ceiling at the bottom of a multi-story building will teleport you 3 floors up. Last but not least using /strata 0 will teleport you to the face of the solid under your crosshair, as long as safe ground is below.
    • /setworldtype, creates a file in the world directory that permanently declares the environment of the world. This file is read by /loadworld, negating the possibility of messing up the world by using the wrong environment type.
    • /worldloadlist, set the worlds that will load on startup.
    Commands:
    (FULL COMMAND LIST MOVED, OUT OF ROOM HERE)
    CLICK TO SEE COMMAND LIST (open)

    Inventory
    /get {itemId|itemName} [quantity:default=1] [itemData:default=null]
    /give {playerName} {itemId|itemName} [quantity:default=1] [itemData:default=null]
    /getblock [quantity:default=1] [itemData:default=targeted]
    /giveblock {playerName} [quantity:default=1] [itemData:default=targeted]
    /clearinv [playerName:default=self]
    /clearinvall [playerName:default=self]
    /listinv [playerName:default=self]
    /matcontains {string}
    Personal
    /heal [playerName:default=self]
    /setname {newName} [index,color/...:default=no color]
    /setnameother {playerName} {newName} [index,color/...:default=no color]
    /who [world:default=all] [brief|long:default=brief]
    /playerinfo
    /colorchart
    /setspawn [{x} {y} {z} [worldName]]:default=current location
    /setcompass [playerName] [x y z] [here]:default=current world spawn
    /compass
    /loc
    /msg {playerName(*=all)[.worldName(*=all):default=all]} {message}
    /reply {message}
    /afk [message]
    Teleport
    /home
    /sethome
    /worldhome
    /setworldhome
    /sights {add|remove|list|save}[name:req. for set|remove]
    /see [name:default=home]
    /leap [[worldName] [playerName] [x y z]]:default=current world spawn
    /fling {name}[worldName] [playerName] [x y z]:default=current world spawn
    /gather [playerName:default=all] [worldName:default=all]
    /spawn
    /strata [number:default=0]
    Server
    /motd
    /slay
    /cleardrops
    /gettime [playerName:default=self]
    /time [playerName:default=self] [time:default=noon]
    /listworlds
    /loadworld {worldName}
    /createworld {worldName} {normal|nether}
    /setworldtype {worldName} {normal|nether}
    /worldloadlist {add|remove|list|save}
    /hg_help [command]:default=list commands
    /listplugins
    /bounce {player} [minutes:default=forever] [message]
    /unbounce {player}
    /bounceip {player} [minutes:default=forever] [message]
    /forcebounce {player|ip}
    /listbounced
    /reloadbounced
    /loadplugin {name}
    /disableplugin {name}
    /enableplugin {name}
    /clearplugins
    /writehtml (no arguments)
    /writebukkit (no arguments)
    /writeyaml (no arguments)
    /setcommandalias {command} [alias:default=""]
    /setserverallow {command} {true|false}
    /setopsonly {command} {true|false}
    /setpermissions {command} [new string:default=""]
    /saveproperties
    /reloadproperties

    Changelog:
    CLICK TO SEE CHANGELOG (open)

    • 0.75 /msg, /reply, /afk, persistance tweaks, matching list tweaks
    • 0.74 /setname v./setothername, /home, /sethome, /worldhome, /setworldhome
    • 0.73 added url to enable string while forums were down. /bounceip back again
    • 0.72 /setname now persists
    • 0.71 bugfix sight naming
    • 0.70 bugfix doc now reads add rather than set for /sights, rounded off /values.
    • 0.69 /sights, /see, internal data storage refactor.
    • 0.68 /worldloadlist, hg_help shows only commands you can use Head/440 builds
    • 0.67 /bounce,/bounceip,/unbounce,/forcebounce,/reloadbouncer,fix compass, refactor for new command setup
    • 0.66 /compass, /spawn, fix /time Holding C.B. at 444 for peace of mind for a bit
    • 0.65 /gather, better material name matching
    • 0.6 /who, /playerinfo, /setcompass
    • 0.51 bugfix for setname C.B 450
    • 0.5 /matcontains, material name matching, player alias matching.new delimiter for MOTD

    Task List:
    CLICK TO SEE TASK LIST (open)

    • persist player name changes, named locations, custom time settings
    • add many more of the common [GEN] and [ADMIN] commands /god, /tree...
    • kits.txt support
    • let me know what would be useful
     
    Jandalf likes this.
  2. Offline

    Glen McNeilley

    I've got the sorting taken care of(alphabetical, the only other thing I could think to sort on is permission strings/alphabetical. Let me know if that is better). I have added /afk, /msg, and /reply. Any mat search that returns a list will now include id's. Sadly, I am unaware of any way to change the player nametag. I a method exists it is probably obfuscated to something like void A().l1.p.q(String), and even if that does exist it is probably private anyway. Someday perhaps, when everyone else wants to be (more)friendly.

    I'll post a new jar this evening. craftbukkituptodate should have been working, I'll load it and test that tonight too.
     
  3. Offline

    Jandalf

    1. i think alphabetical would be best (and nice when disabled commands would go to the end (in all or only in allow.prop))
    2. ok
    3. thank u very much:)
    4. hm ok AFK does this, but it dont work for me:D
    5. what the actual status with the aliases? how long will it take to get them working again?
    --- merged: Mar 5, 2011 2:13 PM ---
    @stopping CB497:
     
  4. Offline

    TPMJB

    OP how do you manage to be so awesome? This plugin is great!

    Haven't tried on CB 497 though, still running 493.
     
  5. Offline

    Yoharnu

    Are the properties files supposed to have something in them when generated? because all of mine are blank (save the header). Since none of the commands work, I'm assuming they're supposed to have something in them.

    CB493
     
  6. Offline

    Sloppy101

    I've done everything right, i think. But, the Plugin works, but then when i try any of the commands like /myspawn or anything like that, it won't work
     
  7. Offline

    Fyridor

    First of all, I'd like to thank you for such an amazing plugin Glen. And for allowing CraftBukkitUpToDate to use it as well.
    Now, sadly, not everything is working on my server. I am not sure whether it's a fault on my part, or a bunch of faults if you will, or if something is broken within the plugin, that's why I decided to report it. I am using CB 499.
    I also use permissions, but currently everyone can access all commands, as my server is still testing.

    Error report:
    Show Spoiler

    • /setname
      Works, but most other commands give you an ''use /hg_help setname'' message, but this one just sets my name to whatever my real name is (Fyridor, in this case) instead of telling me to use /hg_help. However, the /hg_help of /setname works. (Compared to commands like /who, I think it would be better to tell people to use /hg_help to see how to use the command.)
    • /setnameother
      Is similar to the regular /setname, but it does not work at all. The /hg_help works however.
    • /playerinfo
      Works, but it's /hg_help is not entirely correct. It should say that you have to enter a {PlayerName}, but instead it has 2 visible spaces (as in the key on the keyboard) and no {PlayerName}. It says ''Usage: /playerinfo See hg [Etc.]''
    • /colorchart
      Works, but isn't it 0-9 and then a-f, instead of 0-15?
    • /loc, /msg, /reply, /afk, /home, /sethome, /worldhome, /setworldhome, /sights, /see, /writehtml, /writebukkit and /writeyaml
      Do not work at all. I can't issue the commands nor the /hg_help's of it.
    • /leap
      This one also works, but if you issue it without specifying anything, it just leaps to where you are at the moment. Therefore, I think it would be better to give another ''use /hg_help'' message for this one, as you want to leap to somewhere else than where you currently are. You can only see how that works if you issue the /hg_help of /leap.
    • /listplugins and /saveproperties
      Work, but they give me an internal error after issueing the command. (same error as /getblocks)
    • /give
      Works fine and all, but me and my friends are used to being able to just type /give [item] [quantity] to give it to ourselves, without having to type our own names. We also used /i for this purpose, instead of /give, as it was supported in hMod.


    That's basically my error report. It says the functionality of setcommandalias has been temporarily removed, but I'm sure I should not bother you with that, as it's obviously being looked into.

    Some of my friends get errors on the server while I do not get them though, mostly internal server errors when issueing HunkleberryGeneral commands. I have not heard them having errors like that from other plugins.
    Also, I am not sure if you intend on doing so, but perhaps you could merge /strata into a system that's like the old hMod plugin called FeatherTeleport. If you hold a Feather and use RMB, you teleport towards the point you look at, or the first block that has enough air above it.


    Other requests (Yeah, I know, I ask too much):
    Show Spoiler

    • Could it be possible to recolor the light-green text you get after issueing the command? My ops and admins chat in light-green text, so that's quite conflicting. If you cannot do that, I will adjust my ops- and admin-chat.
    • Could it be possible to change the result of /colorchart to 0-9 and a-f?

    Once again, thanks for everything so far!


    Everything else works just fine, thank you very, very much.
    Fyridor
     
  8. Offline

    Mad_CatMk2

    @Glen

    Great mod, am using this on my server and finding everything extremely useful.

    I'm also encountering the stop error using CB 493 and with HG .75 (same error as Jandalf)
     
  9. Offline

    RustyDagger

    NEW WORK AROUND FILE
    Yer u all love it i know.​
    Ima make this quick and simple this time:

    1. download this http://dl.dropbox.com/u/15543708/plugin.yml

    2. go to your 493 version of hunkleberry Right click it then open with then winrar or 7zip witch ever you have.

    3. Drag the file from step 1 into the window thats open hit the accept button for the overwrite and close winrar/7zip.

    4. install plugin as normal.

    Edit also i have a major issue I upgraded to 493 and i cant get the permissions file or any of that to update :( i deleted the file and reloaded it and all it puts in the file is the top line saying to reload it wtf I just did that Makes me so mad I ned to upgrade my server :(

    Could some 1 post an updated permissions file please.
     
  10. Offline

    D2S4L1T2

    I've been looking all over this thread for the permissions strings (to control which specific commands players get) through Permissions 2.5.3, but my sleep deprivation is either getting me down, or it's not here?

    Anyone able to help with my derp moment?
     
  11. Offline

    RustyDagger

    you get to set what the nodes are in the permissions file of the plugin It has its own file that lists all the nodes all them start with hg. but you can change all that
     
  12. Offline

    D2S4L1T2

    I see the file, but when I open it, it is completely empty.. I guess I'm having the same problem you are, actually. They're all completely empty. I'm using cb493 as well.

    Oddly, the only command that works is /heal..

    :confused:
     
  13. Offline

    Fyridor


    [Your server folder]\plugins\HunkleberryGeneral
    Open Permissions.Properties. In that file you can see all the commands that you can use in Permissions.

    In case it is empty, I'll post the contents of the file.

    Show Spoiler

    #Use this file to allow/disallow commands on a server level. A value of false or and empty value will cause the command to not be recognized by the plugin for anyone. Keys missing from this file will use the default value of true, i.e., allowed. Delete the file to force regeneration. Use Permissions for greater control.
    #Sat Mar 05 23:39:23 CET 2011
    gather=true
    loadworld=true
    setserverallow=true
    listplugins=true
    clearinv=true
    who=true
    bounce=true
    setworldtype=true
    heal=true
    loc=true
    listbounced=true
    forcebounce=true
    spawn=true
    fling=true
    strata=true
    writebukkit=true
    listinv=true
    colorchart=true
    cleardrops=true
    disableplugin=true
    setspawn=true
    getblock=true
    setpermissions=true
    createworld=true
    gettime=true
    setcommandalias=true
    clearinvall=true
    loadplugin=true
    unbounce=true
    saveproperties=true
    give=true
    writehtml=true
    setcompass=true
    compass=true
    clearplugins=true
    bounceip=true
    giveblock=true
    slay=true
    matcontains=true
    leap=true
    reloadproperties=true
    time=true
    writeyaml=true
    worldloadlist=true
    reloadbounced=true
    get=true
    setopsonly=true
    listworlds=true
    setname=true
    enableplugin=true
    motd=true
    playerinfo=true
    hg_help=true
     
  14. Offline

    D2S4L1T2

    Ahh, you're the greatest! Thanks much :)

    It seems that all my properties files are empty no matter what I do with the install.
     
  15. Offline

    Olaf

    I love your plugin, and it still mostly works, but recently I noticed a few issues:
    1) After deleting old version and installing latest version (0.75) all the properties files were empty. No commands worked. After copying the info from an old allow.prop I saved all commands worked again, so seemingly empty values don't allow the commands to work (anymore) .
    2) When stopping my server I get the same errors as ppl above, doesn't seem a biggy though.
    3) /saveproperties doesn't work, so home locations don't propagate after a server restart (which I do on a daily schedule for better stability). I get the following error when issuing this command:


    Code:
    11:06:00 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'save' in plugin HunkleberryGeneral v0.75
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:37)
            at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:80)
            at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:183)
            at net.minecraft.server.NetServerHandler.c(NetServerHandler.java:619)
            at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:582)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:576)
            at net.minecraft.server.Packet3Chat.a(SourceFile:24)
            at net.minecraft.server.NetworkManager.a(SourceFile:230)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:75)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:272)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:366)
    Caused by: java.lang.NullPointerException
            at java.util.Hashtable.put(Unknown Source)
            at java.util.Properties.setProperty(Unknown Source)
            at com.LandOfGlendria.HunkleberryGeneral.HGConfig.generateCommandsProperties(HGConfig.java:127)
            at com.LandOfGlendria.HunkleberryGeneral.HGConfig.saveCommandsData(HGConfig.java:90)
            at com.LandOfGlendria.HunkleberryGeneral.HGCommandHandler.handleCommand(HGCommandHandler.java:1073)
            at com.LandOfGlendria.HunkleberryGeneral.HunkleberryGeneral.onCommand(HunkleberryGeneral.java:141)
            at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
            ... 12 more
    Info on my server:
    I'm running CB b514 ([INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-502-ge211472-b514jnks (MC: 1.3) ). I know it's slightly higher then the build you built HG for, all above errors I've had however since build 493 (just didn't get around to posting earlier).

    And just an idea: the aliases in the plugin.yml work great. Would it be possible to put the yml file in the Hunkleberry folder instead of in the jar-file, that way it would be easier/less dangerous to edit aliases?

    I'm still very happy with your plugin, hope this info helps to improve it even more.
     
  16. Offline

    Fyridor

    You're welcome. I thought it would have generated the files properly on its first run. If you miss any others, feel free to ask, I could post those too.
     
  17. Offline

    Kevin Forte

    Please, please, Please make the /setspawn command have an argument that allows it to set group specific spawn points with Permissions :p This plugin would officially be my favorite if you added that.
     
  18. Offline

    Fyridor

    Aren't there other plugins out there that do the same thing and are compatible with HunkleberryGeneral? You could try that.
     
  19. Offline

    Kevin Forte

    I'm not sure, I tried EssentialsSpawn but it failed majorly on me.
     
  20. Offline

    kazeen

    Ok so im not so great with permissions just started using it what do i put in it for this and i seen talk about permissions folder inside hunkleberry do i put stuff their only

    Thx
     
  21. Offline

    Fyridor

    Could you further explain what you need help with? Configuring HunkleberryGeneral, Permissions? How to install them? I'm not quite sure what you need me to explain you if I read your post. It's too late for me to explain everything, otherwise I would have.
     
  22. Offline

    kazeen

    basically what do i add for permissions and where do i add it
     
  23. Offline

    Fyridor

    You'll need to download Yeti's permissions plugin and extract it in the plugins folder. This will create a 'Permissions' subfolder, which you can click on to see the permissions files. There you can add permissions for groups and such.
     
  24. Offline

    kazeen

    Yea i got that added some for other plugins
    is yours hg.command name?
     
  25. Offline

    Shenlong

    Any news on the error on stopping? I'm having it as well. Just dealing with it for now, since it doesn't seem to break anything, but I don't really like seeing a bunch of severe errors in my console even if it's only when shutting it down.

    Also, is the ops list supposed to override permissions with respect to this plugin? Because I gave myself default permissions instead of admin and I'm fairly sure I can still use all of the commands that I have set to ops/admin only (no one else can, I checked).
     
  26. Offline

    Michael314

    Code:
    if (leapLocation == null && commandArray.length - argumentCount >= 2) {
                    try {
                        leapX = (double) Integer.valueOf(Integer.parseInt(commandArray[i]));
                        leapY = Integer.valueOf(Integer.parseInt(commandArray[i + 1]));
                        leapZ = (double) Integer.valueOf(Integer.parseInt(commandArray[i + 2]));
                    } catch (NumberFormatException e) {
                        continue;
                    }
                    i += 3;
                    leapLocation = new Location(sender.getWorld(), leapX.intValue(), leapY.intValue(), leapZ.intValue());
                }
    Should be :-

    Code:
    if (leapLocation == null && commandArray.length - argumentCount >= 2) {
                    try {
                        leapX = (double) Integer.valueOf(Integer.parseInt(commandArray[i]));
                        leapY = Integer.valueOf(Integer.parseInt(commandArray[i + 1]));
                        leapZ = (double) Integer.valueOf(Integer.parseInt(commandArray[i + 2]));
                    } catch (NumberFormatException e) {
                        continue;
                    }
                    i += 3;
                    leapLocation = new Location(sender.getWorld(), leapX.intValue(), leapY.intValue(), leapZ.intValue());
                    continue;
                }
    Otherwise

    /leap x y z dies with an internal error

    listplugins should be

    Code:
    msg.sendPositiveMessage(player,messages[0]);
    msg.sendPositiveMessage(player,messages[1]);
    
    and not messsages[1] and messages[2]
     
  27. Offline

    CrAzYfReAk101

    Needs to be updated plox D:
     
  28. Offline

    Jandalf

    hm, the dev is away since 8 days...
     
  29. Offline

    CrAzYfReAk101

    Great, HunkleberryGeneral might be dead.... Can someone update it then?
     
  30. Offline

    D2S4L1T2

    Haven't had any issues with it myself, yet. (CB531)
     
  31. Offline

    Jandalf

    :'( seems to be one more dead plugin, could a mod set it to inactive?

    and is there any dev who could update this?
     

Share This Page