Skip to content

Feature guide: Header & Footer

NEZNAMY edited this page Jan 31, 2023 · 45 revisions

Content

About

Minecraft feature introduced in 1.8 showing text above and below playerlist. It cannot be displayed on 1.7 clients in any way.

Configuration

Option name Default value Description
enabled true Enables / Disables the feature
disable-in-worlds List List of worlds where the feature should be disabled. See Disabling features in worlds / servers for more info.
disable-in-servers List List of servers where the feature should be disabled. See Disabling features in worlds / servers for more info.

Global settings

The example above is using this configuration:

header-footer:
  header:
  - "This is the first line of header"
  - "2nd line of header"
  footer:
  - "This is the first line of footer"
  - "2nd line of footer"

It is the default header/footer for everyone, unless overridden in some way.

Per-world / per-server

header-footer:
  per-world:
    <your world>:
      header:
        - "Header in specified world"
      footer:
        - "Footer in specified world"
  per-server:
    <your server>:
      header:
        - "Header in specified server"
      footer:
        - "Footer in specified server"

For multiple worlds/servers to share the same settings, separate them with a;.
For worlds/server starting with a specified text, use * after shared part.
Example:

per-world:
  world1;world2:
    header:
      - "Shared header in worlds world1 and world2"
  lobby-*:
    header:
      - "Header in all worlds starting with lobby-"

Note: To make per-world work on BungeeCord, install the TAB-Bridge plugin on your backend servers.

Per-group / per-player

groups.yml

MyGroup:
  header:
    - "This is a header for MyGroup group"
  footer:
    - "This is a footer for MyGroup group"
per-world:
  MyWorld:
    TestGroup:
      header:
        - "Header for group TestGroup in world MyWorld"

Same for users, which can be configured in users.yml.

Additional info

Additional note 1 - Not resetting on server switch

When under a BungeeCord network and having TAB installed on backend server and switching to another server, the header/footer will not reset. This is because BungeeCord makes it look like a world switch to the client. To avoid this, you have 2 options:

API

To get started with the API, see Developer API page.

To access this feature, you'll need to obtain HeaderFooterManager instance. Get it using TabAPI.getInstance().getHeaderFooterManager(). If this feature is disabled, the method will return null.

To set the header and/or footer for a player, use the following:

  • HeaderFooterManager#setHeader(TabPlayer, String)
  • HeaderFooterManager#setFooter(TabPlayer, String)
  • HeaderFooterManager#setHeaderAndFooter(TabPlayer, String, String)

To reset the header and/or footer for a player back to their original values, use the following:

  • HeaderFooterManager#resetHeader(TabPlayer, String)
  • HeaderFooterManager#resetFooter(TabPlayer, String)
  • HeaderFooterManager#resetHeaderAndFooter(TabPlayer, String, String)

Examples

Example 1

Configuration by Technofied#2823.

Make sure to have PlaceholderAPI and all the required expansions installed.

  header:
    - '&8&l&m      &r &#00C6FF&lD&#00C0FF&le&#00B9FF&lm&#00B3FF&lo&#00ACFF&lc&#00A6FF&lr&#009FFF&la&#0099FF&lc&#0092FF&ly&#008CFF&lC&#0085FF&lr&#007FFF&la&#0078FF&lf&#0072FF&lt&8&l&m       &r'
    - '#bdc3c7      There are #00c6ff%server_online% #bdc3c7players online    '
    - '        &8&l&m                         &r        '
  footer:
    - '        &8&l&m                         &r        '
    - '    #bdc3c7Ping: #00c6ff%player_ping%ms &f| #bdc3c7Balance: #00c6ff$%vault_eco_balance_formatted% &f| #bdc3c7TPS: #00c6ff%server_tps_1%  '
    - '&8&l&m      

Example 2

Configuration by GalaxyVN#9985.
Requires UTF-8 encoding and PlaceholderAPI.

  header:
    - '&6&l☁ &#e68a00S&#e58305K&#e47d0aY&#e3760fB&#e16f14L&#e06819O&#df621eC&#de5b23K &6&l☁'
    - ''
  footer:
    - ''
    - '#8a9899Welcome advanture, follow the'
    - '#8a9899guides and remember to report to'
    - '#8a9899the staff #5c6663if your find a bug.'
    - ''
    - '&2%online%&8/&2%server_max_players% ☻ &7┃ &b%localtime_time_hh:mm aa% ⌚'
    - ''

Example 3

Configuration by PrinceMorii#6905 based on iterum#7588 design.
Requires PlaceholderAPI and the specific expansions.

  header:
    - "&r&#00ECFFFruitLoop"
    - ""
    - "&#FE016E&m                     &r&#FE016E< &#A5E519&nServer Info&r &#FE016E>&r&#FE016E&m                     &r"
    - ""
    - "&#FFDB74Online:&r %online%/%server_online_maxplayers% &7&l|&r &#FFDB74Version:&r %player-version%"
    - ""
    - '&#00ABFF/Buy &7&l|&r &#00ABFF/Discord &7&l|&r &#00ABFF/Vote &7&l|&r'
    - ""
  footer:
    - ""
    - "&#FE016E&m                    &r&#FE016E< &#A5E519&nPlayer Info&r &#FE016E>&r&#FE016E&m                     &r"
    - ""
    - "&#FFDB74Hours Played:&r %statistic_hours_played%hs &7&l|&r #FFDB74Money: &r%vault_eco_balance_formatted% &7&l|&r #FFDB74Ping: &r %ping% "
    - ""

Example 4

Configuration by Shinto#0355.
Complete custom header/footer design with its own animation. Works on older versions without RGB as well.

  header:
    - ""
    - "&7❖ &6&lSynixel&7&lCraft &7❖"
    - ""
    - "&8&l| %animation:Synixel% &8&l|"
    - "&8&l| &7Rank: &e%vault-prefix% &8&l| &7TPS: &e%ping% &8&l|"
    - "&8&l| &7Version: &e1.8&7-&e1.16 &8&l|"
    - ""
    - "&8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)"
    - ""
  footer:
    - ""
    - "&8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)&7&m               &8(&7❖&8)"
    - ""
    - "&8(&7❖&8)&7&m          &8(&7❖&8)&7&m          &8(&7❖&8)"
    - "&8&l| &estore.synixelcraft.tk &8&l|"
    - "&8&l| &eplay.synixelcraft.tk &8&l|"
    - "&8(&7❖&8)&7&m          &8(&7❖&8)&7&m          &8(&7❖&8)"
    - ""
Synixel:
  change-interval: 100
  texts:
  - "&c▁&4▂▃▄▅▆▇"
  - "&4▂&c▁&4▂▃▄▅▆"
  - "&4▃▂&c▁&4▂▃▄▅"
  - "&4▄▃▂&c▁&4▂▃▄"
  - "&4▅▄▃▂&c▁&4▂▃"
  - "&4▆▅▄▃▂&c▁&4▂"
  - "&4▇▆▅▄▃▂&c▁"
  - "&6▇▆▅▄▃▂&e▁"
  - "&6▆▅▄▃▂&e▁&6▂"
  - "&6▅▄▃▂&e▁&6▂▃"
  - "&6▄▃▂&e▁&6▂▃▄"
  - "&6▃▂&e▁&6▂▃▄▅"
  - "&6▂&e▁&6▂▃▄▅▆"
  - "&e▁&6▂▃▄▅▆▇"    
  - "&a▁&2▂▃▄▅▆▇"
  - "&2▂&a▁&2▂▃▄▅▆"
  - "&2▃▂&a▁&2▂▃▄▅"
  - "&2▄▃▂&a▁&2▂▃▄"
  - "&2▅▄▃▂&a▁&2▂▃"
  - "&2▆▅▄▃▂&a▁&2▂"
  - "&2▇▆▅▄▃▂&a▁"    
  - "&9▇▆▅▄▃▂&b▁"
  - "&9▆▅▄▃▂&b▁&9▂"
  - "&9▅▄▃▂&b▁&9▂▃"
  - "&9▄▃▂&b▁&9▂▃▄"
  - "&9▃▂&b▁&9▂▃▄▅"
  - "&9▂&b▁&9▂▃▄▅▆"
  - "&b▁&9▂▃▄▅▆▇"      
  - "&d▁&5▂▃▄▅▆▇"
  - "&5▂&d▁&5▂▃▄▅▆"
  - "&5▃▂&d▁&5▂▃▄▅"
  - "&5▄▃▂&d▁&5▂▃▄"
  - "&5▅▄▃▂&d▁&5▂▃"
  - "&5▆▅▄▃▂&d▁&5▂"
  - "&5▇▆▅▄▃▂&d▁"    
  - "&8▇▆▅▄▃▂&7▁"
  - "&8▆▅▄▃▂&7▁&8▂"
  - "&8▅▄▃▂&7▁&8▂▃"
  - "&8▄▃▂&7▁&8▂▃▄"
  - "&8▃▂&7▁&8▂▃▄▅"
  - "&8▂&7▁&8▂▃▄▅▆"
  - "&7▁&8▂▃▄▅▆▇"
Clone this wiki locally