ССИС
В другом языковом разделе есть более полная статья.
Вы можете помочь проекту, расширив текущую статью с помощью перевода.
| |
См. Scoreboard на английском языке. |
Только для Java Edition и Bedrock Edition |
Система счёта игровых событий (ССИС, англ. scoreboard) — сложная система игровой механики, позволяющая отслеживать статистику игроков. В основном предназначена для разработчиков карт и операторов серверов.
Задачи
Задачи состоят из трёх основных параметров: название, тип и отображаемое название. Счёт в задаче — целое число от -2 147 483 648 до 2 147 483 647.
Название используется внутри команд в качестве ссылки. Должно быть уникальным и содержать только определённые символы.
Отображаемое название используется при отображении на экране. Может быть не уникальным и состоять из различных символов.
Тип определяет, что отслеживает задача.
Счёт может быть изменён с помощью команд, если указанная задача не является задачей только для чтения. При изменении счёта задачи, отслеживающей статистику, отслеживаемая статистика не изменится — счёт задачи изменится при обновлении статистики.
Параметр селектора scores={задача=диапазон}
позволяет произвести поиск сущностей с счётом определённого диапазона в указанной задаче.
Тип
Тип | Описание | Можно изменить значение? |
---|---|---|
dummy
|
Счёт может быть изменён только командами. Может быть полезно, например, при математических вычислениях. | Да |
trigger
|
Счёт может быть изменён только командами. Игрок может использовать команду /trigger , чтобы изменить свой счёт в задаче с этим типом, если эта задача «включена» для данного игрока. После выполнения команды, задача «отключается» для игрока, исполнившего эту команду.
|
Да |
deathCount
|
Счёт игрока увеличивается с его смертью. | Да |
playerKillCount
|
Счёт игрока увеличивается с убийством другого игрока. | Да |
totalKillCount
|
Счёт игрока увеличивается с убийством моба или другого игрока. | Да |
health
|
Счёт игрока соответствует количеству его ед. здоровья. | Нет |
food
|
Счёт игрока соответствует количеству его ед. сытости. | Нет |
xp
|
Счёт игрока соответствует количеству его ед. опыта. | Нет |
level
|
Счёт игрока соответствует его уровню опыта. | Нет |
air
|
Счёт игрока соответствует количеству его кислорода. | Нет |
armor
|
Счёт игрока соответствует количеству его очков защиты. | Нет |
Составные типы — типы, разделяемые точками. Счёт всех составных типов может быть изменён командами. В начале и после двоеточия у составных типов, использующих систему статистики, может указываться пространство имён; если оно не указано, будет использовано пространство имён minecraft
. Например, custom:jump
соответствует minecraft.custom:minecraft.jump
.
Список составных типов:
Основа | Подтипы | Описание | ||
---|---|---|---|---|
custom:
|
Идентификатор основной статистики. Список идентификаторов см. в этой таблице. | Счёт увеличивается, когда происходит указанное статистикой действие. | ||
crafted:
|
Идентификатор блока или предмета, который возможно создать/выплавить.
|
Счёт игрока увеличивается на количество блоков/предметов, взятых им из печи, верстака или слота создания в инвентаре. | ||
used:
|
Идентификатор блока или предмета. Большинство идентификаторов доступны, за исключением некоторых.
|
Счёт игрока увеличивается с использованием блока/предмета. «Использованием» является следующее:
В других случаях счёт игрока не увеличивается. | ||
broken:
|
Идентификатор предмета, имеющего прочность.
|
Счёт игрока увеличивается с поломкой предмета. | ||
mined:
|
Идентификатор блока. Большинство идентификаторов доступны, за исключением идентификаторов нерушимых или технических блоков.
|
Счёт игрока увеличивается с разрушением указанного блока. Если игрок в творческом режиме, счёт не увеличивается. | ||
killed:
|
Идентификатор сущности. | Счёт игрока увеличивается с убийством указанной сущности. | ||
picked_up:
|
Идентификатор блока/предмета. | Счёт игрока увеличивается с подбиранием указанного предмета/блока. | ||
dropped:
|
Идентификатор блока/предмета. | Счёт игрока увеличивается с выбрасыванием указанного предмета/блока. | ||
killed_by:
|
Идентификатор сущности. | Счёт игрока увеличивается, когда его убивает указанная сущность. | ||
teamkill.
|
Цвет команды. Список доступных цветов см. в этой таблице. | Счёт игрока увеличивается с убийством участника команды указанного цвета. | ||
killedByTeam.
|
Цвет команды. Список доступных цветов см. в этой таблице. | Счёт игрока увеличивается, когда его убивает участник команды указанного цвета. |
Слоты отображения
С помощью команды /scoreboard objectives setdisplay
, счёт различных сущностей в указанной задаче может быть отображён в определённом слоте отображения. Слоты отображения способны отображать только одну задачу.
Слот | Описание |
---|---|
list | Отображает счёт игрока в виде сердечек или жёлтого числа после его имени в списке игроков. По умолчанию в виде сердечек отображается только задача с типом «health». |
sidebar | Отображает счёт сущностей на боковой панели. Заголовок панели — отображаемое название задачи. Максимальное количество записей на панели — 15. Записи с бо́льшим счётом отображаются выше. Записи, начинающиеся на знак решётки (# ), не отображаются на панели.
|
sidebar.team.цвет | Отображает счёт так же, как sidebar , но только игроку, состоящему в команде с указанным цветом (например, «sidebar.team.green» отобразит панель только игрокам зелёной команды). Список доступных цветов см. в этой таблице.
|
belowName | Отображает счёт игрока под его именем в виде «счёт_игрока отображаемое_название_задачи». Скрывается, если игрок находится более чем в 10-ти блоках от наблюдателя или крадётся. |
Формат NBT
Файл scoreboard.dat, находящийся в папка_мира\data
, хранит данные о ССИС данного мира. Является сжатым GZip-файлом.
- Корень.
- data: Данные ССИС.
- Objectives: Список составных тегов, хранящих данные о задачах.
-
- CriteriaName: Тип задачи. Если это тип, использующий систему статистики, должно быть указано пространство имён.
- DisplayName: Отображаемое название задачи в формате JSON. Принимает значение
{"text":"название задачи"}
, если при создании задачи не указывается её отображаемое название. - Name: Название задачи.
- RenderType: Способ отображения задачи. Может быть
integer
илиhearts
. По умолчаниюinteger
.
-
- PlayerScores: Список составных тегов, хранящих данные о счётах сущностей.
-
- Score: Счёт.
- Name: UUID сущности или имя игрока.
- Objective: Задача, в которой всё это хранится.
- Locked: 1 — задача выключена, 0 — включена (только для задач-триггеров).
-
- Teams: Список составных тегов, хранящих данные о командах сущностей.
-
- AllowFriendlyFire: 1 — участники команды могут наносить урон друг другу, 0 — нет.
- SeeFriendlyInvisibles: 1 — участник команды способен видеть невидимых союзников. 0 — нет.
- NameTagVisibility: Значение параметра «nametagVisibility»:
never
,hideForOtherTeams
,hideForOwnTeam
илиalways
. - DeathMessageVisibility: Значение параметра «deathMessageVisibility»:
never
,hideForOtherTeams
,hideForOwnTeam
илиalways
. - CollisionRule: Значение параметра «collisionrule»:
always
,pushOwnTeam
,never
илиpushOtherTeams
. - DisplayName: Отображаемое название команды в формате JSON. Принимает значение
{"text":"название команды"}
, если при создании команды не указывается её отображаемое название. - Name: Название команды.
- MemberNamePrefix: Префикс перед именами участников команды в формате JSON.
- MemberNameSuffix: Постфикс после имён участников команды в формате JSON.
- TeamColor: Цвет, использующийся для слотов отображения «sidebar.team.цвет», задач с типом «killedByTeam.цвет» и «teamkill.цвет», цвета подсветки участника и для прочего.
- Players: Список участников команды.
- Участник команды.
-
- DisplaySlots: Слоты, отображающие определённые задачи.
- slot_0: Название задачи, отображаемой в слоте «list».
- slot_1: Название задачи, отображаемой в слоте «sidebar».
- slot_2: Название задачи, отображаемой в слоте «belowName».
- slot_3: Название задачи, отображаемой в слоте «sidebar.team.black».
- slot_4: Название задачи, отображаемой в слоте «sidebar.team.dark_blue».
- slot_5: Название задачи, отображаемой в слоте «sidebar.team.dark_green».
- slot_6: Название задачи, отображаемой в слоте «sidebar.team.dark_aqua».
- slot_7: Название задачи, отображаемой в слоте «sidebar.team.dark_red».
- slot_8: Название задачи, отображаемой в слоте «sidebar.team.dark_purple».
- slot_9: Название задачи, отображаемой в слоте «sidebar.team.gold».
- slot_10: Название задачи, отображаемой в слоте «sidebar.team.gray».
- slot_11: Название задачи, отображаемой в слоте «sidebar.team.dark_gray».
- slot_12: Название задачи, отображаемой в слоте «sidebar.team.blue».
- slot_13: Название задачи, отображаемой в слоте «sidebar.team.green».
- slot_14: Название задачи, отображаемой в слоте «sidebar.team.aqua».
- slot_15: Название задачи, отображаемой в слоте «sidebar.team.red».
- slot_16: Название задачи, отображаемой в слоте «sidebar.team.light_purple».
- slot_17: Название задачи, отображаемой в слоте «sidebar.team.yellow».
- slot_18: Название задачи, отображаемой в слоте «sidebar.team.white».
- Objectives: Список составных тегов, хранящих данные о задачах.
- data: Данные ССИС.
История
Официальный выпуск Java Edition | |||||
---|---|---|---|---|---|
1.5 | 13w04a | ССИС добавлена в игру. | |||
13w05a | Добавлено управление командами. | ||||
1.7.2 | 13w36a | Добавлены типы задач, основанные на статистике. | |||
1.8 | 14w02a | Помимо игроков в ССИС становится возможным включать сущности. | |||
14w06a | Добавлены типы задач: trigger , killedByTeam.цвет и teamkill.цвет .
| ||||
Добавлена команда /scoreboard players enable .
| |||||
Становится возможным использование * в качестве имени игрока, чтобы указать всех отслеживаемых сущностей.
| |||||
Новый аргумент [задача] у команды /scoreboard players reset .
| |||||
Типы задач, основанные на статистике, используют именные ID вместо числовых. | |||||
Добавлен тип задачи achievement.overpowered . | |||||
14w07a | Добавлены: /scoreboard players operation и /scoreboard players test .
| ||||
Счёт игроков, имена которых начинаются на # не отображаются на боковой панели.
| |||||
Добавлены слоты отображения: sidebar.team.цвет .
| |||||
Добавлен параметр команд nametagVisibility . | |||||
14w10a | Добавлен параметр команд deathMessageVisibility .
| ||||
Новый аргумент [тегДанных] у команд /scoreboard players set , /scoreboard players add и /scoreboard players remove .
| |||||
Добавлены типы задач: stat.crouchOneCm , stat.sprintOneCm и stat.timeSinceDeath | |||||
14w25a | Добавлены арифметические операции: = , < и > . | ||||
14w29a | Записи на боковой панели вторично сортируются по алфавиту. | ||||
14w30a | Добавлены типы задач: stat.talkedToVillager и stat.tradedWithVillager | ||||
? | Добавлена арифметическая операция >< . | ||||
1.8.2 | Добавлены типы задач: stat.cauldronFilled , stat.cauldronUsed , stat.armorCleaned , stat.bannerCleaned , stat.brewingstandInteraction , stat.beaconInteraction , stat.dropperInspected , stat.hopperInspected , stat.dispenserInspected , stat.noteblockPlayed , stat.noteblockTuned , stat.flowerPotted , stat.trappedChestTriggered , stat.enderchestOpened , stat.itemEnchanted , stat.recordPlayed , stat.furnaceInteraction , stat.craftingTableInteraction и stat.chestOpened . | ||||
1.9 | 15w32a | Добавлен тип задачи stat.sneakTime . | |||
15w32b | Добавлена команда /scoreboard players tag .
| ||||
Добавлены типы задач: xp , food и air . | |||||
15w33a | Добавлены типы задач: stat.pickup , stat.drop , armor и level .
| ||||
Добавлены типы задач: armor и level . | |||||
15w36a | Добавлен параметр команд collisionRule . | ||||
15w49a | Добавлен тип задачи stat.aviateOneCm . | ||||
1.13 | pre7 | Добавлена команда /scoreboard objectives modify . | |||
1.13.1 | 18w31a | ||||
Официальный выпуск Bedrock Edition | |||||
1.7 | beta 1.7.0.2 | Добавлены основные функции ССИС. |
Проблемы
Отчёты об ошибках, связанных с «Система счёта игровых событий», поддерживаются в системе отслеживания ошибок Mojira. Сообщайте о найденных ошибках там (на английском языке).