-
Notifications
You must be signed in to change notification settings - Fork 3
Components
The following components are available:
-
Basic Component
{text: "...", icon: "image.png", ping: 0}The basic component represents the content of one slot in the tab list. The
iconoption can be set to either a player name, a player uuid or the name of an image file located in theiconsfolder.The basic component also has an option for text alignment which can be set to
LEFT,CENTERorRIGHT:{text: "Centered text", icon: "image.png", ping: 0, alignment: CENTER}Or to do right bound text:
{text: "At the right", icon: "image.png", ping: 0, alignment: RIGHT}Another option is the
longTextoption. It allows specifying what happens if the text is too long to fit the slot. It can be set toDISPLAY_ALL,CROP,CROP_2DOTSorCROP_3DOTS. The default isDISPLAY_ALLwhich will display the text anyway. The other options cut off part of the text to make it fit an will eventually append 2 or 3 dots depending on which option you chose. Here's an example:{text: "${player vault_prefix}${player name}", longText: CROP_2DOTS} -
Animated Component
!animated components: <List of Compopnents> interval: <Number>
Example:
!animated components: - {text: "&7Hello &a${player name}", icon: "${player skin}", ping: 0} - {text: "&7Hello &b${player name}", icon: "${player skin}", ping: 0} - {text: "&7Hello &c${player name}", icon: "${player skin}", ping: 0} - {text: "&7Hello &d${player name}", icon: "${player skin}", ping: 0} interval: 0.4
This component makes it possible to create animated slots.
Option Description componentsThese components will be cycled through. intervalInterval in seconds at which to switch the active Component. -
Conditional Component
!conditional condition: <Expression> true: <Replacement if the condition evaluates to true> false: <Replacement if the condition evaluates to false>
Example:
!conditional condition: |- ${viewer is_hidden} == true true: {text: "&bYou are hidden", icon: "colors/auqa.png", ping: 0} false: {text: "&cYou are visible", icon: "colors/red.png", ping: 0}
This component can dynamically change the content of the tab list. The example shows how this could replace the {onlineState} variable.
Option Description conditionThe expression to be evaluated. trueReplacement if the condition evaluates to true. falseReplacement if the condition evaluates to false. Additional info: Expression Syntax
-
Players Component
!players playerSet: <String> playerOrder: <String> playerComponent: <Component or list of components> morePlayersComponent: <Component or list of components> fillSlotsVertical: <true/false> minSize: <Number> maxSize: <Number>
Example:
!players playerSet: global playerOrder: "vaultGroupInfo,alphabetically" playerComponent: {text: "${player name}", icon: "${player skin}", ping: "${player ping}"} morePlayersComponent: {text: "... and ${other_count} others", icon: "default/players.png", ping: 0} minSize: 0 maxSize: 6
This component provides a simple way of adding players to the tab list.
Option Description playerSetSelects which players will be added to the tab list. playerOrderDetermines the order of the players in the tab list. More info playerComponentDetermines how a player will be presented in the tab list. Usually you will want to set this to {text: "${player name}", icon: "${player skin}", ping: "${player ping}"}, eventually adding a prefix. This can be set to a list of basic components to use more than one slot per player.morePlayersComponentThis will be shown if there are more players than there is space in the tab list (or more players than max-size)fillSlotsVerticalOptional: If set to true the tab list slots are filled top-to-bottom first instead of left-to-right. minSizeOptional: Minimum slots this component should use maxSizeOptional: Maximum slots this component should use -
Table
!table columns: <Column number(s)>: <List of Components>
Example:
!table columns: 0-1: - {text: "Survival"} - {text: ""} - !players playerSet: survival playerComponent: {text: "${player name}", icon: "${player skin}", ping: "${player ping}"} morePlayersComponent: {text: "... and ${other_count} others", skin: "default/players.png", ping: 0} 2: - {text: "Stats:"} - {text: ""} - {text: "Balance: ${viewer vault_balance}"} - {text: ""} - {text: "Faction: ${viewer faction}"}
Allows setting the content for the columns independently. This makes layouts possible where one column is used per world.
-
Spacer
!spacer {}Example:
size: 20 components: - {text: "Top-most slot", icon: "colors/gold.png", ping: 0} - !spacer {} - {text: "Slot at the very bottom", icon: "colors/gold.png", ping: 0}
-
Container
!container fillSlotsVertical: <true/false> minSize: <Number> maxSize: <Number> components: <List of Components>
Example:
components: - !container fillSlotsVertical: true components: - "Admins:" - !players playerSet: admin playerComponent: "${player vault_prefix}${player name}${afk_tag}" morePlayersComponent: {text: "&7... and &e${other_count} &7others", icon: "colors/gray.png", ping: 0} - "Players:" - !players playerSet: non_admins playerComponent: "${player vault_prefix}${player name}${afk_tag}" morePlayersComponent: {text: "&7... and &e${other_count} &7others", icon: "colors/gray.png", ping: 0}
Option Description fillSlotsVerticalOptional: If set to true the tab list slots are filled top-to-bottom first instead of left-to-right. minSizeOptional: Minimum slots this component should use maxSizeOptional: Maximum slots this component should use componentsThese components will be displayed in the tablist space of the container component.