- Поддерживаемые версии
- 1.16
- 1.17
- 1.20
- 1.21
- Ядра и Прокси
- Bukkit
- Spigot
- Paper
- Минимальная версия Java
- 17
TrapUpgradeEnder - это плагин, который позволяет игрокам постепенно расширять размер эндер сундука, покупая дополнительные слоты. Вместо стандартных 27 слотов можно расширить до 54 слотов (6 рядов по 9 слотов), инвестируя заработанные ресурсы.
Как это работает:
1. Игрок открывает эндер сундук командой /ec
2. Видит базовые 27 слотов (бесплатные, работают как обычный эндер сундук)
3. Остальные 27 слотов заблокированы и отображаются цветными стеклянными панелями
4. Игрок кликает на зеленый слот (доступный для покупки)
5. Выбирает валюту для оплаты (ЛКМ = первая валюта, ПКМ = вторая валюта)
6. Подтверждает покупку в GUI окне
7. Средства списываются, слот разблокируется и становится доступным
Важные особенности:
- Слоты покупаются строго по порядку (нельзя пропустить слот)
- Можно купить целый ряд (9 слотов) сразу со скидкой (SHIFT + клик)
- Все данные сохраняются в базе данных (SQLite или MySQL)
- Полная настраиваемость всех аспектов через конфигурационные файлы
Плагин НЕ зависит от конкретных плагинов экономики! Вместо прямого подключения к API, используется универсальная система команд.
Принцип работы:
1. В конфиге указываются команды для списания/начисления средств
2. При покупке плагин берет цену (например, 100,000₪)
3. Подставляет имя игрока и сумму в команду: "eco take PlayerName 100000"
4. Команда выполняется через консоль сервера
5. Если команда успешна - слот разблокируется, если нет - игрок видит ошибку
Плейсхолдеры:
Это означает, что можно использовать:
Деньги (Essentials/Vault) - "eco take %player% %amount%"
PlayerPoints - "p take %player% %amount%"
ЛЮБУЮ валюту с командами - "tokens remove %player% %amount%"
Принцип работы:
1. В конфиге указываются команды для списания/начисления средств
2. При покупке плагин берет цену (например, 100,000₪)
3. Подставляет имя игрока и сумму в команду: "eco take PlayerName 100000"
4. Команда выполняется через консоль сервера
5. Если команда успешна - слот разблокируется, если нет - игрок видит ошибку
Плейсхолдеры:
- %player% - автоматически заменяется на имя игрока
- %amount% - автоматически заменяется на сумму покупки
Это означает, что можно использовать:
payment:
currency-1: # Первая валюта (ЛКМ при покупке)
name: "money" # Название валюты (может быть любым)
symbol: "₪" # Символ для отображения в сообщениях
enabled: true # Включена ли валюта
withdraw-command: "eco take %player% %amount%" # Команда для списания
deposit-command: "eco give %player% %amount%" # Команда для начисления
prices: # Цены на каждый ряд
row-1: 0 # 1-й ряд обычно бесплатный
row-2: 0 # 2-й ряд обычно бесплатный
row-3: 0 # 3-й ряд обычно бесплатный (базовые 27 слотов)
row-4: 100000 # 4-й ряд - первые платные слоты
row-5: 250000 # 5-й ряд
row-6: 500000 # 6-й ряд - самый дорогой
currency-2: # Вторая валюта (ПКМ при покупке)
name: "playerpoints"
symbol: "❖"
enabled: true
withdraw-command: "p take %player% %amount%"
deposit-command: "p give %player% %amount%"
prices:
row-4: 100
row-5: 250
row-6: 500
row-purchase-discount: 15 # Скидка в процентах при покупке целого ряда (9 слотов)
Примеры команд для разных валют:
currency-1: # Первая валюта (ЛКМ при покупке)
name: "money" # Название валюты (может быть любым)
symbol: "₪" # Символ для отображения в сообщениях
enabled: true # Включена ли валюта
withdraw-command: "eco take %player% %amount%" # Команда для списания
deposit-command: "eco give %player% %amount%" # Команда для начисления
prices: # Цены на каждый ряд
row-1: 0 # 1-й ряд обычно бесплатный
row-2: 0 # 2-й ряд обычно бесплатный
row-3: 0 # 3-й ряд обычно бесплатный (базовые 27 слотов)
row-4: 100000 # 4-й ряд - первые платные слоты
row-5: 250000 # 5-й ряд
row-6: 500000 # 6-й ряд - самый дорогой
currency-2: # Вторая валюта (ПКМ при покупке)
name: "playerpoints"
symbol: "❖"
enabled: true
withdraw-command: "p take %player% %amount%"
deposit-command: "p give %player% %amount%"
prices:
row-4: 100
row-5: 250
row-6: 500
row-purchase-discount: 15 # Скидка в процентах при покупке целого ряда (9 слотов)
Примеры команд для разных валют:
- Essentials: "eco take %player% %amount%"
- PlayerPoints: "p take %player% %amount%" или "points take %player% %amount%"
- Кастомная валюта: "tokens remove %player% %amount%"
При покупке целого ряда (9 слотов сразу) игрок получает скидку:
Пример расчета:
Настройка: row-purchase-discount: 15 (15% скидка)
Пример расчета:
- Цена одного слота 4-го ряда: 100,000₪
- 9 слотов по отдельности: 900,000₪
- 9 слотов рядом (со скидкой 15%): 765,000₪
- Экономия: 135,000₪!
Настройка: row-purchase-discount: 15 (15% скидка)
Добавьте материал в config.yml:
blocked-items:
items:
- "DIAMOND"
- "EMERALD"
- "SHULKER_BOX"
- "WHITE_SHULKER_BOX"
- "ORANGE_SHULKER_BOX"
# ... все цвета шалкеров
whitelist-mode: false # false = черный список, true = белый список
return-to-inventory: true # Возвращать предметы в инвентарь
drop-on-ground: false # Выкидывать на землю (если return-to-inventory = false)Режимы работы:
blocked-items:
items:
- "DIAMOND"
- "EMERALD"
- "SHULKER_BOX"
- "WHITE_SHULKER_BOX"
- "ORANGE_SHULKER_BOX"
# ... все цвета шалкеров
whitelist-mode: false # false = черный список, true = белый список
return-to-inventory: true # Возвращать предметы в инвентарь
drop-on-ground: false # Выкидывать на землю (если return-to-inventory = false)Режимы работы:
- Черный список (whitelist-mode: false) - запрещены только указанные предметы
- Белый список (whitelist-mode: true) - разрешены только указанные предметы, все остальное запрещено
Это одна из ключевых функций плагина! Плагин полностью поддерживает блокировку кастомных предметов с их уникальными характеристиками.
Как заблокировать кастомный предмет:
1. Возьмите предмет в руку (меч с кастомным названием, лором, зачарованиями)
2. Выполните команду: /tender blockitem add
3. Готово! Плагин автоматически определит:
- Тип материала (DIAMOND_SWORD)
- Кастомное название
- Все строки лора
- Все зачарования и их уровни
- Другие NBT данные
Что происходит внутри:
Плагин создает уникальный "отпечаток" предмета. Например:
DIAMOND_SWORD:NAME:§6Легендарный клинок|LORE:§7Очень мощный меч||§7Нельзя хранить|ENCH:SHARPNESS-10_PROTECTION-5
При попытке поместить такой предмет в эндер сундук плагин сравнивает все характеристики и блокирует его.
Команды управления:
Как заблокировать кастомный предмет:
1. Возьмите предмет в руку (меч с кастомным названием, лором, зачарованиями)
2. Выполните команду: /tender blockitem add
3. Готово! Плагин автоматически определит:
- Тип материала (DIAMOND_SWORD)
- Кастомное название
- Все строки лора
- Все зачарования и их уровни
- Другие NBT данные
Что происходит внутри:
Плагин создает уникальный "отпечаток" предмета. Например:
DIAMOND_SWORD:NAME:§6Легендарный клинок|LORE:§7Очень мощный меч||§7Нельзя хранить|ENCH:SHARPNESS-10_PROTECTION-5
При попытке поместить такой предмет в эндер сундук плагин сравнивает все характеристики и блокирует его.
Команды управления:
- /tender blockitem add - добавить предмет (возьмите в руку!)
- /tender blockitem list - показать список всех заблокированных предметов
- /tender blockitem remove <id> - удалить предмет по номеру из списка
database:
type: sqlite # sqlite или mysql
sqlite:
file: "enderchests.db" # Имя файла базы данных
mysql:
host: "localhost" # Адрес MySQL сервера
port: 3306 # Порт MySQL
database: "trapupgradeender"
username: "root"
password: ""SQLite - используется по умолчанию, не требует настройки
MySQL - для больших серверов или синхронизации между серверами
type: sqlite # sqlite или mysql
sqlite:
file: "enderchests.db" # Имя файла базы данных
mysql:
host: "localhost" # Адрес MySQL сервера
port: 3306 # Порт MySQL
database: "trapupgradeender"
username: "root"
password: ""SQLite - используется по умолчанию, не требует настройки
MySQL - для больших серверов или синхронизации между серверами
max-slots: 54 # Максимальное количество слотов (6 рядов по 9)
default-ender-chest-size: 27 # Базовый размер эндер сундука (3 ряда)
row-purchase-enabled: true # Разрешена ли покупка целых рядов
row-purchase-min-row: 4 # Минимальный ряд для покупки целым рядом
row-purchase-max-row: 6 # Максимальный ряд для покупки целым рядом
inventory-row-size: 9 # Количество слотов в ряду (НЕ МЕНЯТЬ!)Логика: Первые 27 слотов (3 ряда) - базовые и бесплатные. Остальные 27 слотов (4-6 ряды) можно покупать.
default-ender-chest-size: 27 # Базовый размер эндер сундука (3 ряда)
row-purchase-enabled: true # Разрешена ли покупка целых рядов
row-purchase-min-row: 4 # Минимальный ряд для покупки целым рядом
row-purchase-max-row: 6 # Максимальный ряд для покупки целым рядом
inventory-row-size: 9 # Количество слотов в ряду (НЕ МЕНЯТЬ!)Логика: Первые 27 слотов (3 ряда) - базовые и бесплатные. Остальные 27 слотов (4-6 ряды) можно покупать.
purchase-confirmation:
enabled: true # Включить систему подтверждения
slot-purchase: true # Подтверждение при покупке одного слота
row-purchase: true # Подтверждение при покупке целого рядаЗащита от случайных покупок через окно подтверждения.
enabled: true # Включить систему подтверждения
slot-purchase: true # Подтверждение при покупке одного слота
row-purchase: true # Подтверждение при покупке целого рядаЗащита от случайных покупок через окно подтверждения.
sounds:
enabled: true # Включены ли звуки
volume: 0.5 # Громкость (0.0 - 1.0)
locked-slot-click: "ENTITY_CHICKEN_EGG" # Клик по заблокированному слоту
purchasable-slot-click: "ENTITY_VILLAGER_TRADE" # Клик по доступному для покупки
purchase-success: "ENTITY_PLAYER_LEVELUP" # Успешная покупка
purchase-cancel: "ENTITY_VILLAGER_NO" # Отмена покупки
gui-open: "BLOCK_ENDER_CHEST_OPEN" # Открытие GUI
gui-close: "BLOCK_ENDER_CHEST_CLOSE" # Закрытие GUI
error: "ENTITY_VILLAGER_NO" # Ошибка
insufficient-funds: "ENTITY_VILLAGER_NO" # Недостаточно средств
row-purchase-success: "ENTITY_PLAYER_LEVELUP" # Успешная покупка ряда
invsee-open: "BLOCK_ENDER_CHEST_OPEN" # Открытие invseeВсе звуки используют стандартные названия звуков Minecraft.
enabled: true # Включены ли звуки
volume: 0.5 # Громкость (0.0 - 1.0)
locked-slot-click: "ENTITY_CHICKEN_EGG" # Клик по заблокированному слоту
purchasable-slot-click: "ENTITY_VILLAGER_TRADE" # Клик по доступному для покупки
purchase-success: "ENTITY_PLAYER_LEVELUP" # Успешная покупка
purchase-cancel: "ENTITY_VILLAGER_NO" # Отмена покупки
gui-open: "BLOCK_ENDER_CHEST_OPEN" # Открытие GUI
gui-close: "BLOCK_ENDER_CHEST_CLOSE" # Закрытие GUI
error: "ENTITY_VILLAGER_NO" # Ошибка
insufficient-funds: "ENTITY_VILLAGER_NO" # Недостаточно средств
row-purchase-success: "ENTITY_PLAYER_LEVELUP" # Успешная покупка ряда
invsee-open: "BLOCK_ENDER_CHEST_OPEN" # Открытие invseeВсе звуки используют стандартные названия звуков Minecraft.
pvp-integration:
enabled: true # Включить интеграцию с PvP плагинами
block-in-combat: true # Блокировать открытие эндер сундука во время бояПоддерживаемые плагины: PvPManager, GreatCombat, AntiRelog
enabled: true # Включить интеграцию с PvP плагинами
block-in-combat: true # Блокировать открытие эндер сундука во время бояПоддерживаемые плагины: PvPManager, GreatCombat, AntiRelog
security:
blocked-worlds: [] # Список миров, где эндер сундук заблокирован
block-on-flying: false # Блокировать во время полета
block-on-gamemode: false # Блокировать в определенных режимах игры
allowed-gamemodes: # Разрешенные режимы игры
- SURVIVAL
- CREATIVE
- ADVENTURE
- SPECTATOR
block-on-god: false # Блокировать в режиме бога
worldguard:
enabled: false # Включить интеграцию с WorldGuard
blocked-regions: [] # Список регионов, где эндер сундук заблокирован
blocked-worlds: [] # Список миров, где эндер сундук заблокирован
block-on-flying: false # Блокировать во время полета
block-on-gamemode: false # Блокировать в определенных режимах игры
allowed-gamemodes: # Разрешенные режимы игры
- SURVIVAL
- CREATIVE
- ADVENTURE
- SPECTATOR
block-on-god: false # Блокировать в режиме бога
worldguard:
enabled: false # Включить интеграцию с WorldGuard
blocked-regions: [] # Список регионов, где эндер сундук заблокирован
toggle-wand:
material: STICK # Материал палочки
name: "§7« §x§F§F§D§A§0§8Палочка отключения EC §7»"
lore:
- ""
- "§x§F§F§D§A§0§8§n▌§r §fЛКМ по эндер сундуку"
- "§x§F§F§D§A§0§8▌§r §fотключить прокачку"
- ""
- "§x§F§F§D§A§0§8§n▌§r §fSHIFT + ЛКМ"
- "§x§F§F§D§A§0§8▌§r §fвключить прокачку"Получить: /tender off give
Использование: ЛКМ по эндер сундуку - отключить прокачку на этом блоке
material: STICK # Материал палочки
name: "§7« §x§F§F§D§A§0§8Палочка отключения EC §7»"
lore:
- ""
- "§x§F§F§D§A§0§8§n▌§r §fЛКМ по эндер сундуку"
- "§x§F§F§D§A§0§8▌§r §fотключить прокачку"
- ""
- "§x§F§F§D§A§0§8§n▌§r §fSHIFT + ЛКМ"
- "§x§F§F§D§A§0§8▌§r §fвключить прокачку"Получить: /tender off give
Использование: ЛКМ по эндер сундуку - отключить прокачку на этом блоке
enderchest:
title: "§0▶ Эндер Сундук" # Заголовок окна
title-prefix: "Эндер Сундук" # Префикс для определения типа GUI
title-prefix-short: "ЭК:" # Короткий префикс
next-purchasable-slot: # Следующий доступный для покупки слот
material: LIME_STAINED_GLASS_PANE # Зеленое стекло
name: "§7« §x§7§A§C§D§0§7Покупка слота §7»"
lore: # Описание с переменными
- ""
- "§x§7§A§C§D§0§7§n▌§r §fСлот: §f#%slot%"
- "§x§7§A§C§D§0§7§n▌§r §fЦена за монетки: §x§F§F§D§A§0§8%price1%₪"
- "§x§7§A§C§D§0§7▌§r §fЦена за осколки: §x§F§F§6§7§0§0%price2%❖"
- ""
- "§x§7§A§C§D§0§7§l▶ §f§nЛКМ§f §fкупить слот за §x§F§F§D§A§0§8монетки"
- "§x§7§A§C§D§0§7§l▶ §f§nSHIFT§f +§f §nЛКМ§f §fкупить ряд за §x§F§F§D§A§0§8монетки"
- "§x§7§A§C§D§0§7§l▶ §f§nПКМ§f §fкупить слот за §x§F§F§6§7§0§0осколки"
- "§x§7§A§C§D§0§7§l▶ §f§nSHIFT§f +§f §nПКМ§f §fкупить ряд за §x§F§F§6§7§0§0осколки"
locked-slot: # Заблокированный слот
material: LIGHT_BLUE_STAINED_GLASS_PANE # Голубое стекло
name: "§7« §x§F§F§0§0§0§0Слот заблокирован §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r§f Купите предыдущие слоты"
- "§x§F§F§0§0§0§0▌§r§f Слот: §f#%slot%"
glass-pane: # Обычная панель
material: GRAY_STAINED_GLASS_PANE
name: " "
lore: []Переменные для lore:
title: "§0▶ Эндер Сундук" # Заголовок окна
title-prefix: "Эндер Сундук" # Префикс для определения типа GUI
title-prefix-short: "ЭК:" # Короткий префикс
next-purchasable-slot: # Следующий доступный для покупки слот
material: LIME_STAINED_GLASS_PANE # Зеленое стекло
name: "§7« §x§7§A§C§D§0§7Покупка слота §7»"
lore: # Описание с переменными
- ""
- "§x§7§A§C§D§0§7§n▌§r §fСлот: §f#%slot%"
- "§x§7§A§C§D§0§7§n▌§r §fЦена за монетки: §x§F§F§D§A§0§8%price1%₪"
- "§x§7§A§C§D§0§7▌§r §fЦена за осколки: §x§F§F§6§7§0§0%price2%❖"
- ""
- "§x§7§A§C§D§0§7§l▶ §f§nЛКМ§f §fкупить слот за §x§F§F§D§A§0§8монетки"
- "§x§7§A§C§D§0§7§l▶ §f§nSHIFT§f +§f §nЛКМ§f §fкупить ряд за §x§F§F§D§A§0§8монетки"
- "§x§7§A§C§D§0§7§l▶ §f§nПКМ§f §fкупить слот за §x§F§F§6§7§0§0осколки"
- "§x§7§A§C§D§0§7§l▶ §f§nSHIFT§f +§f §nПКМ§f §fкупить ряд за §x§F§F§6§7§0§0осколки"
locked-slot: # Заблокированный слот
material: LIGHT_BLUE_STAINED_GLASS_PANE # Голубое стекло
name: "§7« §x§F§F§0§0§0§0Слот заблокирован §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r§f Купите предыдущие слоты"
- "§x§F§F§0§0§0§0▌§r§f Слот: §f#%slot%"
glass-pane: # Обычная панель
material: GRAY_STAINED_GLASS_PANE
name: " "
lore: []Переменные для lore:
- %slot% - номер слота
- %price1% - цена в первой валюте
- %price2% - цена во второй валюте
purchase:
title: "§0▶ Подтверждение покупки"
title-currency-1: "§0▶ Подтверждение покупки"
title-currency-2: "§0▶ Покупка за поинты"
confirm-button-currency-1: # Кнопка подтверждения (первая валюта)
material: LIME_CONCRETE
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r §fЦена: §x§F§F§D§A§0§8%price%%currency1%"
- "§x§7§A§C§D§0§7▌§r §fКупить слот за монетки"
- ""
- "§x§7§A§C§D§0§7§l▶ §fНажмите для покупки"
confirm-button-currency-2: # Кнопка подтверждения (вторая валюта)
material: LIME_CONCRETE
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r §fЦена: §x§F§F§6§7§0§0%price%%currency2%"
- "§x§7§A§C§D§0§7▌§r §fКупить слот за осколки"
cancel-button: # Кнопка отмены
material: RED_CONCRETE
name: "§7« §x§F§F§0§0§0§0Отказаться §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r §fОтменить покупку"
- "§x§F§F§0§0§0§0▌§r §fВернуться назад"Переменные:
title: "§0▶ Подтверждение покупки"
title-currency-1: "§0▶ Подтверждение покупки"
title-currency-2: "§0▶ Покупка за поинты"
confirm-button-currency-1: # Кнопка подтверждения (первая валюта)
material: LIME_CONCRETE
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r §fЦена: §x§F§F§D§A§0§8%price%%currency1%"
- "§x§7§A§C§D§0§7▌§r §fКупить слот за монетки"
- ""
- "§x§7§A§C§D§0§7§l▶ §fНажмите для покупки"
confirm-button-currency-2: # Кнопка подтверждения (вторая валюта)
material: LIME_CONCRETE
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r §fЦена: §x§F§F§6§7§0§0%price%%currency2%"
- "§x§7§A§C§D§0§7▌§r §fКупить слот за осколки"
cancel-button: # Кнопка отмены
material: RED_CONCRETE
name: "§7« §x§F§F§0§0§0§0Отказаться §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r §fОтменить покупку"
- "§x§F§F§0§0§0§0▌§r §fВернуться назад"Переменные:
- %price% - цена покупки
- %currency1% - символ первой валюты
- %currency2% - символ второй валюты
l
row-purchase:
title: "§0▶ Подтверждение покупки ряда"
title-currency-1: "§0▶ Подтверждение покупки ряда"
title-currency-2: "§0▶ Покупка ряда за поинты"
row-label: "Ряд "
confirm-row-button-currency-1: # Кнопка подтверждения ряда
material: LIME_GLAZED_TERRACOTTA
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r§f Слотов к покупке: §x§7§A§C§D§0§7%slots%"
- "§x§7§A§C§D§0§7§n▌§r§f Цена: §x§F§F§D§A§0§8%price%%currency1%"
- "§x§7§A§C§D§0§7§n▌§r§f Скидка: §x§A§9§D§7§0§0%discount%%"
- "§x§7§A§C§D§0§7▌§r§f Экономия: §x§A§9§D§7§0§0%savings%"
cancel-row-button:
material: RED_GLAZED_TERRACOTTA
name: "§7« §x§F§F§0§0§0§0Отказаться §7»"Переменные:
row-purchase:
title: "§0▶ Подтверждение покупки ряда"
title-currency-1: "§0▶ Подтверждение покупки ряда"
title-currency-2: "§0▶ Покупка ряда за поинты"
row-label: "Ряд "
confirm-row-button-currency-1: # Кнопка подтверждения ряда
material: LIME_GLAZED_TERRACOTTA
name: "§7« §x§7§A§C§D§0§7Подтвердить §7»"
lore:
- ""
- "§x§7§A§C§D§0§7§n▌§r§f Слотов к покупке: §x§7§A§C§D§0§7%slots%"
- "§x§7§A§C§D§0§7§n▌§r§f Цена: §x§F§F§D§A§0§8%price%%currency1%"
- "§x§7§A§C§D§0§7§n▌§r§f Скидка: §x§A§9§D§7§0§0%discount%%"
- "§x§7§A§C§D§0§7▌§r§f Экономия: §x§A§9§D§7§0§0%savings%"
cancel-row-button:
material: RED_GLAZED_TERRACOTTA
name: "§7« §x§F§F§0§0§0§0Отказаться §7»"Переменные:
- %slots% - количество слотов к покупке
- %price% - итоговая цена
- %discount% - процент скидки
- %savings% - сумма экономии
invsee:
title: "§6Редактирование ЭК: §e%player%"
title-prefix: "Редактирование ЭК:"
locked-slot:
material: LIGHT_BLUE_STAINED_GLASS_PANE
name: "§7« §x§F§F§0§0§0§0Слот заблокирован §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r§f Купите предыдущие слоты"
- "§x§F§F§0§0§0§0▌§r§f Слот: §f#%slot%"
empty-slot:
material: GRAY_STAINED_GLASS_PANE
name: " "
lore: []Переменные:
- %player% - имя игрока, чей эндер сундук просматривается
title: "§6Редактирование ЭК: §e%player%"
title-prefix: "Редактирование ЭК:"
locked-slot:
material: LIGHT_BLUE_STAINED_GLASS_PANE
name: "§7« §x§F§F§0§0§0§0Слот заблокирован §7»"
lore:
- ""
- "§x§F§F§0§0§0§0§n▌§r§f Купите предыдущие слоты"
- "§x§F§F§0§0§0§0▌§r§f Слот: §f#%slot%"
empty-slot:
material: GRAY_STAINED_GLASS_PANE
name: " "
lore: []Переменные:
- %player% - имя игрока, чей эндер сундук просматривается
Все элементы GUI поддерживают цветовые коды Minecraft (§a, §c, §x§F§F§D§A§0§8 и т.д.)
Все сообщения плагина находятся в файле messages.yml и полностью настраиваемые.
Все сообщения поддерживают:
ml
prefix: "§x§7§A§C§D§0§7§l▶ §f" # Префикс всех сообщений
# Ошибки
no-permission: "§fУ вас §Cнет прав §fдля использования этой команды!"
player-not-found: "&cИгрок не найден!"
invalid-arguments: "&cНеверные аргументы команды!"
invalid-number: "§cНеверное число!"
# PvP защита
cannot-open-in-combat: "§cНельзя открыть эндер сундук во время боя!"Все сообщения поддерживают цветовые коды и переменные.
prefix: "§x§7§A§C§D§0§7§l▶ §f" # Префикс всех сообщений
# Ошибки
no-permission: "§fУ вас §Cнет прав §fдля использования этой команды!"
player-not-found: "&cИгрок не найден!"
invalid-arguments: "&cНеверные аргументы команды!"
invalid-number: "§cНеверное число!"
# PvP защита
cannot-open-in-combat: "§cНельзя открыть эндер сундук во время боя!"Все сообщения поддерживают цветовые коды и переменные.
purchase-cancel: "§fПокупка прокачки была §cотменена"
# Первая валюта
insufficient-funds: "§fУ вас §cнедостаточно средств! §cТребуется: §x§F§F§D§A§0§8%price% %currency1%"
slots-purchased: "§fВы купили §x§7§A§C§D§0§7%slots% §fслотов за §x§F§F§D§A§0§8%price% %currency1%§f."
# Вторая валюта (PlayerPoints)
insufficient-playerpoints: "§fУ вас §cнедостаточно средств§f! Требуется: §x§F§F§6§7§0§0%price% %currency2%"
slots-purchased-playerpoints: "§fВы купили §x§7§A§C§D§0§7%slots% §fслотов за §x§F§F§6§7§0§0%price% %currency2%§f."
# Покупка рядов
row-already-owned: "§fЭтот ряд уже полностью куплен!"
row-limit-reached: "§cДостигнут лимит слотов!"
row-purchased: "§fВы купили ряд §x§7§A§C§D§0§7%row% §7(%slots% §7слотов) §fза §x§F§F§D§A§0§8%price% %currency1%§f. §8Скидка: %discount%%"
row-insufficient-funds: "§fУ вас §cнедостаточно средств§f! Требуется: §x§F§F§D§A§0§8%price% %currency1%"
row-return-to-chest: "§fВозвращаемся к эндер сундуку."
must-buy-in-order: "§fКупите слот §x§7§A§C§D§0§7#%slot% §fсначала."Переменные:
# Первая валюта
insufficient-funds: "§fУ вас §cнедостаточно средств! §cТребуется: §x§F§F§D§A§0§8%price% %currency1%"
slots-purchased: "§fВы купили §x§7§A§C§D§0§7%slots% §fслотов за §x§F§F§D§A§0§8%price% %currency1%§f."
# Вторая валюта (PlayerPoints)
insufficient-playerpoints: "§fУ вас §cнедостаточно средств§f! Требуется: §x§F§F§6§7§0§0%price% %currency2%"
slots-purchased-playerpoints: "§fВы купили §x§7§A§C§D§0§7%slots% §fслотов за §x§F§F§6§7§0§0%price% %currency2%§f."
# Покупка рядов
row-already-owned: "§fЭтот ряд уже полностью куплен!"
row-limit-reached: "§cДостигнут лимит слотов!"
row-purchased: "§fВы купили ряд §x§7§A§C§D§0§7%row% §7(%slots% §7слотов) §fза §x§F§F§D§A§0§8%price% %currency1%§f. §8Скидка: %discount%%"
row-insufficient-funds: "§fУ вас §cнедостаточно средств§f! Требуется: §x§F§F§D§A§0§8%price% %currency1%"
row-return-to-chest: "§fВозвращаемся к эндер сундуку."
must-buy-in-order: "§fКупите слот §x§7§A§C§D§0§7#%slot% §fсначала."Переменные:
- %slots% - количество слотов
- %price% - цена
- %currency1% - символ первой валюты
- %currency2% - символ второй валюты
- %row% - номер ряда
- %discount% - процент скидки
- %slot% - номер слота
l
config-reloaded: "§fКонфигурация перезагружена!"
player-reset: "§fДанные игрока §x§F§F§6§7§0§0%playername% §fсброшены!"
slots-reset: "§fСлоты игрока §x§7§A§C§D§0§7%playername% §fсброшены."
slots-set: "§fУстановлено §x§7§A§C§D§0§7%slots% §fслотов игроку §x§7§A§C§D§0§7%playername%"
reset-usage: "§cИспользование: /tender reset <игрок>"
setslots-usage: "§cИспользование: /tender setslots <игрок> <количество>"
Переменные:
- %playername% - имя игрока
config-reloaded: "§fКонфигурация перезагружена!"
player-reset: "§fДанные игрока §x§F§F§6§7§0§0%playername% §fсброшены!"
slots-reset: "§fСлоты игрока §x§7§A§C§D§0§7%playername% §fсброшены."
slots-set: "§fУстановлено §x§7§A§C§D§0§7%slots% §fслотов игроку §x§7§A§C§D§0§7%playername%"
reset-usage: "§cИспользование: /tender reset <игрок>"
setslots-usage: "§cИспользование: /tender setslots <игрок> <количество>"
Переменные:
- %playername% - имя игрока
aml
invsee-usage: "§cИспользование: /tender invsee <игрок>"
invsee-session-not-found: "§cСессия invsee не найдена!"
invsee-target-not-found: "§cЦелевой игрок не найден!"
invsee-cannot-take-gui: "§cНельзя взять GUI предмет!"
invsee-no-take-permission: "§cУ вас нет прав на взятие предметов из invsee!"
invsee-viewing-message: "§aПросматриваете эндер сундук игрока: §e%playername%"
invsee-open-error: "§cОшибка при открытии эндер сундука игрока!"
invsee-data-error: "§cОшибка при получении данных эндер сундука игрока!"
invsee-slot-blocked: "§cЭтот слот заблокирован! Игрок не купил его."
invsee-usage: "§cИспользование: /tender invsee <игрок>"
invsee-session-not-found: "§cСессия invsee не найдена!"
invsee-target-not-found: "§cЦелевой игрок не найден!"
invsee-cannot-take-gui: "§cНельзя взять GUI предмет!"
invsee-no-take-permission: "§cУ вас нет прав на взятие предметов из invsee!"
invsee-viewing-message: "§aПросматриваете эндер сундук игрока: §e%playername%"
invsee-open-error: "§cОшибка при открытии эндер сундука игрока!"
invsee-data-error: "§cОшибка при получении данных эндер сундука игрока!"
invsee-slot-blocked: "§cЭтот слот заблокирован! Игрок не купил его."
blockitem-no-item: "§fВ руках §cнет предмета§f! Возьмите что-нибудь в руку."
blockitem-already-blocked: "§fПредмет §e%item% §fуже в списке заблокированных!"
blockitem-added: "§fПредмет §e%item% §fдобавлен в список заблокированных."
blockitem-removed: "§fПредмет §e%item% §fудален из списка заблокированных."
blockitem-invalid-id: "§cНеверный ID! Максимальное значение: §e%max%"
blockitem-list-empty: "§fСписок заблокированных предметов пуст."
blockitem-list-header: "§fЗаблокированные предметы (§e%count%§f):"
blockitem-cannot-place: "§fЭтот предмет (§e%item%§f) §cзаблокирован §fдля эндер сундука!"
blockitem-extracted: "§cЗаблокированные предметы были извлечены из эндер сундука!"
blockitem-returned: "§eЗаблокированные предметы были возвращены в ваш инвентарь!"Переменные:
blockitem-already-blocked: "§fПредмет §e%item% §fуже в списке заблокированных!"
blockitem-added: "§fПредмет §e%item% §fдобавлен в список заблокированных."
blockitem-removed: "§fПредмет §e%item% §fудален из списка заблокированных."
blockitem-invalid-id: "§cНеверный ID! Максимальное значение: §e%max%"
blockitem-list-empty: "§fСписок заблокированных предметов пуст."
blockitem-list-header: "§fЗаблокированные предметы (§e%count%§f):"
blockitem-cannot-place: "§fЭтот предмет (§e%item%§f) §cзаблокирован §fдля эндер сундука!"
blockitem-extracted: "§cЗаблокированные предметы были извлечены из эндер сундука!"
blockitem-returned: "§eЗаблокированные предметы были возвращены в ваш инвентарь!"Переменные:
- %item% - название предмета
- %max% - максимальное значение
- %count% - количество предметов
aml
world-blocked: "§cЭндер сундук заблокирован в этом мире!"
region-blocked: "§cЭндер сундук заблокирован в этом регионе!"
security-flying-blocked: "§cНельзя открыть эндер сундук во время полета!"
security-gamemode-blocked: "§cНельзя открыть эндер сундук в этом режиме игры!"
security-god-blocked: "§cНельзя открыть эндер сундук в режиме бога!"
world-blocked: "§cЭндер сундук заблокирован в этом мире!"
region-blocked: "§cЭндер сундук заблокирован в этом регионе!"
security-flying-blocked: "§cНельзя открыть эндер сундук во время полета!"
security-gamemode-blocked: "§cНельзя открыть эндер сундук в этом режиме игры!"
security-god-blocked: "§cНельзя открыть эндер сундук в режиме бога!"
info-title: "§fИнформация о ваших слотах:"
info-base-slots: "§7Базовые слоты: §e%slots%"
info-purchased-slots: "§7Купленные слоты: §e%slots%"
info-total-slots: "§7Всего слотов: §e%slots%§7/§e%max%"
info-vip-group: "§7VIP группа: §e%group%"
info-discount: "§7Скидка: §e%discount%%"Переменные:
info-base-slots: "§7Базовые слоты: §e%slots%"
info-purchased-slots: "§7Купленные слоты: §e%slots%"
info-total-slots: "§7Всего слотов: §e%slots%§7/§e%max%"
info-vip-group: "§7VIP группа: §e%group%"
info-discount: "§7Скидка: §e%discount%%"Переменные:
- %slots% - количество слотов
- %max% - максимум слотов
- %group% - группа игрока
- %discount% - скидка
Все сообщения поддерживают:
- Цветовые коды Minecraft (§a, §c, §x§F§F§D§A§0§8 и т.д.)
- Переменные (%player%, %price%, %slots% и т.д.)
- Многострочный текст
Спасибо за использование TrapUpgradeEnder!
Сделано с
командой TrapDev
Сделано с
- Команды и права
- Команды:
/tender(ec) - открыть эндер сундук
/tender(ec) info - информация о слотах
/tender(ec) invsee <игрок> - просмотр эндер сундука
/tender(ec) reload - перезагрузка конфига
/tender(ec) reset <игрок> - сброс слотов
/tender(ec) setslots <игрок> <количество> - установка слотов
/tender(ec) off give <ник> - палочка для отключения эндер-сундука
Права:
trapupgradeender.use
trapupgradeender.group
trapupgradeender.admin
trapupgradeender.command.info
trapupgradeender.command.invsee
trapupgradeender.command.reload
trapupgradeender.command.reset
trapupgradeender.command.setslots
trapupgradeender.command.ec
trapupgradeender.command.ec.invsee.take
trapupgradeender.command.blockitem