Configuration
Overview
ScrollingMenuSign uses a config file in the plugin data directory: plugins/ScrollingMenuSign/config.yml
. This is a YAML file and can be edited directly if you want. If you do edit it while the server is running, it's strongly recommended to reload your changes immediately with /sms reload
- any server reload/restart or /sms setcfg
command will cause unreloaded changes to be overwritten.
If config.yml
doesn't exist when the plugin starts up, a default one will be written (see below for list of defaults).
Managing Config
To view or change configuration settings from within the game, you can use /sms getcfg
and /sms setcfg
(either from the Minecraft client or the CraftBukkit console). These can be shortened to /sms get
and /sms set
. Tab completion is also supported, e.g. you can type /sms get actions.<Tab>
and the plugin will give you a choice of the possible config items starting with actions. .
Example:
/sms get -------|18 lines (page 1/1)|---------- sms.actions.leftclick.normal = execute sms.actions.leftclick.sneak = none .... --------------------------------------
To update a setting, use /sms set <key> <value>
. Example:
/sms set actions.leftclick.sneak execute
Configuration Reference
Setting | Type | Description | Default |
---|---|---|---|
actions.leftclick.normal | action | action to take if a view is left-clicked while not sneaking | execute |
actions.leftclick.sneak | action | action to take if a view is left-clicked while sneaking | none |
actions.rightclick.normal | action | action to take if a view is right-clicked while not sneaking | scrolldown |
actions.rightclick.sneak | action | action to take if a v is right-clicked while sneaking | scrollup |
actions.wheeldown.normal | action | action to take if mouse wheel is rotated down while targetting a sign and not sneaking | none |
actions.wheeldown.sneak | action | action to take if mouse wheel is rotated down while targetting a sign and sneaking | scrolldown |
actions.wheelup.normal | action | action to take if mouse wheel is rotated up while targetting a sign and not sneaking | none |
actions.wheelup.sneak | action | action to take if mouse wheel is rotated up while targetting a sign and sneaking | scrollup |
actions.spout.down | spout key | (Spout only) key to scroll the view down | Down |
actions.spout.execute | spout key | (Spout only) key to execute the selected item | Return |
actions.spout.down | spout key | (Spout only) key to scroll the view up | Up |
autocreate_views | boolean | if this is set to false, ScrollingMenuSign will not try to add an initial sign/map view to new menus if /sms create ... is used and the player is looking at a sign or holding a map | true |
coloured_console | boolean | if this is true, SMS command output to the console will be coloured - disable if your console doesn't have good ANSI colour support or you just don't like coloured console messages | true |
command_log_file | string | if this is set to any valid filename, all commands will be logged to this file - if empty, logging will be to the Bukkit console | (empty) |
elevation.grant_op | boolean | if true, temporarily give op status to players while executing elevated commands; you should not need to set this to true under normal circumstances; only if you need to work with plugins with poor or missing superperms support | false |
elevation.nodes | string list | list of permission nodes to temporarily give to players while executing elevated commands - see List Values for more information | blank for a new install, or initialised from whatever permission nodes the old &SMS (elevation_user) user had for upgrades from 0.7.x or older |
inv_view.default_icon | string | the material name for the default icon shown in the inventory view | stone |
item_justify | string | justification of all menu items - can be either left, right, or center | left |
item_prefix.selected | string | string to prefix the selected line (line 3 on signs, line 1 on maps) | '> ' |
item_prefix.notselected | string | string to prefix the non-selected lines (lines 2 & 4 on signs, all lines except line 1 on maps) | ' ' (2 spaces) |
log_commands | boolean | when true, all commands that run from a menu are logged along with the player who ran them - see also command_log_file | false |
log_level | string | the log verbosity level; use "fine", "finer" or "finest" for increasingly verbose log messages in the server log | info |
maps.background | integer | Default background fill colour for new map views; see http://minecraft.gamepedia.com/Map_Item_Format for a full list of colour values. | 9 |
maps.font | string | Java font name for the default map view font (use /sms font to list all font names) | SansSerif |
maps.fontsize | string | font size for the default map view font | 9 |
maps.show_tooltips | boolean | if true, draw a tooltip on the map for any selected menu item with a tooltip defined. | true |
maps.transfer.from_sign | boolean | allow transfer of sign views to map views by hitting an active sign view with a map. | true |
maps.transfer.to_sign | boolean | allow transfer of map views to sign views by hitting a sign with an active map view. | true |
max_title_lines | integer | the maximum number of lines that a menu title may occupy on views - this can be overridden in individual views with the max_title_lines view attribute | 1 |
no_explosions | boolean | when to true, any explosions (TNT/creeper) that would destroy a view will leave the view untouched (see also Sign Protection below) | false |
no_physics | boolean | when to true, any physics events (e.g. the block a menu sign is attached to being destroyed) are cancelled, potentially leaving a floating sign (see also Sign Protection below) | false |
no_destroy_signs | boolean | when true, signs will be indestructible by normal means (see also Sign Protection below) | true |
pager.lines | integer | The page size of the output pager for large blocks of text (e.g. /sms list output). When 0, paging is disabled (the mouse wheel can be used to scroll back when the chat window is open) | 0 |
resource_base_url | string | the base URL under which any resources (image files etc.) loaded by ScrollingMenuSign can be found - currently used for background images in map views and texture images for Spout views | (empty) |
scroll_type | string | the default for how scrollable views scroll when there are more items than the view can show - the default "scroll" keeps the selection cursor in one place and scrolls the view around it, while "page" allows the selection cursor to move and flips the view to the next/previous page when necessary | scroll |
spout.double_click | boolean | when true, entries in the Spout view list widget popup must be double-clicked to execute - if false, a single-click is sufficient | false |
spout.list_alpha | float | default alpha (transparency) for Spout views which don't set their own alpha attribute | 0.5 |
spout.list_background | hex color | default background colour for Spout views which don't set their own background attribute | ccc072 (a beige colour, similar to maps) |
spout.show_command_text | boolean | when true, menu items in the Spout view list widget will also show the command to be run (only to players with the scrollingmenusign.commands.show permission) | false |
submenus.title_prefix | string | This is prepended to the menu title if the menu show by this view is a submenu | '->' |
submenus.back_item.label | string | Item label for the faked submenu item to go back to the previous menu. | '&l<-BACK' |
submenus.back_item.material | string | Item material (icon) for the faked submenu item to go back to the previous menu. | wooden_door |
Valid actions for configuration keys under actions.* are:
- none - as name suggests, do nothing
- execute - execute the currently selected menu item
- scrollup - scroll the menu up
- scrolldown - scroll the menu down
Prefix strings for item_prefix.* can include colour codes, but be aware that this will further reduce the number of displayable characters on a menu item.
Sign Protection
Having menu signs destroyed can be an irritation, so ScrollingMenuSign offers a couple of configuration items to mitigate this.
- no_physics
- If this is true, then any physics events relating to a menu sign will be cancelled. To see the effect of this, create a sign and add it to a menu. Then destroy the wall the sign is attached to (or the floor it's on if it's a floor sign). With no_physics set to true, the sign will be left floating in mid-air, with the menu still usable. With no_physics set to false, the sign will "pop off", and be quietly removed from the menu it belonged to.
- no_explosions
- If this is true, then any explosions (creeper or TNT) that would have broken a view block (sign or redstone view) will leave that block intact (surrounding blocks can still be destroyed, though). Damage to entities from the explosion will not be cancelled (so no standing beside signs to avoid death by creeper!). If set to false, the sign may be destroyed, but will not be removed from its menu. In this case, running
/sms list
will show missing signs (such locations will be suffixed with [NO SIGN]). You can then either rebuild and replace the sign in the right location, or cleanly remove the sign with/sms break -loc <x,y,z,world>
- this is best done from the console, where the location can be cut & pasted.
- no_destroy_signs
- If this is true, it will be impossible to destroy any menu signs by normal means. This is mainly for the benefit of creative mode in Minecraft 1.8+, where a single click destroys blocks - it's annoying to accidentally destroy a menu sign you're trying to use. To destroy such a sign, first use
/sms break
on it to remove it from its menu, and then destroy it as normal. (This does not - and cannot - protect against "special" means, such as the super pickaxe in WorldEdit).
List Values
Some keys in the configuration hold list values. These can store multiple items. E.g. elevation.nodes
stores a list of permission nodes to add to a user when running elevated commands.
To add an item to a node, just use /sms setcfg <key> <value>
as normal. E.g.
/sms setcfg elevation.nodes abc.def elevation.nodes is now set to "[general.give.any, general.give, abc.def, general.time.set]"
"abc.def" was added to the existing list.
To remove an item, put a '-' in front of the list:
/sms setcfg elevation.nodes - abc.def elevation.nodes is now set to "[general.give.any, general.give, general.time.set]"
To set the item to a new list, put an '=' in front of the list:
/sms setcfg elevation.nodes = abc.def ghi.jkl elevation.nodes is now set to "[abc.def, ghi.jkl]"
You can clear the list entirely with /sms setcfg elevation.nodes =
/sms setcfg elevation.nodes = elevation.nodes is now set to "[]"
Comments