mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-12 14:31:50 +00:00
Updated Скриптинг (markdown)
parent
38b1caa103
commit
09785395ab
1 changed files with 102 additions and 84 deletions
186
Скриптинг.md
186
Скриптинг.md
|
|
@ -10,104 +10,32 @@ load_script("контентпак:scripts/имя_скрипта.lua", true) --
|
|||
require "контентпак:имя_модуля" -- загружает lua модуль из папки modules (расширение не указывается)
|
||||
```
|
||||
|
||||
```lua
|
||||
block_name(id)
|
||||
```
|
||||
Возвращает строковый id блока, принимая в качестве агрумента числовой
|
||||
|
||||
```lua
|
||||
block_index(id)
|
||||
```
|
||||
Возвращает числовой id блока, принимая в качестве агрумента строковый
|
||||
|
||||
```lua
|
||||
get_block(x, y, z)
|
||||
```
|
||||
Возвращает числовой id блока на указанных координатах
|
||||
|
||||
```lua
|
||||
get_block_states(x, y, z)
|
||||
```
|
||||
Возвращает состояние (поворот + доп. информация) в виде целого числа
|
||||
|
||||
```lua
|
||||
set_block(x, y, z, id, states)
|
||||
```
|
||||
Устанавливает блок с заданным числовым id и состоянием (0 - по-умолчанию) на заданных координатах.
|
||||
НЕ вызывает событие on_placed
|
||||
|
||||
```lua
|
||||
is_solid_at(x, y, z)
|
||||
```
|
||||
Проверяет, является ли блок на указанных координатах полным
|
||||
|
||||
```lua
|
||||
is_replaceable_at(x, y, z)
|
||||
```
|
||||
Проверяет, можно ли на заданных координатах поставить блок (примеры: воздух, трава, цветы, вода)
|
||||
|
||||
```lua
|
||||
blocks_count()
|
||||
```
|
||||
Возвращает количество id доступных в движке блоков
|
||||
|
||||
Следующие три функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение.
|
||||
|
||||
```lua
|
||||
get_block_X(x, y, z)
|
||||
```
|
||||
Возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 1, 0, 0
|
||||
|
||||
```lua
|
||||
get_block_Y(x, y, z)
|
||||
```
|
||||
Возвращает целочисленный единичный вектор Y блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 1, 0
|
||||
|
||||
```lua
|
||||
get_block_Z(x, y, z)
|
||||
```
|
||||
Возвращает целочисленный единичный вектор Z блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 0, 1
|
||||
|
||||
### Пользовательские биты
|
||||
|
||||
Выделенная под использования в скриптах часть поля `voxel.states` хранящего доп-информацию о вокселе, такую как вращение блока. На данный момент выделенная часть составляет 8 бит.
|
||||
|
||||
```lua
|
||||
get_block_user_bits(x, y, z, offset, bits)
|
||||
```
|
||||
Возвращает выбранное число бит с указанного смещения в виде целого беззнакового числа
|
||||
|
||||
```lua
|
||||
set_block_user_bits(x, y, z, offset, bits, value)
|
||||
```
|
||||
Записывает указанное число бит значения value в user bits по выбранному смещению
|
||||
|
||||
## Библиотека player
|
||||
```lua
|
||||
player.get_pos(id)
|
||||
```
|
||||
Возвращает x, y, z координаты игрока
|
||||
|
||||
```lua
|
||||
player.set_pos(id, x, y, z)
|
||||
```python
|
||||
player.set_pos(id: int, x: float, y: float, z: float)
|
||||
```
|
||||
|
||||
Устанавливает x, y, z координаты игрока
|
||||
|
||||
```lua
|
||||
player.get_rot(id) -> number, number
|
||||
```python
|
||||
player.get_rot(id: int) -> float, float
|
||||
```
|
||||
|
||||
Возвращает x, y вращения камеры (в радианах), где значение X не ограничено
|
||||
|
||||
```lua
|
||||
player.set_rot(id, x, y, z)
|
||||
```python
|
||||
player.set_rot(id: int, x: float, y: float, z: float)
|
||||
```
|
||||
|
||||
Устанавливает x, y вращения камеры (в радианах)
|
||||
|
||||
```lua
|
||||
player.get_inventory(playerid) -> integer, integer
|
||||
```python
|
||||
player.get_inventory(playerid: int) -> int, int
|
||||
```
|
||||
|
||||
Возвращает id инвентаря игрока и индекс выбранного слота (от 0 до 9)
|
||||
|
|
@ -203,13 +131,103 @@ inventory.clone(invid: integer) -> integer
|
|||
|
||||
Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0.
|
||||
|
||||
## Библиотека block
|
||||
|
||||
```python
|
||||
block.name(blockid: int) -> str
|
||||
```
|
||||
|
||||
Возвращает строковый id блока по его числовому id
|
||||
|
||||
```python
|
||||
block.index(name: str) -> int
|
||||
```
|
||||
|
||||
Возвращает числовой id блока, принимая в качестве агрумента строковый
|
||||
|
||||
```lua
|
||||
block.get(x: integer, y: integer, z: integer) -> integer
|
||||
```
|
||||
|
||||
Возвращает числовой id блока на указанных координатах. Если чанк на указанных координатах не загружен, возвращает -1.
|
||||
|
||||
```lua
|
||||
block.get_states(x: integer, y: integer, z: integer) -> integer
|
||||
```
|
||||
|
||||
Возвращает состояние (поворот + доп. информация) в виде целого числа
|
||||
|
||||
```lua
|
||||
block.set(x: integer, y: integer, z: integer, id: integer, states: integer)
|
||||
```
|
||||
|
||||
Устанавливает блок с заданным числовым id и состоянием (0 - по-умолчанию) на заданных координатах.
|
||||
>[!ATTENTION]
|
||||
> `block.set` не вызывает событие on_placed.
|
||||
|
||||
```python
|
||||
block.is_solid_at(x: int, y: int, z: int) -> bool
|
||||
```
|
||||
|
||||
Проверяет, является ли блок на указанных координатах полным
|
||||
|
||||
```python
|
||||
block.is_replaceable_at(x: int, y: int, z: int) -> bool
|
||||
```
|
||||
Проверяет, можно ли на заданных координатах поставить блок (примеры: воздух, трава, цветы, вода)
|
||||
|
||||
```python
|
||||
block.defs_count() -> int
|
||||
```
|
||||
|
||||
Возвращает количество id доступных в движке блоков
|
||||
|
||||
Следующие три функции используется для учёта вращения блока при обращении к соседним блокам или других целей, где направление блока имеет решающее значение.
|
||||
|
||||
|
||||
```python
|
||||
block.get_X(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор X блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 1, 0, 0
|
||||
|
||||
```python
|
||||
block.get_Y(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор Y блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 1, 0
|
||||
|
||||
```python
|
||||
block.get_Z(x: int, y: int, z: int) -> int, int, int
|
||||
```
|
||||
|
||||
Возвращает целочисленный единичный вектор Z блока на указанных координатах с учётом его вращения (три целых числа).
|
||||
Если поворот отсутствует, возвращает 0, 0, 1
|
||||
|
||||
### Пользовательские биты
|
||||
|
||||
Выделенная под использования в скриптах часть поля `voxel.states` хранящего доп-информацию о вокселе, такую как вращение блока. На данный момент выделенная часть составляет 8 бит.
|
||||
|
||||
```python
|
||||
block.get_user_bits(x: int, y: int, z: int, offset: int, bits: int) -> int
|
||||
```
|
||||
|
||||
Возвращает выбранное число бит с указанного смещения в виде целого беззнакового числа
|
||||
|
||||
```python
|
||||
block.set_user_bits(x: int, y: int, z: int, offset: int, bits: int, value: int) -> int
|
||||
```
|
||||
Записывает указанное число бит значения value в user bits по выбранному смещению
|
||||
|
||||
## Библиотека item
|
||||
|
||||
```lua
|
||||
item.name(itemid: integer) -> string
|
||||
```
|
||||
|
||||
Возвращает строковый id предмета по его числовому id (как block_name)
|
||||
Возвращает строковый id предмета по его числовому id (как block.name)
|
||||
|
||||
```lua
|
||||
item.index(name: string) -> integer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue