
Trade Everything
Мод Trade Everything добавляет каждому жителю слот обмена для любого предмета - сдавайте мусор, хлам и лишнюю экипировку в обмен на изумруды и товары. Работает сервер-сайд на Fabric, Forge и NeoForge для Minecraft 1.21.1.
Trade Everything ("Торгуй всем") - это мод для Майнкрафт, который решает старую боль любого выживальщика: сундуки забиты хламом, а деть его некуда. Булыжник, гнилая плоть, сломанные кирки, лишние зачарованные книги - всё это теперь имеет цену. Мод добавляет жителям и странствующим торговцам универсальный слот, куда можно положить буквально любой предмет и получить взамен нормальные товары.
Задумывался проект как спутник приключенческого мода Dungeon Train - там бесконечный процедурный поезд требует своей экономики. Но жесткой зависимости нет: Trade Everything отлично работает в любом ванильном или модифицированном мире. Если любите рогалики в духе старого приключенческого вайба, Dungeon Train зайдёт, но и без него мод самодостаточен.
Как это работает
У каждого жителя (а при желании - и у странствующего торговца) сверху списка сделок появляется дополнительный слот "Trade Anything". Пока вы его не трогали, вместо предложения виден сундук с подписью. Кладёте в левый слот любой предмет - предложение мгновенно пересчитывается: житель показывает, сколько именно этого добра он хочет и что готов дать взамен.
Раньше всё это улетало в лаву или гнило в сундуках. Теперь есть смысл. Куча булыжника, та полуразбитая зачарованная кирка, груда гнилой плоти - у всего появилась цена.
Как считается стоимость
Цены не с потолка. Каждый предмет оценивается по реальной "ценности":
- Редкость задаёт базовый уровень (обычные предметы - примерно 16 штук за один изумруд).
- Рецепты крафта и кузнечного дела разбираются рекурсивно - алмазная кирка стоит как её алмазы плюс палки; незеритовый меч оценивается как алмазный меч плюс слиток и кузнечный шаблон, которыми его улучшили.
- Прочность имеет значение. Почти сломанный инструмент стоит копейки, а по мере ремонта его цена плавно растёт до полной.
- Зачарования добавляют реальную стоимость - каждый уровень примерно удваивает надбавку. Книга Sharpness V стоит куда больше, чем Sharpness I.
Дорогие предметы житель оплачивает изумрудами, а совсем премиальные (зачарованный незерит, идеальный гир) - блоками изумруда.
Как этим пользоваться
- ПКМ по любому жителю - открывается окно торговли.
- Верхний ряд - это слот Trade Anything, пока неиспользованный выглядит как сундук с надписью.
- Кладёте любой предмет в левый платёжный слот - предложение тут же переписывается под точное количество и награду.
- Забираете сделку как обычную торговлю.
Всё. Никаких команд, конфигов, крафта - работает сразу после установки.
Оплата блоками изумруда
Если у вас в инвентаре блоки изумруда, а покупка стоит в изумрудах - мод автоматически разобьёт ровно столько блоков, сколько нужно, и вернёт сдачу. То есть блоки тратятся на любую сделку без ручного размена.
Обратный выкуп экипировки
Жители выкупают собственный товар с небольшой наценкой ниже цены продажи - можно вернуть ту броню, что не пригодилась. Скидки от исцеления зомби-жителя или "Героя деревни" не превращают это в эксплойт: цена выкупа всегда идёт по актуальной стоимости.
Возможности и особенности
- Работает на жителях и странствующих торговцах (последние включаются в конфиге).
- Точное сопоставление предметов - зачарованные, повреждённые, именованные или с отделкой вещи оцениваются и сопоставляются как отдельные уникальные товары.
- Никакого опыта профессии и побочных эффектов - слот Trade Anything не повышает уровень жителя и не мешает обычным сделкам. Предложения не сохраняются в жителе, так что файл мира не распухает.
- Честная экономика без эксплойтов - жители не покупают изумруды и те товары, что и так закупают по обычным сделкам. В выплатах заложена торговая маржа, так что нельзя крутить сделки по кругу ради бесплатной прибыли.
- Полностью сервер-сайд - ставите на выделенный сервер, и каждый ванильный клиент получает функцию автоматически. В одиночной игре всё покрывает встроенный сервер. В мод-листах помечен как client: unsupported / server: required - именно поэтому: клиентам ничего доустанавливать не надо.
- Мультилоадер - Fabric, Forge и NeoForge, Minecraft 1.21.1.
Настройка
Конфиг создаётся при первом запуске: config/tradeeverything.json. Всё крутится:
| Настройка | За что отвечает |
|---|---|
rarity_values_sixteenths | Базовая стоимость по уровню редкости (в 1/16 изумруда) |
item_overrides_sixteenths | Переопределение цены для отдельного предмета (по id) |
result_multiplier | Ставка выплаты - маржа жителя (по умолчанию 0.75) |
max_cost_count / max_result_count | Лимиты размера сделки |
derive_values_from_recipes | Включение оценки на основе рецептов и кузнечного дела |
enchantment_value_per_level_sixteenths | Сколько стоит каждый уровень зачарования |
allow_undervalued_trades | Можно ли сдавать почти ничего не стоящие предметы |
enable_wandering_trader | Даёт ли слот странствующим торговцам |
Значения - в шестнадцатых долях изумруда: 16 = один изумруд, 1 = одна шестнадцатая (то есть 16 таких предметов дают изумрудную стоимость).
Важный нюанс
Если поставить мод только на клиент и зайти на ванильный сервер - функция не появится, потому что она серверная. Логика такая: сервер решает, что можно, а клиент просто отображает интерфейс. Для одиночной игры всё работает из коробки, для мультиплеера мод нужен именно на сервере, а не в папке клиента.
Ещё один момент с Dungeon Train: если ставить оба мода вместе, экономика получается куда глубже. Dungeon Train, кстати, продаёт через API свои нарративные книги по фиксированной цене - как раз через Trade Everything. Приятная связка для тех, кто любит многослойные рогалики, а не голое выживание.
Для разработчиков модов
Trade Everything предоставляет небольшой Java API (games.brennan.tradeeverything.api.TradeEverythingApi), чтобы другие моды могли подключаться к экономике без обновления самого Trade Everything:
registerValueProvider- задать собственную стоимость для своих предметов (Dungeon Train этим пользуется для продажи книг).setItemOverride- переопределить цену любого предмета на ходу.registerBuyItemSelector- управлять тем, что именно выплачивает конкретный житель.getValueSixteenths/config()/reload()- читать и обновлять текущую оценку.
Совместимость
- Minecraft: 1.21.1
- Загрузчики: Fabric, Forge, NeoForge
- Dungeon Train: проектировались вместе, при установке обоих синергия глубже, но мод необязателен.
- Сторонние моды, слушающие события торговли жителей, увидят синтетические сделки - это специально и безвредно.
Лицензия
PolyForm Shield 1.0.0.
Скачать мод Trade Everything стоит всем, кто устал от бесконечных сундуков мусора и хотел бы превратить их в изумруды. Для серверов с выживанием - вообще must-have: игроки получат смысл сдавать накопленное, а экономика сервера оживёт без настройки торговых NPC и плагинов.
Как поиграть с друзьями с модом Trade Everything?
Мод Trade Everything куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода Trade Everything будет готов за пару минут - BungeeHost сделает всё за вас.
