FOnline Engine
Current master GitHub
Документация Docs/ru/reference/prototype-format/syntax.md

Синтаксис файлов прототипов

Сгенерированный справочник. Не редактируйте напрямую. Обновите BuildTools/PrototypeFormatInterface.json или владеющие метаданные движка, затем запустите python BuildTools/docs_prototype_format.py --write.

Индекс Синтаксис Свойства Валидация Каноническая JSON-модель Руководство

Baking.ProtoFileExtensions выбирает входные файлы. Значения движка по умолчанию: fopro. Встраивающий проект может добавлять расширения, не меняя разбор секций.

Каждый pack создаёт <pack>.fopro-bin-<side> для server, client, mapper. Каждая верхнеуровневая секция [ProtoMap] добавляет прототип Map; вложенные секции размещения на карте пропускаются.

Формы секций

Стабильный ID Синтаксис Разрешение Значение
prototype-format.section.proto-entity [Proto<Type>] Метаданные сущности типа <Type> с HasProtos Объявляет прототип встроенного или проектного типа сущности, в метаданных которого включены прототипы.
prototype-format.section.fixed-type [<FixedType>] Тип метаданных, объявленный через ///@ FixedType Объявляет подобное прототипу фиксированное значение, заданное метаданными встраивающего проекта.
prototype-format.section.fomap-proto-map [ProtoMap] Map Каждая верхнеуровневая секция ProtoMap объявляет прототип Map. Вложенные секции размещения $Name/Item и $Name/Critter пропускаются ProtoBaker и обрабатываются MapBaker.

Управляющие директивы

Стабильный ID Синтаксис Значение по умолчанию Значение
prototype-format.directive.name $Name = <PrototypeId> имя исходного файла без расширения Задаёт идентичность прототипа внутри разрешённого типа. Миграция ID выполняется до проверки дубликатов.
prototype-format.directive.parent $Parent = <ParentId> [<ParentId> ...] без родителей Перечисляет через пробел прототипы-родители того же типа. Родители объединяются слева направо, затем применяется дочерний прототип.

Минимальный пример

[ProtoItem]
$Name = BaseItem

[ProtoItem]
$Name = DerivedItem
$Parent = BaseItem

Тип выбирает секция, а не расширение или каталог. Значения разбирает общий parser конфигурации, включая комментарии #, продолжение строки конечным обратным слешем после пробела или табуляции и синтаксис добавления key += value.

Введите запрос.