[DEV/GEN] MenuMetaMod v0.8 - Client Menu Framework [1240]

Discussion in 'Inactive/Unsupported Plugins' started by GarethNZ, Mar 19, 2011.

  1. Offline


    Moved to http://dev.bukkit.org/server-mods/menumetamod/

    Show Spoiler

    MenuMetaMod - Client Menu Framework:
    Version: v0.8
    This plugin aids client server communication by providing players with numbered menus. It is designed to be used by other plugins, and also supports server-side yml configured menus.

    • Send Menu to Client
    • Handle response, i.e. make player execute a command
    • Menu with Value parameter after selection: command is then executed with the parameter as a suffix
    • yml Config file to determine menu contents
    Download: MenuMetaMod.jar
    Requirements: Spout

    Outdated - Sample Plugin (Menu for MyWarp) MyWarpMenu.jar, requires MyWarp
    Source Code

    Version 0.8
    • Initial version using Spout
    • Misc code tiding
    Version 0.7
    • Allow multiple commands for menu options ';' separated
    • Static 'Cancel' Menu option ('0' on last page)
    Version 0.6
    • Allow any text for valuemenus
    • Removed some test code
    Version 0.5.1
    • Everything inc MCMenu updated to 1.4_01
    • Changed quick menu command to /qm
    Version 0.5

    • Added configurable menus (based on comment from RustyDagger)
    • Bug fixes
    • Updated to CB 612
    Version 0.4

    • Bug fixes (updated bukkit)
    Version 0.3

    • Added Value Menu, for parameterized commands
    • Bug fixes
    Version 0.2

    • Pages managed for > 10 options / commands
    Version 0.1

    • Options are numbered 1-9,0

    • Multiple .yml files , for easy sharing of /qm 'filename'
    • Remove All the printlns (add 'debug: true' config option)
    • Parametrise config options such as "%p" = Name of the calling player.
    Example usage

    Show Spoiler
    Show Spoiler

    MenuMetaMod.sendMenu(player, new MetaModMenu(title, optionText[], commands[]) );
    // optionText = String[] of Option Titles
    // commands = String[] of Commands to execute on selection

    When the player chooses an option, the plugin makes the player execute the command at the same index in the commands array. (eg. "/warp spawn" is executed)

    For a full implementation See ~line 100 of MyWarpMenu.java, which gets a list of the warps available to the player, creates the arrays, and sends the menu.

    Config file usage
    Show Spoiler
    Show Spoiler

    On first launch, the plugin will create an empty config.yml in the plugins/MenuMetaMod/ dir.
    Fill it up with content, following the syntax of the example file: Sample config.yml

    Menus will be sent to the user following the command:

    /qm ('command' in config.yml)
    /qm menu1
    the command
    will send the 1st configured menu

    With MyWarpMenu

    (Obsolete) Client-Side Mod
    Show Spoiler
    Show Spoiler

    The purpose of this was to enable quick Client side responses as well.
    I have also developed a client side mod available at
    ClientSideMod-MCMenu - ModLoader Beta 1.7.3

    Client Side works with Value Menu.

    Client Side tells the server it is installed on join. (buggy at the momment)

    [21/06] Updated for MC 1.7.3
    [21/06] Updated to allow any string as input to ValueMenu
    Show Spoiler

    Configuration stored in
    See this example file, for the syntax.
    Syntax [Key in Uppercase]=/command
    Pushing the 'k' button calls the command "/qm" giving you the first configured menu.

    [25/05] Updated to allow configurable buttons with commands

    ClientSide Video
    Show Spoiler

  2. Offline


    idea for that?

    MCMenu wouldn't work with Minecraft Beta 1.4_01 :/
    I've updated it, but i don't know how do I compile it :/

    Can anyone update this Plugin?
    or can anyone make a Tutorial for Windows, that discribe how compile Bukkit-Plugins?
    I've updated this plugin, but i don't know, how to compile it...

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


    by Graphical Menu I simply mean giving it a background instead of a faded black background. Like the inventory screen has a background. And then at that point, allowing us to click on it with the mouse. I've had several users ask for that.

    As for the dynamic Menus, looks like I'll be working on a plugin ;) Thanks!
  4. Offline


    Don't worry about git stuff... If you can download bukkit.jar, add is to your project's library, you should be able to export the .jar

    (Not a runnable jar, just plain old...)

    I'm not that familiar with NetBeans sorry :(

    For MCMenu: Get Updated MCMenu.zip from github (Link in OP)

    For Bukkit plugins.. the server where I download bukkit.jar is on the fritz, so I can't update those at the moment :(

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


    Can you explain me, how I use github to compile the src-code? :/
  6. Offline


    Create a github account

    Install msysgit


    Compilation should be done by NetBeans... somehow
    Google export jar file
  7. Offline


    what for a type is this jar-file? (executable,...)

    OKAY, I've written a working version for v1.4_01 in German <3
    My OP's are happy :3
    Thanks for the source :3

    MCMenu Source not complete?

    anyone a answer?

    Attached Files:

    Last edited by a moderator: May 13, 2016
  8. Offline


  9. Offline


    I don't need git :3
    I've compiled this Plugin with netbeans and it works :)
    Thank you
  10. Offline


    MCMenu is a plugin for the client, not bukkit.

    What did you want to change?

    You'll need MCP to make a ModLoader Plugin (See Wiki)

    It is a lot more involved than a bukkit plugin.
    ChrisX930 likes this.
  11. Offline


    I know that MCMenu for the Client.
    I want to update it for 1.4_01, this version by GerethNZ is outdated.
    thanks for the link :)
  12. Offline


    Are you sure?

    I updated it:


    Version 0.5.1 Uploaded

    Changed /quick to /qm

    and updated everything to work with 1.4_01

    I'm quick happy with the functionality now :)

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


    oh, thanks GarthNZ :)

    What have you changed so that it works? :)
    MenuMetaMod is edited by myself (now in german, too) and it works :)

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


    Pretty much just recompile and re-obfuscate (using MCP)
    ChrisX930 likes this.
  15. Offline


    Hi, very nice plugin!

    If I use the client-side Mod and press K, it shows the unknown Command Message. If I enter /qm, it´s the same. If I write /quick, it´works. Do I have to change the commands anywhere, for using the K-Button?

    Edit: Ok... I had the old Version of MMM. I don´t know why, downloedet it Yesterday, but now it works. Greets
  16. Offline


    Thanks :)

    Yeah I updated MenuMetaMod and MCMenu a few hours ago...

  17. Offline


    Ok, I just looked at the Date on the bottom of your first Post, but now i know, it doesn´t change at edit...

    After testing t now a bit, I have a few Questions:
    1. Can I make a Entry in the menu like //faces (???), and after choosing it, i will have to type the value for (???) in? Because if not, I have to make an entry for each material Id...

    2. One Menu-Item for two rotaring Commands, like on/off. Is that possible?

    3. Can It do more than more Commands in a Row with one Menu-Item?

    Also, it would be nice If i could change the Menu-Button or switch off the Messages. (Not really that important...)
  18. Offline


    Trying to use this plugin with Towny and I am having some trouble. Every command that towny should handle comes back with Unknown command. Essentials seems to be handling them correctly but Towny isn't. Just thought I would let you know. I have posted this in the Towny thread as well.

    Also I would love to see some extra options for the config file. Things like %player that would be replaced with the player issuing the menu command.

    Quick update, it also does not work with LWC commands, going to see if I can write wrappers I guess.

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


    This post keeps showing up on my alerts could you please remove it or some thing its really annoying bug I have read it like 100 time !!!
  20. Offline


    1. Yes that is what ValueMenu is for... Config.yml has an example, just set type to "ValueMenu" and set the 'question' parameter, and after selecting eg "Give me 64 of an item", it will ask "What id number?". Multiple questions are not handled, but perhaps you could make the question "What ID number and How many?" and the player responds with "64 64" to get 64 for item #64. (At the moment MCMenu will not allow spaces in the response... perhaps I should change that)

    2. It is only possible at this stage if an extra plugin handles the details. (i.e. a plugin to add a single command eg '/togglefly' which acts accordingly.) It would be a lot of design effort for me to maintain the status of all the options ever..

    3. I'm not sure what you mean here?

    "If i could change the Menu-Button or switch off the Messages." I assume you mean the MCMenu 'quick menu button'? Yeah that can be in a future release. And switch off the messages? (Did you mean the "Performing Command" type messages? -- I should add a config option for Debug to enable / disable these.

    Could you send me your config file? Does the plugin print out any "Performing Command: " things, so you can see what command it is actually running?

    That will be a forum issue, nothing to do with the post... I've had a few annoying things like that...
    hopefully this comment doesn't add to your issues, but maybe click 'reply' and then 'cancel' might mark it as read?

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


    Sure, I ended up fixing it myself by changing player.performCommand to player.chat and adding in the / at the start. I'll pastebin the config tonight.
  22. Offline


    Are you sure you need both of those changes?
    Maybe just adding '/ at the start of the command line'?

    But yeah, pastebin / push to your git fork your changes, and your config.yml
  23. Offline


    I think it pushed ok, not sure, new to git hub.

    If it didn't here is the only change I made in the bottom of metamodmenu I commented out the current command line and added mine
    if( commands.length < (optionOffset+response-1) )
                return ResponseStatus.NotHandled;
                player.sendMessage("Performing command " + commands[optionOffset+response-1]);
                //player.performCommand( commands[optionOffset+response-1] );
                player.chat( "/"+commands[optionOffset+response-1] );
                return ResponseStatus.HandledFinished;
    Here is the pastebin of my conifg
  24. Offline


    I'll hold back changing it in my 'official' version.. hopefully there is a way to fix it for the commands you are calling...

    You can just GIT - pull every time I update, to add my changes to your fork / version.

    Your config looks awesome btw :)
  25. Offline


    Thanks, going to add more to it and add some shop command and such as well. Great for new players when you can tell them to just type /qm when the ask what a command is.
  26. Offline


    All mods will be updated in the next short period of time... once Minecraft stops changing and a compatible Bukkit is released.

    Server-side mods should just work as it.

    Client side may need a re-compile.
  27. Offline


    Bukkit 733:

    Server side Plug-ins work without issues...

    Will check client side by Saturday...
  28. Offline


    @GarethNZ keep this good work :)

    One suggestion, can you implement a way to use a "back previous menu" fonction ?
    I mean for exemple "0" to go back into the menu list :)
  29. Offline


    Well any menu item can be set to anything... So with the current implementation just add an item that runs the command for the previous menu.

    E.g. "Say Hello" - "/say hello"
    "Go Back" - "/qm"

    or what ever.
    If you want 'Back' to be number '0', just add empty items eg
    "" - "/command to re-load current menu"
    so that "Go Back" - "/qm" is number '0' :)
  30. Offline


    Yes I already used the trick of a last line using a command to previous menu ^^

    But I really like your tips !
    I will use this to add a "0" option :D
    Thanks :)
  31. Offline


Share This Page