• The price for the GOLD and Unlimited groups has been reduced by 22%. Don't miss the chance to purchase access to hundreds of great resources.
    Coupon: BM_TOPBuy the group

Plugin Shop EcoShop [v1.15.2]

EcoShop
Short Description:
Самый продвинутый из когда-либо созданных плагинов для серверных магазинов
122
1,579

Latest updates

v1.15.2

- Дополнительные улучшения производительности

1.15.1

- Исправлены item_points_above, item_points_below, item_points_equal (спасибо OfTeN!) -...

v1.15.0

- Значительно улучшена производительность ItemHolderFinder, который был основным источником...
Read more...
Supports version
  1. 1.17.+
  2. 1.18+
  3. 1.19.+
  4. 1.20.+
Official page
https://www.spigotmc.org/resources/106529/
Documentation
https://plugins.auxilor.io/ecoshop/
Source code
https://github.com/Auxilor/EcoShop
1702120358869

Для работы плагина необходим ECO

Описание плагина EcoShop:​

EcoShop - это плагин серверного магазина со всеми возможностями, которые только можно пожелать. Поддержка нескольких валют, поддержка пользовательских предметов, поддержка экономики предметов, одноразовая покупка предметов, ограничения на покупку предметов, страничные магазины, несколько магазинов, несколько вариантов покупки - список можно продолжать. Если вы когда-либо хотели получить что-то от плагина для магазина, то EcoShop имеет это.

Особенности плагина EcoShop:​

EcoShop создает мощные серверные магазины с интуитивным графическим интерфейсом. Создавайте столько магазинов, сколько вам нужно, и как только они открыты, вы просто выбираете категорию, выбираете предмет и количество, никогда не прибегая к громоздким командам. Покупайте и продавайте предметы, несколько стеков, а затем настраивайте каждый аспект меню по своему вкусу.

EcoShop - единственный плагин серверного магазина с первоклассной поддержкой нескольких валют. Вы можете использовать стандартную экономику Vault, вторичные валюты от EcoBits, экономики на основе предметов с полной поддержкой пользовательских предметов, уровни опыта и все, что вы можете себе представить. Нет ни одного типа экономики, который не поддерживается, позволяя вам иметь магазины любого типа.

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

EcoShop позволяет полностью переосмыслить способы монетизации вашего сервера. Все больше серверов переходят к монетизации на основе вторичных валют и магазинов для донатеров в игре, что намного более прибыльно. EcoShop - идеальный способ сделать это, и его уже используют некоторые из самых крупных серверов для увеличения своего дохода, сохраняя при этом интерес игроков.

EcoShop обладает лучшей поддержкой пользовательских предметов среди всех плагинов магазинов, когда-либо созданных. Поддерживаются все плагины в вашем арсенале, включая EcoItems, Oraxen, ItemsAdder, Denizen, EcoArmor, MMOItems, Executable Items и многие другие. И, что еще важнее, вы можете указывать зачарования, имена и любой другой метатег. И, конечно же, вы можете продавать команды, разрешения и все, что вам нужно.

Команды и права плагина EcoShop:​

/ecoshop reload - Перезагрузить плагин
Разрешение: ecoshop.command.reload

/ecoshop resetbuys - Сбрасывает количество раз, которое игрок купил предмет
Разрешение: ecoshop.command.resetbuys

Общее использование: /ecoshop resetbuys <игрок> <ид>

/sell - Открывает графический интерфейс продажи
Разрешение: ecoshop.command.sell

/sell hand/all/handall - Продает предметы напрямую
Разрешения: ecoshop.command.sell.hand, ecoshop.command.sell.all, ecoshop.command.sell.handall

Другие команды и разрешения
У каждого магазина есть своя команда, которую вы указываете в конфиге, и у них есть разрешение ecoshop.open.<id>, например, /shop будет иметь разрешение ecoshop.open.shop.

Если вы хотите, чтобы покупка/продажа предмета требовала разрешения, то узлами разрешения будут ecoshop.buy.<id> и ecoshop.sell.<id>. По умолчанию это разрешение есть у всех игроков.

Как сделать магазин в EcoShop:​

Конфиг по умолчанию в EcoShop​

Конфиги по умолчанию можно найти здесь: GitHub

Как добавлять магазины EcoShop​

EcoShop позволяет вам создавать столько магазинов, сколько вы хотите, и вы создаете каждый из них, создавая новый .yml файл в директории /shops/. Просто добавляйте и удаляйте конфигурации, как вы хотите добавлять и удалять магазины.

Пример конфигурации магазина в EcoShop​

EcoShop поставляется с примером конфигурации магазина, который все объясняет
_example.yml:
# ID магазина - это имя файла .yml,
# например, donator.yml имеет ID donator
# Магазины можно размещать в любом месте в этой папке,
# включая подпапки, если вы хотите организовать конфигурации магазинов
# _example.yml не загружается.

title: Демо-Магазин # Заголовок GUI.
command: demoshop # Команда для открытия магазина.

forwards-arrow: # Стрелка для переключения между страницами. Если на последней странице, она не будет отображаться.
  item: arrow name:"&fСледующая страница"
  row: 6
  column: 6

backwards-arrow: # Стрелка для переключения между страницами. Если на первой странице, она не будет отображаться.
  item: arrow name:"&fПредыдущая страница"
  row: 6
  column: 4

buy-broadcasts: # Опции для оповещений о покупках
  enabled: true # Если покупки в этом магазине должны транслироваться на сервер, полезно для /buy меню.
  message: "&b&lМагазин Кристаллов&r &8»&r %player%&r&f купил &r%item%&r&fиз магазина &bМагазин Кристаллов ❖&f!" # Используйте %player%, %item%, и %amount%
  sound: # Звук оповещения, удалите этот раздел, если вы не хотите звука.
    sound: ui_toast_challenge_complete
    pitch: 1.5
    volume: 2

click-sound: # Звук, воспроизводимый при нажатии на значок в этом магазине, удалите этот раздел, если вы не хотите звука.
  sound: block_stone_button_click_on # Звук https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Sound.html
  pitch: 1 # Высота тона (0.5 - 2)
  volume: 1

buy-sound: # Звук, воспроизводимый при покупке чего-то в этом магазине, удалите этот раздел, если вы не хотите звука.
  sound: entity_player_levelup
  pitch: 2
  volume: 1

sell-sound: # Звук, воспроизводимый при продаже чего-то в этом магазине, удалите этот раздел, если вы не хотите звука.
  sound: block_amethyst_block_place
  pitch: 1.5
  volume: 1

# Магазины могут работать двумя способами.

# Вы можете либо сделать магазин, содержащий список категорий, либо сделать магазин одной
# категорией, на которую вы мгновенно переходите (для магазинов с одной страницей, например, магазин яйца спауна босса)

# Если вы хотите магазин с одной страницей, используйте direct-category для связи его прямо с категорией
# direct-category: example_category

# Если вы хотите обычный магазин, содержащий несколько категорий, используйте эти опции здесь
rows: 3
pages: # Все страницы в GUI предпросмотра. Вы можете добавить столько страниц, сколько хотите.
  - page: 1
    mask: # Заполнительные предметы для украшения
      items: # Добавьте столько предметов, сколько хотите
        - gray_stained_glass_pane # Предмет 1
        - black_stained_glass_pane # Предмет 2
      pattern:
        - "222222222"
        - "211111112"
        - "211000112"
        - "211000112"
        - "211111112"
        - "222222222"
    categories: # Где разместить категории в GUI
      - id: example # ID категории
        row: 3 # Ряд
        column: 3 # Колонка
      - id: example_2
        row: 4
        column: 6

    # Пользовательские слоты GUI; см. здесь, как это сделать: https://plugins.auxilor.io/all-plugins/custom-gui-slots
    custom-slots: [ ]

Как создать категорию EcoShop:​

Что такое категория в EcoShop?​

Категории - это способ организации магазинов. Предметы продаются/покупаются в категориях, это собственно и есть "магазин". В примере конфига вы видели, как магазины могут быть либо порталом к куче категорий, либо, наоборот, просто прямой ссылкой на категорию.

Конфиг по умолчанию в EcoShop​

Конфиги по умолчанию можно найти здесь: GitHub

Как добавлять категории в EcoShop​

Это работает так же, как добавление или удаление магазинов. Просто создайте или удалите .yml-файлы в директории /categories/, а затем ссылайтесь на них в магазине, в котором вы хотите их разместить.

Одна категория может быть в стольких магазинах, сколько вы захотите! EcoShop умный, он знает, в каком магазине вы открыли категорию, поэтому любые звуки / трансляции из магазина, из которого вы пришли, будут работать, даже если 2 магазина имеют одну и ту же категорию.

Пример настройки категории в EcoShop​

EcoShop поставляется с примером конфигурации категории, который все объясняет
_example.yml:
# ID категории - это имя файла .yml,
# например, trails.yml имеет ID trails
# Категории можно размещать в любом месте в этой папке,
# включая подпапки, если вы хотите организовать конфигурации категорий
# _example.yml не загружается.

item: diamond_sword name:"&fПример Категории" # Предмет, отображаемый в магазине.
lore: [ ] # Лор предмета, отображаемого в магазине.
# permission: ecoshop.category.permission1 # (Необязательно) Разрешение, необходимое для доступа/использования категории.

# Опции для GUI категории.
gui:
  rows: 6 # Количество строк (1-6).
  title: "Демо Категория" # Заголовок GUI.

  # Опции навигации, скрыты, если на первой/последней странице.
  forwards-arrow:
    item: arrow name:"&fСледующая страница"
    row: 6
    column: 6
  backwards-arrow:
    item: arrow name:"&fПредыдущая страница"
    row: 6
    column: 4

  # Добавьте столько страниц, сколько хотите, добавив их в этот список
  pages:
    - page: 1
      mask:
        items: # Материал фона
          - gray_stained_glass_pane
          - black_stained_glass_pane
        pattern: # 0 для пустоты, 1 для первого элемента, 2 для второго элемента и так далее
          - "222222222"
          - "211111112"
          - "211111112"
          - "211111112"
          - "211111112"
          - "222222222"

      # Пользовательские слоты GUI; см. здесь, как это сделать: https://plugins.auxilor.io/all-plugins/custom-gui-slots
      custom-slots: [ ]

    - page: 2
      mask:
        items:
          - gray_stained_glass_pane
          - black_stained_glass_pane
        pattern:
          - "222222222"
          - "211111112"
          - "211111112"
          - "211111112"
          - "211111112"
          - "222222222"


items:
  - id: enchanted_diamond # ID предмета, не отображается игрокам.

    # Предмет для покупки/продажи. Должен иметь количество один, поэтому 'stone 16' не будет разрешено.
    # https://plugins.auxilor.io/all-plugins/the-item-lookup-system
    item: ecoitems:enchanted_diamond

    # (Необязательно) Пользовательское отображаемое имя, по умолчанию наследуется от предмета GUI.
    name: "&b&k!!&r <gradient:#2193b0>Зачарованный Алмаз</gradient:#6dd5ed>&r &b&k!!"

    # Опции для покупки предмета, см. здесь:
    # https://plugins.auxilor.io/all-plugins/prices
    buy:
      value: 500 - (%player_rank% * 25)
      type: coins
      display: "$%value%"

      amount: 8 # (Необязательно) Количество быстрой покупки / покупки по умолчанию. По умолчанию 1, если не указано.
      max-at-once: 16 # (Необязательно) Максимальное количество, которое можно купить одновременно. По умолчанию бесконечность, если не указано.

      buy-message: # (Необязательно) Введите сообщения для отправки игроку при покупке этого конкретного предмета. Все равно будет отправлено 'bought-item/bought-multiple' из lang.yml
        - "&6Спасибо за покупку этого конкретного предмета"

    # Опции для продажи предмета, см. здесь:
    # https://plugins.auxilor.io/all-plugins/prices
    sell:
      value: 100 + (%player_rank% * 25)
      type: coins
      display: "$%value%"

      require: "%player_rank% > 1" # (Необязательно) Это выражение должно быть истинным, чтобы можно было продать этот предмет.

      # Условия, которые должны быть выполнены для продажи этого предмета.
      # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition
      conditions: [ ]

      sell-command: # (Необязательно) Введите команды, которые должны выполняться при продаже игроком предметов. Вы можете использовать заполнители %player% и %amount%
        - "give %player% stone %amount%"
      sell-message: # (Необязательно) Введите сообщения для отправки игроку при продаже этого конкретного предмета. Все равно будет отправлено 'sold-item/sold-multiple' из lang.yml
        - "&6Спасибо за продажу этого конкретного предмета"
    gui:
      column: 4 # Как далеко слева направо (1-9).
      row: 3 # Как далеко вверх или вниз (1-6).
      page: 1 # Страница.

  - id: iron_rank

    commands: # Команды для выполнения. Вы можете использовать заполнители %player% и %amount%.
      - lp user %player% parent set iron

    buy:
      value: "%ecomc_iron_price%"
      type: crystals
      display: "&b%value% Кристаллы ❖"

      require: "%ecomc_iron_price% >= 0" # (Необязательно) Это выражение должно быть истинным, чтобы можно было купить предмет.

      limit: 1 # (Необязательно) Максимальное количество раз, которое каждый игрок может купить этот предмет, по умолчанию бесконечность.

    gui:
      display: # Этот предмет отображается в GUI. Если вы продаете предмет, это по умолчанию предмет сам по себе.
        item: diamond_chestplate
        lore:
          - "&fКупите &7&lЖЕЛЕЗО&r&f ранг, чтобы получить"
          - "&fследующие преимущества:"
          - " &8»&f &eПримерный Перк"
      column: 5 # Колонка.
      row: 3 # Ряд.
      page: 2 # Страница.

  - id: do_something_cool

    # Эффекты при покупке игроком предмета.
    # См. здесь: https://plugins.auxilor.io/effects/configuring-an-effect
    effects: []

    buy:
      value: 65
      type: crystals
      display: "&b%value% Кристаллы ❖"

      # Условия, которые должны быть выполнены для покупки этого предмета.
      # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition
      conditions: [ ]

    gui:
      display:
        item: nether_star
        lore:
          - "&fКупите меня, чтобы сделать что-то классное!"
      column: 6 # Колонка.
      row: 3 # Ряд.
      page: 2 # Страница.

  - id: valkyrie_egg

    item: ecobosses:valkyrie_spawn_egg

    buy:
      value: 76850
      type: coins
      display: "&a$%value%"

      max-at-once: 1 # Если вы хотите пропустить выбор количества в GUI, установите max-at-once на 1, чтобы щелчок мгновенно купил.

    # Вместо того чтобы предмет был доступен для покупки и продажи, вы можете иметь
    # два варианта покупки (Покупка - это щелчок левой кнопкой мыши, Альт-Покупка - щелчок правой кнопкой мыши).
    # limit / max-at-once и т. д. наследуются от вариантов покупки.
    alt-buy:
      value: 65
      type: crystals
      display: "&b%value% Кристаллы ❖"

      # Условия, которые должны быть выполнены для покупки этого предмета.
      # См. здесь: https://plugins.auxilor.io/effects/configuring-a-condition
      conditions: [ ]

    gui:
      display:
        lore: # Вы можете наследовать предмет и просто добавить свой собственный дополнительный лор для отображения дополнительной информации.
          - ""
          - "&fПримерный Лор"
          - ""
        bottom-lore: # Вы также можете добавить лор, который будет размещен под другим лором (например, цена, информация о быстрой покупке/продаже и т. д.)
          - ""
          - "&e&oЛевый клик, чтобы купить за деньги,"
          - "&e&oПравый клик, чтобы купить за &bКристаллы ❖&e&o!"
      column: 7 # Как далеко слева направо (1-9).
      row: 3 # Как далеко вверх или вниз (1-6).
      page: 1 # Страница.

      show-quick-buy-sell: false # (Необязательно) отключить текст быстрой покупки / продажи.

Как сделать предмет в EcoShop:​

Что такое предметы в EcoShop?​

Предметы - это все, что можно купить или продать в магазине. Это могут быть реальные предметы или команды, одноразовая покупка, ограниченная покупка, только покупка, только продажа, и то, и другое, их можно купить за 2 разных вида валюты - в общем, вариантов масса.

Как сделать один?​

Простой предмет купли-продажи
Начнем с самого простого предмета - если вы создаете стандартный магазин купли-продажи, то большинство ваших предметов будут выглядеть именно так:
YAML:
id: cooked_mutton
item: cooked_mutton

buy:
  type: coins
  value: 20
  display: $%value%
  amount: 32

sell:
  type: coins
  value: 10
  display: $%value%

gui:
  column: 4
  row: 1
  page: 1

Давайте разберем каждый раздел:​

id: Это внутренний идентификатор предмета. Игроки его не видят, но важно использовать уникальный ID для каждого предмета во всех ваших магазинах.

item (предмет): Это собственно предмет, который мы продаем. Он поддерживает пользовательские предметы, зачарования, пользовательские названия, суммы, рефоржи и так далее - подробнее читайте здесь.

buy (купить): Если вы хотите, чтобы ваш предмет можно было купить, здесь вы указываете цену покупки. Подробнее о ценах читайте здесь, их важно понимать при создании предметов.

buy.amount: Это необязательная функция, в которой вы указываете количество предметов по умолчанию для быстрой покупки, а также количество предметов по умолчанию при открытии меню выбора количества покупки. Вы по-прежнему указываете значение только одного предмета - это просто для того, чтобы задать количество покупок по умолчанию.

sell (продать): Работает так же, как и покупка, только теперь это цена продажи.

gui: Это настройки того, как предмет будет отображаться в категории. Строка - сверху вниз, столбец - слева направо, а страницы не требуют пояснений.

Командные предметы в EcoShop​

Иногда вы хотите выполнить команду, когда игрок покупает предмет, вместо того чтобы дать ему реальный предмет (или одновременно с ним). Сейчас на серверах очень распространено использование нескольких валют и перемещение таких вещей, как ранги, во внутриигровые магазины, так что давайте посмотрим, как это можно сделать с помощью EcoShop.

Конечно, вы не можете продать команду, так что они предназначены только для покупки.
YAML:
id: iron_rank

command: # Я изменил commands: на command: потому что это не работает с "s"
  - lp user %player% parent set iron

buy:
  value: "%ecomc_iron_price%"
  type: crystals
  display: "&b%value% Кристаллы ❖"

  require: "%actions_iron_buy_is_met%"

  limit: 1

alt-buy:
  value: "%ecomc_iron_crystal_price%"
  type: crystals
  display: "&b%value% Кристаллы ❖"

  conditions: [ ]

gui:
  display:
    item: diamond_chestplate
    lore:
      - "&fКупите &7&lЖЕЛЕЗО&r&f ранг, чтобы получить"
      - "&fследующие преимущества:"
      - " &8»&f &eПримерный Перк"
    bottom-lore:
      - "&e&oЛевый клик, чтобы купить за деньги,"
      - "&e&oПравый клик, чтобы купить за &bКристаллы ❖&e&o!"
  column: 5 # Колонка.
  row: 3 # Ряд.
  page: 2 # Страница.

  show-quick-buy-sell: false

commands: Это команды, которые будут выполнены, когда игрок покупает предмет. Вы можете использовать заполнители %player% и %amount%.

buy.value: Вы можете использовать заполнители в значениях! Разрешено любое заполнение PlaceholderAPI. И это еще лучше - вы можете также выполнять математические операции. Например, %player_y% * 100 - cos(%player_x%) тоже будет полностью допустимым. Это, конечно, довольно странная цена, но это возможно.

buy.require: Это математическое выражение, которое должно быть выполнено, чтобы разрешить покупку этого предмета. Например, вы можете использовать %player_xp% >= 300.

buy.conditions: Условия, которые должны быть выполнены для покупки этого предмета. Прочтите здесь для получения дополнительной информации!

buy.limit: Максимальное количество раз, которое игрок может купить этот предмет.

alt-buy: Это второй вариант покупки, который можно использовать, щелкнув правой кнопкой мыши по предмету. Допустим, у вас есть двойная валютная система, вы можете сделать, чтобы щелчок левой кнопкой стоил деньги, а щелчок правой кнопкой стоил кристаллы, или вы можете сделать, чтобы щелчок левой кнопкой стоил золотые слитки, а щелчок правой кнопкой - изумруды.

gui.display: Это предмет, который отображается игрокам в магазине. У команд нет автоматического отображения предмета, поэтому его нужно указать. Вы также можете указать пользовательский отображаемый предмет, если продаете предметы, но это не обязательно. Вы также можете необязательно указать лор и нижний лор, где нижний лор отображается под вещами, такими как цена покупки, быстрые опции покупки и т.д.

gui.show-quick-buy-sell: По умолчанию быстрый лор для покупки / продажи отображается на предметах. Если вы не хотите этого для этого предмета, вы можете отключить это здесь.

Предметы с эффектами в EcoShop​

Вместо того чтобы использовать только команды, EcoShop также имеет полный доступ к системе эффектов, так что вы можете запускать эффекты, когда игрок покупает предмет, или даже просто поместить сами эффекты в магазин.

Как и команды, они не продаются.
YAML:
id: my_effect_item

effects: [ ]

buy:
  value: 65
  type: crystals
  display: "&b%value% Кристаллы ❖"

gui:
  display:
    item: nether_star
    lore:
      - "&fКупите меня, чтобы сделать что-то крутое!"
  column: 6 # Колонка.
  row: 3 # Ряд.
  page: 2 # Страница.

  show-quick-buy-sell: false
effects: Это эффекты, которые запускаются, когда игрок покупает предмет. Читайте здесь, чтобы узнать больше!

Дополнительные опции​

Есть несколько дополнительных опций, которые не показаны в примерах выше. Если вы хотите изучить все возможные варианты, они показаны в категории примеров

Установка плагина EcoShop:​

Для работы плагина необходим ECO
  1. Скачайте плагин.
  2. Выключите сервер
  3. Переместите файл .jar в папку /plugins/ вашего сервера.
  4. Запустите сервер.
  5. Готово.

Author

bobobo

More resources from bobobo

CoreArena - Physical Engine Mob Arenas
CoreArena - Physical Engine Mob Arenas
Процедурно разрушаемые арены с классами, системой уровней и поддержкой BungeeCord.
BeastToken
BeastToken
MultiShop, MySql , MobCoins, Поддерживает: TokenEnchantand & MythicMobs
Executable Items PREMIUM
Executable Items PREMIUM
Кастомные предметы ✨ Поддержка Custom Craft ✅ Более 30 различных триггеров ⭐ Бесконечные возможности
Executable Blocks ⭐ PREMIUM
Executable Blocks ⭐ PREMIUM
Кастомные блоки, кастомные триггеры, создавайте эпические блоки! Поддерживает ItemsAdder, Oraxen!
⭐ ExecutableEvents ⭐ PREMIUM
⭐ ExecutableEvents ⭐ PREMIUM
Инструмент, позволяющий настраивать события, происходящие на вашем сервере.
SCore
Библиотека для плагинов от Ssomar
Crucible or MythicCrucible DEV BUILDS
Crucible or MythicCrucible DEV BUILDS
Девверсия плагина MythicCrucible (или Crucible)
Mythic Dungeons DEV BUILD's
Mythic Dungeons DEV BUILD's
Предварительные сборки плагина MythicDungeons
Mythic Dungeons
Mythic Dungeons
Официальный плагин от mythiccraft
WeaponMechanicsPlus
WeaponMechanicsPlus
Навесное оборудование для оружия и доспехов
WeaponMechanicsCosmetics
WeaponMechanicsCosmetics
Визуальные/звуковые эффекты для вашего оружия/гранат/взрывов от WeaponMechanics
TopBottom