PerfTags & Shop GUI, vouchers v1.1.2

tags plugin with Shop GUI, categories, vouchers
New features:
• Added multicolor tag creator items — create tags with full & codes, hex colors, MiniMessage and gradients via /tags create (display)
• /perftags givecreator now takes single or multi to give the matching creator item type
• Single-color creator unchanged — /tags create (color) (name) still works as before

Improvements:
• Tag creator config split into single-color and multicolor sections with separate item name and lore

Code:
# plugins/PerfTags/config.yml — merge (config-version auto-migrates to 15):
player-tag-item:
  single-color:
    enabled: true
    material: NAME_TAG
    item-name: "<#C4B5FD><bold>Tag Creator"
    item-lore:
      - "<#94A3B8>Create your own personal tag"
      - "<#64748B>Main hand · then run:"
      - "<#E2E8F0>/tags create <#F0ABFC>#RRGGBB <#F8FAFC>YourName"
  multicolor:
    enabled: true
    material: NAME_TAG
    item-name: "<#F0ABFC><bold>Multicolor Tag Creator"
    item-lore:
      - "<#94A3B8>Create a fully custom colored tag"
      - "<#64748B>Main hand · then run:"
      - "<#E2E8F0>/tags create <#F8FAFC>&8[&2formidi&3able&8]"

# plugins/PerfTags/messages.yml — new keys merge:
# usage-tags-create-multi, tag-create-invalid-display, tag-create-wrong-creator-item
# admin-usage-givecreator, admin-givecreator-invalid-mode, admin-givecreator-mode-disabled
• Personal tag creation accepts legacy & color codes, hex colors, and MiniMessage tags — not just #RRGGBB
• Tag displays with & or § codes now render correctly in the GUI, tab list, and PlaceholderAPI
• /tags create tab-complete suggests common & and MiniMessage color examples

Code:
# plugins/PerfTags/messages.yml — merge (optional, updated defaults in JAR):
usage-tags-create: "<#FFD166>Usage: <white>/tags create <#RRGGBB|&color|<color>> <name> <gray>(hold the tag creator in main hand)"
tag-create-invalid-color: "<#FF6B9E>Invalid color or format. Use <white>#RRGGBB<#FF6B9E>, <white>& codes<#FF6B9E>, or MiniMessage tags like <white><red><#FF6B9E>."
Bug fixes:
• Empty message keys in messages.yml no longer send blank chat lines
Bug fixes:
• /perftags reload no longer clears tags and placeholders for online players until they rejoin
• Tag Creator tags you redeem are only visible and equippable by you in /tags
• You can redeem multiple Tag Creator items and keep more than one personal tag
• Admin command is now /perftags givecreator (player) (amount) instead of "giveitem"
• Staff need the new perftags.admin.givecreator permission to hand out creator items

Code:
# plugins/PerfTags/messages.yml — merge if you customized admin help:
# admin-usage now lists givecreator instead of giveitem
# admin-usage-givecreator, admin-givecreator-done, admin-givecreator-self
New features:
• Optional category sidebar in /tags with All tags and per-category buttons

Bug fixes:
• tags.yml category and sort-order now override database values for tag order in the GUI

Code:
# plugins/PerfTags/gui/tags-gui.yml — merge category-sidebar section:


filler:
  enabled: true
  material: "LIGHT_GRAY_STAINED_GLASS_PANE"
  name: " "
uncategorized-label: "<#CBD5E1>Uncategorized"
category-sidebar:
  enabled: true
  # Allowed sidebar slots — each category picks one via slot:
  slots: [0, 9, 18, 27, 36]
  hide-empty: true
  open-default: all-tags # all-tags, example1, example2, example3
  all-tags:
    enabled: true
    category: default
    slot: 0
    material: BOOK
    name: "<#818CF8><bold>All tags"
    lore:
      - ""
      - "<#94A3B8>{tag_count} tags available"
      - ""
      - "<#FDE047>▶ Click to browse"
    selected:
      material: ENCHANTED_BOOK
      name: "<#62FF67><bold>All tags"
      lore:
        - ""
        - "<#94A3B8>{tag_count} tags available"
        - ""
        - "<#FDE047>▶ Selected"
  # Block name is a GUI id only — category: must match tags.yml (category: …)
  example1:
    enabled: false
    category: example1
    slot: 9
    material: BOOK
    name: "<#F472B6><bold>Example Category 1"
    lore:
      - ""
      - "<#94A3B8>{tag_count} tags available"
      - ""
      - "<#FDE047>▶ Click to browse"
    selected:
      material: ENCHANTED_BOOK
      name: "<#62FF67><bold>Example Category 1"
      lore:
        - ""
        - "<#94A3B8>{tag_count} tags available"
        - ""
        - "<#FDE047>▶ Selected"
  example2:
    enabled: false
    category: example2
    slot: 18
    material: BOOK
    name: "<#38BDF8><bold>Example Category 2"
    lore:
      - ""
      - "<#94A3B8>{tag_count} tags available"
      - ""
      - "<#FDE047>▶ Click to browse"
    selected:
      material: ENCHANTED_BOOK
      name: "<#62FF67><bold>Example Category 2"
      lore:
        - ""
        - "<#94A3B8>{tag_count} tags available"
        - ""
        - "<#FDE047>▶ Selected"
  example3:
    enabled: false
    category: example3
    slot: 27
    material: BOOK
    name: "<#FDE68A><bold>Example Category 3"
    lore:
      - ""
      - "<#94A3B8>{tag_count} tags available"
      - ""
      - "<#FDE047>▶ Click to browse"
    selected:
      material: ENCHANTED_BOOK
      name: "<#62FF67><bold>Example Category 3"
      lore:
        - ""
        - "<#94A3B8>{tag_count} tags available"
        - ""
        - "<#FDE047>▶ Selected"
  # Fallback when a category block omits material/name/lore
  category-template:
    material: BOOK
    name: "<white>{category_display}"
    lore:
      - "<#94A3B8>{tag_count} tags available"
      - ""
      - "<#FDE047>▶ Click to browse"
    selected:
      material: ENCHANTED_BOOK
      name: "<#62FF67>{category_display}"
      lore:
        - "<#94A3B8>{tag_count} tags available"
        - ""
        - "<#FDE047>▶ Selected"
tags-menu:
  title: "<#818CF8>Tags <#94A3B8>• <white>{category_display} <#94A3B8>| <#CBD5E1>Page {page}"
  all-tags-label: "<#818CF8>All tags available"
  rows: 5
  slots: [10, 11, 12, 13, 14, 15, 16, 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32, 33, 34]
  player-profile:
    enabled: true
    slot: 4
    material: "PLAYER_HEAD"
    name: "<#C4B5FD><bold>CURRENT TAG"
    lore-active:
      - "<#94A3B8>Current tag:"
      - "{tag_display}"
      - ""
      - "<#FDA4AF>Click to remove"
    lore-empty:
      - "<#94A3B8>No tag active"
      - ""
      - "<#64748B>Choose a tag below"
tags-nav:
  prev-slot: 39
  next-slot: 41
  close-slot: 40
prev-page:
  material: "RED_STAINED_GLASS_PANE"
  name: "<#FDE68A>← Previous"
  lore: []
next-page:
  material: "LIME_STAINED_GLASS_PANE"
  name: "<#FDE68A>Next →"
  lore: []
close:
  material: "BARRIER"
  name: "<#FDA4AF>✖ Close"
  lore: []
active:
  material: "NAME_TAG"
  name: "<#62FF67>{tag_display}"
  lore:
    - "<gray>Player Tag"
    - ""
    - "<#FDE047>Description:"
    - "<white>Adds a <#22D3EE>stylish <white>tag that"
    - "<white>appears <#FDE047>after your name <white>in <#F0ABFC>chat."
    - ""
    - "<#FDE047>▶ Currently selected"
unlocked:
  material: "NAME_TAG"
  name: "<#FDE68A>{tag_display}"
  lore:
    - "<gray>Player Tag"
    - ""
    - "<#FDE047>Description:"
    - "<white>Adds a <#22D3EE>stylish <white>tag that"
    - "<white>appears <#FDE047>after your name <white>in <#F0ABFC>chat."
    - ""
    - "<#FDE047>▶ Click to select"
locked:
  material: "NAME_TAG"
  name: "<#CBD5E1>{tag_display}"
  lore:
    - "<gray>Player Tag"
    - ""
    - "<#FDE047>Description:"
    - "<white>Adds a <#22D3EE>stylish <white>tag that"
    - "<white>appears <#FDE047>after your name <white>in <#F0ABFC>chat."
    - ""
    - "<#FDE047>Requirement:"
    - "<white>Coins: <#FDE047><underlined>{price}</underlined>"
    - ""
    - "<#FDE047>▶ Click to buy"
New features:
• Added default-tag-on-join to automatically equip a tag from tags.yml when players join without an active tag
• Optional world list and perftags.bypass.default-tag permission to control who receives the default tag

Code:
# plugins/PerfTags/config.yml — add (config-version bumps to 14 on reload):
default-tag-on-join:
  enabled: false
  tag-id: member
  only-if-none: true
  worlds: []
  permission-bypass: perftags.bypass.default-tag
Bug fixes:
• EternalTags migration now reads split tag files, content fields, and stored tag data

Improvements:
• /perftags migrate appends imported tag definitions to tags.yml by default
• Player tag assignments and purchases still import into the database as before

Code:
# plugins/PerfTags/config.yml — merge (config-version: 13):
migrate:
  default-category: imported # or default
  write-tags-to-yaml: true
Buy a license now
$9.99
EULA
Standard EULA
Use on any projects you own with attribution
Support
Standard
Includes:
Download the resource
Access new updates
Support from the creator
Support duration
Lifetime
Share and earn
Refer this resource and earn a 20% commission.
1,480 Views
11 Purchases
68 Downloads
Apr 4, 2026 Published
Jun 16, 2026 Updated
5.00 star(s)
Average rating (1)
435.6 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Social
  1. Reward
  1. Fun
Game mode
  1. Survival
  1. Earth
  1. Donut-like
Supported software
  1. Paper
  1. Folia
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
Creator
Owner
Recommended for you
Mines plugin with GUI, Vault/PlayerPoints/ExcellentEconomy, tax, ban system
5.00 star(s) 4 ratings
11 purchases
High performance RTP, RTPQueue and RTPZone plugin. Folia-ready.
5.00 star(s) 6 ratings
11 purchases
Playtime-based level system with rewards (money, XP, crates). GUI, PlaceholderAPI, Folia support.
5.00 star(s) 3 ratings
8 purchases
Earn currency from mobs. Shop, sell items, pay players, leaderboards, PlaceholderAPI, admin tools.
5.00 star(s) 1 ratings
3 purchases
item signing plugin. Add custom lore with hex colors, MC color codes, and MiniMessage formatting.
Not yet rated
0 purchases
Share and earn
Refer this resource and earn a 20% commission.
1,480 Views
11 Purchases
68 Downloads
Apr 4, 2026 Published
Jun 16, 2026 Updated
5.00 star(s)
Average rating (1)
435.6 KB File size
Open source
  1. No
DRM-free
  1. Yes
Unobfuscated
  1. No
Type
  1. Social
  1. Reward
  1. Fun
Game mode
  1. Survival
  1. Earth
  1. Donut-like
Supported software
  1. Paper
  1. Folia
Supported versions
  1. 26.1
  1. 1.21.11
  1. 1.21.8
  1. 1.21.5
  1. 1.21.4
  1. 1.21.2
  1. 1.21
Supported languages
  1. English
Creator
Owner
Recommended for you
Mines plugin with GUI, Vault/PlayerPoints/ExcellentEconomy, tax, ban system
5.00 star(s) 4 ratings
11 purchases
High performance RTP, RTPQueue and RTPZone plugin. Folia-ready.
5.00 star(s) 6 ratings
11 purchases
Playtime-based level system with rewards (money, XP, crates). GUI, PlaceholderAPI, Folia support.
5.00 star(s) 3 ratings
8 purchases
Earn currency from mobs. Shop, sell items, pay players, leaderboards, PlaceholderAPI, admin tools.
5.00 star(s) 1 ratings
3 purchases
item signing plugin. Add custom lore with hex colors, MC color codes, and MiniMessage formatting.
Not yet rated
0 purchases
Top