add file.read_combined_object & update filesystem docs

This commit is contained in:
MihailRis
2024-11-05 14:33:56 +03:00
parent 6f2f365278
commit 4932fd8b4b
7 changed files with 283 additions and 200 deletions
+1
View File
@@ -12,6 +12,7 @@ Subsections:
- [block](scripting/builtins/libblock.md)
- [cameras](scripting/builtins/libcameras.md)
- [entities](scripting/builtins/libentities.md)
- [file](scripting/builtins/libfile.md)
- [gui](scripting/builtins/libgui.md)
- [hud](scripting/builtins/libhud.md)
- [inventory](scripting/builtins/libinventory.md)
+116
View File
@@ -0,0 +1,116 @@
# *file* library
Filesystem interaction library.
```python
file.resolve(path: str) -> str
```
Function turns `entry_point:path` (example `user:worlds/house1`) to a regular path. (example `C://Users/user/.voxeng/worlds/house1`)
> [!NOTE]
> The function should be used for debug only. *entry_point:path* notation is required in all **file** functions.
Resulting path is not canonical and may be relative.
```python
file.read(path: str) -> str
```
Read whole text file.
```python
file.read_bytes(path: str) -> array of integers
```
Read file into bytes array.
```python
file.write(path: str, text: str) -> nil
```
Overwrite text file.
```python
file.write_bytes(path: str, data: array of integers)
```
Overwrite binary file with bytes array.
```python
file.length(path: str) -> int
```
Get file length (bytes) or 0.
```python
file.exists(path: str) -> bool
```
Check if file or directory exist.
```python
file.isfile(path: str) -> bool
```
Check if the path points to a file.
```python
file.isdir(path: str) -> bool
```
Check if the path points to a directory.
```python
file.mkdir(path: str) -> bool
```
Create directory. Returns true if new directory created
```python
file.mkdirs(path: str) -> bool
```
Create directories chain. Returns true if new directory created.
```python
file.list(path: str) -> array of strings
```
Returns a list of files and directories in the specified.
```python
file.list_all_res(path: str) -> array of strings
```
Returns a list of files and directories in the specified one without specifying an entry point.
```python
file.find(path: str) -> str
```
Searches for a file from the last pack to res. The path is specified without a prefix. Returns the path with the required prefix. If the file is not found, returns nil.
```python
file.remove(path: str) -> bool
```
Deletes a file. Returns **true** if the file exists. Throws an exception on access violation.
```python
file.remove_tree(path: str) -> int
```
Recursively deletes files. Returns the number of files deleted.
```python
file.read_combined_list(path: str) -> array
```
Combines arrays from JSON files of different packs.
```python
file.read_combined_object(path: str) -> array
```
Combines objects from JSON files of different packs.
+1 -72
View File
@@ -2,78 +2,7 @@
### *file* library
Filesystem interaction library.
```python
file.resolve(path: str) -> str
```
Function turns `entry_point:path` (example `user:worlds/house1`) to a regular path. (example `C://Users/user/.voxeng/worlds/house1`)
> [!NOTE]
> The function should be used for debug only. *entry_point:path* notation is required in all **file** functions.
Resulting path is not canonical and may be relative.
```python
file.read(path: str) -> str
```
Read whole text file.
```python
file.read_bytes(path: str) -> array of integers
```
Read file into bytes array.
```python
file.write(path: str, text: str) -> nil
```
Overwrite text file.
```python
file.write_bytes(path: str, data: array of integers)
```
Overwrite binary file with bytes array.
```python
file.length(path: str) -> int
```
Get file length (bytes) or 0.
```python
file.exists(path: str) -> bool
```
Check if file or directory exist.
```python
file.isfile(path: str) -> bool
```
Check if the path points to a file.
```python
file.isdir(path: str) -> bool
```
Check if the path points to a directory.
```python
file.mkdir(path: str) -> bool
```
Create directory. Returns true if new directory created
```python
file.mkdirs(path: str) -> bool
```
Create directories chain. Returns true if new directory created.
See [file library](builtins/libfile.md)
## *json* library