ExecutableItems делает из обычного предмета «исполняемый»: на клик, удар, поедание или другое действие игрока он запускает команды, эффекты и условия. Всё собирается в игровом редакторе или в yml, без кода. Бесплатной версии хватает на простые предметы, Premium снимает лимиты.
Каждый предмет ExecutableItems хранит внешний вид (материал, имя, лор, модель) и список активаторов. Активатор привязан к событию игры: правый клик, удар по игроку, поломка блока, поедание. Когда событие происходит с предметом, срабатывают команды, кулдаун и условия этого активатора.
plugins./ei create power_sword, затем донастройте его в меню /ei editor или в файле.Предметы лежат в plugins/ExecutableItems/items/. Туда можно добавлять подпапки для порядка, после переноса файлов нужен /ei reload.
Меч, который по правому клику даёт силу на 5 секунд с кулдауном 30 секунд. Один активатор, поэтому работает и в бесплатной версии.
material: DIAMOND_SWORD
name: '&cМеч силы'
lore:
- '&7ПКМ: сила на 5 секунд'
usage: -1
keepDefaultAttributes: true
activators:
activator0:
name: '&eСила'
option: PLAYER_RIGHT_CLICK
cancelEvent: false
playerCommands:
- effect give %player% strength 5 1
silenceOutput: true
cooldownFeatures:
cooldown: 30
isCooldownInTicks: false
cooldownMsg: '&cПодождите &e%time_S%&c сек.'
displayCooldownMessage: trueoption: тип активатора. PLAYER_RIGHT_CLICK срабатывает, только когда предмет в руке. Название пишется точно как в официальном списке активаторов, премиумные активаторы в бесплатной версии не работают.playerCommands: команды от имени игрока, %player% подставляет ник.silenceOutput: true прячет вывод ванильных команд из консоли.usage: -1: у предмета нет счётчика использований, он не исчезает.keepDefaultAttributes: true на 1.21+ сохраняет урон меча. Без него предмет без своих атрибутов теряет ванильные и бьёт как кулак.cancelEvent: true отменило бы само событие: например, с PLAYER_BLOCK_BREAK блок перестал бы ломаться.Без права игрок получает сообщение об отказе. Для каждого предмета есть узел ei.item.{id}, для всех сразу ei.item.*. Документация советует выдать его группе через LuckPerms:
/lp group default permission set ei.item.* true
ei.nocd.{id} или ei.nocd.*: обход кулдаунов.ei.cmds: все команды плагина, ei.*: вообще всё.-ei.item.{id} можно только в Premium.| Free | Premium | |
|---|---|---|
| Предметов | до 500 | без лимита |
| Активаторов на предмет | 1 | без лимита |
| Типов активаторов | около 14 | 90+ |
| Подпись в лоре | есть | нет |
В Premium также открываются usageModification (активатор тратит или добавляет использования) и требования к активатору: деньги, уровень, опыт, другие предметы. Premium продаётся на SpigotMC за €19.99.
Текстуру даёт ресурспак, а предмет ссылается на неё через custom model data. Пример из документации: булава, которая выглядит как бита. Имена файлов и папок только строчными латинскими буквами и подчёркиваниями.
pack.mcmeta с "pack_format": 46 (1.21.4+).assets/minecraft/items/mace.json: модель типа select по свойству custom_model_data, где кейс "when": "bat" ведёт на модель item/bat, а fallback на обычную item/mace.assets/minecraft/models/item/bat.json с "parent": "item/generated" и "layer0": "item/bat".assets/minecraft/textures/item/bat.png.В предмете:
material: MACE customModelData: type: STRING value: bat
Пак можно раздавать самим плагином: selfHostPack: true в config.yml, либо своей ссылкой в texturesPackUrl. После изменений текстур /ei refresh-pack перезагрузит пак у онлайн-игроков. Учтите: в гайде по своей еде документация пишет, что перетекстуривание требует Premium.
keepDefaultAttributes сразу всем предметам: /ei util-set-keepdefaultattributes-all-ei true.option и то, в каком слоте предмет. PLAYER_BLOCK_BREAK и многие другие активаторы есть только в Premium.ei.item.* или игрок на кулдауне./ei refresh подтянет последнюю версию конфига.| Команда | Что делает | Право |
|---|---|---|
/ei create {id} | создать новый предмет | ei.cmd.create |
/ei editor | меню редактора предметов (или /ei show) | ei.cmd.editor |
/ei reload [id] | перезагрузить плагин или один предмет | ei.cmd.reload |
/ei give {игрок} {id} {кол-во} | выдать предмет игроку | ei.cmd.give |
/ei giveall {id} {кол-во} [мир] | выдать предмет всем | ei.cmd.giveall |
/ei take {игрок} {id} {кол-во} | забрать предмет из инвентаря | ei.cmd.take |
/ei drop {id} {кол-во} [мир x y z] | выбросить предмет на координатах | ei.cmd.drop |
/ei edit {id} | открыть редактор конкретного предмета | ei.cmd.edit |
/ei delete {id} | удалить предмет | ei.cmd.create |
/ei inspect | осмотреть предмет в руке | ei.cmd.inspect |
/ei refresh {игрок} {id} {resetUsage} {resetDurability} | обновить предметы игрока до текущего конфига | ei.cmd.refresh |
/ei clear {игрок} | сбросить кулдауны и отложенные команды | ei.cmd.clear |
/ei trigger {игрок} {id} {активатор} | запустить активатор командой | ei.cmd.trigger |
/ei default_items | заново создать стандартные предметы | ei.cmd.default_items |
/ei refresh-pack | перезагрузить ресурспак у онлайн-игроков | ei.cmd.refresh-pack |
/ei download-default-pack | скачать и распаковать стандартный пак | ei.cmd.download-default-pack |
ExecutableItems уже стоит и настроен в готовых сборках Cloud Delight: права, меню, защита и донат собраны в одно целое. Скачали, запустили, играете.