Перейти к содержанию

Советы КБшерам


Рекомендуемые сообщения

В теме 20 сообщений

 P:S КБ - командный блок. ДП - датапак.

Ну что, поехали!

1. Дабы определить держит ли в руках игрок предмет нужно использовать селектор @a[nbt={SelectedItem:{}}]

tag - Фигурные скобочки, хранятся все тэги предмета. (Compound)

id - Кавычки, как понятно айди. Айди пишется "minecraft:предмет". (String)

Count - Количество предмета в стаке, максимум 127 (Максимальное число хранимое видом информации byte.) После цифры пишется b

2.  Если вы пишите датапак, то запомните эту вещь.

Привязывая функции к сущностям (execute as селектор at @s run function функция) НЕ НУЖНО второй раз использовать команду execute. Если же вам не нужно использовать параметр if, unless, positoned, store, facing, anchored, align, rotated.

3. Если кто то не знает, scoreboard критерий скорборда определяющего шифт minecraft.custom:minecraft.sneak_time.

4. Параметр scale который используется в data, или в записывании используя execute store entity это множитель. 

5. Агрессивные волки, или големы. Как их сделать? Ну, есть параметр AngryAt. /data modify entity @e[distance=..5,type=wolf,limit=1]* AngryAt set from entity @s* UUID.

@e[distance=..5,type=wolf,limit=1]* - Селектор того, кого вы хотите сделать злым (Работает только на нейтральных мобов). Обязательно поставьте limit=1, либо используйте execute as Селектор at @s run /data modify entity @s ... Но в таком случае, не используйте @s и после ...set from entity.  

@s - Тот на кого вы хотите с агрить моба. Тоже нужно указать limit=1, но уже можно использовать игроков.

6. Просто хочу сказать Inventory:[{Slot:АйдиСлота,id:"minecraft:air"}] не работает. Дабы проверить то что слот пуст используйте execute unless data entity @s Inventory:[{Slot:АйдиСлота}].

7. Все функции выполняются в один тик, т.е не пытайтесь сделать в функции которая запускается из цикличной функции таймер с помощью рекурсии. Используйте ту самую цикличную функцию для создания таймера. Или не используйте рекурсию.

8. У стрел есть другой тэг вместо OnGround, у них вместо него inGround.

А, и можете сюда свои вопросы задавать... Типо да. Или писать свои советы.

Ссылка на комментарий
Поделиться на другие сайты

22.05.2021 в 16:26, AngryMan сказал:

 P:S КБ - командный блок. ДП - датапак.

Ну что, поехали!

1. Дабы определить держит ли в руках игрок предмет нужно использовать селектор @a[nbt={SelectedItem:{}}]

tag - Фигурные скобочки, хранятся все тэги предмета. (Compound)

id - Кавычки, как понятно айди. Айди пишется "minecraft:предмет". (String)

Count - Количество предмета в стаке, максимум 127 (Максимальное число хранимое видом информации byte.) После цифры пишется b

2.  Если вы пишите датапак, то запомните эту вещь.

Привязывая функции к сущностям (execute as селектор at @s run function функция) НЕ НУЖНО второй раз использовать команду execute. Если же вам не нужно использовать параметр if, unless, positoned, store, facing, anchored, align, rotated.

3. Если кто то не знает, scoreboard критерий скорборда определяющего шифт minecraft.custom:minecraft.sneak_time.

4. Параметр scale который используется в data, или в записывании используя execute store entity это множитель. 

5. Агрессивные волки, или големы. Как их сделать? Ну, есть параметр AngryAt. /data modify entity @e[distance=..5,type=wolf,limit=1]* AngryAt set from entity @s* UUID.

@e[distance=..5,type=wolf,limit=1]* - Селектор того, кого вы хотите сделать злым (Работает только на нейтральных мобов). Обязательно поставьте limit=1, либо используйте execute as Селектор at @s run /data modify entity @s ... Но в таком случае, не используйте @s и после ...set from entity.  

@s - Тот на кого вы хотите с агрить моба. Тоже нужно указать limit=1, но уже можно использовать игроков.

6. Просто хочу сказать Inventory:[{Slot:АйдиСлота,id:"minecraft:air"}] не работает. Дабы проверить то что слот пуст используйте execute unless data entity @s Inventory:[{Slot:АйдиСлота}].

 

 

А, и можете сюда свои вопросы задавать... Типо да.

Прикольно. Дофига будет пользы

Ссылка на комментарий
Поделиться на другие сайты

22.05.2021 в 16:26, AngryMan сказал:

 P:S КБ - командный блок. ДП - датапак.

Ну что, поехали!

1. Дабы определить держит ли в руках игрок предмет нужно использовать селектор @a[nbt={SelectedItem:{}}]

tag - Фигурные скобочки, хранятся все тэги предмета. (Compound)

id - Кавычки, как понятно айди. Айди пишется "minecraft:предмет". (String)

Count - Количество предмета в стаке, максимум 127 (Максимальное число хранимое видом информации byte.) После цифры пишется b

2.  Если вы пишите датапак, то запомните эту вещь.

Привязывая функции к сущностям (execute as селектор at @s run function функция) НЕ НУЖНО второй раз использовать команду execute. Если же вам не нужно использовать параметр if, unless, positoned, store, facing, anchored, align, rotated.

3. Если кто то не знает, scoreboard критерий скорборда определяющего шифт minecraft.custom:minecraft.sneak_time.

4. Параметр scale который используется в data, или в записывании используя execute store entity это множитель. 

5. Агрессивные волки, или големы. Как их сделать? Ну, есть параметр AngryAt. /data modify entity @e[distance=..5,type=wolf,limit=1]* AngryAt set from entity @s* UUID.

@e[distance=..5,type=wolf,limit=1]* - Селектор того, кого вы хотите сделать злым (Работает только на нейтральных мобов). Обязательно поставьте limit=1, либо используйте execute as Селектор at @s run /data modify entity @s ... Но в таком случае, не используйте @s и после ...set from entity.  

@s - Тот на кого вы хотите с агрить моба. Тоже нужно указать limit=1, но уже можно использовать игроков.

6. Просто хочу сказать Inventory:[{Slot:АйдиСлота,id:"minecraft:air"}] не работает. Дабы проверить то что слот пуст используйте execute unless data entity @s Inventory:[{Slot:АйдиСлота}].

 

 

А, и можете сюда свои вопросы задавать... Типо да.

AngryAT на 1.13 не работает, помоги с 1.13

 

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, Marcus_Layer сказал:

AngryAT на 1.13 не работает, помоги с 1.13

 

а как ты хочешь сделать команду

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Marcus_Layer сказал:

AngryAT на 1.13 не работает, помоги с 1.13

На 1.13 нет такого NBT тега. Это всё для 1.16.

Ссылка на комментарий
Поделиться на другие сайты

2 часа назад, BananVovan сказал:

as @ - selector,
at @selector - position

а если быть точнее, то as @a[] может сделать вас исполнителем команды, например execute as @e[type=pig] run data merge entity @s {Motion:[0.5,0.5,0.0]}
at @a[] определяет ваши координаты (и можно делать определения с относительными  и локальными координатами), например execute at @a if block ~ ~-1 ~ iron_block run effect give @p speed 1 0 true

Ссылка на комментарий
Поделиться на другие сайты

В принципе, я тоже самое сказал. Хотя да, надо было уточнить что as - исполнитель. И я бы лучше вместо этого
execute at @a if block ~ ~-1 ~ iron_block run effect give @p speed 1 0 true,
написал бы это
execute as @a at @s if block ~ ~-1 ~ iron_block run effect give @s speed 1 0 true.
Может тут я и не прав, но у @p будет возможность выдать постороннему человеку случайно эффект.

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, BananVovan сказал:

В принципе, я тоже самое сказал. Хотя да, надо было уточнить что as - исполнитель. И я бы лучше вместо этого
execute at @a if block ~ ~-1 ~ iron_block run effect give @p speed 1 0 true,
написал бы это
execute as @a at @s if block ~ ~-1 ~ iron_block run effect give @s speed 1 0 true.
Может тут я и не прав, но у @p будет возможность выдать постороннему человеку случайно эффект.

ну если это будет сервер с большим онлайном, то да

Ссылка на комментарий
Поделиться на другие сайты

Кстати, если нужно выполнить команду относительно локальных координат (например перетаскивание сущностей относительно зрения) ловите команду:
execute as @a positoned ^ ^1.6 ^ run tp ~ ~2 ~

Можно добавить в советы

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, AGreatScientist сказал:

Кстати, если нужно выполнить команду относительно локальных координат (например перетаскивание сущностей относительно зрения) ловите команду:
execute as @a positoned ^ ^1.6 ^ run tp ~ ~2 ~

Можно добавить в советы

anchored

Ссылка на комментарий
Поделиться на другие сайты

56 минут назад, AGreatScientist сказал:

Нет, именно positoned

чел, легче anchored, твой вариант для стивоподобных сущностей, да и то у тебя погрешность - ~ ~1.62 ~

Ссылка на комментарий
Поделиться на другие сайты

33 минуты назад, Mysterious_Human сказал:

чел, легче anchored, твой вариант для стивоподобных сущностей, да и то у тебя погрешность - ~ ~1.62 ~

Во первых: не ~ ~1.62 ~ а ^ ^1.6 ^, во вторых с таким же успехом можно написать execute at @e positoned ^ ^1.6 ^

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, AGreatScientist сказал:

Во первых: не ~ ~1.62 ~ а ^ ^1.6 ^, во вторых с таким же успехом можно написать execute at @e positoned ^ ^1.6 ^

я же говорю, легче и функциональнее anchored eyes, у тебя есть погрешность.

Ссылка на комментарий
Поделиться на другие сайты

49 минут назад, Mysterious_Human сказал:

я же говорю, легче и функциональнее anchored eyes, у тебя есть погрешность.

НЕТ, так неудобно

Ссылка на комментарий
Поделиться на другие сайты

  • 10 месяцев спустя...
В 01.08.2021 в 16:27, AGreatScientist сказал:

НЕТ, так неудобно

У модификатора anchored больше возможностей. Если игрок будет на шифте, то придётся делать дополнительную проверку; а если игрок будет лёжа? anchored эффективней

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...