---
title: "EternalTags Setup: Chat Tags, Menus and Permissions | ZCS"
description: "Install EternalTags, create chat tags, gate them with permissions, group them into categories and show the active tag in chat, TAB and scoreboards."
url: "https://www.zcraftstudios.com/blog/eternaltags-plugin-setup-guide"
updated: "2026-10-20T07:16:50.972429+00:00"
source: "ZCraft Studios"
---

> Site index for AI agents: https://www.zcraftstudios.com/llms.txt (full reference: https://www.zcraftstudios.com/llms-full.txt). Every page is available as Markdown by adding `.md` to its URL or sending `Accept: text/markdown`.

1. [Home](https://www.zcraftstudios.com/)
2. [Blog](https://www.zcraftstudios.com/blog)
3. EternalTags Setup: Chat Tags, Menus and Permissions

[ All posts](https://www.zcraftstudios.com/blog)

# EternalTags Setup: Chat Tags, Menus and Permissions

ZCraft StudiosOct 19, 2026Updated Oct 20, 2026

Install EternalTags, create chat tags, gate them with permissions, group them into categories and show the active tag in chat, TAB and scoreboards.

## In this guide

- [What EternalTags does](#what-eternaltags-does)
- [Install](#install)
- [How tags are defined](#how-tags-are-defined)
- [Permissions](#permissions)
- [Show the active tag in chat, TAB and scoreboards](#show-the-active-tag-in-chat-tab-and-scoreboards)
- [YAML or MySQL](#yaml-or-mysql)
- [Moving from another tag plugin](#moving-from-another-tag-plugin)
- [Skip the tag-by-tag work](#skip-the-tag-by-tag-work)
- [Troubleshooting](#troubleshooting)
- [Related reading](#related-reading)

## EternalTags Plugin Setup: Chat Tags, GUI Menus, Permissions and Placeholders

_EternalTags gives every player a menu of cosmetic chat tags to choose from. It is a cheap way to add cosmetics that are separate from ranks, and a common source of "my tags don't show up" tickets. This guide covers the full setup in the order that avoids those tickets._

## What EternalTags does

EternalTags adds a `/tags` command that opens a GUI. Each tag has an ID, a display format, a description, an optional icon and category, and a permission. Players only see tags as unlocked if they have the matching permission. It supports RGB colors, a favorites menu, in-menu search, and storing data in YAML or MySQL.

## Install

1. Download the plugin from the [EternalTags SpigotMC pageView plugin details, supported versions and downloads.On SpigotMC ](https://www.spigotmc.org/resources/91842/) and read its requirements. Recent versions need Java 17 or newer.
2. Install [PlaceholderAPIA resource that allows information from your favourite plugins be shown practically anywhere!On Modrinth ](https://modrinth.com/plugin/placeholderapi) if you want to show tags in chat, TAB or scoreboards.
3. Stop the server, drop the jar into `plugins/`, and start it once so the config files generate.
4. Check the console for errors before changing anything. See [Plugin Not Loading?](https://www.zcraftstudios.com/blog/minecraft-plugin-not-loading-fix) if the plugin shows red.

## How tags are defined

Tags live in `plugins/EternalTags/tags.yml` (older versions kept them in `config.yml`). A tag looks like this:

```
tags:
  explorer:
    name: 'Explorer'
    tag: '&7[<r:0.7>Explorer&7]'
    description:
      - 'Awarded for reaching 10,000 blocks traveled.'
    permission: 'eternaltags.tag.explorer'
    category: 'achievements'
```

Notes that save time:

- The permission is normally `eternaltags.tag.<id>`. Keep the ID lowercase.
- `category` groups tags in the categories menu. Open it with `/tags categories`.
- You can change tags in game: `/tags edit category <tag> <category>`, `/tags edit icon <tag> [material]`, `/tags edit order <tag> <order>` and `/tags edit description <tag> <line> <text>`.
- Color syntax (hex, gradients, rainbow) depends on the plugin version. Compare your tag against the examples in the generated `tags.yml` and the [official wiki](https://github.com/Oribuin/EternalTags/wiki/Commands-&-Permissions).

## Permissions

| Permission | What it allows |

| --- | --- |

| `eternaltags.use` | Open the `/tags` menu |

| `eternaltags.set` | Equip a tag |

| `eternaltags.clear` | Clear your own tag |

| `eternaltags.favorite` | Favorite tags |

| `eternaltags.search` | Search tags in the menu |

| `eternaltags.categories` | Open the categories menu |

| `eternaltags.tag.<id>` | Unlock one tag |

| `eternaltags.create`, `eternaltags.edit`, `eternaltags.delete` | Staff tag management |

With LuckPerms:

```
/lp group default permission set eternaltags.use true
/lp group default permission set eternaltags.set true
/lp group vip permission set eternaltags.tag.explorer true
```

Operators receive the plugin's permissions automatically, so always test tags with a normal player account. See the [LuckPerms setup guide](https://www.zcraftstudios.com/blog/luckperms-ranks-setup-guide) for groups and inheritance.

## Show the active tag in chat, TAB and scoreboards

EternalTags exposes PlaceholderAPI placeholders:

| Placeholder | Returns |

| --- | --- |

| `%eternaltags_tag%` | The player's active tag, formatted |

| `%eternaltags_active%` | The active tag ID |

| `%eternaltags_has_<tag>%` | Whether the player owns a tag |

| `%eternaltags_has-unlocked_<id>%` | Locked or unlocked state for menu items |

| `%eternaltags_favorites%` | Number of favorited tags |

Put `%eternaltags_tag%` in your chat format or in a TAB prefix. The chat plugin must parse PlaceholderAPI placeholders, or the tag will appear as raw text. EternalTags also has an optional ChatInjector setting in `config.yml`, disabled by default, for servers whose chat plugin cannot parse placeholders. Check [Setting Up PlaceholderAPI](https://www.zcraftstudios.com/blog/placeholderapi-setup-guide) if a placeholder prints literally.

## YAML or MySQL

YAML is fine for a single server. If several servers share players, store tags in MySQL so a tag chosen on one backend follows the player. The tradeoffs are covered in [SQLite vs MySQL for Minecraft Plugins](https://www.zcraftstudios.com/blog/minecraft-server-plugin-database-sqlite-vs-mysql) and [Sharing Player Data Across a Network](https://www.zcraftstudios.com/blog/mysql-cross-server-player-data).

## Moving from another tag plugin

EternalTags can import tags from DeluxeTags and CIFYTags with `/tags convert <plugin>`. Back up `plugins/` first and review the converted tags before opening the menu to players.

## Skip the tag-by-tag work

Writing 100 tags, icons and permissions by hand takes a long time. The ZCraft **[EternalTags Config pack](https://www.zcraftstudios.com/products/eternaltags-clean-modern-tags-gui)** ships 100+ finished tags with RGB gradients, categories, per-tag permission nodes, search, favorites, pagination and clear-tag controls. It requires the EternalTags plugin and targets Paper and Spigot.

![EternalTags config pack preview from ZCraft Studios](https://esrjajilhtjdleheettk.supabase.co/storage/v1/object/public/product-images/mtbtbe2s-image_2026-08-27_214426114.png)

_The ZCraft EternalTags config pack._

## Troubleshooting

| Symptom | Likely cause |

| --- | --- |

| Tag shows as `%eternaltags_tag%` in chat | PlaceholderAPI missing, or the chat plugin does not parse placeholders |

| Every tag looks unlocked | You are testing as an operator |

| Tag missing from the menu | Wrong permission node, invalid category, or YAML indentation error |

| Menu icon is a barrier or blank | Invalid material name for your Minecraft version |

| Tag resets after switching servers | YAML storage on each backend; use MySQL |

## Related reading

- [Why Cosmetics Are the Safer Way to Monetize a Minecraft Server](https://www.zcraftstudios.com/blog/cosmetics-monetization-minecraft-server)
- [Setting Up TAB: Tablist and Scoreboard](https://www.zcraftstudios.com/blog/tab-plugin-tablist-scoreboard-setup)
- [Minecraft Plugin Configuration Review Checklist](https://www.zcraftstudios.com/blog/minecraft-plugin-config-review-checklist)

## Continue reading

- [EssentialsX Config Guide: Messages, Chat and Modules](https://www.zcraftstudios.com/blog/essentialsx-config-guide-messages-chat)
- [Minecraft Staff Training Checklist: Permissions and Logs](https://www.zcraftstudios.com/blog/minecraft-server-staff-onboarding)
- [Setting Up DiscordSRV: Bridging Minecraft Chat and Discord](https://www.zcraftstudios.com/blog/discordsrv-chat-bridge-setup)

[ Previous guide CoreProtect Rollback Guide: Commands and Safe Restores](https://www.zcraftstudios.com/blog/coreprotect-rollback-commands-guide)[ Next guide LuckPerms Config, Placeholders and Verbose Guide](https://www.zcraftstudios.com/blog/luckperms-config-placeholders-verbose-guide)
