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/plugins
folder - 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.
@desht
Yeah, it's work. Awsome.
But I came here again with question. On using my code work, but on next usage it's executing one more time. E.g. first usage - one command, second usage - two command... Counting that is reseting on server shutdown.
My usage code:
And another question - is there possibility to do x on LEFT click on item and y on RIGHT click?
Do you know anything about it (not only x OR y thing on L and R click)? Thanks.
@wiedzmin137
Yeah, sorry - that should indeed be a String:
setAttribute() is usually called when loading view data from file (on startup) and when taking a user command (
/sms view ...
), and it always get a String. The setAttribute() method works out what the appropriate type is and does the necessary conversion.@desht
I have question about setAttribute(SMSInventoryView.WIDTH, 5);
Eclipse tells me that I have to use setArrtibute(String, String); (your default is String, int) I can ignore that by using String.valueOf, but... Is second String should be String? Is it not must be int?
@wiedzmin137
I've updated the API page to also mention inventory views. Basically, you would do:
Managing view attributes via API isn't terribly well-documented, sorry. Easiest way to see what attributes a view knows about is to look at the source, e.g. https://github.com/desht/ScrollingMenuSign/blob/master/src/main/java/me/desht/scrollingmenusign/views/SMSInventoryView.java#L39 for inventory views. And see also the superclass (SMSView) for other attributes it knows about.
Hello.
I'm creating plugin based on your InventoryView, but API info page have lack of informations about using that view, can you tell me more?
The problem has been fixed, my bad, excuse me. I was not using the latest 1.6.4 build.
-Flobik
@ArchCraftery
Yes, it works fine on 1.7.2. If you have any errors, then raise a ticket and explain clearly what your problem is.
Works on 1.7.2? Im getting errors during loadup and it doesnt seem to work. Please fix!
@wiedzmin137
Umm... not following you there at all. ServerMinimap is a completely different plugin, why would I want to copy its features into SMS?
Hello. Can you add this plugin features to your plugin? Thanks.
@desht
Yeah!! It is awesome!! there is no signs of error so far~ Biiiig thank you to you!!
@sltfatboy @wiezdmin SMS v2.3.1 is out now, should hopefully fix any problems you're seeing with Heroes.
@Lionhard98
Hi, I created ticket #70 to track this. Please take a look...
@desht
THX, keep on doing great work!! ^_^
@wiedzmin137
It's funny that this plugin lists on the page of heroes as an optional dependency. But actually, they can't...
@sltfatboy @wiezdmin
Ah, I understand now. My fault, sorry - I updated some of the API around creating views, and forgot about Heroes. It's good they're updating, but I'll look at also putting out a release with some backwards-compatible methods (e.g. SMSView.getView()) so it'll still work with current Heroes releases.
@stlfatboy
Heroes team (@Gabizou) working now on that.
@desht When I was trying to add your awesome plugin into my test server with Heroes plugin on the latest spigot. An error occurred and I think it is some kind of incompatibility(The logs list below). I wonder If you could fix that, and I would be very very appreciated.
[SEVERE] Error occurred while enabling Heroes v1.5.4-SNAPSHOT (Is it up to date?) java.lang.NoSuchMethodError: me.desht.scrollingmenusign.views.SMSView.getView(Ljava/lang/String;)Lme/desht/scrollingmenusign/views/SMSView;
at com.herocraftonline.heroes.gui.MenuHandler.setupMenu(MenuHandler.java:74)
at com.herocraftonline.heroes.characters.classes.HeroClassManager.loadClass(HeroClassManager.java:249)
at com.herocraftonline.heroes.characters.classes.HeroClassManager.loadClasses(HeroClassManager.java:101)
at com.herocraftonline.heroes.util.ConfigManager.loadManagers(ConfigManager.java:86)
at com.herocraftonline.heroes.Heroes.onEnable(Heroes.java:247)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:382)
at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:288)
at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:270)
at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:321)
at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:298)
at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:258)
at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:165)
at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:399)
at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
@wiedzmin137
No, sorry, Heroes is not my plugin.