MUTEBUYER — удобный скупщик предметов как на популярных серверах:
Небольшой обзор по скупщику:












Конфиг плагина:
Конфигурация сообщений:
Конфигурация главного меню:
Также +- по такому же принципу будут создаваться остальные менюшки.
- 🛒 Продажа в 1 клик — можно продавать пачками (16, 64) или сразу всё из инвентаря.
- ⚡ Авто-скупка на кнопку Q — нажал на предмет, и он сам продается на фоне во время фарма.
- 📈 Прокачка уровней — чем больше продаешь, тем выше множитель и больше денег за каждый товар.
- 🔥 Спекулянт каждые 2 часа — скупает 3 случайных предмета в разы дороже обычного, но с лимитом.
- 👥 Прокачка с другом — можно объединиться по команде /buyer friend и качать уровни вместе.
- 🎬 Анимации и звуки — плавное открытие менюшек и приятная озвучка всех кликов.
Небольшой обзор по скупщику:
Конфиг плагина:
Код:
# ИНСТРУКЦИЯ ПО СОЗДАНИЮ СВОИХ МЕНЮ
# 1. СОЗДАНИЕ ФАЙЛА:
# Создайте файл с расширением .yml в папке: plugins/AFKDEVBUYER/menus/<имя_меню>.yml
# (Например: menus/weapons.yml или menus/alchemy.yml).
#
# 2. СТРУКТУРА МЕНЮ:
# title: '&#FF0000&lНазвание Меню' # Заголовок (поддерживает HEX &#RRGGBB / #RRGGBB и &)
# size: 27 # Размер GUI (9, 18, 27, 36, 45, 54)
#
# 3. НАСТРОЙКА ПРЕДМЕТОВ (секция items):
# Каждый предмет имеет уникальный ключ (item_1, item_2 и т.д.):
# material: DIAMOND # Материал из Bukkit / Minecraft
# name: '&#FF6600Название' # Отображаемое имя
# lore: [...] # Описание предмета
# open_menu: 'main' # (Опционально) При клике открывает другое меню (например, main)
#
# 4. КАК СДЕЛАТЬ ТОВАР ДЛЯ ПРОДАЖИ:
# Плагин автоматически делает предмет продаваемым, если в его lore есть ключевые строки:
# - '&#FF6600⛁ &#FFFFE6Цена за &#FF660016 шт&#FFFFE6: &#FFFF00$3,200' <- задает цену и базовый шаг
# - '&#FF6600[Q]&#FFFFE6 авто-скупка: &#FF0000выключена' <- включает поддержку авто-скупки
# - ' �FF00❱❱ &#FFFFE6Продать �FF0016 шт' <- строки выбора
# - ' D4D4D❱❱ C8C8CПродать &#FFFF0064 шт'
# - ' D4D4D❱❱ C8C8CПродать &#FFFF00ВСЁ'
# Дополнительные маркеры для lore:
# - '&#FFFFE61 шт идёт за &#FFFF005.00&#FFFFE6 шт прокачки' <- множитель опыта (по умолч. 1.0)
# - '&#FFFF00⚠ &#FFFFE6Не засчитывается в прокачку' <- товар продается без выдачи опыта
#
# 5. СПЕЦИАЛЬНЫЕ ПРЕДМЕТЫ В МЕНЮ:
# - Часы режима прокачки: material: CLOCK, имя должно содержать 'Режим прокачки'.
# - Бутылек прокачки: material: EXPERIENCE_BOTTLE (автоматически обновляет уровень и множитель).
# - Стрелка «Назад»: material: TIPPED_ARROW или имя содержит 'Главное меню'.
#
# 6. АНИМАЦИЯ ПОЯВЛЕНИЯ (секция animation):
# Позволяет покадрово заполнять слоты и проигрывать звуки:
# animation:
# - tick: 1
# opcodes:
# - st: item_1 0 <- st: <ключ_предмета> <номер_слота> (выставить в слот)
# - rm: 5 <- rm: <номер_слота> (очистить слот)
# - sound: BLOCK_GLASS_PLACE<- sound: <ИМЯ_ЗВУКА> (проиграть звук)
#
# 7. ПОДКЛЮЧЕНИЕ К ГЛАВНОМУ МЕНЮ:
# В файле menus/main.yml добавьте кнопку с параметром open_menu: '<имя_файла_без_yml>'.
# Также меню всегда доступно по команде: /buyer <имя_файла_без_yml>
# Настройки таймеров
Settings:
auto-sell-interval-ticks: 60 # Проверка авто-скупки (60 тиков = 3 сек)
speculator-refresh-minutes: 120 # Смена товаров спекулянта (в минутах, 120 = 2 часа)
# Настройка всех звуков плагина (для отключения укажите sound: NONE)
Sounds:
button-click: { sound: UI_BUTTON_CLICK, volume: 1.0, pitch: 1.0 }
switch-mode: { sound: UI_BUTTON_CLICK, volume: 1.0, pitch: 1.2 }
sell-success: { sound: ENTITY_EXPERIENCE_ORB_PICKUP, volume: 1.0, pitch: 1.2 }
sell-speculator: { sound: ENTITY_PLAYER_LEVELUP, volume: 1.0, pitch: 1.5 }
sell-fail-empty: { sound: ENTITY_VILLAGER_NO, volume: 1.0, pitch: 1.0 }
sell-fail-limit: { sound: ENTITY_VILLAGER_NO, volume: 1.0, pitch: 0.8 }
sell-fail-not-enough: { sound: BLOCK_NOTE_BLOCK_BASS, volume: 1.0, pitch: 0.7 }
autosell-on: { sound: BLOCK_NOTE_BLOCK_PLING, volume: 1.0, pitch: 1.5 }
autosell-off: { sound: BLOCK_NOTE_BLOCK_PLING, volume: 1.0, pitch: 0.8 }
autosell-trigger: { sound: ENTITY_EXPERIENCE_ORB_PICKUP, volume: 0.8, pitch: 1.2 }
speculator-refresh: { sound: UI_TOAST_CHALLENGE_COMPLETE, volume: 1.0, pitch: 1.0 }
progression-success: { sound: ENTITY_PLAYER_LEVELUP, volume: 1.0, pitch: 1.4 }
progression-fail: { sound: ENTITY_VILLAGER_NO, volume: 1.0, pitch: 0.9 }
friend-invite: { sound: UI_BUTTON_CLICK, volume: 1.0, pitch: 1.2 }
friend-accept: { sound: UI_TOAST_CHALLENGE_COMPLETE, volume: 1.0, pitch: 1.0 }
friend-remove: { sound: BLOCK_NOTE_BLOCK_BASS, volume: 1.0, pitch: 0.8 }
# Прокачка: Need-Stacks (стаков для лвл), Booster (множитель), Limit-Stacks (макс. стаков 1 ресурса в опыт)
Manager-Levels:
eat:
Max-Level: 4
1: { Need-Stacks: 15, Booster: 1.0, Limit-Stacks: 7 }
2: { Need-Stacks: 30, Booster: 1.2, Limit-Stacks: 9 }
3: { Need-Stacks: 45, Booster: 1.4, Limit-Stacks: 11 }
4: { Need-Stacks: 60, Booster: 1.6, Limit-Stacks: 13 }
meat:
Max-Level: 4
1: { Need-Stacks: 15, Booster: 1.0, Limit-Stacks: 7 }
2: { Need-Stacks: 30, Booster: 1.2, Limit-Stacks: 9 }
3: { Need-Stacks: 45, Booster: 1.4, Limit-Stacks: 11 }
4: { Need-Stacks: 60, Booster: 1.6, Limit-Stacks: 13 }
farmer:
Max-Level: 4
1: { Need-Stacks: 10, Booster: 1.0, Limit-Stacks: 5 }
2: { Need-Stacks: 20, Booster: 1.2, Limit-Stacks: 8 }
3: { Need-Stacks: 30, Booster: 1.4, Limit-Stacks: 10 }
4: { Need-Stacks: 40, Booster: 1.6, Limit-Stacks: 12 }
miner:
Max-Level: 4
1: { Need-Stacks: 15, Booster: 1.0, Limit-Stacks: 7 }
2: { Need-Stacks: 30, Booster: 1.2, Limit-Stacks: 9 }
3: { Need-Stacks: 45, Booster: 1.4, Limit-Stacks: 11 }
4: { Need-Stacks: 60, Booster: 1.6, Limit-Stacks: 13 }
mobs:
Max-Level: 4
1: { Need-Stacks: 15, Booster: 1.0, Limit-Stacks: 7 }
2: { Need-Stacks: 30, Booster: 1.2, Limit-Stacks: 9 }
3: { Need-Stacks: 45, Booster: 1.4, Limit-Stacks: 11 }
4: { Need-Stacks: 60, Booster: 1.6, Limit-Stacks: 13 }
jewels:
Max-Level: 1
1: { Need-Stacks: 0, Booster: 1.0, Limit-Stacks: 0 }
speculator:
Max-Level: 1
1: { Need-Stacks: 0, Booster: 1.0, Limit-Stacks: 0 }Конфигурация сообщений:
Код:
Messages:
Sell: "&x&3&9&9&F&1&7[✔] &fУспешная продажа &6{type} &e{amount} шт. &fза &a${price}"
No-Items: "&#FF0000[✘] Ошибка! &fНедостаточно предметов в инвентаре!"
Not-Enough-Items: "&#FF0000[✘] Ошибка! &fНедостаточно предметов в инвентаре (нужно &e{amount} шт.&f)!"
Auto-Sell-Enabled: "&x&3&9&9&F&1&7[✔] &fУспешно &x&3&9&9&F&1&7включена &fавто-скупка ресурса!"
Auto-Sell-Disabled: "&x&3&9&9&F&1&7[✔] &fУспешно &#FF0000выключена &fавто-скупка ресурса!"
Auto-Sell-Success: "&x&3&9&9&F&1&7[✔] &fАвто-продажа &6{type} &e{amount} шт. &fза &a${price}"
Progression-No-Clan: "&#FFFF00[⚠] Внимание!&#FFFFE6 Режим остался&#FFFF00 одиночным&#FFFFE6 — у вас нет клана."
Progression-Solo: "&e[✔] &fРежим прокачки переключен на: &eОдиночный"
Progression-Coop: "&a[✔] &fРежим прокачки переключен на: &aСовместный"
Friend-Invite-Sent: "&a[✔] &fВы отправили приглашение на совместную прокачку игроку &e{player}"
Friend-Invite-Received: "&e[!] &fИгрок &e{player} &fприглашает вас в совместную прокачку! Введите &a/buyer friend accept {player} &fили &c/buyer friend deny {player}"
Friend-Paired: "&a[✔] &fВы успешно объединили прокачку с игроком &e{player}!"
Friend-Removed: "&c[✘] &fВы разорвали совместную прокачку."
Friend-Deny-Sender: "&#FF0000[✘] &fИгрок &e{player} &#FF0000отклонил &fваше предложение о совместной прокачке!"
Friend-Deny-Target: "&e[✔] &fВы отклонили предложение о совместной прокачке от игрока &e{player}"
Friend-No-Invite: "&#FF0000[✘] Ошибка! &fУ вас нет активного приглашения от игрока &e{player}"
No-Permission: "&#FF0000[✘] Ошибка! &fУ вас нет прав!"
Reload-Success: "&a[✔] &fКонфигурация AFKDEVBUYER перезагружена!"
Player-Only: "&#FF0000[✘] Ошибка! &fКоманда только для игроков!"
Player-Not-Found: "&#FF0000[✘] Ошибка! &fИгрок не найден!"
Help:
- "&#FF5555╔═════════════════════════════════════════════════════╗"
- "&#FF5555║ &f/buyer &#FF5555- &7открыть главное меню скупщика"
- "&#FF5555║ &f/buyer <категория> &#FF5555- &7открыть меню категории"
- "&#FF5555║ &f/buyer friend invite <ник> &#FF5555- &7пригласить в прокачку"
- "&#FF5555║ &f/buyer friend accept <ник> &#FF5555- &7принять приглашение"
- "&#FF5555║ &f/buyer friend deny <ник> &#FF5555- &7отклонить приглашение"
- "&#FF5555║ &f/buyer friend remove &#FF5555- &7разорвать прокачку"
- "&#FF5555║ &#FF5555/buyer reload &7- перезагрузить конфиги плагина"
- "&#FF5555╚═════════════════════════════════════════════════════╝"
Select:
Select-1: "&x&3&9&9&F&1&7[✔] &fПродажа по &e1 шт."
Select-3: "&x&3&9&9&F&1&7[✔] &fПродажа по &e3 шт."
Select-4: "&x&3&9&9&F&1&7[✔] &fПродажа по &e4 шт."
Select-6: "&x&3&9&9&F&1&7[✔] &fПродажа по &e6 шт."
Select-8: "&x&3&9&9&F&1&7[✔] &fПродажа по &e8 шт."
Select-16: "&x&3&9&9&F&1&7[✔] &fПродажа по &e16 шт."
Select-24: "&x&3&9&9&F&1&7[✔] &fПродажа по &e24 шт."
Select-64: "&x&3&9&9&F&1&7[✔] &fПродажа по &e64 шт."
Select-all: "&x&3&9&9&F&1&7[✔] &fПродажа всех предметов"
Speculator:
Update-Announcement:
- "&x&4&5&E&F&3&3╔&x&4&5&E&F&3&3═ &x&E&E&B&E&3&B&lС&x&E&E&C&2&3&B&lп&x&E&E&C&6&3&C&lе&x&E&E&C&9&3&C&lк&x&E&E&C&D&3&C&lу&x&E&E&D&1&3&C&lл&x&E&E&D&5&3&D&lя&x&E&E&D&8&3&D&lн&x&E&E&D&C&3&D&lт &x&4&1&E&3&3&C═&x&4&0&D&F&3&F═&x&3&E&D&B&4&2═&x&3&D&D&7&4&5═&x&3&C&D&3&4&8═&x&3&A&C&F&4&B═&x&3&9&C&B&4&D═&x&3&7&C&7&5&0═&x&3&6&C&3&5&3═&x&3&5&B&F&5&6═&x&3&3&B&B&5&9═&x&3&2&B&7&5&C═&x&3&1&B&3&5&F═&x&2&F&A&F&6&2═&x&2&E&A&B&6&5╝"
- "&a║ &fСписок «Горячих товаров» обновлен!"
- "&a║ &fЗаработай первым на моих товарах,"
- "&a║ &fвводи команду &a/buyer"
- "&a║ &a[Открыть]"
- "&x&4&5&E&F&3&3╚&x&4&5&E&F&3&3═&x&4&4&E&C&3&5═&x&4&3&E&9&3&7═&x&4&2&E&6&3&A═&x&4&1&E&3&3&C═&x&4&0&E&0&3&E═&x&3&F&D&D&4&0═&x&3&E&D&A&4&2═&x&3&D&D&7&4&4═&x&3&C&D&4&4&7═&x&3&B&D&1&4&9═&x&3&A&C&E&4&B═&x&3&9&C&C&4&D═&x&3&8&C&9&4&F═&x&3&7&C&6&5&1═&x&3&6&C&3&5&4═&x&3&5&C&0&5&6═&x&3&4&B&D&5&8═&x&3&3&B&A&5&A═&x&3&2&B&7&5&C═&x&3&1&B&4&5&E═&x&3&0&B&1&6&1═&x&2&F&A&E&6&3═&x&2&E&A&B&6&5╝"
Sell-Success: "&x&3&9&9&F&1&7[✔] &fУспешная продажа &6{type} &e{amount} шт. &fза &a${price}"
Limit-Reached: "&#FF0000[✘] Ошибка! &fВы исчерпали лимит на этот предмет!"
No-Item: "&#FF0000[✘] Ошибка! &fНедостаточно предметов в инвентаре!"Конфигурация главного меню:
Код:
type: CHEST
size: 45
title: '&#FF0000&l● &#FF6600&lВыберите секцию'
items:
item_1:
material: RED_STAINED_GLASS_PANE
name: '&#FF0000F&#FF0500u&#FF0900n&#FF3D00T&#FF4000i&#FF4200m&#FF4500e&#FF3300.&#FF1A00m&#FF0000e'
item_flags:
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
item_2:
material: ORANGE_STAINED_GLASS_PANE
name: '&#FF5B00F&#FF5700u&#FF5200n&#FF1E00T&#FF1700i&#FF1100m&#FF0A00e&#FF3300.&#FF4700m&#FF5B00e'
item_flags:
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
item_3:
material: ROTTEN_FLESH
name: '&#FF0000[$]&#FF6600 Нежить'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_4:
material: HEART_OF_THE_SEA
name: '&#FF0000[$]&#FF6600 Драгоценности'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_5:
material: COOKED_BEEF
name: '&#FF0000[$]&#FF6600 Мясник'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_6:
material: NETHER_STAR
name: '&#FF0000[$]&#FF6600 Горячие товары'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_7:
material: LAPIS_LAZULI
name: '&#FF0000[$]&#FF6600 Шахтёр'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_8:
material: CACTUS
name: '&#FF0000[$]&#FF6600 Фермер'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
item_9:
material: CARROT
name: '&#FF0000[$]&#FF6600 Еда'
lore:
- ' &#FF6600➥ Нажмите&#FFFFE6, чтобы перейти'
item_flags:
- HIDE_PLACED_ON
- HIDE_ENCHANTS
- HIDE_ATTRIBUTES
- HIDE_DESTROYS
animation:
- tick: 1
opcodes:
- rm: 0
- rm: 1
- rm: 2
- rm: 3
- rm: 4
- rm: 5
- rm: 6
- rm: 7
- rm: 8
- rm: 9
- rm: 10
- rm: 11
- rm: 12
- rm: 13
- rm: 14
- rm: 15
- rm: 16
- rm: 17
- rm: 18
- rm: 19
- rm: 20
- rm: 21
- rm: 22
- rm: 23
- rm: 24
- rm: 25
- rm: 26
- rm: 27
- rm: 28
- rm: 29
- rm: 30
- rm: 31
- rm: 32
- rm: 33
- rm: 34
- rm: 35
- st: item_1 36
- st: item_1 37
- st: item_2 38
- st: item_2 39
- st: item_2 40
- st: item_2 41
- st: item_2 42
- st: item_1 43
- st: item_1 44
- tick: 2
opcodes:
- sound: BLOCK_GLASS_PLACE
- st: item_2 33
- st: item_2 34
- st: item_1 35
- st: item_1 27
- st: item_2 28
- st: item_2 29
- st: item_2 30
- tick: 3
opcodes:
- sound: BLOCK_GLASS_PLACE
- tick: 4
opcodes:
- st: item_1 18
- st: item_2 19
- st: item_2 20
- st: item_2 24
- st: item_2 25
- st: item_1 26
- tick: 5
opcodes:
- sound: BLOCK_GLASS_PLACE
- st: item_2 16
- st: item_1 17
- st: item_1 9
- st: item_2 10
- st: item_2 11
- st: item_2 14
- st: item_2 15
- tick: 6
opcodes:
- sound: BLOCK_GLASS_PLACE
- st: item_1 0
- st: item_1 1
- st: item_2 2
- st: item_2 3
- st: item_2 4
- st: item_2 5
- st: item_2 6
- st: item_1 7
- st: item_1 8
- tick: 8
opcodes:
- st: item_4 32
- st: item_3 31
- tick: 10
opcodes:
- st: item_5 21
- st: item_6 22
- st: item_7 23
- tick: 11
opcodes:
- st: item_8 12
- st: item_9 13