InOrders - Item orders using in-game currency
Если вы когда-нибудь ждали покупателя на аукционе неделями, пока товар пылится в сундуке, то этот плагин перевернёт ваше представление о торговле. InOrders - Item orders using in-game currency работает наоборот: не продавец выставляет лот, а покупатель пишет, что ему нужно, и сразу платит. Деньги списываются в момент создания заказа и лежат в нём как гарантия — продавцу не нужно верить на слово, а покупателю не нужно ловить момент, когда кто-то соизволит продать нужный стак.
Как это работает на практике
Сторона покупателя
Игрок открывает /orders и нажимает «Создать заказ». Дальше всё просто: находит предмет в каталоге или берёт его прямо из инвентаря, указывает количество, цену за штуку и срок жизни заказа. Система показывает итоговую сумму, и после подтверждения деньги уходят со счёта мгновенно. Забрать купленное можно в любой момент в разделе «Мои заказы» — даже если вы были офлайн, когда предметы принесли.
Сторона продавца
Продавец открывает список заказов и сразу видит подсветку: те позиции, которые у него уже есть в инвентаре, выделены. Остаётся кликнуть, выбрать количество слайдером или зажать Shift и левой кнопкой сдать всё разом. Оплата приходит в ту же секунду. Никаких переговоров, никаких «скину позже».
Ключевые возможности
- Поиск на двух языках одновременно: «diamond» и «алмаз», «mending» и «починка» находят одно и то же.
- Заказ по образцу — предмет берётся из руки вместе со всеми зачарованиями и эффектами зелий.
- Количества в стаках: 640, 10st или 2.5k — как удобнее.
- Цена указывается за одну единицу, оплата через Vault или PlayerPoints.
- Только точные совпадения: повреждённые, переименованные или иначе зачарованные предметы не принимаются.
- Если двое сдают одновременно, заказ никогда не возьмёт больше, чем ему нужно.
- Возвраты: при отмене или исчерпании заказа неизрасходованные деньги уходят покупателю, а уже купленное остаётся в заказе.
- Уведомления о каждой поставке и напоминание при входе, если что-то ждёт получения.
Совместимость и версии
Плагин собран под Paper 1.21.7 – 26.3, причём один и тот же jar подходит для всех версий. Требуется Java 21 или новее — та, которую запрашивает ваше ядро Paper. Для работы нужен хотя бы один источник валюты: Vault с экономическим плагином либо PlayerPoints. При первом запуске серверу понадобится доступ в интернет — Paper сам подтянет нужные библиотеки.
Отдельно стоит сказать про Bedrock и старые клиенты. Игроки Geyser/Floodgate и клиенты ниже 1.21.6 через ViaVersion получают те же формы, только в виде сундучных меню. Иконки предметов на кнопках каталога появляются начиная с 1.21.11 и на сервере, и на клиенте; на более старых версиях кнопки показывают лишь название.
Хранение данных гибкое: SQLite заводится сразу после установки, а MySQL или MariaDB позволяют нескольким серверам делить одну базу. Язык интерфейса настраивается отдельно для каждого клиента — при режиме auto каждый видит меню на своём игровом языке. Английский и русский уже включены, тексты написаны на MiniMessage. Для разработчиков предусмотрено API с событиями создания, доставки и отмены заказов.
Как установить InOrders
Процесс установки не отнимет много времени. Скачайте InOrders - Item orders using in-game currency для Minecraft и выполните несколько шагов:
- Положите файл InOrders-x.x.x.jar в папку plugins.
- Перезапустите сервер.
- При необходимости отредактируйте plugins/InOrders/config.yml.
- Примените изменения командой /orders reload.
Основные команды: /orders открывает список заказов, /orders my показывает ваши заказы, /orders create [hand] создаёт заказ (с hand — на предмет в руке), /orders search <текст> ищет по названию, /orders open <игрок> открывает меню другому игроку, например из NPC. Псевдонимы: /order и /inorders.
Права и лимиты
По умолчанию все базовые права доступны каждому: inorders.player, inorders.use, inorders.create, inorders.deliver, inorders.cancel, а также валютные inorders.currency.money и inorders.currency.playerpoints. Административные права (inorders.admin и его подвиды) закреплены за операторами.
Количество открытых заказов регулируется через LuckPerms. Право inorders.limit.<число> заменяет значение max-active из конфига, причём побеждает наибольшее — то есть лимит можно и понизить. Удобнее задавать мета-значение, которое следует за весами групп и контекстами вроде мира или сервера:
/lp group default permission set inorders.limit.3 true/lp group vip permission set inorders.limit.5 true/lp group admin permission set inorders.limit.unlimited true/lp group vip meta set inorders-limit 5
Проверка идёт по порядку: inorders.limit.unlimited, затем мета inorders-limit, затем наибольшее inorders.limit.<число>, и в конце — max-active.
Тем, кто разворачивает сборки через лаунчер foxygame.net, повезло чуть больше: InOrders - Item orders using in-game currency ставится в один клик из каталога дополнений, а лаунчер сам подберёт совместимую версию под ваше ядро и обновит файл, когда выйдет новая сборка.
Настройка под свой сервер
В config.yml есть всё необходимое: процент комиссии при создании заказа (fee-percent), налог с выплат продавцу (tax-percent), минимальная и максимальная цена за предмет, список заблокированных предметов и миров, где меню заказов не открывается. Уведомления и звуки тоже настраиваются — от клика до успешной продажи.
Для сетевых проектов предусмотрен параметр storage.shared-orders: при значении true заказы становятся общими для всех серверов одной базы. Включать его стоит только при общей экономике, иначе деньги начнут перемещаться между разными кошельками. Все изменения заказа выполняются одной транзакцией, а суммы хранятся в целых сотых, так что ошибок округления не будет.
Итог
InOrders - Item orders using in-game currency решает давнюю боль выживальческих серверов: спрос и предложение наконец встречаются без посредников и ожидания. Покупатель получает гарантию, что деньги уйдут только за нужный предмет, продавец — мгновенную оплату за то, что и так лежит в сундуке. Если вы искали замену вялотекущему аукциону, этот плагин стоит попробовать на своём Paper-сервере.