Версии API
API модов версионируется как blockheads:api@<версия>. Мод указывает в mod.toml, с какими версиями он работает:
toml
api = "^0.2"| Версия | Что добавляет |
|---|---|
| 0.1 | события (вход, выход, чат, команда, тик, загрузка и сохранение мира), команды, планировщик, хранилище, игроки, лог |
| 0.2 | игровые события (предвходовая проверка, установка / разрушение / изменение блока, установка объекта, урон, смерть, движение), player:pos(), сервисы, свои события, локальные каналы |
| 0.3 | интерфейс клиента (ui), содержимое модов и косметика (content) |
| 0.3.1 | сервисы через сеть: клиентский и серверный моды вызывают друг друга (call-remote, cancel-remote, caller); патч-версия, больше ничего не меняется |
Совместимость
- Серверы реализуют 0.3.1 и также поддерживают 0.3, 0.2 и 0.1. В 0.x новая минорная версия только добавляет, так что мод с
api = "^0.1"продолжает загружаться и работать без изменений. - Используете что-то из 0.2? Укажите
api = "^0.2"; из 0.3 —"^0.3", сервисы через сеть —"^0.3.1". Тогда старые серверы пропустят ваш мод, а не упадут во время работы. - WASM-моды, собранные под 0.1, продолжают работать: серверы также поддерживают замороженный WIT 0.1.
bh.host.api_version()покажет, какая версия работает на сервере.
Справочник на этом сайте написан для 0.3.1: справочник API. Функции и поля, появившиеся в 0.2 или 0.3, помечены (0.2) или (0.3).