Скачать InTrade - Система обмена между игроками | LastLeak • Полезные ресурсы для твоих проектов!
  • Наш Telegram — будь в курсе всего первым!
    Мы публикуем новости сайта, анонсы, обновления, сливы и полезные материалы для нашего сообщества.
    Подписывайся, чтобы ничего не пропускать и получать важные уведомления одним из первых!
    Также в Telegram появляются быстрые новости, полезные ссылки и всё самое важное с LastLeak.
    Будь всегда в курсе новинок!
  • Наше дружное комьюнити!

    Мы всегда стремимся помочь своим пользователям с любой проблемой на нашем сервере Discord или в ветке на форуме!
    Не стесняйтесь общаться и обмениваться знаниями с другими пользователями на нашей платформе – вам всегда помогут!

    Также в нашем Discord появляется сообщение о публикации нового ресурса на нашем сайте!
    Будьте всегда в курсе новинок!


    Discord Icon Наш сервер Discord
InTrade - Система обмена между игроками

InTrade - Система обмена между игроками
  • Осталось загрузок за 24 часа: 1

  • Обмен предметами, деньгами, опытом и поинтами между игроками на сервере

    Вы не можете скачать это (Причины)

    Версия Java
    1. 21
    2. 22
    3. 23
    4. 24
    5. 25
    6. 26
    Ядро
    1. Paper
    Поддерживаемые версии
    1. 1.21.x
    e12e4dab-f9d6-4415-aeb3-fe84a6b69653.png


    Удобный и безопасный обмен между игроками: предметы, деньги, уровни опыта и поинты в одном окне с двойным подтверждением.​


    О плагине
    InTrade - серверный плагин для прямого обмена между игроками. Слева ваше предложение, справа - предложение партнёра. У каждого по 16 слотов для предметов и кнопки доступных валют. Никаких модов на клиенте не нужно, всё работает через обычное меню.

    Главная задача плагина - сделать обмен честным. Подменить предмет в последний момент не получится: любое изменение сбрасывает готовность обоих игроков и сразу подсвечивается у партнёра.



    Возможности
    • Одно окно на двоих - по 16 слотов на каждую сторону. ЛКМ добавляет стак, ПКМ — один предмет.
    • Несколько валют - деньги (Vault), целые уровни опыта, PlayerPoints. Сумму можно вводить как 1500, 2.5k или 1m.
    • Защита от подмены - после любого изменения кнопка «Готов» блокируется на 3 секунды, изменённые предметы подсвечиваются 6 секунд, на месте убранного остаётся красная отметка. Финальный отсчёт после подтверждения обоих — 3 секунды, и любое изменение его останавливает.
    • Просмотр шалкеров и мешков - содержимое контейнеров партнёра можно посмотреть до обмена.
    • Проверка места в инвентаре - обмен не завершится, если предметам некуда поместиться.
    • Возврат предметов - всё, что не поместилось при возврате, и предметы участника, погибшего во время обмена, сохраняются для /trade claim.
    • История обменов - меню с предметами и валютами каждого завершённого обмена.
    • Статистика и топ - счётчик обменов и таблица лидеров, которые не сбрасываются при очистке истории.
    • SQLite или MySQL/MariaDB - работает из коробки, а при необходимости несколько серверов могут использовать общую базу.
    • Язык по клиенту - в режиме auto каждый игрок видит меню и сообщения на языке своей игры. В комплекте русский и английский, тексты в формате MiniMessage.
    • Поддержка Bedrock - игроки через Geyser/Floodgate вводят сумму в нативной форме.
    • Доступ по рангам - обмен и отдельные валюты можно открывать с нужного ранга через LuckPerms.
    • Быстрый запрос - Shift + ПКМ по игроку.
    • PlaceholderAPI и API для разработчиков.

    Как проходит обмен
    1. Отправьте /trade <игрок> или нажмите ПКМ по игроку, удерживая Shift. Он принимает запрос командой /trade accept.
    2. Добавьте предметы из инвентаря. Чтобы забрать предмет обратно, нажмите на него в окне обмена.
    3. Выберите валюту и введите сумму.
    4. Проверьте предложение партнёра и нажмите «Готов». Когда подтвердят оба, начнётся короткий отсчёт, после которого обмен завершится.


    Требования
    • Paper 1.21.7 или новее.
    • Java той версии, которую требует ваш Paper (минимум 21).
    • Доступ к интернету при первом запуске: Paper сам скачает нужные библиотеки.

    Необязательные интеграции:
    ПлагинЧто добавляет
    Vault + плагин экономикиДеньги в окне обмена
    PlayerPointsОбмен поинтами
    FloodgateНативная форма ввода суммы для Bedrock-игроков
    PlaceholderAPIПлейсхолдеры статистики и состояния игрока
    Предметы и уровни опыта работают без каких-либо зависимостей.


    Установка
    1. Положите InTrade-x.x.x.jar в папку plugins.
    2. Перезапустите сервер.
    3. При необходимости настройте plugins/InTrade/config.yml и выполните /trade reload.


    Команды
    КомандаОписание
    /trade <игрок>Отправить запрос или принять входящий от этого игрока
    /trade accept [игрок]Принять запрос
    /trade deny [игрок]Отклонить запрос
    /trade toggleВключить или выключить входящие запросы
    /trade claimЗабрать сохранённые для вас предметы
    /trade history [игрок]Своя история; для администрации — история другого игрока
    /trade reloadПерезагрузить конфигурацию и переводы
    Алиас: /intrade. По умолчанию запрос действует 60 секунд, задержка между запросами - 5 секунд.


    ПравоПо умолчаниюДоступ
    intrade.playerвсеВсе права игрока
    intrade.useвсеЗапросы и /trade claim
    intrade.sneakвсеЗапрос через Shift + ПКМ
    intrade.toggleвсеПереключение входящих запросов
    intrade.historyвсеСвоя история
    intrade.currency.moneyвсеДеньги Vault
    intrade.currency.experienceвсеУровни опыта
    intrade.currency.playerpointsвсеПоинты PlayerPoints
    intrade.adminopВсе права администрации
    intrade.history.othersopЧужая история
    intrade.reloadopПерезагрузка настроек
    intrade.bypass.distanceopОбход ограничений расстояния и миров
    intrade.bypass.cooldownopОбход задержки запросов
    intrade.bypass.blockedopОбмен запрещёнными предметами
    Общие узлы: intrade.*, intrade.currency.*, intrade.bypass.*.

    Обмен только с определённого ранга. Укажите в конфиге:
    YAML:
    permissions:
      open-to-everyone: false
    Выполните /trade reload и выдайте доступ группе:
    Код:
    /lp group rank3 permission set intrade.player true
    Старшие ранги получат доступ, если у вас настроено наследование групп. Пример: обмен доступен с третьего ранга, а деньги - только с пятого:
    Код:
    /lp group rank3 permission set intrade.currency.money false
    /lp group rank5 permission set intrade.currency.money true

    YAML:
    # InTrade configuration.
    # Messages and menu texts are in lang/<language>.yml.
    
    # "auto" shows every player the messages in their game language. English and Russian are included,
    # other languages can be added as new files in lang/. Any other value (for example "ru") uses one
    # language for everyone.
    language: auto
    # Used for the console and for game languages without a file in lang/.
    default-language: en
    
    permissions:
      # true: all players can trade by default.
      # false: players need intrade.player (or individual permissions) from a permissions plugin such as LuckPerms.
      # Staff permissions are always limited to operators by default.
      open-to-everyone: true
    
    requests:
      # Time before an unanswered request expires.
      expire-seconds: 60
      # Minimum time between two requests from the same player.
      cooldown-seconds: 5
      # Allow sending a request by sneaking and right-clicking a player.
      sneak-click: true
      # Maximum distance between players. 0 disables the check.
      max-distance: 0
      # Allow trades only between players in the same world.
      same-world: false
    
    safety:
      # Time after any change during which the "Ready" button is locked.
      change-lock-seconds: 3
      # Time a changed or removed item stays highlighted for the partner.
      highlight-seconds: 6
      # Countdown after both players are ready. Any change stops it.
      confirm-seconds: 3
    
    currencies:
      # Requires Vault and an economy plugin.
      money:
        enabled: true
      # Whole experience levels.
      experience:
        enabled: true
      # Requires PlayerPoints.
      playerpoints:
        enabled: true
    
    # Materials that cannot be traded.
    blocked-items: []
    #  - BEDROCK
    #  - BARRIER
    
    # Worlds where trades cannot be started.
    disabled-worlds: []
    
    history:
      enabled: true
      # Trades older than this are deleted on startup. 0 keeps all trades.
      # Trade counts and the top list are not affected.
      keep-days: 90
    
    # Changes in this section require a server restart.
    storage:
      # sqlite: local file plugins/InTrade/trades.db, no setup required.
      # mysql: MySQL or MariaDB server, configured below.
      type: sqlite
      # Unique name of this server. Only needed when several servers use the same MySQL database.
      # Items in open trade windows and /trade claim mail are kept per server,
      # trade history and trade counts are shared.
      server-id: main
      mysql:
        host: localhost
        port: 3306
        database: minecraft
        user: root
        password: ""
        # Number of connections. One is used for writing, the rest for reading.
        pool-size: 4
        # Additional JDBC driver properties.
        properties:
          useSSL: false
          allowPublicKeyRetrieval: true

    ПлейсхолдерЗначение
    %intrade_trades%Количество завершённых обменов игрока
    %intrade_trading%Находится ли игрок сейчас в обмене
    %intrade_accepting%Принимает ли игрок входящие запросы
    %intrade_top_<1-10>_name%Ник игрока на указанном месте топа
    %intrade_top_<1-10>_trades%Количество обменов у игрока на этом месте

    По умолчанию история хранится 90 дней, очистка выполняется при запуске сервера. history.keep-days: 0 отключает удаление. Счётчики обменов и топ хранятся отдельно и при очистке не сбрасываются.

    SQLite работает без настройки, база лежит в plugins/InTrade/trades.db. Для MySQL или MariaDB укажите storage.type: mysql, заполните раздел storage.mysql и перезапустите сервер. Таблицы с префиксом intrade_ создаются автоматически.

    Сеть серверов. Несколько серверов могут использовать одну базу с общей историей и статистикой. Каждому серверу нужен уникальный storage.server-id: незавершённые предложения и предметы для /trade claim привязаны к конкретному серверу.

    Модуль api даёт доступ к статистике и событиям обмена. Подключите его как compileOnly и добавьте InTrade в depend или softdepend своего плагина.

    Java:
    import me.spolzer.intrade.api.InTrade;
    
    InTrade trade = InTrade.get();
    trade.tradeCount(player.getUniqueId()).thenAccept(count ->
        getLogger().info("Completed trades: " + count));

    • TradeRequestEvent и TradeStartEvent можно отменить.
    • TradeCompleteEvent содержит оба предложения.
    • TradeCancelEvent сообщает причину отмены.
    • Статистика возвращается через CompletableFuture. Для работы с Bukkit-объектами переключайтесь на основной поток сервера.

    Нужен ли мод на клиенте?
    Нет, плагин полностью серверный.

    Можно ли запретить обмен определёнными предметами?
    Да, через список blocked-items в конфиге. Администрация с правом intrade.bypass.blocked может обменивать их всё равно.

    Можно ли ограничить обмен по расстоянию или мирам?
    Да: max-distance, same-world и disabled-worlds.

    Что будет, если игрок выйдет или умрёт во время обмена?
    Обмен отменяется, а предметы возвращаются владельцам. Если что-то не помещается в инвентарь, это сохраняется для /trade claim.

    Как добавить свой язык?
    Создайте файл lang/<код>.yml по образцу en.yml или ru.yml.

    Есть ли абсолютная защита при падении сервера?
    Незавершённые предложения записываются в базу и восстанавливаются после перезапуска. Однако сохранение игрока, запись в базу и операции сторонней экономики не объединены в одну транзакцию, поэтому при аварийном завершении сервера стопроцентной гарантии дать нельзя.


    Ссылки
    GitHub • CurseForge • Поддержка

    Нашли баг или есть идея? Пишите в обсуждении ресурса или открывайте issue на GitHub.​
    • Screenshot_2.png
      Screenshot_2.png
      746 KB · Просмотры: 266
    • Screenshot_4.png
      Screenshot_4.png
      95,9 KB · Просмотры: 266
    • Screenshot_5.png
      Screenshot_5.png
      103,2 KB · Просмотры: 265

    Автор
    Spolzer
    Скачивания
    2
    Просмотры
    34
    Опубликовано
    Обновление
    Оценка
    0,00 звёзд 0 оценок
    0,0 / 5
    Сверху