Bedrock 1.20–1.21, команды простой цели dummy · 5 мин чтения

Scoreboard Bedrock: создайте счётчик очков

Создайте цель dummy, задайте игроку начальный счёт и покажите его в sidebar. Затем проверьте прибавление и сброс. Scoreboard хранит числа, а правила выдачи очков вы задаёте командами и логикой своей карты.

Редакция LonelyCraft · Обновлено

Схема: Objective → Начисление → Отображение
Авторская схема LonelyCraft: последовательность действий и главные ориентиры.

Что такое цель и счёт

Цель scoreboard имеет техническое имя, критерий и необязательное отображаемое название. Игроки или другие держатели счёта получают отдельные значения внутри этой цели. Одно число само по себе не описывает победу, уровень или награду: назначение определяет проект.

Для простого Bedrock-счётчика используется критерий dummy. Значения меняются командами, поэтому событие нужно обработать отдельно. Не переносите автоматически Java-критерии статистики, если они отсутствуют в Bedrock. Выберите короткое уникальное имя, например project_points, чтобы не столкнуться с другой картой.

Создавайте пример в отдельном мире с доступом к командам. Запишите уже существующие цели, прежде чем менять отображение или удалять что-либо. Sidebar имеет своё место вывода; назначение новой цели может заменить показ другой. В общем проекте это должно быть согласованной частью интерфейса.

Подготовьте счёт вручную

В отдельном мире Bedrock включите Читы / Cheats и выполните команды ниже из чата своего игрока. Первая строка создаёт цель, вторая создаёт значение 0, третья показывает его справа. Официальная справка scoreboard перечисляет операции и поддерживаемый критерий dummy.

Теперь выполните /scoreboard players add @s project_points 1 три раза. Ожидается 3. Затем /scoreboard players remove @s project_points 1 даёт 2, а /scoreboard players set @s project_points 10 даёт ровно 10. Эти команды удобно сравнить до подключения к игровой награде.

  1. Создайте цель и значение командами из блока кода.
  2. Проверьте цель через /scoreboard objectives list и свои числа через /scoreboard players list @s.
  3. Выполните три прибавления, одно уменьшение и точное назначение; сопоставьте результат с 3, 2, 10.
  4. Верните исходное состояние /scoreboard players set @s project_points 0.
/scoreboard objectives add project_points dummy "Очки проекта"
/scoreboard players set @s project_points 0
/scoreboard objectives setdisplay sidebar project_points

Инициализация и рабочие события

Начальное создание цели нужно отделить от обычной награды. Повторный add objectives не является выдачей очков и обычно сообщает, что цель уже существует. Рабочая функция должна менять счёт, а подготовка — создавать необходимые структуры по понятному процессу.

Сброс тоже отдельное действие. Команда players set со значением ноль сохраняет назначенный счёт, а reset удаляет соответствующую запись по своему назначению. Выберите, что нужно интерфейсу после начала новой партии. Пустое значение и явно показанный ноль могут восприниматься по-разному.

Личный результат

Если очки должны принадлежать победителю, выберите именно его, а не всех игроков поблизости. @p зависит от места выполнения и может оказаться случайным соседом. В командном блоке @s не становится игроком автоматически. Для реального события нужен правильно заданный контекст.

Общий счёт

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

Проверьте двух игроков

Пусть оба игрока выполнят /scoreboard players set @s project_points 0. Первый трижды вводит /scoreboard players add @s project_points 1, второй ничего не вводит: ожидаются 3 и 0. Проверьте обоих через sidebar или /scoreboard players list <имя>.

Для однократной награды при нажатии кнопки используйте цепочку из статьи о командных блоках: tag @p add reward_request, условная выдача execute as @a[tag=reward_request,tag=!reward_taken] run scoreboard players add @s project_points 1, затем сохранение reward_taken и снятие временной метки. Второе нажатие должно оставить счёт неизменным.

Для нового раунда выполните /tag @a remove reward_taken, затем обнулите нужных участников через players set. На реальной карте ограничьте селектор составом игры; учебный @a включает всех игроков мира.

Показ результата и очистка

Скрыть боковую панель без удаления очков можно командой /scoreboard objectives setdisplay sidebar. Вернуть её — /scoreboard objectives setdisplay sidebar project_points. Проверка /scoreboard players list @s должна показать, что скрытие не изменило значения.

Личный сброс до видимого нуля: /scoreboard players set @s project_points 0. Удаление записи этого игрока: /scoreboard players reset @s project_points. После reset в списке уже нет этой записи, пока команда вновь не создаст её.

Полностью удалить учебную цель вместе со всеми её значениями можно /scoreboard objectives remove project_points. До удаления сохраните команды функций, которые на неё ссылаются, и завершите опыт на тестовой карте.

Поиск ошибки

Цель не создаётся: проверьте имя, критерий и существующий список. Значение не меняется: проверьте игрока и операцию. Число растёт слишком быстро: найдите повторяющийся вход. Награда у другого участника: проверьте контекст селектора. Каждая причина требует своей небольшой проверки.

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

Объединить рабочие команды помогает инструкция выдача через функцию.

Разобраться с повторяющимся запуском поможет материал режимы командного блока.

Частые вопросы

Dummy автоматически считает убийства?

В этом примере значения меняют команды проекта. Не переносите Java-критерии статистики без проверки Bedrock. Сначала определите событие и того, кому нужно выдать очко, затем вызывайте подходящую операцию.

Чем set отличается от add?

Set назначает точное число, add прибавляет к текущему. Для повторяемой награды обычно нужна прибавка. Если каждый раз назначать единицу, общий результат не будет расти после первого запуска.

Почему очки растут непрерывно?

Проверьте повторяющийся командный блок или tick-функцию. Каждое выполнение add меняет число заново. Для единственного события нужна отдельная логика условия и защиты от повторного вызова.

Можно ли удалить цель после окончания теста?

Да, если это ваша тестовая цель и другие части проекта не используют её. Remove objectives убирает связанные значения. Для скрытия интерфейса без потери данных выбирайте отдельное изменение отображения.

Просмотры: … · Один просмотр с браузера за день

Было полезно?Общий счёт: …

Одна реакция с браузера. Нажмите повторно, чтобы снять её, или выберите другую.

Источники и документация

строительствоscoreboardbedrock

Читайте дальше