> For the complete documentation index, see [llms.txt](https://headhunter-1.gitbook.io/headhunter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://headhunter-1.gitbook.io/headhunter/configurations/language-config-lang.yml.md).

# Language Config (lang.yml)

### File Location

```
plugins/HeadHunter/lang.yml
```

{% hint style="success" %}
HeadHunter supports Minecraft color codes using the <mark style="color:$info;">&</mark> symbol. Use codes like <mark style="color:$success;">\&a</mark> (green), <mark style="color:$danger;">\&c</mark> (red), <mark style="color:orange;">&6</mark> (gold), **\&l** (bold), *\&o* (italic), etc. Example: <mark style="color:orange;">**&6\&lGolden Bold Text**</mark>

For all  codes: [Color And Format Codes](https://www.digminecraft.com/lists/color_list_pc.php)
{% endhint %}

***

### Message Categories

{% tabs %}
{% tab title="General Messages" %}

* <mark style="color:$success;">ReadyToLevelUpMessage</mark> - Shown when player reaches max XP
* <mark style="color:$success;">NotHighEnoughOfLevelToBuySpawner</mark> - Level too low for spawner
* <mark style="color:$success;">NotEnoughOfMoneyToBuySpawner</mark> - Insufficient money for spawner
  {% endtab %}

{% tab title="Level Messages" %}

* <mark style="color:$success;">AlreadyMaxLevelMessage</mark> - Player at max level
* <mark style="color:$success;">InsufficientMoneyMessage</mark> - Not enough money to level up
* <mark style="color:$success;">InsufficientHeadsMessage</mark> - Not enough heads to level up
* <mark style="color:$success;">BroadcastReachedMaxLevelMessage</mark> - Broadcast when max level reached
  {% endtab %}

{% tab title="Head Messages" %}

* <mark style="color:$success;">SellHeadsMessage</mark> - Confirmation after selling heads
* <mark style="color:$success;">SoldNothingMessage</mark> - No heads to sell
* <mark style="color:$success;">StoringHeadsMessage</mark> - Confirmation when storing heads
* <mark style="color:$success;">LevelTooLowToStoreHeadMessage</mark> - Can't store at current level
* <mark style="color:$success;">LevelTooLowToSellHeadMessage</mark> - Can't sell at current level
  {% endtab %}

{% tab title="Mask Messages" %}

* <mark style="color:$success;">CreateMaskMessage</mark> - Successfully created a mask
* <mark style="color:$success;">UpgradeMaskMessage</mark> - Successfully upgraded a mask
* <mark style="color:$success;">InsufficientHeadsToCreateMaskMessage</mark> - Not enough heads stored
* <mark style="color:$success;">NeedMoreMasksInInventoryMessage</mark> - Missing required masks
  {% endtab %}

{% tab title="GUI Text" %}

* <mark style="color:$success;">MainHeadsGUI</mark> (title, item names, lore)
* <mark style="color:$success;">MasksGUI</mark> (title, mask names)
* <mark style="color:$success;">SellHeadsGUI</mark> (title, button text)
  {% endtab %}

{% tab title="Signs" %}

* <mark style="color:$success;">SellHeads</mark> <mark style="color:$success;">sign</mark> (4 lines)
  {% endtab %}
  {% endtabs %}

***

### YAML Special Characters

When using apostrophes (') in messages, you must escape them by doubling them:

```yaml
# Wrong - will cause errors
Message: "You don't have enough money"

# Correct
Message: 'You don''t have enough money'
```

### Default Configuration

{% hint style="info" %}
Messages supports plugin defined placeholders per message <mark style="color:$success;">{placeholder}</mark> and global Placeholders using PlaceholderAPI <mark style="color:$success;">%headhunter\_placeholder%</mark>\
More info: [Placeholders](/headhunter/core-features/placeholders.md)
{% endhint %}

{% code expandable="true" %}

```yaml
# ################################# #
# HeadHunter Plugin by DisabledGoat #
# ################################# #

# Lang Configuration Explanation:
# --------------------------------
# This file controls all messages used by the HeadHunter plugin.
# You can freely edit the text values to translate or customize messages.
# 
# General notes:
#   - Do not remove or rename configuration keys, only change their values.
#   - Color codes use the '&' character (e.g. &c, &a, &4&l).
#   - Placeholders in curly braces (e.g. {player}, {mask}, {amount_heads})
#     are replaced directly by the plugin.
#   - If PlaceholderAPI is installed, you may also use external placeholders
#     from other plugins (e.g. %player_displayname%, %vault_eco_balance%).
#     These are resolved after the plugin's own {..} placeholders.
# 
# Sections:
#   General   - General messages.
#   Level     - Messages related to level system.
#   Heads     - Messages related to selling and storing mob heads.
#   Masks     - Messages for creating, upgrading and giving masks.
#   Signs     - Default text for [HeadHunter] related signs.
#   Error     - Reserved for error-related messages.
# 
# Tip: If something stops working after editing, restore the key names
#      or delete the Lang.yml file to let the plugin regenerate defaults.
# --------------------------------

# General Section Explanation:
# ------------------------
# PluginPrefix:
#   Prefix used in all plugin messages. You can set it to an empty string if you don't want a prefix.
#   Note: Include a space after the prefix if you want a space between the prefix and the message.
General:
  PluginPrefix: '&8[&dHeadHunter&8] '

# Level Section Explanation:
# ------------------------
# Placeholders:
#   InsufficientMoneyMessage:
#     {remaining_money} - The remaining money needed to level up.
#   InsufficientHeadsMessage:
#     {remaining_heads} - The remaining heads needed to level up.
#   ReadyToLevelUpMessage:
#     {next_level} - The player's next level.
#     {levelup_cost} - The cost to level up.
#   BroadcastReachedMaxLevelMessage:
#     {player} - The name of the player who reached max level.
Level:
  AlreadyMaxLevelMessage: '&cYou are already max level.'
  InsufficientMoneyMessage: '&cYou need &f{remaining_money} &cto level up.'
  InsufficientHeadsMessage: '&cYou need &f{remaining_heads} &cheads until you can
    level up.'
  BroadcastReachedMaxLevelMessage: '&4&lAttention: &a{player} &fjust reached &6&lmax
    prestige.'
  ReadyToLevelUpMessage: '&fYou have reached max xp. Do &a/hh levelup &fto unlock
    level &6{next_level} &ffor a total of &a{levelup_cost}.'

# Heads Section Explanation:
# ------------------------
# Placeholders:
#   QuickSell:
#     {amount_heads} - Will be replaced with the amount of heads sold.
#     {total_money} - Will be replaced with the total money earned from selling heads.
#   StoringHeadsMessage:
#     {amount_heads} - Will be replaced with the amount of heads stored.
#     {mob} - Will be replaced with the mob type of the heads stored.
Heads:
  SellHeadsMessage: You sold &a{amount_heads} &famount of heads, for a total of &a{total_money}.
  SoldNothingMessage: '&cYou sold nothing.'
  StoringHeadsMessage: You stored &a{amount_heads} &famount of {mob} heads.
  LevelTooLowToStoreHeadMessage: '&cYou are not high enough of level to store the
    head.'
  LevelTooLowToSellHeadMessage: '&cYou are not high enough of level to sell the head.'

# Masks Section Explanation
# ------------------------
# Placeholders:
#  CreateMaskMessage:
#    {mask} - Will be replaced with the name of the mask created.
#  UpgradeMaskMessage:
#    {previous_mask} - Will be replaced with the name of the previous mask.
#    {next_mask} - Will be replaced with the name of the next mask.
#  GaveMaskMessage:
#    {amount} - Will be replaced with the amount of masks given.
#    {mask} - Will be replaced with the name of the mask given.
#    {player} - Will be replaced with the name of the player who received the mask.
#  InsufficientHeadsToCreateMaskMessage:
#    {entityType} - Will be replaced with the entity type of the clicked mask.
#  NeedMoreMasksInInventoryMessage:
#    {required_previous_masks} - Will be replaced with the amount of previous masks needed.
#    {previous_mask} - Will be replaced with the mask needed for upgrade.
Masks:
  CreateMaskMessage: '&fYou created a &d{mask}.'
  UpgradeMaskMessage: '&fYou upgraded &d{previous_mask} &fto &d{next_mask}.'
  InsufficientHeadsToCreateMaskMessage: '&cYou don''t have enough &f{entityType} &cheads
    stored.'
  NeedMoreMasksInInventoryMessage: '&cYou need &f{required_previous_masks}x &d{previous_mask}
    &cin your inventory to upgrade.'

# Spawners Section Explanation
# ------------------------
# This section defines what each HH sign should display in-game.
# Placeholders:
#  InsufficientMoneyToBuySpawner:
#    {remaining_money} - Will be replaced with the remaining money needed to buy the spawner.
Spawners:
  LevelTooLowToBuySpawner: '&cYou are not high enough of level to buy the spawner.'
  InsufficientMoneyToBuySpawner: '&cYou need &f{remaining_money} &cto buy the spawner.'

# Signs Section Explanation:
# ------------------------
# Placeholders:
#  SpawnerShop:
#    {level} - Will be replaced with the level of the entity type.
#    {entity_type} - Will be replaced with the entity type name.
#    {price} - Will be replaced with the cost of the spawner.
Signs:
  SellHeads:
    Line1: '--------------'
    Line2: '&c&l[HeadHunter]'
    Line3: '&fSell Heads'
    Line4: '--------------'
  SpawnerShop:
    Line1: '&c&l[HeadHunter]'
    Line2: '&fLevel: &6{level}'
    Line3: '&f{entity_type}'
    Line4: '&a{price}'

  StoringHeadsMessage: You stored &a{amount_heads} &famount of {mob} heads.
  LevelTooLowToStoreHeadMessage: '&cYou are not high enough of level to store the
    head.'
  LevelTooLowToSellHeadMessage: '&cYou are not high enough of level to sell the head.'

# Masks Section Explanation
# ------------------------
# Placeholders:
#  CreateMaskMessage:
#    {mask} - Will be replaced with the name of the mask created.
#  UpgradeMaskMessage:
#    {previous_mask} - Will be replaced with the name of the previous mask.
#    {next_mask} - Will be replaced with the name of the next mask.
#  GaveMaskMessage:
#    {amount} - Will be replaced with the amount of masks given.
#    {mask} - Will be replaced with the name of the mask given.
#    {player} - Will be replaced with the name of the player who received the mask.
#  InsufficientHeadsToCreateMaskMessage:
#    {entityType} - Will be replaced with the entity type of the clicked mask.
#  NeedMoreMasksInInventoryMessage:
#    {required_previous_masks} - Will be replaced with the amount of previous masks needed.
#    {previous_mask} - Will be replaced with the mask needed for upgrade.
Masks:
  CreateMaskMessage: '&fYou created a &d{mask}.'
  UpgradeMaskMessage: '&fYou upgraded &d{previous_mask} &fto &d{next_mask}.'
  InsufficientHeadsToCreateMaskMessage: '&cYou don''t have enough &f{entityType} &cheads
    stored.'
  NeedMoreMasksInInventoryMessage: '&cYou need &f{required_previous_masks}x &d{previous_mask}
    &cin your inventory to upgrade.'

# Spawners Section Explanation
# ------------------------
# This section defines what each HH sign should display in-game.
# Placeholders:
#  InsufficientMoneyToBuySpawner:
#    {remaining_money} - Will be replaced with the remaining money needed to buy the spawner.
Spawners:
  LevelTooLowToBuySpawner: '&cYou are not high enough of level to buy the spawner.'
  InsufficientMoneyToBuySpawner: '&cYou need &f{remaining_money} &cto buy the spawner.'

# Signs Section Explanation:
# ------------------------
# Placeholders:
#  SpawnerShop:
#    {level} - Will be replaced with the level of the entity type.
#    {entity_type} - Will be replaced with the entity type name.
#    {price} - Will be replaced with the cost of the spawner.
Signs:
  SellHeads:
    Line1: '--------------'
    Line2: '&c&l[HeadHunter]'
    Line3: '&fSell Heads'
    Line4: '--------------'
  SpawnerShop:
    Line1: '&c&l[HeadHunter]'
    Line2: '&fLevel: &6{level}'
    Line3: '&f{entity_type}'
    Line4: '&a{price}'

```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://headhunter-1.gitbook.io/headhunter/configurations/language-config-lang.yml.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
