TitleShop icon

TitleShop -----

Purchase and customize your player titles in-game!



Dependencies:
  • Vault (required)
  • LuckPerms (required)
  • PlaceholderAPI (soft depend)


TitleShop is a plugin that adds a comprehensive system for purchasing, managing, and customizing player suffixes. With an intuitive shop interface and easy-to-use commands, players can buy titles, view their collection, and even create their own custom titles.

Support for hex color formats using &#RRGGBB or #RRGGBB.

Commands:
  • /title reload (titles.reload) – Reloads/restarts the plugin.
  • /titlesshop or /ts (titles.shop - default) – Opens the title shop.
  • /titles (titles.titles - default) – Displays all user titles.
  • /title user (titles.manage) – Gives or removes a title from a specific player.
  • /title add (titles.create) – Adds a title to the shop (can also be configured via the config file).
  • /title create (titles.createOwn - default) – Allows players to create their own title.
Code (YAML):
# Titles

# Localization to be used. Default: EN / RU. You can create your own locale file.
locale
: "[B]EN[/B]"

# Menu settings
menu
:
  items
:
    frame
: "LIGHT_BLUE_STAINED_GLASS_PANE"
    separator
: "GRAY_STAINED_GLASS_PANE"
    title
: "NAME_TAG"
    prevPage
: "ARROW"
    nextPage
: "ARROW"
    close
: "BARRIER"
    clear
: "SHEARS"
  slots
: # These are for the bottom menu. 0 - 9
    prevPage
: 3
    nextPage
: 5
    close
: 4
    clear
: 4 # This will be on top row
  # You can set your own command on close (without /). Default: close menu. It will override the default. Write None to use the default command.
  customCloseCommand
: "None"

customTitle
:
  enabled
: true
  cost
: 100000 # Price to create own title
  maxPerPlayer
: 5 # Max custom titles per player. -1 to unlimited
  maxTitleLength
: 20 # Maximum characters for title to avoid long titles

# Any custom titles. You can use HEX color (&#RRGGBB)
titles
:
  sampleTitle
: # Title ID
    name
: "Cool" # Displayed title name
    cost
: 10000 # Money to buy the title
    purchasable
: true # False if the title won't be in the shop



Code (YAML):
# En Locale[/SIZE]

[SIZE=3]prefix
: "&eTitles &7| "

menus
:
  titlesShop
:
    header
: "&7Title Shop" # Menu header
    purchasedTitle
: # Menu for purchased titles
      titleName
: "&cTitle %title%" # Title name
      titleDescription
: # Description
        - ""
        - "&cThis title has already been purchased!"
        - ""
      onClickMessage
: "&cThis title has already been purchased!" # Message when clicking on a purchased title
    unPurchasedTitle
: # Menu for un purchased titles
      titleName
: "&fTitle %title%"
      titleDescription
:
       - ""
        - "&fPreview
: %player% %title%"
        - ""
        - "&fCost
: &e%cost%"
        - "&aClick to purchase the title"
        - ""
      onPurchasedMessage
: "&aCongratulations! You have purchased the title: %title%" # Message on successful purchase
  ownedTitle
: # Menu for owned titles
    header
: "&7Titles" # Menu header
    titleName
: "&eTitle %title%" # Name
    titleDescription
:
     - ""
      - "&fPreview
: %player% %title%"
      - ""
      - "&aClick to apply title"
      - ""
    onClickMessage
: "&eApplied %title%!" # Message on title apply
  buttons
:
    nextPage
: "&eNext Page"
    prevPage
: "&ePrevious Page"
    close
: "&eClose Menu"
    clear
: "&eClear title"

messages
:
  onError
:
    noPermission
: "&cYou do not have permission to use this." # Message when the player lacks permission to perform an action
    notEnoughMoney
: "&cYou do not have enough money to make the purchase." # Message when the player tries to buy something without enough money
    commandNotFound
: "&cCommand not found." # Message when command/subcommand not found
    incorrectArgs
: "&cIncorrect arguments given. Please check the provided arguments." # Message when the command arguments are incorrect
    alReadyHasTittle
: "&cPlayer %player% already has this title!" # Message when trying to give a title that the player already has
    titleNotFound
: "&cTitle with ID &n%title%&r &cnot found." # Message when the specified title ID does not exist
    titleExist
: "&cTitle with name &n%title%&r &calready exist." # Message when trying to create a title that already exists
    playerDoesntHaveTitle
: "&cPlayer %player% doesn't have this title!" # Message when trying to remove a title the player does not have
    permittedSymbols
: "&cTitle ID contains permitted symbols!" # Message when the title ID contains only allowed symbols
    maxCustomTitles
: "&cLimit reached! You cannot create more than %count% titles!" # Сообщение, когда пользователь превысил лимит создания титулов
    titleMaxSymbols
: "&cThis title is too long! You can't use more than %count% characters!" # Message when a player enters a title that is too long
    notNumber
: "&cError: Title cost is not number." # Message when inputted title cost is not number
  commands
:
    reload
: "&aPlugin has been reloaded!" # Message when the plugin is reloaded
    give
: "&aTitle %title% successfully given!" # Message when a title is successfully given to a player
    giveToPlayer
: "&cYou have been given the title %title%!" # Message when a player receives a title
    remove
: "&aTitle %title% successfully removed from the player!" # Message when a title is successfully removed
    removeToPlayer
: "&aYour title %title% has been removed!" # Message when a player's title is removed
    createOwn
: "&aYou successful create own title: %title%!" # Message, when player created own title
    add
: "&aYou successful added new title %title% with price %cost%!" # Message, when player added new title in config with command



Code (YAML):
# Ru Locale

prefix
: "&eТитулы &7| "

menus
:
  titlesShop
:
    header
: "&8Магазин титулов" # Название меню
    purchasedTitle
: # Меню для купленных титулов в магазине
      titleName
: "&cТитул %title%" # Название
      titleDescription
: # Описание
        - ""
        - "&cДанный титул уже был куплен ранее!"
        - ""
      onClickMessage
: "&cДанный титул уже был куплен ранее!" # Сообщение при клике на купленный титул
    unPurchasedTitle
: # Меню для не купленных титулов в магазине
      titleName
: "&fТитул %title%"
      titleDescription
:
       - ""
        - "&fПредпросмотр
: %player% %title%"
        - ""
        - "&fСтоимость
: &e%cost%"
        - "&aНажмите для покупки титула"
        - ""
      onPurchasedMessage
: "&aПоздравляем! Вы купили титул: %title%" # Сообщение при успешной покупке
  ownedTitle
: # Меню для купленных титулов
    header
: "&eТитулы" # Menu header
    titleName
: "&eТитул %title%" # Название
    titleDescription
:
     - ""
      - "&fПредпросмотр
: %player% %title%"
      - ""
      - "&aНажмите для установить титул"
      - ""
    onClickMessage
: "&eУстановлен титул %title%!" # Сообщение при установке титула
  buttons
:
    nextPage
: "&eСледующая страница"
    prevPage
: "&eПредыдущая страница"
    close
: "&eЗакрыть меню"
    clear
: "&eОчистить титул"

messages
:
  onError
:
    noPermission
: "&cУ вас нет прав для использования этой команды." # Сообщение, когда у игрока нет прав на выполнение действия
    notEnoughMoney
: "&cУ вас недостаточно денег для покупки." # Сообщение, когда игрок пытается купить что-то без нужного количества денег
    commandNotFound
: "&cКоманда не найдена." # Сообщение, когда введённая команда/подкоманда не найдена.
    incorrectArgs
: "&cНекорректные аргументы. Пожалуйста, проверьте введённые данные." # Сообщение при неверных аргументах команды
    alReadyHasTittle
: "&cИгрок %player% уже имеет этот титул!" # Сообщение при попытке выдать титул, который уже есть у игрока
    titleNotFound
: "&cТитул с ID &n%title%&r &cне найден." # Сообщение, если указанный ID титула не существует
    titleExist
: "&cТитул с именем &n%title%&r &cуже существует." # Сообщение при попытке создать уже существующий титул
    playerDoesntHaveTitle
: "&cИгрок %player% не имеет этого титула!" # Сообщение при попытке удалить титул, которого нет у игрока
    permittedSymbols
: "&cID титула содержит только разрешённые символы!" # Сообщение, если ID титула содержит только разрешённые символы
    maxCustomTitles
: "&cДостигнут лимит! Вы не можете создать более чем %count% титулов!" # Сообщение, когда пользователь превысил лимит создания титулов
    titleMaxSymbols
: "&cДанный титул слишком длинный! Вы не можете использовать более %count% символов!" # Сообщение, когда игрок ввёл слишком длинное название
    notNumber
: "&cОшибка: Указанная стоимость титула не число!" # Сообщение, когда введённая стоимость титула не число
  commands
:
    reload
: "&aПлагин был перезагружен!" # Сообщение при перезагрузке плагина
    give
: "&aТитул %title% успешно выдан!" # Сообщение при успешной выдаче титула
    giveToPlayer
: "&cВам был выдан титул %title%!" # Сообщение, когда игрок получает титул
    remove
: "&aТитул %title% успешно удалён у игрока!" # Сообщение при успешном удалении титула
    removeToPlayer
: "&aВаш титул %title% был удалён!" # Сообщение, когда титул игрока был удалён
    createOwn
: "&aВы успешно создали титул: %title%!" # Сообщение, когда игрок успешно создал свой титул
    add
: "&aВы успешно добавили новый титул %title% с ценой %cost%!" # Сообщение, когда игрок добавил новый титул в конфиг командой

Resource Information
Author:
----------
Total Downloads: 19
First Release: Apr 7, 2025
Last Update: Apr 7, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings