Плагин Магазин Другое zAuctionHouse [4.0.0.6]

  • Добавлена кнопка ZAUCTIONHOUSE_COMBINED_ITEMS — объединяет продаваемые, просроченные и купленные предметы в единый интерфейс с пагинацией
  • Для каждого типа можно отдельно включать/отключать отображение через include-selling, include-expired и include-purchased
  • Действия по клику автоматически адаптируются под тип хранения предмета (отмена продажи, получение просроченного предмета, получение купленного предмета)
  • Для каждого типа предметов используется собственная настройка lore из config.yml
  • Исправлен дюп предметов в multi-server (Redis) сетапах — удаление лота на одном сервере и получение просроченного предмета могло оставлять «призрачную» запись на другом сервере, позволяя получить предмет повторно после естественного истечения
  • Исправлен ItemRemovedListener (Redis addon)
  • Удалена нестабильная проверка состояния БД, вызывавшая отклонение сообщений удаления из-за race condition
  • Добавлена дополнительная очистка для всех типов хранилищ
  • Исправлен ItemStatusListener (Redis addon)
  • Синхронизация статусов теперь ищет предметы во всех типах хранилищ (LISTED, EXPIRED, PURCHASED), а не только в LISTED
  • Исправлен ExpireService
  • Добавлена защита от повторного истечения предметов, уже удалённых/полученных на другом сервере
  • Добавлена поддержка Redis Sentinel (Redis addon)
  • Поддерживаются high-availability Redis-сетапы с автоматическим поиском master-ноды и failover
  • Используйте mode: "sentinel" в config.yml и укажите sentinel-ноды
  • Полностью обратно совместимо — существующие standalone-конфиги продолжат работать без изменений
  • Исправлен NullPointerException, если не настроена экономика по умолчанию
  • Команда /ah sell и все связанные кнопки теперь показывают ошибку вместо краша
  • Добавлена проверка при запуске с заметными предупреждениями в консоли, если default economy отсутствует в economies.yml
  • Исправлены неверные названия типов экономики в комментариях economies.yml
  • COINS_ENGINE и PLAYER_POINTS не соответствовали enum-значениям CurrenciesAPI (COINSENGINE, PLAYERPOINTS)
  • Из-за этого данные типы экономики не загружались, если использовались названия из документации
  • Добавлено
  • Все permissions теперь автоматически регистрируются в Spigot при запуске и reload
  • Включены статические permissions (use, sell, admin и т.д.) и динамические permissions из конфигов (лимиты лотов, уровни истечения, bypass/reduction налогов, доступ к экономикам, inventory-команды, bypass кулдаунов)
  • Все permissions сгруппированы под wildcard zauctionhouse.*
  • Исправлено выпадение предметов на землю при получении просроченных, купленных или продаваемых предметов с полным инвентарём
  • Теперь предметы остаются в хранилище, если инвентарь игрока заполнен
  • Добавлена настройка player-inventory-must-have-free-space в секциях remove-expired-item и selling-item (включена по умолчанию)
  • Добавлены кнопки:
    • ZAUCTIONHOUSE_REMOVE_ALL_EXPIRED
    • ZAUCTIONHOUSE_REMOVE_ALL_SELLING
    • ZAUCTIONHOUSE_REMOVE_ALL_PURCHASED
  • Позволяют забрать все предметы сразу из соответствующих разделов
  • Предметы выдаются по одному и процесс останавливается при заполнении инвентаря (если включён player-inventory-must-have-free-space)
  • Добавлен API ItemContentProvider
  • Система для отображения содержимого контейнеров (шалкеры, кастомные контейнеры других плагинов)
  • Сторонние плагины могут регистрировать собственные providers через:
    AuctionPlugin.getItemContentManager().registerProvider()
  • Добавлен hook для AxShulkers
  • Теперь содержимое шалкеров из AxShulkers отображается в просмотрщике содержимого предметов
  • Так как AxShulkers хранит данные вне vanilla NBT, этот hook обязателен для просмотра содержимого
  • Исправлено: продавец не получал деньги в multi-server (Redis) сетапах, если покупатель находился на другом сервере
  • Плагин пытался начислить деньги локально на сервере покупателя, где аккаунт продавца мог отсутствовать
  • Теперь деньги переводятся в статус PENDING и получаются продавцом через /ah claim или автоматически при входе
  • Добавлен AuctionClusterBridge.isDistributed()
  • Позволяет bridge-реализациям указывать, что используется multi-server окружение, чтобы плагин мог адаптировать поведение (например, откладывать выдачу денег вместо локального начисления)
Автор: bobobo
  • Добавлена кнопка ZAUCTIONHOUSE_CLAIM — отображает ожидаемые средства по каждой экономике с динамическими placeholder’ами и позволяет игрокам забирать их прямо из GUI аукциона
  • Добавлен настраиваемый loading-item для кнопки получения, который отображается во время загрузки данных о средствах
  • Добавлен формат цены PRICE_WITHOUT_DECIMAL — отображает цену без десятичных знаков (например, 10000.50 → 10000)
  • Добавлен placeholder %price-price-without-decimal% — отображает цену без десятичных знаков в описании предмета
  • Добавлено: команду /ah admin forceopen теперь можно выполнять из консоли
  • Добавлена настройка часового пояса — позволяет изменить таймзону для всех placeholder’ов дат (%date%, %formatted-expire-date%, %expires_at%). Поддерживаются все ID Java TimeZone (например, Europe/Paris, America/New_York, UTC). По умолчанию auto (часовой пояс сервера)
  • Исправлено: автодополнение команд /ah admin open и /ah admin history больше не загружает всех офлайн-игроков, что предотвращает лаги на серверах с большим количеством игроков
  • Исправлен краш updateListedItems на Folia/Canvas — доступ к inventory holder выполнялся в асинхронном потоке вместо основного тика
  • Исправлена настройка аргумента имени экономики для команды продажи — если индекс аргумента экономики не был задан, значение по умолчанию игнорировалось, что приводило к null имени экономики
Автор: bobobo
  • Добавлена миграция из ZelAuction — перенос данных из плагина ZelAuction в zAuctionHouse V4 с помощью команды /ah admin migrate zelauction confirm
  • Добавлена система поиска — игроки могут искать предметы по имени, материалу, описанию или продавцу прямо в GUI аукциона или через команду /ah search <query>
  • Добавлена кнопка ZAUCTIONHOUSE_SEARCH — открывает чат для ввода поиска с поддержкой расширенных фильтров
  • Добавлена кнопка ZAUCTIONHOUSE_CLEAR_SEARCH — очищает активный фильтр поиска, видна только при активном поиске
  • Добавлена команда /ah search <query> — поиск предметов напрямую из чата без открытия GUI
  • Добавлены расширенные фильтры поиска с операторами:
    • ~ — содержит
    • = — точное совпадение
    • ~= — содержит, без учёта регистра
    • == — точное совпадение, без учёта регистра
  • Поддерживаемые поля для поиска: имя, материал, описание, продавец (например, seller = Notch, name ~ Diamond)
  • Добавлена команда /ah admin forceopen <player> <inventory> [page] — открыть любой инвентарь игрока на определённой странице. Поддерживаются все имена инвентарей (например, auction, admin-selling-items, history, admin-logs и т.д.) с автозаполнением. Страница по умолчанию — 1
  • Добавлена опция конфигурации reset-search-on-open — при включении (по умолчанию: true) фильтр поиска очищается каждый раз при открытии аукциона, аналогично поведению reset-category-on-open
Автор: bobobo
Добавлена кнопка ZAUCTIONHOUSE_SELL_LIMIT — визуально отображает оставшиеся слоты для продажи в виде списка слотов инвентаря, настраивается для каждого типа предметов (auction, bid, rent)
Добавлен плейсхолдер %zauctionhouse_max_items_<type>% — возвращает максимальное количество предметов, которые игрок может выставить для указанного типа (auction, bid, rent)

Оптимизирована обработка плейсхолдеров в описании предметов: теперь они заранее определяются при загрузке конфигурации и обрабатываются только при использовании, что значительно снижает нагрузку на CPU и память при отображении предметов

Исправлено зависание /ah history на "Loading..." при включённом параметре action.purchased-item.give-item: true
Исправлены значения конфигурации по умолчанию
Исправлен префикс таблиц по умолчанию на zauctionhousev4 (исправляет совместимость с zAuctionHouse V3)

Плейсхолдер %zauctionhouse_max_items_<type>%
Возвращает максимальное количество предметов, которые игрок может выставить в зависимости от его прав для указанного типа:
%zauctionhouse_max_items_auction%
%zauctionhouse_max_items_bid%
%zauctionhouse_max_items_rent%
Автор: bobobo
  • Добавлено: zauctionhouse_category permissible для zMenu — позволяет условно отображать кнопки в зависимости от выбранной игроком категории (по умолчанию main)
  • Добавлена кнопка ZAUCTIONHOUSE_CATEGORY_SWITCHER — объединяет переключение категорий (ЛКМ/ПКМ) с динамическим описанием (lore), показывающим состояние включено/выключено для каждой категории
  • Добавлен плейсхолдер %zauctionhouse_category_id% — возвращает ID текущей выбранной категории игрока
  • Добавлена кнопка ZAUCTIONHOUSE_HISTORY_INVENTORY — открывает инвентарь истории продаж напрямую из любого интерфейса
  • Добавлена опция force-amount-one в config.yml (раздел item-lore) — принудительно отображает количество предмета как 1 в аукционе, при этом реальное количество сохраняется
  • Изменено: API AuctionEconomy — методы (get, has, deposit, withdraw) теперь используют UUID вместо OfflinePlayer для лучшей совместимости
  • Обновлена зависимость CurrenciesAPI с 1.0.12 до 1.0.13
  • Исправлено: fallback имени категории — теперь используется настроенное имя категории "all" вместо захардкоженного "All"
  • Исправлено: краш при пустых слотах — кнопки списков (ListedItems, ExpiredItems, PurchasedItems, SellingItems) больше не вызывают ошибку, если emptySlot = -1 и список пуст
  • Исправлено: слот загрузки истории — HistoryItemsButton корректно обрабатывает loadingSlot = -1
  • Исправлено: LoadingSlotLoader — добавлена проверка некорректных значений слотов с понятным сообщением об ошибке
Автор: bobobo
  • Лайк 0
Реакции:1 пользователя
  • Добавлен тайский язык в список поддерживаемых
  • Исправлена поддержка Minecraft 1.20.4
  • Исправлена команда /zauctionhouse — теперь она больше не является основной командой по умолчанию (можно изменить в config.yml)
  • Исправлены ошибки системы сообщений, которые могли появляться без причины
  • Добавлена опция reset-category-on-open, позволяющая сбрасывать категории при повторном открытии инвентаря
  • Добавлена поддержка экономики EXCELLENTEECONOMY
Автор: bobobo
zAuctionHouse V4 — список изменений

Что нового​

zAuctionHouse V4 — это полностью переписанная версия плагина, созданная для современных серверов Minecraft (Paper 1.21+, Java 21).

Основные улучшения​

Производительность
  • Архитектура Async-first — все операции выполняются через CompletableFuture (без блокировок)
  • Параллельная сортировка — более быстрая загрузка списков предметов
  • Кэширование FastUtil — оптимизированные кэши для игроков и глобальных данных
  • Улучшения базы данных — использование Repository-паттерна с Sarah ORM
Поддержка мультисерверов
  • Нативная поддержка кластеров — встроенный интерфейс AuctionClusterBridge
  • Распределённые блокировки — предотвращают дублирующие покупки между серверами
  • Дополнение Redis — синхронизация в реальном времени
Интеграция с Discord
  • Богатые webhook-эмбеды — заголовки, описания, поля и изображения
  • Автоматическое определение цвета — доминирующий цвет из текстуры предмета
  • Уведомления о продаже и покупке — настраиваемые события webhook

Новые функции​

Система правил
  • Гибкие правила с логикой AND/OR
  • Поддержка условий: материал, название, лор, теги, model data
13 интеграций с плагинами
  • ItemsAdder
  • Oraxen
  • Nexo
  • MMOItems
  • ExecutableItems
  • Slimefun
  • и другие
Дополнительно
  • Просмотр содержимого контейнеров — предпросмотр шалкер-боксов и других контейнеров
  • Мультиязычность — английский, французский, испанский и итальянский с автоопределением
  • Отдельный API — модуль для разработчиков сторонних плагинов
  • Админ-мониторинг — логи транзакций, просмотр истории, отслеживание действий
  • Миграция из V3 — встроенный инструмент переноса данных

Экономика и налоги​

Поддерживаемые экономики
Vault, PlayerPoints, CoinsEngine, Item-based экономика, XP, Levels, zEssentials, EcoBits, RedisEconomy

Типы налогов
  • SELL — комиссия при выставлении предмета
  • PURCHASE — вычитается из прибыли продавца
  • BOTH — применяется и при выставлении, и при продаже
  • CAPITALISM — система НДС (покупатель платит дополнительную сумму)
Новое
  • Налоги для конкретных предметов
  • Снижение налогов по уровням (VIP / Premium)
  • Права обхода налогов

Команды​

  • /ah sell <price> [amount] [economy] — выставить предмет (новое: параметр экономики)
  • /ah claim — забрать ожидающие деньги
  • /ah selling — список ваших продаж
  • /ah expired — просроченные лоты
  • /ah purchased — купленные предметы
  • /ah history — история операций
Админ-команды
  • /ah admin migrate <source> confirm — миграция из V3
  • /ah admin history — просмотр всех транзакций

Требования​

  • Paper 1.20+ (совместимость с Folia через FoliaLib)
  • Java 21
  • zMenu (обязательно)
  • PlaceholderAPI (обязательно)

Миграция из V3​

Команда:
/ah admin migrate v3 confirm
Поддерживается перенос данных из SQL и JSON.
Переносятся все предметы, транзакции и данные игроков.
Автор: bobobo
  • Исправлена работа кнопок Claim и Seller Show.
Автор: bobobo
  • Лайк 0
Реакции:1 пользователя
  • Исправлена проблема, при которой продажа не срабатывала, если игроки быстро переключали предметы.
Автор: bobobo
I set up the category system, I need your opinions! this system is very important. The system works a little differently than the V3, the configuration is much more flexible, with a rules system you can check a lot of elements on your items, including ItemsAdder items, Nexo and oraxen, and if you need compatibility with another plugin you have to tell me! You can create multiple category files, so if you need a lot of categories it will be easily configurable. I also need information on how to view and navigate between categories, I want to know everything you need to do https://docs.groupez.dev/zauctionhouse/configuration/rules#available-rules

categories.yml:
settings:
  # Enable or disable the category system
  # If disabled, all items will be shown together without filtering
  enabled: true

  # Name of the "All" category
  all-category-name: "#0c1719Auction House"

# Blocks Category
blocks:
  display-name: "#0c1719Blocks"
  rules:
    # Match all block materials using Bukkit tag
    - type: tag
      tags:
        - BLOCKS # Custom tags, all minecraft blocks

# Weapons Category
weapons:
  display-name: "#0c1719Weapons"
  rules:
    # Match swords
    - type: material-suffix
      suffixes:
        - "_SWORD"
    # Match ranged weapons
    - type: material
      materials:
        - BOW
        - CROSSBOW
        - TRIDENT

# Armor Category
armor:
  display-name: "#0c1719Armor"
  rules:
    - type: material-suffix
      suffixes:
        - "_HELMET"
        - "_CHESTPLATE"
        - "_LEGGINGS"
        - "_BOOTS"
    - type: material
      materials:
        - ELYTRA
        - SHIELD
        - TURTLE_HELMET

# Tools Category
tools:
  display-name: "#0c1719Tools"
  rules:
    - type: material-suffix
      suffixes:
        - "_PICKAXE"
        - "_AXE"
        - "_SHOVEL"
        - "_HOE"
    - type: material
      materials:
        - SHEARS
        - FLINT_AND_STEEL
        - FISHING_ROD

# Consumables Category
consumables:
  display-name: "#0c1719Consumables"
  rules:
    - type: material
      materials:
        - POTION
        - SPLASH_POTION
        - LINGERING_POTION
        - GOLDEN_APPLE
        - ENCHANTED_GOLDEN_APPLE
        - COOKED_BEEF
        - COOKED_PORKCHOP
        - BREAD
        - CAKE
        - COOKIE
        - PUMPKIN_PIE

# Resources Category
resources:
  display-name: "#0c1719Resources"
  rules:
    - type: material
      materials:
        - COAL
        - IRON_INGOT
        - GOLD_INGOT
        - DIAMOND
        - EMERALD
        - NETHERITE_INGOT
        - LAPIS_LAZULI
        - REDSTONE
        - COPPER_INGOT
        - AMETHYST_SHARD
        - RAW_IRON
        - RAW_GOLD
        - RAW_COPPER

# Enchanted Books Category
enchanted-books:
  display-name: "#0c1719Enchanted Books"
  rules:
    - type: material
      materials:
        - ENCHANTED_BOOK

# Miscellaneous Category (Fallback)
# Items that don't match any other category will go here
misc:
  display-name: "#0c1719Miscellaneous"
  # No rules = fallback category for unmatched items
Автор: bobobo
ВерхНиз