Система счёта игровых событий

Материал из Minecraft Wiki
(перенаправлено с «ССИС»)
Перейти к: навигация, поиск
Java Edition.pngЛоготип Minecraft.svg

Только для 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. Цвет команды. Список доступных цветов см. в этой таблице. Счёт игрока увеличивается, когда его убивает участник команды указанного цвета.

Слоты отображения[править | править код]

Различное отображение задач: задача, отслеживающая здоровье, установлена в слоте отображения «list»; задача «Преодолено пешком» — в слоте отображения «sidebar»; задача «смертей» — в «belowName».

С помощью команды /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».

История[править | править код]

Официальный выпуск
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 Оператор %= теперь использует метод Math.floorMod вместо оператора % в Java.
Bedrock Edition
1.7 beta 1.7.0.2 Добавлены основные функции ССИС.

Проблемы[править | править код]

Вопросы, касающиеся «Система счёта игровых событий», ведутся в хранилище отчётов об ошибках. Отчёты о проблемах следует оставлять там.

См. также[править | править код]

Примечания[править | править код]