← Все статьи

RP-экономика на кастомных жителях: защита валюты через custom_data

Бумажная купюра, пропуск гильдии, ration token или сертификат работают как серверная валюта только тогда, когда игроки не могут повторить их переименованным ванильным предметом. Самая простая защита — проверять личность предмета через компоненты, а не только через видимое имя.

Открыть конструктор сделок жителей

Почему видимого имени недостаточно

Если житель просит только бумагу с названием City voucher, любой игрок с наковальней сможет сделать подделку. Lore тоже слабая защита, потому что это всё ещё видимый текст. Для экономики житель должен проверять скрытую полезную нагрузку внутри предмета.

Используйте minecraft:custom_data как слой идентичности

В современных версиях к валютному предмету можно добавить скрытый компонент. Видимое имя всё ещё может быть Гильдейский ваучер, но настоящая проверка должна жить в структурированном объекте.

components:{
  "minecraft:custom_name":'[{"text":"Гильдейский ваучер","italic":false}]',
  "minecraft:custom_data":{currency:"guild_voucher",issuer:"capital_bank",tier:"silver"}
}

Почему это защищает экономику

Практический шаблон для жителей

Когда вы собираете стек buy для сделки, добавьте туда такой же объект custom_data. Тогда житель примет только настоящий токен, а не имитацию с копированным текстом.

buy:{
  id:"minecraft:paper",
  count:3,
  components:{
    "minecraft:custom_name":'[{"text":"Гильдейский ваучер","italic":false}]',
    "minecraft:custom_data":{currency:"guild_voucher",issuer:"capital_bank",tier:"silver"}
  }
}

Хорошие правила экономики для RP-серверов

Когда разделять валюты

Используйте отдельные ID для денег, которые не должны смешиваться. Например, храмовые пожертвования, военные платёжные квитанции и купоны чёрного рынка могут быть бумагой, но не должны иметь одинаковый payload custom_data.

Рекомендуемый workflow

  1. Создайте наградные и платёжные предметы с совпадающим custom_data.
  2. Дайте им понятное видимое имя для игроков.
  3. Используйте конструктор сделок жителей, чтобы привязать платёжный стек к скрытому payload.
  4. Перед запуском проверьте сделку с поддельной переименованной копией.