-
Notifications
You must be signed in to change notification settings - Fork 72
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 theBungeeTabListPlus/headsfolder.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: |- ${server:survival online} == true true: {text: "&bSurvival: &aONLINE", icon: "colors/green.png", ping: 0} false: {text: "&bSurvival: &cOFFLINE", 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 -
Players by Server Component
!players_by_server playerSet: <String> playerOrder: <String> serverOrder: <String> customServerOrder: <List of servers> serverHeader: <List of Components> serverFooter: <List of Components> serverSeparator: <List of Components> includeEmptyServers: <Boolean> showServers: <ALL, ONLINE, NON_EMPTY> hiddenServers: <List of servers> playerComponent: <Component or list of components> morePlayersComponent: <Component or list of components> fillSlotsVertical: <true/false> minSizePerServer: <Number> maxSizePerServer: <Number> minSize: <Number> maxSize: <Number>
Example:
!players_by_server playerSet: global playerOrder: "vaultGroupInfo,alphabetically" serverOrder: "playercount,alphabetically" serverHeader: - {text: "&e&n${server}&f&o (${server_player_count}):", icon: "colors/yellow.png", ping: 0} showServers: NON_EMPTY playerComponent: {text: "${player name}", icon: "${player skin}", ping: "${player ping}"} morePlayersComponent: {text: "&7... and &e${other_count} &7others", icon: "colors/gray.png", ping: 0}
This component adds players to the tab list grouping them by server as seen in the default config.
Option Description playerSetSelects which players will be added to the tab list. playerOrderDetermines the order of the players in the tab list. More info serverOrderDetermines the order of the servers. Available options are alphabetically,playercount,onlineandcustom. These can be chained by separating the with a comma, just the way it works with playerOrder.customServerOrderSpecifies the server order if you used custom for the serverOrderoption. An example code snippet is given below.serverHeaderThe server header will appear once for each server above the players playing on that server. serverFooterOptional: The server footer will appear once for each server below the players playing on that server. serverSeparatorOptional: The server separator will appear between each two servers. includeEmptyServersWhether empty servers will show up too. This option has been superseeded by showServersshowServersWhich servers to display on the tab list. Can be one of ALL,ONLINEandNON_EMPTY.hiddenServersSpecifies servers not to display. See example below. 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. minSizePerServerOptional: Minimum slots to use for a single server maxSizePerServerOptional: Maximum slots to use for a single server minSizeOptional: Minimum slots this component should use maxSizeOptional: Maximum slots this component should use Example on using
serverOrder: custom:!players_by_server playerSet: global serverOrder: custom customServerOrder: [spawn, survival, creative] # ...
Example on using the
hiddenServersoption:!players_by_server playerSet: global showServers: ALL hiddenServers: [hub, private] # ...
-
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: "Playtime:"} - {text: " Total: ${viewer bungeeonlinetime}"} # just an example, these placeholders don't exist (yet) - {text: " Session: ${viewer onlinetime}"} - {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 server.
-
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_by_server playerSet: global serverOrder: "playercount,online,alphabetically" serverHeader: - {text: "&e&n${server}&f&o (${server_player_count}):", icon: "colors/yellow.png", ping: 0} serverSeparator: - 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.