80LK (обсуждение | вклад) м |
80LK (обсуждение | вклад) м |
||
Строка 253: | Строка 253: | ||
</div> | </div> | ||
− | ==== Экземпляр Structure ==== | + | <div class="mw-parser-output"> |
+ | ===== Экземпляр Structure ===== | ||
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | ||
{| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
Строка 262: | Строка 263: | ||
| style="text-align: center;" | '''Описание''' | | style="text-align: center;" | '''Описание''' | ||
|- | |- | ||
− | | style="text-align: center;" | '''1.2''' | + | | style="text-align: center;" | <span style="color:#e74c3c;">'''Только 1.2'''</span> |
| style="text-align: center;" | get(int x, int y, int z, bool rotate_y) | | style="text-align: center;" | get(int x, int y, int z, bool rotate_y) | ||
| | | | ||
Строка 271: | Строка 272: | ||
| Вернет true, если на координатах данная структура, иначе false | | Вернет true, если на координатах данная структура, иначе false | ||
+ | |- | ||
+ | | colspan="1" rowspan="2" style="text-align: center;" | '''1.3''' | ||
+ | | style="text-align: center;" | get(int x, int y, int z, array rotates, bool return_index) | ||
+ | | colspan="1" rowspan="2" | | ||
+ | *x - Начальная координата структуры по оси X | ||
+ | *y - Начальная координата структуры по оси Y | ||
+ | *z - Начальная координата структуры по оси Z | ||
+ | *rotates - Возможные повороты структуры | ||
+ | *return_index - Возвращать ли индекс найденного поворота(По стандарту false) | ||
+ | |||
+ | | colspan="1" rowspan="2" | Вернет true, если на координатах данная структура, иначе false | ||
+ | |- | ||
+ | | style="text-align: center;" | check(int x, int y, int z, array rotates, bool return_index) | ||
|- | |- | ||
| style="text-align: center;" | '''1.2''' | | style="text-align: center;" | '''1.2''' | ||
Строка 282: | Строка 296: | ||
| Сохранить структуру в файл | | Сохранить структуру в файл | ||
|- | |- | ||
− | | style="text-align: center;" | '''1.2''' | + | | style="text-align: center;" | <span style="color:#e74c3c;">'''Только 1.2'''</span> |
| style="text-align: center;" | set(int x, int y, int z, array rotate, bool destroy, bool progressively, int time) | | style="text-align: center;" | set(int x, int y, int z, array rotate, bool destroy, bool progressively, int time) | ||
| | | | ||
Строка 294: | Строка 308: | ||
| Установить структурув мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate | | Установить структурув мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate | ||
+ | |- | ||
+ | | style="text-align: center;" | '''1.3''' | ||
+ | | style="text-align: center;" | set(int x, int y, int z, array rotate, bool progressively, int time) | ||
+ | | | ||
+ | *x - Начальная координата структуры по оси X | ||
+ | *y - Начальная координата структуры по оси Y | ||
+ | *z - Начальная координата структуры по оси Z | ||
+ | *rotate - Массив матриц поворотов | ||
+ | *progressively - Если true, структура будет постепенно "строиться" | ||
+ | *time - Время в миллисекундах между установкой блоков | ||
+ | |||
+ | | Установить структурув мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate | ||
+ | |- | ||
+ | | style="text-align: center;" | '''1.3''' | ||
+ | | style="text-align: center;" | destroy(int x, int y, int z, array rotates, bool progressively, int time) | ||
+ | | | ||
+ | *x - Начальная координата структуры по оси X | ||
+ | *y - Начальная координата структуры по оси Y | ||
+ | *z - Начальная координата структуры по оси Z | ||
+ | *rotates - Возможные повороты структуры | ||
+ | *progressively - Если true, структура будет постепенно "уничтожаться" | ||
+ | *time - Время в миллисекундах между уничтожением блоков | ||
+ | |||
+ | | Уничтожить структуру в мире по координатам x,y,z, с возможными поворотами rotates | ||
|- | |- | ||
| style="text-align: center;" | '''1.2''' | | style="text-align: center;" | '''1.2''' | ||
Строка 307: | Строка 345: | ||
| Добавить блок в структуру | | Добавить блок в структуру | ||
|} | |} | ||
− | </div> </div> </div> </div> </div> | + | </div> </div> </div> </div> </div> |
− | + | ||
==== StructuresAPI ==== | ==== StructuresAPI ==== | ||
StructuresAPI - библиотека, упрощающая работу со структурами.
Библиотека | ||
---|---|---|
Версия | Ссылка | Изменения |
1 | Скачать |
Первая версия |
1.1 | Подробнее |
|
1.2 | Подробнее |
|
GitHub | GitHub |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для начала работы импортируйте библиотеку.
IMPORT("StructuresAPI");
Для сохранения структур есть два способа:
Для начала выделите вашу структуру топориком(1 точка - тап по блоку, 2 точка - ломание блока), затем выделите с помощью деревянного меча начальную точку структуры(Она может быть вне области структуры).
После введите в чат команду /save <name> [-a] [-x n] [-y n] [-z n] со следующими параметрами
!Не рекомендуется
1. Создать или получить объект структуры
var struct = Structure.get(name)
Где
2. Добавить блоки
3. Сохранить структуру
struct.save()
StructuresAPI.save(name, structures)
Где:
Для проверки структур используется функция get экземпляра объекта Structure
struct.get(x,y,z,)
stuct.get(x, y, z, rotate_y)
Где:
Вернет true если это нужная структура, иначе false.
Пример:
var struct = Structure.get("myStructure");
Callback.addCallback("ItemUse", function(coords, item){
if(item.id == 280 && struct.get(coords.x, coords.y, coords.z)){
alert("It's my structure");
}
});
Для проверки структур используется функция getStructures()
StructuresAPI.getStructures(name, x, y, z, rotate_y)
Где:
Вернет true если это структура name, иначе false
Пример:
Callback.addCallback("ItemUse", function(coords, item){
if(item.id == 280 && StructuresAPI.getStructures("myStructure", coords.x, coords.y, coords.z)){
alert("It's my structure")
}
});
Версия | Метод | Аргументы | Описание |
---|---|---|---|
1.2 | init(string path) |
|
Устанавливает место хранения структур, относительно мода |
1.2 | get(string name) |
|
Возвращает экземпляр объекта Structure с именем name |
Версия | Константа | Описание |
1.2 | ROTATE_NONE | |
1.2 | ROTATE_90Y | Матрица поворота по оси Y на 90о |
1.2 | ROTATE_180Y | Матрица поворота по оси Y на 180о |
1.2 | ROTATE_270Y | Матрица поворота по оси Y на 270о |
1.2 | ROTATE_90X | Матрица поворота по оси X на 90о |
1.2 | ROTATE_180X | Матрица поворота по оси X на 180о |
1.2 | ROTATE_270X | Матрица поворота по оси X на 270о |
1.2 | ROTATE_90Z | Матрица поворота по оси Z на 90о |
1.2 | ROTATE_180Z | Матрица поворота по оси Z на 180о |
1.2 | ROTATE_270Z | Матрица поворота по оси Z на 270о |
1.2 | ROTATE_RANDOM | Рандомный поворот |
1.2 | ROTATE_ALL | Поворот по всем осям |
1.2 | ROTATE_Y | Поворот по оси Y |
1.3 | PROGRESSIVELY | Установка/уничтожение постройки постепенное |
1.3 | NOT_PROGRESSIVELY | Установка/уничтожение постройки не постепенное |
1.3 | MIRROR_X | Отражение по оси X |
1.3 | MIRROR_Y | Отражение по оси Y |
1.3 | MIRROR_Z | Отражение по оси Z |
Версия | Метод | Аргументы | Описание |
Только 1.2 | get(int x, int y, int z, bool rotate_y) |
|
Вернет true, если на координатах данная структура, иначе false |
1.3 | get(int x, int y, int z, array rotates, bool return_index) |
|
Вернет true, если на координатах данная структура, иначе false |
check(int x, int y, int z, array rotates, bool return_index) | |||
1.2 | getName() | Вернет имя структуры | |
1.2 | save() | Сохранить структуру в файл | |
Только 1.2 | set(int x, int y, int z, array rotate, bool destroy, bool progressively, int time) |
|
Установить структурув мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate |
1.3 | set(int x, int y, int z, array rotate, bool progressively, int time) |
|
Установить структурув мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate |
1.3 | destroy(int x, int y, int z, array rotates, bool progressively, int time) |
|
Уничтожить структуру в мире по координатам x,y,z, с возможными поворотами rotates |
1.2 | addBlock(x, y, z, block) |
|
Добавить блок в структуру |
Считается устаревшим с версии 1.2
Удален в версии 1.3
Версия | Метод | Аргументы | Описание |
1.1 | init(string path) |
|
Устанавливает место хранения структур, относительно мода |
1.0 | get(string name) |
|
Возвращает объект структуры, иначе false |
1.0 |
getStructures(string name, int x, int y, int z, bool rotate_y) |
|
Вернет true, если на координатах структура name, иначе false |
1.0 | save(string name, array structures) |
|
Сохраняет струкутуру name |
1.0 | set(string name, int x, int y, int z, array rotate) |
|
Установить структуру name в мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate |
1.1 | set(string name, int x, int y, int z, array rotate, bool destroy, bool progressively, int time) |
|
Установить структуру name в мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate |
Константа | Описание |
ROTATE_NONE | |
ROTATE_90Y | Матрица поворота по оси Y на 90о |
ROTATE_180Y | Матрица поворота по оси Y на 180о |
ROTATE_270Y | Матрица поворота по оси Y на 270о |
ROTATE_90X | Матрица поворота по оси X на 90о |
ROTATE_180X | Матрица поворота по оси X на 180о |
ROTATE_270X | Матрица поворота по оси X на 270о |
ROTATE_90Z | Матрица поворота по оси Z на 90о |
ROTATE_180Z | Матрица поворота по оси Z на 180о |
ROTATE_270Z | Матрица поворота по оси Z на 270о |
ROTATE_RANDOM | Рандомный поворот |
ROTATE_ALL | Поворот по всем осям |
ROTATE_Y | Поворот по оси Y |