Синтаксис JSON
Конфиг плагина, его язык и часть сохранений — это JSON. Carbon читает файл целиком. Одна лишняя запятая отменяет весь файл, не одну строку. Редактор с подсветкой уже стоит с подготовки: Sublime Text показывает, где скобка осталась без пары.
Формат тот же, что у Oxide. Папка другая: настройки лежат в carbon/configs.
Ключ и значение
{
"РадиусДома": 50,
"СообщениеПриВходе": "Добро пожаловать"
}Слева ключ в двойных кавычках. Справа значение. Между ними двоеточие, между парами запятая. После последней пары запятую не ставят.
Ключ принадлежит автору плагина. Его не переводят и не «упрощают». Плагин ищет точную строку. Чужое имя он проигнорирует и может записать рядом новый конфиг со значениями по умолчанию. Ваш старый файл при этом останется лежать с ошибкой.
Объекты и списки
Объект собирает поля одной функции в фигурных скобках:
{
"Чат": {
"Включен": true,
"Префикс": "[сервер]"
}
}Список — квадратные скобки. Так хранят несколько команд или ников:
{
"Команды": [ "kit", "kits" ]
}Словарь, который вы дополняете сами, тоже объект, но ключи в нём ваши: короткое имя предмета, команда, SteamID. Повторять ключ нельзя.
{
"Цена": {
"wood": 10,
"stones": 15
}
}Какой тип у значения
- Число без кавычек:
50,1.5. Дробь через точку. Целое не превращают в50.0, если автор записал его без точки. - Строка только в двойных кавычках. Одинарные JSON ломают.
trueиfalseбез кавычек. Обычно это да и нет. Если смысл записан в самом ключе («false — виртуальные деньги, true — предметы»), верьте ключу.- Список и объект — скобки, не строки. Нельзя взять весь список в одни кавычки.
Правка одного поля
Меняется значение, всё остальное остаётся:
{
"Открыт": true,
"СлотыКлана": 8,
"Приветствие": "Зайдите на сайт"
}Стало 20 слотов:
{
"Открыт": true,
"СлотыКлана": 20,
"Приветствие": "Зайдите на сайт"
}Из-за чего файл отвергают
Нет запятой между парами. Запятая стоит после последней. Число взяли в кавычки, хотя рядом в оригинале кавычек не было. Ключ потерял одну ". Скобка { осталась без }.
Подсветка, которая с какого-то места поехала до конца файла, почти всегда означает ближайшую незакрытую скобку выше.
Копия рядом
Перед сохранением скопируйте файл, например в Vanish.json.bak. Если плагин после c.reload пишет ошибку разбора, верните копию и перенесите одну правку. Так проще, чем собирать конфиг заново.
Дальше этот формат встречается в конфигурации, языке и дата-файлах. Права в JSON не живут: их выдают командами.