add 'config' entry point, pack.shared_file(...) & refactor engine_paths.cpp
This commit is contained in:
@@ -19,7 +19,9 @@
|
||||
|
||||
### Данные контент-паков
|
||||
|
||||
Настройки, состояние, которое нужно сохранять в мире, должны находиться в `world:data/id_пака/`. Путь следует получать через специальную функцию:
|
||||
#### Данные в мире
|
||||
|
||||
Состояние, которое нужно сохранять в мире, должны находиться в `world:data/id_пака/`. Путь следует получать через специальную функцию:
|
||||
```lua
|
||||
local path = pack.data_file(PACK_ID, "имя_файла")
|
||||
file.write(path, данные)
|
||||
@@ -27,4 +29,15 @@ file.write(path, данные)
|
||||
```
|
||||
Здесь PACK_ID является доступной константой, т.е не нужно вписывать имя пака самостоятельно.
|
||||
|
||||
Папка `world:data/PACK_ID` будет создана при вызове `pack.data_file`.
|
||||
Папка `world:data/PACK_ID` будет создана при вызове `pack.data_file`.
|
||||
|
||||
#### Общие данные
|
||||
|
||||
Настройки и иные данные, что должны быть доступны из всех миров, где используется пак, должны находиться в
|
||||
`config:id_пака/`. Можно использовать специальную функцию:
|
||||
|
||||
```lua
|
||||
local path = pack.shared_file(PACK_ID, "имя_файла")
|
||||
file.write(path, данные)
|
||||
-- запишет данные в файл config:PACK_ID/имя_файла
|
||||
```
|
||||
|
||||
+17
-5
@@ -44,20 +44,32 @@ pack.is_installed(packid: str) -> bool
|
||||
|
||||
Проверяет наличие установленного пака в мире
|
||||
|
||||
```python
|
||||
```lua
|
||||
pack.data_file(packid: str, filename: str) -> str
|
||||
-- и
|
||||
pack.shared_file(packid: str, filename: str) -> str
|
||||
```
|
||||
|
||||
Возвращает путь к файлу данных по типу: `world:data/packid/filename`
|
||||
Возвращает путь к файлу данных
|
||||
и создает недостающие директории в пути.
|
||||
|
||||
Используйте эту функцию при сохранении настроек пака или иных данных в мире.
|
||||
- Первый вариант возвращает: `world:data/packid/filename`
|
||||
- Второй вариант возвращает: `config:packid/filename`
|
||||
|
||||
Пример:
|
||||
Примеры:
|
||||
```lua
|
||||
file.write(pack.data_file(PACK_ID, "example.txt"), text)
|
||||
```
|
||||
Для пака *containermod* запишет текст в файл `world:data/containermod/example.txt`
|
||||
Для пака *containermod* запишет текст в файл `world:data/containermod/example.txt`.
|
||||
|
||||
Используйте для хранения данных в мире.
|
||||
|
||||
```lua
|
||||
file.write(pack.shared_file(PACK_ID, "example.txt"), text)
|
||||
```
|
||||
Для пака *containermod* запишет текст в файл `config:containermod/example.txt`
|
||||
|
||||
Используйте для хранения данныхm общих для всех миров.
|
||||
|
||||
```python
|
||||
pack.get_folder(packid: str) -> str
|
||||
|
||||
Reference in New Issue
Block a user