Эта страница переведена с английского с помощью ИИ. Улучшите перевод или прочитайте оригинал.
Идеи предметов: как создать...?
Что это за страница?
- Эта страница представляет собой общее объяснение распространённых идей предметов, о реализации которых часто спрашивают. Поэтому, если вы хотите что-то создать и не знаете, как это сделать, сначала загляните сюда: возможно, ваш вопрос уже здесь, или здесь найдётся похожий метод, глядя на который вы поймёте, как воссоздать нужный эффект, зная принцип работы плагина ^^
Эта страница подсказывает вам, как что-то сделать, или даёт идею. Если вы не знаете, как работает условие, команда, плейсхолдер и т.д., это не то место, где этому учат: вы можете изучить соответствующие разделы вики. Здесь вы получите только идею, а не пошаговое руководство.
Я хочу, чтобы способность моего 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Плагин, используемый на этой странице
ExecutableItemsКастомные предметы со способностями, активаторами и командами: без кода.