Skip to content

Repository files navigation

📋 Tabular

A modern Paper/Folia plugin for tablists, scoreboards, nametags, templates, and lightweight animated player displays.

Java 25 Paper 26.1.2 Version


Links

What It Does

Tabular gives server owners one clean config for the player display surfaces that are usually spread across several plugins:

  • tablist header and footer
  • player list names
  • sidebar scoreboard
  • nametag prefixes and suffixes
  • permission-priority layouts
  • reusable MiniMessage templates
  • frame-based text animations
  • PlaceholderAPI expansion through Lattice integrations
  • PacketEvents presence reporting through Lattice integrations

Tabular is built on the shared Lattice runtime. Install the standalone Lattice plugin on the server and keep Tabular unshaded so both plugins use the same Lattice API classes.

Requirements

  • Java 25
  • Paper or Folia 26.1.2
  • Lattice 0.8.9
  • Optional: PlaceholderAPI for %placeholder% expansion
  • Optional: PacketEvents for integration status reporting

Installation

  1. Download the standalone Lattice-0.8.9 plugin and the latest Tabular-<version>.jar from GitHub Releases.
  2. Put both jars in your server plugins/ directory.
  3. Start the server once to generate plugins/Tabular/config.yml.
  4. Edit the config and run /tabular reload.

Commands

Command Permission Description
/tabular tabular.command Shows current layout, template, animation, PlaceholderAPI, and PacketEvents status.
/tabular apply tabular.command Refreshes all online player displays.
/tabular layouts tabular.command Lists configured layouts sorted by priority.
/tabular reload tabular.command.reload Reloads config.yml and refreshes displays.
/tabular diagnostics tabular.command.diagnostics Shows Lattice runtime diagnostics for support and health checks.
/tabular help tabular.command Shows the registered Tabular command tree.

Configuration

Tabular writes one config.yml with four main sections:

Section Purpose
settings Global toggles such as PlaceholderAPI expansion and scoreboard restore behavior.
templates Named reusable MiniMessage snippets referenced with <template:name>.
layouts Permission-priority tablist, scoreboard, and nametag layouts.
animations Named frame lists referenced with <animation:name>.

Layouts are selected by highest priority. A blank permission makes the layout available to everyone; otherwise the player must have that permission.

Built-in placeholders:

<player>, <display_name>, <world>, <layout>, <online>, <max>, <ping>, <health>, <health_rounded>, <date>, <time>

Reusable template example:

templates:
  brand: "<aqua><bold>My Server</bold></aqua>"

layouts:
  default:
    priority: 0
    permission: ""
    tablist:
      enabled: true
      update-interval-ticks: 20
      header:
        - "<template:brand>"
        - "<gray>Welcome, <white><player></white></gray>"

Building

Tabular compiles against io.github.hydr46605:lattice-paper:0.8.9 and io.papermc.paper:paper-api:26.1.2.build.74-stable. Paper 26.1.2 publishes Java 25 API artifacts, so Tabular requires Java 25 for both building and running this version. Local development automatically uses a sibling ../Lattice checkout when present; otherwise Gradle resolves Lattice from Maven Central.

./gradlew --no-daemon --no-watch-fs clean build

The plugin jar is written to:

build/libs/Tabular-0.4.0.jar

Releases

Tags use v<version>, for example v0.2.0. The release workflow builds the plugin jar and attaches it to the GitHub release. GitHub and Modrinth release notes are read from docs/release-notes/<version>.md. The Modrinth workflow publishes when MODRINTH_PROJECT_ID and MODRINTH_TOKEN are configured in the repository settings.

About

Modern Paper/Folia tablist, scoreboard, and nametag plugin powered by Lattice.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages