mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-12 14:31:50 +00:00
Updated Скриптинг (markdown)
parent
4851ca4263
commit
9021d98dc2
1 changed files with 63 additions and 56 deletions
119
Скриптинг.md
119
Скриптинг.md
|
|
@ -116,7 +116,7 @@ inventory.bind_block(invid: integer, x: integer, y: integer, z: integer)
|
||||||
|
|
||||||
Привязывает указанный инвентарь к блоку.
|
Привязывает указанный инвентарь к блоку.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
inventory.unbind_block(x: integer, y: integer, z: integer)
|
inventory.unbind_block(x: integer, y: integer, z: integer)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -125,8 +125,8 @@ inventory.unbind_block(x: integer, y: integer, z: integer)
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира.
|
> Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
inventory.clone(invid: integer) -> integer
|
inventory.clone(invid: int) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0.
|
Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0.
|
||||||
|
|
@ -145,20 +145,20 @@ block.index(name: str) -> int
|
||||||
|
|
||||||
Возвращает числовой id блока, принимая в качестве агрумента строковый
|
Возвращает числовой id блока, принимая в качестве агрумента строковый
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
block.get(x: integer, y: integer, z: integer) -> integer
|
block.get(x: int, y: int, z: int) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает числовой id блока на указанных координатах. Если чанк на указанных координатах не загружен, возвращает -1.
|
Возвращает числовой id блока на указанных координатах. Если чанк на указанных координатах не загружен, возвращает -1.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
block.get_states(x: integer, y: integer, z: integer) -> integer
|
block.get_states(x: int, y: int, z: int) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает состояние (поворот + доп. информация) в виде целого числа
|
Возвращает состояние (поворот + доп. информация) в виде целого числа
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
block.set(x: integer, y: integer, z: integer, id: integer, states: integer)
|
block.set(x: int, y: int, z: int, id: int, states: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Устанавливает блок с заданным числовым id и состоянием (0 - по-умолчанию) на заданных координатах.
|
Устанавливает блок с заданным числовым id и состоянием (0 - по-умолчанию) на заданных координатах.
|
||||||
|
|
@ -223,48 +223,48 @@ block.set_user_bits(x: int, y: int, z: int, offset: int, bits: int, value: int)
|
||||||
|
|
||||||
## Библиотека item
|
## Библиотека item
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
item.name(itemid: integer) -> string
|
item.name(itemid: int) -> str
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает строковый id предмета по его числовому id (как block.name)
|
Возвращает строковый id предмета по его числовому id (как block.name)
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
item.index(name: string) -> integer
|
item.index(name: str) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает числовой id предмета по строковому id (как block_index)
|
Возвращает числовой id предмета по строковому id (как block_index)
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
item.stack_size(itemid: integer) -> integer
|
item.stack_size(itemid: int) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает максимальный размер стопки для предмета.
|
Возвращает максимальный размер стопки для предмета.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
item.defs_count() -> integer
|
item.defs_count() -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает общее число доступных предметов (включая сгенерированные)
|
Возвращает общее число доступных предметов (включая сгенерированные)
|
||||||
|
|
||||||
## Библиотека hud
|
## Библиотека hud
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
hud.open_inventory()
|
hud.open_inventory()
|
||||||
```
|
```
|
||||||
|
|
||||||
Открывает инвентарь
|
|
||||||
|
|
||||||
```lua
|
|
||||||
hud.close_inventory()
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает id инвентаря блока (при inventory-size=0 создаётся виртуальный инвентарь, который удаляется после закрытия), и id макета UI.
|
Возвращает id инвентаря блока (при inventory-size=0 создаётся виртуальный инвентарь, который удаляется после закрытия), и id макета UI.
|
||||||
|
|
||||||
|
Открывает инвентарь
|
||||||
|
|
||||||
|
```python
|
||||||
|
hud.close_inventory()
|
||||||
|
```
|
||||||
|
|
||||||
Закрывает инвентарь
|
Закрывает инвентарь
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
hud.open_block(x, y, z) -> integer, string
|
hud.open_block(x: int, y: int, z: int) -> int, str
|
||||||
```
|
```
|
||||||
|
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
|
|
@ -272,45 +272,51 @@ hud.open_block(x, y, z) -> integer, string
|
||||||
|
|
||||||
Открывает инвентарь и UI блока. Если блок не имеет макета UI - бросается исключение.
|
Открывает инвентарь и UI блока. Если блок не имеет макета UI - бросается исключение.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
hud.open_permanent(layoutid: string)
|
hud.open_permanent(layoutid: str)
|
||||||
```
|
```
|
||||||
|
|
||||||
Добавляет постоянный элемент на экран. Элемент не удаляется при закрытии инвентаря. Чтобы не перекрывать затенение в режиме инвентаря нужно установить z-index элемента меньшим чем -1. В случае тега inventory, произойдет привязка слотов к инвентарю игрока.
|
Добавляет постоянный элемент на экран. Элемент не удаляется при закрытии инвентаря. Чтобы не перекрывать затенение в режиме инвентаря нужно установить z-index элемента меньшим чем -1. В случае тега inventory, произойдет привязка слотов к инвентарю игрока.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
hud.close(layoutid: string)
|
hud.close(layoutid: str)
|
||||||
```
|
```
|
||||||
|
|
||||||
Удаляет элемент с экрана
|
Удаляет элемент с экрана
|
||||||
## События блоков
|
## События блоков
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_placed(x, y, z, playerid)
|
function on_placed(x, y, z, playerid)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается после установки блока игроком
|
Вызывается после установки блока игроком
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_broken(x, y, z, playerid)
|
function on_broken(x, y, z, playerid)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается после разрушения блока игроком
|
Вызывается после разрушения блока игроком
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_interact(x, y, z, playerid)
|
function on_interact(x, y, z, playerid)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при нажатии на блок ПКМ. Предотвращает установку блоков, если возвращает `true`
|
Вызывается при нажатии на блок ПКМ. Предотвращает установку блоков, если возвращает `true`
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_update(x, y, z)
|
function on_update(x, y, z)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при обновлении блока (если изменился соседний блок)
|
Вызывается при обновлении блока (если изменился соседний блок)
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_random_update(x, y, z)
|
function on_random_update(x, y, z)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается в случайные моменты времени (рост травы на блоках земли)
|
Вызывается в случайные моменты времени (рост травы на блоках земли)
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_blocks_tick(tps)
|
function on_blocks_tick(tps: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается tps (20) раз в секунду
|
Вызывается tps (20) раз в секунду
|
||||||
|
|
@ -319,19 +325,19 @@ function on_blocks_tick(tps)
|
||||||
|
|
||||||
(v0.20+)
|
(v0.20+)
|
||||||
```lua
|
```lua
|
||||||
function on_use(playerid)
|
function on_use(playerid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при нажатии ПКМ не на блок.
|
Вызывается при нажатии ПКМ не на блок.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_use_on_block(x, y, z, playerid)
|
function on_use_on_block(x: int, y: int, z: int, playerid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при нажатии ПКМ на блок. Предотвращает установку блока, прописанного в `placing-block` если возвращает `true`
|
Вызывается при нажатии ПКМ на блок. Предотвращает установку блока, прописанного в `placing-block` если возвращает `true`
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_block_break_by(x, y, z, playerid)
|
function on_block_break_by(x: int, y: int, z: int, playerid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при нажатии ЛКМ на блок (в т.ч неразрушимый). Предотвращает разрушение блока, если возвращает `true`
|
Вызывается при нажатии ЛКМ на блок (в т.ч неразрушимый). Предотвращает разрушение блока, если возвращает `true`
|
||||||
|
|
@ -363,7 +369,7 @@ function on_world_quit()
|
||||||
События прописываются в файле `layouts/имя_макета.xml.lua`.
|
События прописываются в файле `layouts/имя_макета.xml.lua`.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_open(invid, x, y, z)
|
function on_open(invid: int, x: int, y: int, z: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при добавлении элемента на экран.
|
Вызывается при добавлении элемента на экран.
|
||||||
|
|
@ -371,7 +377,7 @@ function on_open(invid, x, y, z)
|
||||||
При отсутствии привязки к блоку x, y, z так же будут равны 0.
|
При отсутствии привязки к блоку x, y, z так же будут равны 0.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_close(invid)
|
function on_close(invid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при удалении элемента с экрана.
|
Вызывается при удалении элемента с экрана.
|
||||||
|
|
@ -381,13 +387,13 @@ function on_close(invid)
|
||||||
События связанные с игровым интерфейсом прописываются в файле `scripts/hud.lua`
|
События связанные с игровым интерфейсом прописываются в файле `scripts/hud.lua`
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_hud_open(playerid)
|
function on_hud_open(playerid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается после входа в мир, когда становится доступна библиотека hud. Здесь на экран добавляются постоянные элементы.
|
Вызывается после входа в мир, когда становится доступна библиотека hud. Здесь на экран добавляются постоянные элементы.
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
function on_hud_close(playerid)
|
function on_hud_close(playerid: int)
|
||||||
```
|
```
|
||||||
|
|
||||||
Вызывается при выходе из мира, перед его сохранением.
|
Вызывается при выходе из мира, перед его сохранением.
|
||||||
|
|
@ -398,8 +404,8 @@ function on_hud_close(playerid)
|
||||||
|
|
||||||
Библиотека функций для работы с файлами
|
Библиотека функций для работы с файлами
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.resolve(путь: string) -> string
|
file.resolve(путь: str) -> str
|
||||||
```
|
```
|
||||||
|
|
||||||
Функция приводит запись `точка_входа:путь` (например `user:worlds/house1`) к обычному пути. (например `C://Users/user/.voxeng/worlds/house1`)
|
Функция приводит запись `точка_входа:путь` (например `user:worlds/house1`) к обычному пути. (например `C://Users/user/.voxeng/worlds/house1`)
|
||||||
|
|
@ -408,53 +414,54 @@ file.resolve(путь: string) -> string
|
||||||
|
|
||||||
Возвращаемый путь не является каноническим и может быть как абсолютным, так и относительным.
|
Возвращаемый путь не является каноническим и может быть как абсолютным, так и относительным.
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.read(путь: string) -> string
|
file.read(путь: str) -> str
|
||||||
```
|
```
|
||||||
|
|
||||||
Читает весь текстовый файл и возвращает в виде строки
|
Читает весь текстовый файл и возвращает в виде строки
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.write(путь: string, текст: string) -> nil
|
file.write(путь: str, текст: str) -> nil
|
||||||
```
|
```
|
||||||
|
|
||||||
Записывает текст в файл (с перезаписью)
|
Записывает текст в файл (с перезаписью)
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.length(путь: string) -> integer
|
file.length(путь: str) -> int
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает размер файла в байтах, либо -1, если файл не найден
|
Возвращает размер файла в байтах, либо -1, если файл не найден
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.exists(путь: string) -> boolean
|
file.exists(путь: str) -> bool
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяет, существует ли по данному пути файл или директория
|
Проверяет, существует ли по данному пути файл или директория
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.isfile(путь: string) -> boolean
|
file.isfile(путь: str) -> bool
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяет, существует ли по данному пути файл
|
Проверяет, существует ли по данному пути файл
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.isdir(путь: string) -> boolean
|
file.isdir(путь: str) -> bool
|
||||||
```
|
```
|
||||||
|
|
||||||
Проверяет, существует ли по данному пути директория
|
Проверяет, существует ли по данному пути директория
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
file.mkdir(путь: string) -> boolean
|
file.mkdir(путь: str) -> bool
|
||||||
```
|
```
|
||||||
|
|
||||||
Создаёт директорию. Возвращает true если была создана новая директория
|
Создаёт директорию. Возвращает true если была создана новая директория
|
||||||
|
|
||||||
### time
|
### time
|
||||||
|
|
||||||
```lua
|
```python
|
||||||
time.uptime() -> number
|
time.uptime() -> float
|
||||||
```
|
```
|
||||||
|
|
||||||
Возвращает время с момента запуска движка в секундах
|
Возвращает время с момента запуска движка в секундах
|
||||||
|
|
||||||
## Доступные модули
|
## Доступные модули
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue