Перейти к содержанию

block

Эта библиотека предназначена для различных манипуляций над блоками.

Функции

Block: block.define

block.define(table: blockDefinition)

Возвращает новый объект Block с переданными параметрами.

boolean: block.isvalid

block.isvalid(int: blockId)

Возвращаемое значение указывает на то, существует ли блок с данным id.

int: block.fallbackfor

block.fallbackfor(int: blockId)

Возвращает ванильный блок сопоставимый с кастомным. Фоллбек-блоки используются для отправки клиентам без CPE, т.е. ванильному Classic клиенту.

BulkBlockUpdate: block.bulk

block.bulk()
block.bulk([World: wrld, boolean: autoSend])

Создаёт новый объект BulkBlockUpdate. Если указать первым параметром объект мира и/или вторым boolean автоотправки, то создастся настроенный объект.

Структура таблицы blockDefinition

Параметр Описание
name string: Имя создаваемого блока.
fallback int: ID сопоставимого блока (для ванильных клиентов).
extended boolean: Использует ли блок расширенный набор параметров.
param table: Параметры создаваемого блока.

Общие параметры для расширенных и нерасширенных блоков

| Параметр | Описание | | solidity | EBlockSolidity: Режим коллизии для блока. | | movespeed | int: Модификатор скорости для блока. Подробное описание здесь | | toptex | int: ID текстуры на вершине блока. | | bottomtex | int: ID текстуры нижней границы блока. | | transmitsLight| boolean: Пропускает ли блок солнечный свет. | | walksound | EBlockSounds: Звук, издаваемый блоком, когда игрок на него наступает. | | fullbright | boolean: Затеняется ли блок. | | drawType | EBlockDrawTypes: Тип отрисовки блока клиентом. | | fogdensity | int: Густота тумана, когда игрок находится внутри блока. | | fogR | int: Красный компонент цвета тумана. | | fogG | int: Зелёный компонент цвета тумана. | | fogB | int: Синий компонент цвета тумана. |

Для нерасширенных блоков необходимы следующие параметры

Параметр Описание
sidetex int: ID боковой текстуры блока.

| shape | int: 0 - Спрайт; 1 -> 16 Высота блока. |

Для расширенных блоков необходимы следующие параметры

Параметр Описание
lefttex int: ID текстуры левой грани блока.
righttex int: ID текстуры правой грани блока.
fronttex int: ID текстуры передней грани блока.
backtex int: ID текстуры задней грани блока.
minx int: Minimum X coordinate in pixels. Values between 0 and 15 allowed.
miny int: Minimum Y coordinate in pixels. Values between 0 and 15 allowed.
minz int: Minimum Z coordinate in pixels. Values between 0 and 15 allowed.
maxx int: Maximum X coordinate in pixels. Values between 0 and 15 allowed.
maxy int: Maximum Y coordinate in pixels. Values between 0 and 15 allowed.
maxz int: Maximum Z coordinate in pixels. Values between 0 and 15 allowed.

EBlockSolidity

Имя Описание
BDSOL_WALK Коллизии нет (игрок может пройти сквозь блок).
BDSOL_SWIM Физика жидкости (игрок может плавать внутри блока).
BDSOL_SOLID Твёрдый блок (игрок может ходить по блоку).

EBlockSounds

Имя
BDSND_NONE
BDSND_WOOD
BDSND_GRAVEL
BDSND_GRASS
BDSND_STONE
BDSND_METAL
BDSND_GLASS
BDSND_WOOL
BDSND_SAND
BDSND_SNOW

EBlockDrawTypes

Имя Описание
BDDRW_OPAQUE Непрозрачный блок.
BDDRW_TRANSPARENT Прозрачный со скрытием общих граней.
BDDRW_TRANSPARENT2 Прозрачный без скрытия общих граней.
BDDRW_TRANSLUCENT Полупрозрачный с наложенной текстурой (вода, лёд и т.д.)
BDDRW_GAS Полностью прозрачный (воздух).