JP Plugins
All plugins

JPTab

Tablist, nametag and sidebar manager for Paper servers.

Display plugin, version 1.0.0

Downloads open soon.

Features

  • Tab list header and footer with animations
  • Sorting by rank and name tags above heads
  • Sidebar scoreboard
  • Ping bars, health below the name and AFK marks
  • Ranks from Vault or LuckPerms
  • Rotating messages in a boss bar and the action bar

Requirements

  • Paper 26.1 or newer (Java 25)
  • Optional:
    • Vault: ranks
    • PlaceholderAPI: placeholders in texts, and this plugin's own placeholders
    • LuckPerms: ranks, prefixes and suffixes

Installation

  1. Put JPTab-<version>.jar in your server's plugins folder.
  2. Restart the server. plugins/JPTab/ is created with the config and messages.
  3. Change what you want in the files, then reload or restart.

Type /jp as an operator to see every JP plugin you have installed, its version and which optional plugins it found.

Commands

CommandDescriptionPermission
/jptab <reload|sidebar|bossbar|actionbar|debug>
Aliases: /tab
JPTab commands.jptab.use

Permissions

PermissionDefaultDescription
jptab.useeveryoneUse /jptab.
jptab.sidebar.toggleeveryoneToggle your own sidebar.
jptab.bars.toggleeveryoneTurn the boss bar and action bar off or on for yourself.
jptab.adminoperatorsReload JPTab and debug players.
jptab.staffoperatorsCounted in {staff_online}.

Placeholders

Needs PlaceholderAPI.

PlaceholderShows
%jptab_ping%ping in ms
%jptab_ping_bars%ping as coloured signal bars
%jptab_rank%rank from ranks.yml (LuckPerms group), "default" when none
%jptab_afk%true / false
%jptab_afk_tag%the AFK tag from config.yml when AFK, otherwise empty

Configuration

All files are in plugins/JPTab/. Files: animations.yml, bars.yml, config.yml, messages.yml, ranks.yml, scoreboard.yml, tablist.yml.

When you update the plugin, new options are added to your config.yml by themselves, with their comments. Your own settings stay as they are, and the old file is kept as config.old-v<number>.yml.

Languages: English, Spanish, Portuguese, French and German. Set language: in config.yml (en, es, pt, fr or de).

Default config.yml
# ╔══════════════════════════════════════════════════════════════════╗
# ║                      JPTab  ·  config.yml                        ║
# ╚══════════════════════════════════════════════════════════════════╝
# JPTab is split into small files, one per job. Edit the one for what you want:
#
#   config.yml       <- you are here: turn features on/off, AFK, nametag options
#   tablist.yml      text ABOVE and BELOW the player list (header & footer)
#   ranks.yml        the order of your ranks in the player list (owner,admin,mod...)
#   scoreboard.yml   the scoreboard on the right side of the screen
#   animations.yml   moving/changing text you can use in the other files
#   messages.yml     replies to /jptab commands
#
# After editing, type /jptab reload in game or in the console.
#
# Text everywhere accepts: &a codes, &#RRGGBB colours, MiniMessage (<gradient:#a:#b>text</gradient>)
# and placeholders like {player} or {online} (full list at the top of tablist.yml).
# PlaceholderAPI placeholders (%player_name%, %vault_eco_balance%...) work in every text.
# JPTab also offers its own for other plugins: %jptab_ping_bars% %jptab_ping%
# %jptab_rank% %jptab_afk% %jptab_afk_tag%

# Language of the messages: en (messages.yml), es, pt, fr or de (lang/<code>.yml).
# Your own language: copy a file in the lang folder to lang/<code>.yml, translate it
# and set its code here (for example it for lang/it.yml).
language: en

# Do not change this number. It tells JPTab which layout these files use.
config-version: 4
# Replace messages.yml with the new design when the plugin is updated.
# Your old file is kept as messages.old-vX.yml. false = never touch it.
auto-update-style: true

# ──────────────────────────────────────────────────────────────────
#  FEATURES - true = on, false = off
# ──────────────────────────────────────────────────────────────────
features:
  # Header and footer of the player list (set in tablist.yml).
  header-and-footer: true
  # LuckPerms prefix/suffix around names in the player list.
  rank-tags-in-tablist: true
  # Sort the player list by rank, in the order written in ranks.yml.
  sort-tablist-by-rank: true
  # LuckPerms prefix/suffix around the name above players' heads.
  rank-tags-above-heads: true
  # Scoreboard on the right of the screen (set in scoreboard.yml).
  # Players can hide it for themselves with /jptab sidebar.
  scoreboard: true
  # Rotating messages in a boss bar at the top of the screen (set in bars.yml).
  # Players can turn it off for themselves with /jptab bossbar.
  boss-bar: false
  # Rotating messages above the hotbar (set in bars.yml).
  # Players can turn it off for themselves with /jptab actionbar.
  action-bar: false
  # Add [AFK] behind players who stand still (settings below).
  afk-tag: true
  # Show each player's health under their name.
  health-below-name: false

# Shown at the right of every name in the player list:
#   NONE       nothing              PING    connection in ms
#   PING_BARS  ping as signal bars  HEALTH  hearts
#   LEVEL      experience level
tablist-number: PING_BARS

# ──────────────────────────────────────────────────────────────────
#  SETTINGS FOR THE FEATURES ABOVE
# ──────────────────────────────────────────────────────────────────
afk:
  # Seconds without moving before a player gets the AFK tag.
  after-seconds: 300
  # Added behind the name in the player list.
  tag: ' &8[&7AFK&8]'

nametags:
  # Who can see the name above a player's head:
  #   ALWAYS                everyone
  #   NEVER                 nobody
  #   HIDE_FOR_OTHER_TEAMS  only players with the same rank
  #   HIDE_FOR_OWN_TEAM     only players with a different rank
  visibility: ALWAYS
  # false = players walk through each other instead of pushing.
  players-push-each-other: true

# How ping bars look (tablist-number: PING_BARS, {ping_bars} and %jptab_ping_bars%).
ping-bars:
  # One symbol per bar, from the first to the last.
  symbols: ['▁', '▃', '▄', '▆', '█']
  # Ping limits in ms. Every limit the player is above takes one bar away:
  # under 60 = 5 bars, 60-120 = 4, 120-200 = 3, 200-350 = 2, above 350 = 1.
  thresholds: [60, 120, 200, 350]
  # Colour for 5, 4, 3, 2 and 1 bars.
  colors: ['&a', '&a', '&e', '&6', '&c']
  # Colour of the bars that are missing.
  empty-color: '&8'

health-below-name:
  # Symbol shown after the health number, e.g. "20 ❤".
  symbol: '&c❤'

# How often everything refreshes, in ticks (20 ticks = 1 second).
# Lower = smoother animations, a bit more work for the server. 10 is a good value.
refresh-every-ticks: 10

# Use PlaceholderAPI (%placeholders%) and LuckPerms/Vault ranks when installed.
hooks:
  placeholderapi: true
  vault: true

Support

Guides and the docs of every JP plugin are on the JP Plugins website. Questions, bugs or ideas? Join the JP Plugins Discord.

License

JPTab is free to use on any server, including servers that make money, but it is not open source. Don't reupload, sell or share modified copies of it. The full terms are in LICENSE.txt, which is also inside the jar.