SPluginsSPlugins

Эта страница переведена с английского с помощью ИИ. Улучшите перевод или прочитайте оригинал.

Идеи предметов: как создать...?

Что это за страница?

  • Эта страница представляет собой общее объяснение распространённых идей предметов, о реализации которых часто спрашивают. Поэтому, если вы хотите что-то создать и не знаете, как это сделать, сначала загляните сюда: возможно, ваш вопрос уже здесь, или здесь найдётся похожий метод, глядя на который вы поймёте, как воссоздать нужный эффект, зная принцип работы плагина ^^
Информация

Эта страница подсказывает вам, как что-то сделать, или даёт идею. Если вы не знаете, как работает условие, команда, плейсхолдер и т.д., это не то место, где этому учат: вы можете изучить соответствующие разделы вики. Здесь вы получите только идею, а не пошаговое руководство.

Я хочу, чтобы способность моего ExecutableItem не работала в определённом регионе

  • Внутри активатора, содержащего вашу "способность", перейдите в playerConditions и найдите "ifNotInRegion", используйте его по своему усмотрению: с его помощью вы можете добавлять регионы в чёрный список.

Я хочу, чтобы способность моего ExecutableItem работала только в определённом регионе

  • Внутри активатора, содержащего вашу "способность", перейдите в playerConditions и найдите "ifInRegion", используйте его по своему усмотрению: с его помощью вы можете добавлять регионы в белый список.

Я хочу, чтобы перед использованием предмета появлялось подтверждение

  • Просто используйте кастомное условие EI внутри активатора и включите "ifNeedPlayerConfirmation"

Броня, поджигающая противника, который вас ударил

  • Создайте активатор PLAYER_RECEIVE_HIT_BY_PLAYER и в targetCommands используйте команду BURN <seconds>
  • Если хотите того же для сущностей, сделайте то же самое, но с PLAYER_RECEIVE_HIT_BY_ENTITY
Информация

Не забудьте указать правильные detailedSlots

Предмет, работающий только на личном клейме

  • Внутри нужного активатора добавьте playerCondition ifPlayerMustBeOnHisClaim

Предмет, работающий только на личном клейме и не работающий на незаклеймённых территориях

  • Создайте внутри нужного активатора плейсхолдер-условие такого вида
    • PLAYER_STRING
    • NOT EQUALS
    • part1: %griefprevention_currentclaim_ownername%
    • part2: Unclaimed

Как сделать предмет, который притягивает других игроков к вам?

  • В нужном активаторе, в командах, используйте команду AROUND в сочетании с CUSTOMDASH1, используя плейсхолдеры позиции игрока. Таким образом, при правом клике команда CUSTOMDASH1 рывком переместит людей ВОКРУГ вас к ВАШИМ координатам, то есть фактически притянет их.

Как создать топор-лесоруба (treecapitator)?

  • Активатор PLAYER_BREAK_BLOCK, а в blockCommands используйте команду VEINBREAKER

Я хочу отключить надевание предмета на голову

  • Создайте активатор PLAYER_EQUIP_THE_EI и включите cancelEvent

Отключить отображение никнейма при клике

  • Создайте активатор PLAYER_CLICK_ON_ENTITY -> detailedClick right и включите cancel event

Я хочу создать броню, которая даёт вам больше...

  • Если вы хотите добавить дополнительные сердца, скорость, сопротивление отбрасыванию, броню и т.д. на вашу броню, меч, кирку или что угодно ещё, вам нужно работать с атрибутами.

Как запустить команду при клике на игрока

  • Просто используйте активатор PLAYER_CLICK_ON_PLAYER и добавьте в commands всё, что хотите
Информация

То же самое, если вы хотите запускать команду при ударе, но с активатором PLAYER_HIT_PLAYER

Предмет, отключающий отбрасывание (knockback)

  • Лучший способ добиться этого: использовать атрибуты и KNOCKBACK RESISTANCE. Но если вы хотите, чтобы это работало независимо от того, где предмет находится в инвентаре, создайте активатор PLAYER_RECEIVE_HIT_GLOBAL и телепортируйте игрока на самого себя, что-то вроде
    • execute at %player% run tp %player% ~ ~ ~

Я хочу предмет, который даёт замедление всем окружающим меня людям

  • Используйте команду AROUND и выдайте эффект с плейсхолдерами around. Подробнее о команде AROUND смотрите в вики.

Запрет окрашивания табличек и ошейников волков

  • Для ТАБЛИЧКИ:
    • Активатор: PLAYER_RIGHT_CLICK
    • ONLY_BLOCK
    • detailedBlocks: <Here add the signs you want to block>
    • И включите cancel event
  • Для ошейников волков:
    • Активатор: PLAYER_CLICK_ON_ENTITY
    • detailedClick: RIGHT
    • detailedEntities: WOLF
    • И включите cancel event

Создать волка, который остаётся на "x" секунд, а затем исчезает

Если хотите создать что-то вроде питомца-волка, который существует "x" секунд, добавьте это:

playerCommands:
- execute at %player% run summon wolf ~ ~ ~ {Owner: %player%,Tags:["%player%wolf"]}
- DELAY 10
- execute run kill @e[tag=%player%wolf]
just modify the delay depending the time you want the wolf to be alive

Броня, отключающая урон от лавы и огня

  • Создайте активатор PLAYER_RECEIVE_HIT_GLOBAL, в detailedDamage добавьте LAVA, FIRE_TICK и FIRE, затем включите cancelEvent в этом активаторе.

  • Убедитесь, что вы выбрали правильный detailedSlot для используемой части брони

    Если хотите отключить анимацию огня, максимум, чего можно добиться: создать LOOP-активатор с командой REMOVEBURN.

Броня, позволяющая дышать под водой

  • Создайте активатор LOOP, выберите правильный detailedSlot и выдайте игроку эффект water_breathing.

Запрет на отмывание кожаной крашеной брони в котле

  • Просто создайте активатор RIGHT_CLICK, затем typeTarget: ONLY_BLOCK_CLICK, detailedBlocks: CAULDRON и включите cancel event.

Предмет, открывающий GUI

  • В плагинах GUI обычно есть место для указания игрока, например, команда может выглядеть как /opengui <player>, поэтому внутри вашего предмета нужно добавить /opengui %player%
    • если команда другая, просто замените её, например /enchanttable %player%
  • Если в вашем плагине нет такой возможности, вместо указания места для игрока используйте SUDOOP, например:
    • SUDOOP opengui
    • SUDOOP enchanttable

Остановить бросок трезубца

  • Добавьте активатор PLAYER_LAUNCH_PROJECTILE и включите cancelEvent на true

Я хочу отключить урон от падения для моей брони

  • Используйте активатор PLAYER_RECEIVE_HIT_GLOBAL, укажите в detailedDamage FALL, затем включите cancel event

Запрет набора воды бутылкой

  • PLAYER_RIGHT_CLICK и включите cancel event

Проверить, ловит ли игрок рыбой другого игрока

  • Используйте активаторы PROJECTILE_HIT_PLAYER, PLAYER_FISH_PLAYER, LOOP-активатор и переменную. (А также несколько активаторов для предотвращения багов)
    • Как только крючок удочки попадает в игрока, сработает PROJECTILE_HIT_PLAYER, поэтому установите вашу переменную в значение "%target%"
    • LOOP-активатор будет работать только если переменная отличается от "NO", и вы можете использовать переменную, чтобы указать выловленного игрока.
    • И если игрок ВЫЛАВЛИВАЕТ цель, установите переменную в "NO", чтобы сбросить её и остановить работу
    • Активаторы для предотвращения багов: PLAYER_DROP_THE_EI и PLAYER_DESELECT_THE_EI, сбрасывайте в них переменную ИЛИ отменяйте событие.

Призвать молнию в точке прицеливания (на курсоре)

  • Сначала создайте активатор PLAYER_ALL_CLICK, PLAYER_RIGHT_CLICK или PLAYER_LEFT_CLICK
  • Затем в commands используйте кастомную команду SPAWNENTITYONCURSOR LIGHTNING 1
    • По умолчанию это не наносит урон, поэтому дополнительно можно добавить кастомную команду DAMAGE <number>

Как увеличивать максимум здоровья на "x" каждый раз при срабатывании активатора

  • Чтобы увеличить максимум здоровья, вам понадобится PlaceholderAPI и Player expansion, команда будет такой:
    • execute run attribute %player% minecraft:generic.max_health base set %player_max_health%+2

Как восстанавливать здоровье за удар

  • В активаторе, связанном с ударом, таком как PLAYER_HIT_PLAYER и PLAYER_HIT_ENTITY, используйте команду REGAIN_HEALTH в playerCommands, подробнее об этой команде смотрите в разделе Commands.
  • Если хотите восстанавливать столько же здоровья, сколько нанесли урона, используйте плейсхолдер EI %last_damage_dealt%

Лук, взрывающийся при попадании снаряда в блок

  • Создайте активатор PROJECTILE_HIT_BLOCK на вашем предмете, в commands можно использовать
    • EXPLODE blockCommand
    • execute at %player% run summon tnt %block_x_int% %block_y_int% %block_z_int%
      • После этой строки вам понадобится execute run kill %projectile_uuid%
    • или то же самое, но призывая крипера

Я хочу отключить заряд лука или арбалета

  • Это пока невозможно с помощью ExecutableItems: единственное, что может сделать EI, это предотвратить выстрел снаряда луком или арбалетом, но отключить заряд? нет.

Как создать броню, отключающую замерзание игрока (1.18)

  • Можно запустить команду FREEZE в LOOP-активаторе, вот так:
    playerCommands:
    - 'LOOP START: 20'
    - GLACIAL_FREEZE 1
    - DELAYTICK 1
    - LOOP END

Я хочу, чтобы активатор работал только если у игрока определённое значение на scoreboard

Просто используйте расширение Scoreboard для PlaceholderAPI, а затем используйте их плейсхолдеры в разделе placeholderCondition внутри вашего активатора ^^

Попробуйте прямо сейчас

Скопируйте это в ExecutableItems и перезагрузите

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

playerCommands:
- execute at %player% run summon wolf ~ ~ ~ {Owner: %player%,Tags:["%player%wolf"]}
- DELAY 10
- execute run kill @e[tag=%player%wolf]
just modify the delay depending the time you want the wolf to be alive
E

Плагин, используемый на этой странице

ExecutableItems

Кастомные предметы со способностями, активаторами и командами: без кода.

Создано 3 окт. 2026 г.Обновлено 3 окт. 2026 г., автор: Ssomar
Редактировать страницу на GitHub