================================================================================
A.P.V.E. DICTIONARY & NORMALIZATION RULES SPECIFICATION
================================================================================

[IMPORTANT INSTRUCTIONS]
When adding, editing, or validating dictionary words in configuration files:
1. MANDATORY CONVERT: All dictionary entries MUST be converted using the 
   exact pipeline described below (latin letters only, lower-case, no symbols).
2. NO SPACES & NO PUNCTUATION: Strip all spaces, punctuation, and symbols.
3. SINGLE DIRECTIVE: Use ONLY lowercase Latin characters [a-z].

--------------------------------------------------------------------------------
1. DICTIONARY INPUT REQUIREMENTS 
--------------------------------------------------------------------------------
Before inserting a forbidden word into the configuration dictionary, apply
these transformation rules manually or logically:
- Alphabet: ONLY Latin characters (a-z).
- Case: MUST be entirely lowercase.
- Symbols & Punctuation: REMOVE ALL symbols (!, ., ,, @, #, $, %, etc.).
- Duplicates: Collapse repeating letters (e.g., "haaaate" -> "hate").

--------------------------------------------------------------------------------
2. INTERNAL NORMALIZATION PIPELINE (HOW TEXT IS PROCESSED)
--------------------------------------------------------------------------------
The plugin processes raw player chat messages through a strict order of steps:

Step 1: Minecraft Color Code Removal
  - Strips legacy codes (&a, §c) and hex colors (&#RRGGBB).

Step 2: Invisible Character & Unicode Cleanup
  - Removes zero-width spaces, joiners, soft hyphens, and control characters.
  - Applies NFKC Unicode normalization.

Step 3: Case Normalization & Accent Removal
  - Converts input string to lower case (Locale.ROOT).
  - Removes combining diacritics and accent marks.

Step 4: Transliteration & Leet-Speak Conversion
  - Cyrillic to Latin:
      а->a, б->b, в->v, г->g, д->d, е->e, ё->e, ж->zh, з->z, и->i, й->y,
      к->k, л->l, м->m, н->n, о->o, п->p, р->r, с->s, т->t, у->u, ф->f,
      х->h, ц->c, ч->ch, ш->sh, щ->sch, ъ->(empty), ы->y, ь->b, э->e,
      ю->yu, я->ya
  - Greek & Special Homoglyphs:
      α->a, β->b, γ->g, δ->d, ε->e, η->n, θ->th, ι->i, κ->k, λ->l, μ->m,
      ν->v, ο->o, π->p, ρ->r, σ->s, τ->t, υ->u, χ->x, ψ->ps, ω->w,
      ø->o, ð->d, þ->th, æ->ae, œ->oe, ŋ->n, ß->s, ł->l, đ->d, ħ->h, ĸ->k, ı->i
  - Leet-Speak / Digits to Letters:
      0->o, 1->i, 3->z, 4->ch, 5->s, 6->b, 8->b
  - Leet-Speak / Symbols to Letters:
      @->a, $->s, !->i, |->i, +->t, €->e, £->l, ¥->y, §->(empty)

Step 5: Symbol Deletion
  - The following symbols are completely stripped:
      * _ - . , / \ ~ ` ' " = ^ # & ( ) [ ] { }

Step 6: Non-Latin Filtering & Duplicate Collapsing
  - Any character outside [a-z] and whitespace is purged.
  - Consecutive duplicate characters are collapsed to single occurrences.

--------------------------------------------------------------------------------
3. EXAMPLES FOR CONFIGURATION WORDS
--------------------------------------------------------------------------------
Raw Word/Phrase        ->  Normalized Config Entry
---------------------------------------------------
"Прuв€т!"             ->  "privet"
"f0rb1dd3n"           ->  "forbiddzn"
"s.p.a.m"             ->  "spam"
"Чëрный"              ->  "chernyy"
================================================================================



================================================================================
A.P.V.E. СПЕЦИФИКАЦИЯ СЛОВАРА И ПРАВИЛ НОРМАЛИЗАЦИИ
================================================================================

[ВАЖНЫЕ ИНСТРУКЦИИ]
При добавлении, редактировании или проверке слов словаря в конфигурационных файлах:
1. ОБЯЗАТЕЛЬНОЕ ПРЕОБРАЗОВАНИЕ: Все записи словаря ДОЛЖНЫ быть преобразованы с 
   использованием точного конвейера, описанного ниже (только латинские буквы, 
   нижний регистр, без символов).
2. БЕЗ ПРОБЕЛОВ И ЗНАКОВ ПРЕПИНАНИЯ: Удаляйте все пробелы, знаки препинания и символы.
3. ЕДИНАЯ ДИРЕКТИВА: Используйте ТОЛЬКО строчные латинские символы [a-z].

--------------------------------------------------------------------------------
1. ТРЕБОВАНИЯ К ВВОДУ СЛОВ ДЛЯ СЛОВАРЯ
--------------------------------------------------------------------------------
Перед добавлением запрещённого слова в словарь конфигурации примените
следующие правила трансформации вручную или логически:
- Алфавит: ТОЛЬКО латинские символы (a-z).
- Регистр: ДОЛЖЕН быть полностью нижним (строчные буквы).
- Символы и знаки препинания: УДАЛИТЕ ВСЕ символы (!, ., ,, @, #, $, %, и т. д.).
- Дубликаты: Схлопывайте повторяющиеся буквы (например, "haaaate" -> "hate").

--------------------------------------------------------------------------------
2. ВНУТРЕННИЙ КОНВЕЙЕР НОРМАЛИЗАЦИИ (КАК ОБРАБАТЫВАЕТСЯ ТЕКСТ)
--------------------------------------------------------------------------------
Плагин обрабатывает исходные сообщения игроков из чата через строгий порядок шагов:

Шаг 1: Удаление цветовых кодов Minecraft
  - Удаляет коды (&a, §c) и HEX-цвета (&#RRGGBB).

Шаг 2: Очистка невидимых символов и Unicode
  - Удаляет пробелы нулевой ширины, соединители, мягкие переносы и управляющие символы.
  - Применяет нормализацию Unicode NFKC.

Шаг 3: Нормализация регистра и удаление акцентов
  - Преобразует входную строку в нижний регистр (Locale.ROOT).
  - Удаляет комбинируемые диакритические знаки и акценты.

Шаг 4: Транслитерация и конвертация Leet-Speak
  - Кириллица в латиницу:
      а->a, б->b, в->v, г->g, д->d, е->e, ё->e, ж->zh, з->z, и->i, й->y,
      к->k, л->l, м->m, н->n, о->o, п->p, р->r, с->s, т->t, у->u, ф->f,
      х->h, ц->c, ч->ch, ш->sh, щ->sch, ъ->(пусто), ы->y, ь->b, э->e,
      ю->yu, я->ya
  - Греческие и специальные омоглифы:
      α->a, β->b, γ->g, δ->d, ε->e, η->n, θ->th, ι->i, κ->k, λ->l, μ->m,
      ν->v, ο->o, π->p, ρ->r, σ->s, τ->t, υ->u, χ->x, ψ->ps, ω->w,
      ø->o, ð->d, þ->th, æ->ae, œ->oe, ŋ->n, ß->s, ł->l, đ->d, ħ->h, ĸ->k, ı->i
  - Leet-Speak / Цифры в буквы:
      0->o, 1->i, 3->z, 4->ch, 5->s, 6->b, 8->b
  - Leet-Speak / Символы в буквы:
      @->a, $->s, !->i, |->i, +->t, €->e, £->l, ¥->y, §->(пусто)

Шаг 5: Удаление символов
  - Следующие символы полностью удаляются:
      * _ - . , / \ ~ ` ' " = ^ # & ( ) [ ] { }

Шаг 6: Фильтрация нелатинских символов и схлопывание дубликатов
  - Любой символ за пределами [a-z] и пробелов удаляется.
  - Повторяющиеся подряд символы схлопываются до одиночных вхождений.

--------------------------------------------------------------------------------
3. ПРИМЕРЫ СЛОВ ДЛЯ КОНФИГУРАЦИИ
--------------------------------------------------------------------------------
Исходное слово/фраза   ->  Нормализованная запись в конфиге
---------------------------------------------------
"Прuв€т!"             ->  "privet"
"f0rb1dd3n"           ->  "forbiddzn"
"s.p.a.m"             ->  "spam"
"Чëрный"              ->  "chernyy"
================================================================================