update doc/ru/** scripting-related docs
This commit is contained in:
parent
917f47542f
commit
c2cfe64b7e
@ -10,14 +10,17 @@
|
|||||||
- [Сущности и компоненты](scripting/ecs.md)
|
- [Сущности и компоненты](scripting/ecs.md)
|
||||||
- [Библиотеки](#)
|
- [Библиотеки](#)
|
||||||
- [block](scripting/builtins/libblock.md)
|
- [block](scripting/builtins/libblock.md)
|
||||||
- [item](scripting/builtins/libitem.md)
|
|
||||||
- [entities](scripting/builtins/libentities.md)
|
|
||||||
- [cameras](scripting/builtins/libcameras.md)
|
- [cameras](scripting/builtins/libcameras.md)
|
||||||
|
- [entities](scripting/builtins/libentities.md)
|
||||||
|
- [hud](scripting/builtins/libhud.md)
|
||||||
|
- [inventory](scripting/builtins/libinventory.md)
|
||||||
|
- [item](scripting/builtins/libitem.md)
|
||||||
- [mat4](scripting/builtins/libmat4.md)
|
- [mat4](scripting/builtins/libmat4.md)
|
||||||
- [pack](scripting/builtins/libpack.md)
|
- [pack](scripting/builtins/libpack.md)
|
||||||
- [player](scripting/builtins/libplayer.md)
|
- [player](scripting/builtins/libplayer.md)
|
||||||
- [quat](scripting/builtins/libquat.md)
|
- [quat](scripting/builtins/libquat.md)
|
||||||
- [vec2, vec3, vec4](scripting/builtins/libvecn.md)
|
- [vec2, vec3, vec4](scripting/builtins/libvecn.md)
|
||||||
|
- [world](scripting/builtins/libworld.md)
|
||||||
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
|
- [Модуль core:bit_converter](scripting/modules/core_bit_converter.md)
|
||||||
- [Модуль core:data_buffer](scripting/modules/core_data_buffer.md)
|
- [Модуль core:data_buffer](scripting/modules/core_data_buffer.md)
|
||||||
- [Модули core:vector2, core:vector3](scripting/modules/core_vector2_vector3.md)
|
- [Модули core:vector2, core:vector3](scripting/modules/core_vector2_vector3.md)
|
||||||
@ -38,71 +41,6 @@
|
|||||||
require "контентпак:имя_модуля" -- загружает lua модуль из папки modules (расширение не указывается)
|
require "контентпак:имя_модуля" -- загружает lua модуль из папки modules (расширение не указывается)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Библиотека *world*
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.get_list() -> массив таблиц {
|
|
||||||
name: str,
|
|
||||||
icon: str
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает информацию о мирах: название и предпросмотр (автоматически загружаемая текстура).
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.get_day_time() -> number
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает текущее игровое время от 0.0 до 1.0, где 0.0 и 1.0 - полночь, 0.5 - полдень.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.set_day_time(time: number)
|
|
||||||
```
|
|
||||||
|
|
||||||
Устанавливает указанное игровое время.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.set_day_time_speed(value: number)
|
|
||||||
```
|
|
||||||
|
|
||||||
Устанавливает указанную скорость для игрового времени.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.get_day_time_speed() -> number
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает скорость для игрового времени.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.get_total_time() -> number
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает общее суммарное время, прошедшее в мире
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.get_seed() -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает зерно мира.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.exists() -> bool
|
|
||||||
```
|
|
||||||
|
|
||||||
Проверяет существование мира по имени.
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.is_day() -> bool
|
|
||||||
```
|
|
||||||
|
|
||||||
Проверяет является ли текущее время днём. От 0.2(8 утра) до 0.8(8 вечера)
|
|
||||||
|
|
||||||
```python
|
|
||||||
world.is_night() -> bool
|
|
||||||
```
|
|
||||||
|
|
||||||
Проверяет является ли текущее время ночью. От 0.8(8 вечера) до 0.2(8 утра)
|
|
||||||
|
|
||||||
## Библиотека *gui*
|
## Библиотека *gui*
|
||||||
|
|
||||||
Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex:
|
Библиотека содержит функции для доступа к свойствам UI элементов. Вместо gui следует использовать объектную обертку, предоставляющую доступ к свойствам через мета-методы __index, __newindex:
|
||||||
@ -142,148 +80,6 @@ get_locales_info() -> таблица таблиц где
|
|||||||
|
|
||||||
Возвращает информацию о всех загруженных локалях (res/texts/\*).
|
Возвращает информацию о всех загруженных локалях (res/texts/\*).
|
||||||
|
|
||||||
## Библиотека *inventory*
|
|
||||||
|
|
||||||
Библиотека функций для работы с инвентарем.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.get(invid: int, slot: int) -> int, int
|
|
||||||
```
|
|
||||||
|
|
||||||
Принимает id инвентаря и индекс слота. Возвращает id предмета и его количество. id = 0 (core:empty) обозначает, что слот пуст.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.set(invid: int, slot: int, itemid: int, count: int)
|
|
||||||
```
|
|
||||||
|
|
||||||
Устанавливает содержимое слота.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.size(invid: int) -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Возращает размер инвентаря (число слотов). Если указанного инвентаря не существует, бросает исключение.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.add(invid: int, itemid: int, count: int) -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Добавляет предмет в инвентарь. Если не удалось вместить все количество, возвращает остаток.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.get_block(x: int, y: int, z: int) -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Функция возвращает id инвентаря указанного блока. Если блок не может иметь инвентарь - возвращает 0.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.bind_block(invid: int, x: int, y: int, z: int)
|
|
||||||
```
|
|
||||||
|
|
||||||
Привязывает указанный инвентарь к блоку.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.unbind_block(x: int, y: int, z: int)
|
|
||||||
```
|
|
||||||
|
|
||||||
Отвязывает инвентарь от блока.
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.clone(invid: int) -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Создает копию инвентаря и возвращает id копии. Если копируемого инвентаря не существует, возвращает 0.
|
|
||||||
|
|
||||||
```python
|
|
||||||
inventory.move(invA: int, slotA: int, invB: int, slotB: int)
|
|
||||||
```
|
|
||||||
|
|
||||||
Перемещает предмет из slotA инвентаря invA в slotB инвентаря invB.
|
|
||||||
invA и invB могут указывать на один инвентарь.
|
|
||||||
slotB будет выбран автоматически, если не указывать явно.
|
|
||||||
|
|
||||||
## Библиотека hud
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.open_inventory()
|
|
||||||
```
|
|
||||||
|
|
||||||
Открывает инвентарь
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.close_inventory()
|
|
||||||
```
|
|
||||||
|
|
||||||
Закрывает инвентарь
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.open_block(x: int, y: int, z: int) -> int, str
|
|
||||||
```
|
|
||||||
|
|
||||||
Открывает инвентарь и UI блока. Если блок не имеет макета UI - бросается исключение.
|
|
||||||
|
|
||||||
Возвращает id инвентаря блока (при *"inventory-size"=0* создаётся виртуальный инвентарь, который удаляется после закрытия), и id макета UI.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.show_overlay(layoutid: str, playerinv: bool)
|
|
||||||
```
|
|
||||||
|
|
||||||
Показывает элемент в режиме оверлея. Также показывает инвентарь игрока, если playerinv - **true**
|
|
||||||
|
|
||||||
> [!NOTE]
|
|
||||||
> Одновременно может быть открыт только один блок
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.open_permanent(layoutid: str)
|
|
||||||
```
|
|
||||||
|
|
||||||
Добавляет постоянный элемент на экран. Элемент не удаляется при закрытии инвентаря. Чтобы не перекрывать затенение в режиме инвентаря нужно установить z-index элемента меньшим чем -1. В случае тега inventory, произойдет привязка слотов к инвентарю игрока.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.close(layoutid: str)
|
|
||||||
```
|
|
||||||
|
|
||||||
Удаляет элемент с экрана.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.get_block_inventory() -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Дает ID инвентаря открытого блока или 0.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.get_player() -> int
|
|
||||||
```
|
|
||||||
|
|
||||||
Дает ID игрока, к которому привязан пользовательский интерфейс.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.pause()
|
|
||||||
```
|
|
||||||
|
|
||||||
Открывает меню паузы.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.resume()
|
|
||||||
```
|
|
||||||
|
|
||||||
Закрывает меню паузы.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.is_paused() -> bool
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает true если открыто меню паузы.
|
|
||||||
|
|
||||||
```python
|
|
||||||
hud.is_inventory_open() -> bool
|
|
||||||
```
|
|
||||||
|
|
||||||
Возвращает true если открыт инвентарь или оверлей.
|
|
||||||
|
|
||||||
## Библиотека time
|
## Библиотека time
|
||||||
|
|
||||||
```python
|
```python
|
||||||
|
|||||||
52
doc/ru/scripting/builtins/libhud.md
Normal file
52
doc/ru/scripting/builtins/libhud.md
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# Библиотека hud
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Открывает инвентарь.
|
||||||
|
hud.open_inventory()
|
||||||
|
|
||||||
|
-- Закрывает инвентарь.
|
||||||
|
hud.close_inventory()
|
||||||
|
|
||||||
|
-- Открывает инвентарь и UI блока.
|
||||||
|
-- Если блок не имеет макета UI - бросается исключение.
|
||||||
|
-- Возвращает id инвентаря блока
|
||||||
|
-- (при *"inventory-size"=0* создаётся виртуальный инвентарь,
|
||||||
|
-- который удаляется после закрытия), и id макета UI.
|
||||||
|
hud.open_block(x: int, y: int, z: int) -> int, str
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> Одновременно может быть открыт только один блок
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Показывает элемент в режиме оверлея.
|
||||||
|
-- Также показывает инвентарь игрока, если playerinv - **true**.
|
||||||
|
hud.show_overlay(layoutid: str, playerinv: bool)
|
||||||
|
|
||||||
|
-- Добавляет постоянный элемент на экран. Элемент не удаляется при
|
||||||
|
-- закрытии инвентаря. Чтобы не перекрывать затенение в режиме
|
||||||
|
-- инвентаря нужно установить z-index элемента меньшим чем -1.
|
||||||
|
-- В случае тега inventory, произойдет привязка слотов к инвентарю игрока.
|
||||||
|
hud.open_permanent(layoutid: str)
|
||||||
|
|
||||||
|
-- Удаляет элемент с экрана.
|
||||||
|
hud.close(layoutid: str)
|
||||||
|
|
||||||
|
-- Дает ID инвентаря открытого блока или 0.
|
||||||
|
hud.get_block_inventory() -> int
|
||||||
|
|
||||||
|
-- Дает ID игрока, к которому привязан пользовательский интерфейс.
|
||||||
|
hud.get_player() -> int
|
||||||
|
|
||||||
|
-- Открывает меню паузы.
|
||||||
|
hud.pause()
|
||||||
|
|
||||||
|
-- Закрывает меню паузы.
|
||||||
|
hud.resume()
|
||||||
|
|
||||||
|
-- Возвращает true если открыто меню паузы.
|
||||||
|
hud.is_paused() -> bool
|
||||||
|
|
||||||
|
-- Возвращает true если открыт инвентарь или оверлей.
|
||||||
|
hud.is_inventory_open() -> bool
|
||||||
|
```
|
||||||
66
doc/ru/scripting/builtins/libinventory.md
Normal file
66
doc/ru/scripting/builtins/libinventory.md
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
# Библиотека *inventory*
|
||||||
|
|
||||||
|
Библиотека функций для работы с инвентарем.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Возвращает id предмета и его количество. id = 0 (core:empty) обозначает, что слот пуст.
|
||||||
|
inventory.get(
|
||||||
|
-- id инвентаря
|
||||||
|
invid: int,
|
||||||
|
-- индекс слота
|
||||||
|
slot: int
|
||||||
|
) -> int, int
|
||||||
|
|
||||||
|
-- Устанавливает содержимое слота.
|
||||||
|
inventory.set(
|
||||||
|
-- id инвентаря
|
||||||
|
invid: int,
|
||||||
|
-- индекс слота
|
||||||
|
slot: int,
|
||||||
|
-- id предмета
|
||||||
|
itemid: int,
|
||||||
|
-- количество предмета
|
||||||
|
count: int
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Возращает размер инвентаря (число слотов).
|
||||||
|
-- Если указанного инвентаря не существует, бросает исключение.
|
||||||
|
inventory.size(invid: int) -> int
|
||||||
|
|
||||||
|
-- Добавляет предмет в инвентарь.
|
||||||
|
-- Если не удалось вместить все количество, возвращает остаток.
|
||||||
|
inventory.add(
|
||||||
|
-- id инвентаря
|
||||||
|
invid: int,
|
||||||
|
-- id предмета
|
||||||
|
itemid: int,
|
||||||
|
-- количество предмета
|
||||||
|
count: int
|
||||||
|
) -> int
|
||||||
|
|
||||||
|
-- Функция возвращает id инвентаря блока.
|
||||||
|
-- Если блок не может иметь инвентарь - возвращает 0.
|
||||||
|
inventory.get_block(x: int, y: int, z: int) -> int
|
||||||
|
|
||||||
|
-- Привязывает указанный инвентарь к блоку.
|
||||||
|
inventory.bind_block(invid: int, x: int, y: int, z: int)
|
||||||
|
|
||||||
|
-- Отвязывает инвентарь от блока.
|
||||||
|
inventory.unbind_block(x: int, y: int, z: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
> [!WARNING]
|
||||||
|
> Инвентари, не привязанные ни к одному из блоков, удаляются при выходе из мира.
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Создает копию инвентаря и возвращает id копии.
|
||||||
|
-- Если копируемого инвентаря не существует, возвращает 0.
|
||||||
|
inventory.clone(invid: int) -> int
|
||||||
|
|
||||||
|
-- Перемещает предмет из slotA инвентаря invA в slotB инвентаря invB.
|
||||||
|
-- invA и invB могут указывать на один инвентарь.
|
||||||
|
-- slotB будет выбран автоматически, если не указывать явно.
|
||||||
|
inventory.move(invA: int, slotA: int, invB: int, slotB: int)
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
38
doc/ru/scripting/builtins/libworld.md
Normal file
38
doc/ru/scripting/builtins/libworld.md
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# Библиотека *world*
|
||||||
|
|
||||||
|
```lua
|
||||||
|
-- Возвращает информацию о мирах.
|
||||||
|
world.get_list() -> массив таблиц {
|
||||||
|
-- название мира
|
||||||
|
name: str,
|
||||||
|
-- предпросмотр (автоматически загружаемая текстура)
|
||||||
|
icon: str
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Возвращает текущее игровое время от 0.0 до 1.0, где 0.0 и 1.0 - полночь, 0.5 - полдень.
|
||||||
|
world.get_day_time() -> number
|
||||||
|
|
||||||
|
-- Устанавливает указанное игровое время.
|
||||||
|
world.set_day_time(time: number)
|
||||||
|
|
||||||
|
-- Устанавливает указанную скорость смены времени суток.
|
||||||
|
world.set_day_time_speed(value: number)
|
||||||
|
|
||||||
|
-- Возвращает скорость скорость смены времени суток.
|
||||||
|
world.get_day_time_speed() -> number
|
||||||
|
|
||||||
|
-- Возвращает суммарное время, прошедшее в мире.
|
||||||
|
world.get_total_time() -> number
|
||||||
|
|
||||||
|
-- Возвращает зерно мира.
|
||||||
|
world.get_seed() -> int
|
||||||
|
|
||||||
|
-- Проверяет существование мира по имени.
|
||||||
|
world.exists() -> bool
|
||||||
|
|
||||||
|
-- Проверяет является ли текущее время днём. От 0.333(8 утра) до 0.833(8 вечера).
|
||||||
|
world.is_day() -> bool
|
||||||
|
|
||||||
|
-- Проверяет является ли текущее время ночью. От 0.833(8 вечера) до 0.333(8 утра).
|
||||||
|
world.is_night() -> bool
|
||||||
|
```
|
||||||
@ -77,12 +77,12 @@ static int l_world_exists(lua::State* L) {
|
|||||||
|
|
||||||
static int l_world_is_day(lua::State* L) {
|
static int l_world_is_day(lua::State* L) {
|
||||||
auto daytime = level->getWorld()->getInfo().daytime;
|
auto daytime = level->getWorld()->getInfo().daytime;
|
||||||
return lua::pushboolean(L, daytime >= 0.2 && daytime <= 0.8);
|
return lua::pushboolean(L, daytime >= 0.333 && daytime <= 0.833);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int l_world_is_night(lua::State* L) {
|
static int l_world_is_night(lua::State* L) {
|
||||||
auto daytime = level->getWorld()->getInfo().daytime;
|
auto daytime = level->getWorld()->getInfo().daytime;
|
||||||
return lua::pushboolean(L, daytime < 0.2 || daytime > 0.8);
|
return lua::pushboolean(L, daytime < 0.333 || daytime > 0.833);
|
||||||
}
|
}
|
||||||
|
|
||||||
const luaL_Reg worldlib[] = {
|
const luaL_Reg worldlib[] = {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user