ScrollingMenuSign
Videos
Latest video:
- See the Videos page for full list of demonstration & tutorial videos.
Latest Version
Features
- Create scrollable command menus with one or more sign, map, multisign, inventory, hologram or spout views. Or trigger your menus with redstone signals or even from any held item.
- Scroll through views with right-click, execute the selected command with left-click (configurable)
- Sophisticated command parser/executor - permission elevation, command costs (items/durability/economy/food/health/xp), player/group/world restrictions, variable substitutions...
- Commands can have warm-ups and cooldowns
- Macros - run multiple commands or display large text blocks with one click
- Build a hierarchy of menus using Submenus
- Flexible Access Control gives you private menus and views, or limited to permission groups.
- External scripting language support allowing unlimited flexibility in what menu commands can do
- Sign & multisign views can produce Redstone Output when scrolled or executed
- Redstone Control Signs allow remote scrolling & execution via redstone signals for sign & multisign views
- Permissions support via Bukkit superperms
- Command Logging lets you keep an audit trail of who's executed what commands from SMS menus
- Multi-world support: menus can have views in any number of worlds
- Full coloured/bold/italic/underline/strikethrough text support on menu titles, items and messages
- Configure menus or menu items to have a limited number of uses, either per-player or globally
- Comprehensive tab completion for all commands
- Optional Spout support
Possible Applications
- A menu of station setting commands for Minecart Mania (this is what inspired me to write the plugin in the first place!)
- Newbie user guide menus
- Warp menus for your favourite teleportation plugin
- A basic shop menu - buy/sell/swap items & credits
- Controlled access to commands that users can't normally run
- Item reward menus with limited usage count
- Traps built from redstone views and/or scripts
- Super-convenient game mode (survival/creative) changer with map and/or spout views
Installation
Pretty simple:
- Copy ScrollingMenuSign.jar into your server's
bukkit/pluginsfolder - Optional: install Vault for economy command costs and/or permission group support.
- Optional: install ProtocolLib to make active items glow.
- Restart or reload your server.
That's it. ScrollingMenuSign will automatically create a folder called bukkit/plugins/ScrollingMenuSign when it first runs. All data related to the plugin is stored in here.
Documentation
- Quickstart Guide
- FAQ
- Command Reference
- Permissions support
- The Configuration File
- The Command Parser
- Submenus
- Warmups and Cooldowns
- Popup Messages
- View Types
- Redstone Output
- Macros
- Menu Item Tooltips
- User Variables
- Command Logging
- Setting usage limits on menus & menu items
- Redstone Control Signs
- Spout Support
- Using External Scripting Languages
- API: Managing ScrollingMenuSign menus from scripts or other plugins
Source
Development Versions
Development versions can be downloaded from this Jenkins build server. Notes:
- Development versions have not been approved by dev.bukkit.org staff
- Development versions may be buggy or fail to work completely. Only use development versions if you a) want to help with finding bugs, or b) have been asked to, to test a bugfix.
Changelog
Usage Statistics
Since SMS v1.3.0, fully anonymous usage statistics are collected using MCStats:
If you wish to opt out of MCStats metrics collection, edit plugins/PluginMetrics/config.yml and change opt-out: false to true.
Donations
If you use and enjoy ScrollingMenuSign, you are welcome to make a donation by clicking the "Donate" button at the top right. However, donations are strictly optional, and don't confer any special benefits over non-donors.


-
View User Profile
-
Send Message
Posted May 13, 2014@wiedzmin137
Done!
-
View User Profile
-
Send Message
Posted May 13, 2014Little suggestion - add link to devbuild server here.
-
View User Profile
-
Send Message
Posted May 11, 2014@wiedzmin137
Can you create an enhancement ticket for that one, otherwise I'll just forget it :)
-
View User Profile
-
Send Message
Posted May 10, 2014@desht
And question about icons - is there possibility to change their amount and enchantment (boolean)?
-
View User Profile
-
Send Message
Posted May 8, 2014@wiedzmin137
Ah, OK. I've just fixed that in the latest dev release - set up proper non-null defaults for anything not specified in the Builder object. Your code didn't set use withMessage() so it was wrongly set to null in the menu item, when it should have been "". Your code should work fine with the latest dev release (Jenkins build #15).
-
View User Profile
-
Send Message
Posted May 8, 2014Builder looks very nice but...
It was returned this (on 223 line I have menu.setAutosave(true); )
Lang enum contain &something for colouring.
-
View User Profile
-
Send Message
Posted May 8, 2014@wiedzmin137
Not bored, discussion is always welcome :)
However, a setAltCommand() method won't be added, since SMSMenuItem is a (mostly) immutable class - only the remaining uses on an existing menu item can be changed.
To set the alt-command in a new SMSMenuItem, use the
SMSMenuItem.Builderobject, with thewithAltCommand()method, e.g.I decided to add a builder pattern for this class since the number of (optional) parameter was just getting too big...
-
View User Profile
-
Send Message
Posted May 8, 2014Also, can you add setAltCommand into SMSMenuItem class?
You're not bored with my requests?
-
View User Profile
-
Send Message
Posted Apr 25, 2014@wiedzmin137
OK, I see. It may actually be possible to do without ProtocolLib - it's just a matter of making the appropriate substitutions when the item stacks are created for the inventory window. I will probably make that a feature which needs to be enabled in the config, simply because it adds extra processing time for a feature not everyone will need. But yeah, I can the use for that...
-
View User Profile
-
Send Message
Posted Apr 25, 2014@desht
Substitutions in lore - I would see API for that and {Player} variable (maybe here ProtocolLib is needed ;) ).
E.g. (with API):
Those examples are about Skills from Heroes, SkillLevel from my plugin.
I think that it will be faster that actualize menu.yml ALWAYS onMenuOpen.
-
View User Profile
-
Send Message
Posted Apr 25, 2014@wiedzmin137
API for adding custom substitutions: no, but that's a good idea, and something easy enough to add. Expect to see it in the upcoming 2.4.0.
Substitutions in lore: no, and that's a bit harder. What kind of use-case do you see for this?
-
View User Profile
-
Send Message
Posted Apr 25, 2014@desht
And is there API for writing your own variables by external plugin?
Are those variables can be used on lore?
-
View User Profile
-
Send Message
Posted Apr 25, 2014@wiedzmin137
It's absolutely possible, and no ProtocolLib or extra plugin is needed. Any occurrence of <NAME> in a command is replaced with the name of the player who is running the command. The next release will also support the <UUID> replacement for the player's full UUID.
See http://dev.bukkit.org/bukkit-plugins/scrollingmenusign/pages/command-parser/#w-command-preprocessing for a full list of subsitutions that are made.
-
View User Profile
-
Send Message
Posted Apr 25, 2014Is there possibility to write variables on menu.yml? E.g. {player} - in game returns players name (who e.g. see that).
If not, can you implement that (as I know, you can use ProtocolLib for that)?
-
View User Profile
-
Send Message
Posted Mar 30, 2014@wiedzmin137
Yeah, this looks interesting :) I'll definitely be checking this out.
-
View User Profile
-
Send Message
Posted Mar 30, 2014For Holografic view, you can use Touchscreen Holograms, like here.
-
View User Profile
-
Send Message
Posted Mar 3, 2014@wiedzmin137
Yeah, items with no command would cause an inventory view to pop down (if its "autopopdown" attribute is true, which is the default). I can modify that for the next release, and not pop down views at all if the item has no command.
If you can find a way of preventing an inventory window from closing, great :) But I'll be extremely surprised. Closing of windows is done client-side, and a packet is sent to the server to tell it that the window has already been closed. It isn't possible to stop the window being closed (although I could possibly just immediately pop the window up again if I can detect that it was closed without any icon being clicked... that could work).
-
View User Profile
-
Send Message
Posted Mar 3, 2014For anyone who uses Submenus in conjunction with View Types / Inventory Views in 1.7.x - if you notice that the "<- Back" button is missing, the fix is here:
http://dev.bukkit.org/bukkit-plugins/scrollingmenusign/tickets/74-doors-from-submenu-doesnt-show/?comment=1
-
View User Profile
-
Send Message
Posted Mar 1, 2014@desht
Maybe you'll create ToDo list?
-
View User Profile
-
Send Message
Posted Mar 1, 2014@wiedzmin137
Yep, sorry, meant to reply earlier. Anyway: