Типы и поля
Важно
Поля, выделенные курсивом в таблицах ниже, обычно не стоит менять. Их изменение может привести к сбоям или другому нежелательному поведению.
Как использовать эту страницу
Это не вводная инструкция по созданию мода с нуля. Это справочная страница по полям. Она особенно полезна, когда:
- вы уже знаете, какие данные хотите изменить, но не знаете имя нужного поля
- вы уже экспортировали JSON из игры и хотите понять, за что отвечает каждое поле
- вы хотите увидеть, какие поля обычно встречаются в файлах
FeaturesилиProps
Если вы еще не экспортировали исходный JSON, начните со страницы Исходные данные.
Файлы, связанные с растениями
Ниже структура JSON для растений на примере Grapeshot.
Многоязычные поля не должны терять обязательные языковые ключи и не должны содержать лишнюю постороннюю структуру. Формат должен выглядеть так:
{
"en": "English",
"zh": "中文"
}PlantFeatures.json
PlantFeatures.json содержит базовые характеристики растения.
Каждое растение в массиве PLANTS обычно включает такие поля:
| Поле | Пример | Описание |
|---|---|---|
| ID | 74 | Уникальный ID растения в игре |
| NAME | { "en": "Grapeshot", "zh": "爆裂葡萄" } | Многоязычное имя |
| _CARDSPRITENAME | "grapeshot" | Имя ресурса иконки карточки |
| CODENAME | "grapeshot" | Уникальный идентификатор растения для сопоставления и слияния |
| TYPE | ["plant", "lastStandDisallowed"] | Теги типа растения |
| OBTAINWORLD | "market" | Мир, используемый для фонового изображения |
| ZENGARDEN | { "PlantPlace": "dirt" } | Настройки размещения в Zen Garden |
| COSTUME | 2 | Количество костюмов |
Массив SEEDCHOOSERDEFAULTORDER задает порядок растений по умолчанию в интерфейсе выбора. Каждый элемент - это CODENAME.
Массив BASEUNLOCKLIST содержит растения, разблокированные по умолчанию. Каждый элемент - это CODENAME.
PlantAlmanac.json
PlantAlmanac.json содержит данные альманаха растений.
Каждая запись внутри массива objects содержит aliases, objclass и objdata.
Массив aliases содержит CODENAME растения, то есть идентификатор целевого растения. Значение objclass - PlantAlmanacProperties.
objdata может содержать такие поля:
| Поле | Пример / содержимое | Описание |
|---|---|---|
| Elements | Несколько тегов характеристик, таких как SUNCOST, RECHARGE, DAMAGE, AREA, FAMILY | Основные теги в альманахе |
| Introduction | { "en": "...", "zh": "爆炸后向 8 个方向发射弹性葡萄子弹" } | Многоязычное описание |
| Special | { "NAME": {"en":"...","zh":"..."}, "DESCRIPTION": {"en":"...","zh":"..."} } | Описание особой механики |
| Chat | {"en":"...","zh":"..."} | Реплика персонажа |
| BriefIntroduction | { "en": "Explodes...", "zh": "爆炸并发射弹射子弹" } | Краткое описание |
| DisplayOffset | { "x": 0, "y": 0 } | Смещение отображения |
PlantProps.json
PlantProps.json содержит числовые и механические свойства растения.
Каждая запись внутри массива objects содержит aliases, objclass и objdata.
Массив aliases содержит CODENAME растения, то есть идентификатор целевого растения. Значение objclass - PlantProperties.
objdata может содержать такие поля. Фактические Props растения можно также посмотреть в Альманахе:
| Поле | Пример | Описание |
|---|---|---|
| CannotBeSheepenedByWizard | true | Иммунитет к превращению в овцу |
| Damage | 1800 | Базовый урон |
| Cooldown | 35 | Перезарядка в секундах |
| CooldownFrom | 1 | Начальное значение перезарядки |
| SunCost | 150 | Стоимость солнца |
| Toughness | 300 | Базовый HP |
| Family | "Explosive" | Семейство |
| ImmuneToIceblock | true | Иммунитет к заморозке / льду |
Файлы, связанные с магазином
StoreCommodityFeatures.json содержит данные о товарах магазина. В нем есть пять массивов: Plants, Upgrade, Gem, Coin и Zen.
Plants
Массив Plants содержит записи о товарах-растениях.
| Поле | Тип | Описание |
|---|---|---|
| CommodityType | string | Фиксированное значение "plant" |
| CommodityName | string | CODENAME растения |
| CurrencyType | string | Тип валюты (gem или coin) |
| CurrencyRequired | number | Необходимое количество валюты |
| UnlockLevel | string | Уровень разблокировки |
Пример: товар Snow Pea
{
"CommodityType": "plant",
"CommodityName": "snowpea",
"CurrencyType": "gem",
"CurrencyRequired": 25
}Upgrade
Массив Upgrade содержит товары улучшений.
| Поле | Тип | Описание |
|---|---|---|
| CommodityType | string | Фиксированное значение "upgrade" |
| CommodityName | string | CODENAME улучшения |
| CurrencyType | string | Тип валюты (gem или coin) |
| CurrencyRequired | number | Необходимое количество валюты |
Пример: улучшение лопаты
{
"CommodityType": "upgrade",
"CommodityName": "upgrade_sunshovel_lvl3",
"CurrencyType": "gem",
"CurrencyRequired": 20
}Gem
Массив Gem содержит товары с гемами.
| Поле | Описание |
|---|---|
| CommodityType | Фиксированное значение "gem" |
| CommodityCount | Количество выдаваемых гемов |
| CurrencyType | Тип валюты (gem или coin) |
| CurrencyRequired | Необходимое количество валюты |
| StackLevel | Уровень набора |
| CommodityDisplayName | Отображаемое имя (многоязычное) |
Пример: пользовательский набор гемов
{
"CommodityType": "gem",
"CommodityCount": 10,
"CurrencyType": "coin",
"CurrencyRequired": 300000,
"StackLevel": 4,
"CommodityDisplayName": {
"en": "Ultimate Gem Pack!",
"zh": "终极钻石包!"
}
}Coin
Массив Coin содержит товары с монетами.
| Поле | Описание |
|---|---|
| CommodityType | Фиксированное значение "coin" |
| CommodityCount | Количество выдаваемых монет |
| CurrencyType | Тип валюты (gem или coin) |
| CurrencyRequired | Необходимое количество валюты |
| StackLevel | Уровень набора |
| CommodityDisplayName | Отображаемое имя (многоязычное) |
Zen
Массив Zen содержит товары Zen Garden и имеет ту же структуру, что и Gem / Coin.
| Поле | Описание |
|---|---|
| CommodityType | Фиксированное значение "zen" |
| CommodityCount | Количество ресурса Zen Garden |
| CurrencyType | Тип валюты (gem или coin) |
| CurrencyRequired | Необходимое количество валюты |
| StackLevel | Уровень набора |
| CommodityDisplayName | Отображаемое имя (многоязычное) |
