80LK (обсуждение | вклад) м |
80LK (обсуждение | вклад) м |
||
| (не показано 28 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
| − | + | <div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"> | |
| + | StructuresAPI - библиотека, упрощающая работу со структурами. | ||
| + | <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"> | <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: | + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" |
|- | |- | ||
! colspan="3" scope="col" | '''Библиотека''' | ! colspan="3" scope="col" | '''Библиотека''' | ||
| Строка 12: | Строка 16: | ||
|- | |- | ||
| style="width: 64px; text-align: center;" | '''1''' | | style="width: 64px; text-align: center;" | '''1''' | ||
| − | | style="width: 114px; text-align: center;" | Скачать | + | | style="width: 114px; text-align: center;" | [https://vk.com/wall-80513593_2254 Скачать] |
| style="width: 304px;" | | | style="width: 304px;" | | ||
Первая версия | Первая версия | ||
| + | |- | ||
| + | | style="width: 64px; text-align: center;" | '''1.1''' | ||
| + | | style="width: 114px; text-align: center;" | [https://vk.com/wall-80513593_2300 Подробнее] | ||
| + | | style="width: 304px;" | | ||
| + | *Добавлен метод StructuresAPI.init(string NameFolder) - Задает папку со структурами. | ||
| + | *Изменен метод StructuresAPI.set(name, x, y, z, rotate, destroy, progressively, time) - Добавлены параметры (Автор ToxesFoxes) | ||
| + | **destroy - Если true, структура будет "уничтожаться" | ||
| + | **progressively - Если true, структура будет постепенно "строиться/уничтожаться" | ||
| + | **time - Время в миллисекундах между установкой/уничтожением блоков | ||
| + | |||
| + | |- | ||
| + | | style="width: 64px; text-align: center;" | '''1.2''' | ||
| + | | style="width: 114px; text-align: center;" | [https://vk.com/wall-80513593_2301 Подробнее] | ||
| + | | style="width: 304px;" | | ||
| + | *Библиотека переписана. Объект StructuresAPI устарел. | ||
| + | *Сохраняется содержимое сундуков, печей и воронок | ||
| + | |||
| + | |- | ||
| + | | style="width: 64px; text-align: center;" | '''1.3''' | ||
| + | | style="width: 114px; text-align: center;" | [https://vk.com/wall-80513593_2305 Подробнее] | ||
| + | | style="width: 304px;" | | ||
| + | *StructuresAPI удален. | ||
| + | *Добавлен объект Rotate. Используется для сложных поворотов. | ||
| + | *Метод структуры get был изменен. struct.get(x, y, z, rotates, return_index). | ||
| + | *Метод структуры set был изменен. struct.set(x, y, z, rotate, progressively, time). | ||
| + | *Добавлен метод destroy(x, y, z, rotates, progressively, time) для структуры. | ||
| + | *Добавлен метод check(...) для структуры. Эквивалентен методу get(...). | ||
| + | *Добавлен метод Structure.setInWorld(name, ...). Альтернатива Structure.get(name).set(...). | ||
| + | *Добавлен метод Structure.destroyInWorld(name, ...). Альтернатива Structure.get(name).destroy(...). | ||
| + | *Добавлены константы Structure.PROGRESSIVELY и Structure.NOT_PROGRESSIVELY. | ||
| + | *Добавлены константы Structure.MIRROR_X, Structure.MIRROR_Y и Structure.MIRROR_Z. | ||
| + | *Исправлена установка блоков добавленных модом. | ||
| + | *Исправлено сохранение предметов и блоков. | ||
| + | *Исправлен поворот на 180 градусов по Y. | ||
| + | *Сохраняются TileEntity | ||
| + | |||
| + | |- | ||
| + | | style="width: 64px; text-align: center;" | '''1.4''' | ||
| + | | style="width: 114px; text-align: center;" | [https://vk.com/wall-80513593_2410 Подробнее] | ||
| + | | style="width: 304px;" | | ||
| + | *Дополнен перевод. | ||
| + | *Установка структуры производится в потоке, только если установка в режиме Structure.PROGRESSIVELY. | ||
| + | *Блоки воздуха в структуре больше не заменяются на камень. | ||
| + | |||
| + | |- | ||
| + | | style="width: 64px; text-align: center;" | '''GitHub''' | ||
| + | | style="width: 114px; text-align: center;" | [https://github.com/Wolf-Team/Libraries/blob/master/StructuresAPI.js '''GitHub'''] | ||
| + | | style="width: 304px;" | | ||
|} | |} | ||
| − | </div> | + | </div> </div> |
| − | |||
== Условия использования == | == Условия использования == | ||
| Строка 27: | Строка 78: | ||
Используя данный продукт вы автоматически соглашаетесь с этими правилами | Используя данный продукт вы автоматически соглашаетесь с этими правилами | ||
| − | </div> | + | </div> |
| − | |||
== Документация == | == Документация == | ||
| − | |||
<div class="mw-parser-output"> | <div class="mw-parser-output"> | ||
=== Инициализация === | === Инициализация === | ||
| Строка 37: | Строка 86: | ||
<syntaxhighlight lang="JavaScript">IMPORT("StructuresAPI"); | <syntaxhighlight lang="JavaScript">IMPORT("StructuresAPI"); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | </div> | + | </div> <div class="mw-parser-output"> |
| − | |||
| − | <div class="mw-parser-output"> | ||
=== Сохранение структур === | === Сохранение структур === | ||
| Строка 53: | Строка 100: | ||
*''-y n ''- Установить центр структуры в координате n по Y | *''-y n ''- Установить центр структуры в координате n по Y | ||
*''-z n ''- Установить центр структуры в координате n по Z | *''-z n ''- Установить центр структуры в координате n по Z | ||
| − | + | <div class="mw-parser-output"> | |
==== Через код ==== | ==== Через код ==== | ||
'''''!Не рекомендуется''''' | '''''!Не рекомендуется''''' | ||
| + | |||
| + | 1. Создать или получить объект структуры | ||
| + | <syntaxhighlight lang="JavaScript">var struct = Structure.get(name)</syntaxhighlight> | ||
| + | |||
| + | Где | ||
| + | |||
| + | *name - Имя структуры | ||
| + | |||
| + | 2. Добавить блоки | ||
| + | |||
| + | 3. Сохранить структуру | ||
| + | <syntaxhighlight lang="JavaScript">struct.save()</syntaxhighlight> | ||
| + | |||
| + | ===== Устаревший способ ===== | ||
<syntaxhighlight lang="JavaScript">StructuresAPI.save(name, structures)</syntaxhighlight> | <syntaxhighlight lang="JavaScript">StructuresAPI.save(name, structures)</syntaxhighlight> | ||
| Строка 63: | Строка 124: | ||
*name - Имя структуры | *name - Имя структуры | ||
*structures - Массив данных о блоках | *structures - Массив данных о блоках | ||
| − | </div> | + | </div> <div class="mw-parser-output"> |
| + | === Проверка структур === | ||
| + | |||
| + | Для проверки структур используется функция ''get экземпляра объекта Structure'' | ||
| + | |||
| + | ''struct.get(x,y,z,)'' | ||
| + | <syntaxhighlight lang="JavaScript">stuct.get(x, y, z, rotate_y)</syntaxhighlight> | ||
| + | |||
| + | Где: | ||
| + | |||
| + | *''x'' - Начальная координата структуры по X | ||
| + | *''y'' - Начальная координата структуры по Y | ||
| + | *''z'' - Начальная координата структуры по Z | ||
| + | *''rotate_y'' - Вращение только по оси Y | ||
| + | |||
| + | Вернет ''true'' если это нужная структура, иначе ''false.'' | ||
| + | |||
| + | '''Пример:''' | ||
| + | <syntaxhighlight lang="JavaScript">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"); | ||
| + | } | ||
| + | });</syntaxhighlight> | ||
| − | + | ==== Устаревший способ ==== | |
| − | === | ||
Для проверки структур используется функция ''getStructures()'' | Для проверки структур используется функция ''getStructures()'' | ||
| Строка 89: | Строка 172: | ||
}); | }); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| + | </div> <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"> | ||
| + | ==== Structure ==== | ||
| + | |||
| + | <span style="color:#f39c12;">Добавлен с версии 1.2</span> | ||
| + | <div class="mw-parser-output"><div class="mw-parser-output"> | ||
| + | ===== Методы ===== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | ! scope="col" | Версия | ||
| + | ! scope="col" style="width: 115px;" | Метод | ||
| + | ! scope="col" style="width: 248px;" | '''Аргументы''' | ||
| + | ! scope="col" | '''Описание''' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | style="width: 115px;" | init(string path) | ||
| + | | style="width: 248px;" | | ||
| + | *path - Путь к папке со структурами | ||
| + | |||
| + | | Устанавливает место хранения структур, относительно мода | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | style="width: 115px;" | get(string name) | ||
| + | | style="width: 248px;" | | ||
| + | *name - Имя структуры | ||
| + | |||
| + | | Возвращает экземпляр объекта Structure с именем ''name'' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | style="width: 115px;" | setInWorld(string name, int x, int y, int z, array rotate, bool progressively, int time) | ||
| + | | style="width: 248px;" | | ||
| + | *name - Имя структуры | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси Y | ||
| + | *z - Начальная координата структуры по оси Z | ||
| + | *rotate - Массив матриц поворотов | ||
| + | *progressively - Если true, структура будет постепенно "строиться" | ||
| + | *time - Время в миллисекундах между установкой блоков | ||
| + | |||
| + | | Установить структуру ''name'' в мире по координатам ''x,y,z'', с выбраным рандомно поворотм из массива ''rotate'' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | style="width: 115px;" | destroyInWorld(string name, int x, int y, int z, array rotates, bool progressively, int time) | ||
| + | | style="width: 248px;" | | ||
| + | *name - Имя структуры | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси Y | ||
| + | *z - Начальная координата структуры по оси Z | ||
| + | *rotates - Возможные повороты структуры | ||
| + | *progressively - Если true, структура будет постепенно "строиться" | ||
| + | *time - Время в миллисекундах между установкой блоков | ||
| + | |||
| + | | Установить структуру ''name'' в мире по координатам ''x,y,z'', с возможными поворотами ''rotates'' | ||
| + | |} | ||
| + | <div class="mw-parser-output"> </div> </div> | ||
| + | ===== Константы ===== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center;" | '''Версия''' | ||
| + | | style="text-align: center;" | '''Константа''' | ||
| + | | style="text-align: center;" | '''Описание''' | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_NONE | ||
| + | | | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_90Y | ||
| + | | Матрица поворота по оси Y на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_180Y | ||
| + | | Матрица поворота по оси Y на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_270Y | ||
| + | | Матрица поворота по оси Y на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_90X | ||
| + | | Матрица поворота по оси X на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_180X | ||
| + | | Матрица поворота по оси X на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_270X | ||
| + | | Матрица поворота по оси X на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_90Z | ||
| + | | Матрица поворота по оси Z на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_180Z | ||
| + | | Матрица поворота по оси Z на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_270Z | ||
| + | | Матрица поворота по оси Z на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_RANDOM | ||
| + | | Рандомный поворот | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_ALL | ||
| + | | Поворот по всем осям | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | ROTATE_Y | ||
| + | | Поворот по оси Y | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | PROGRESSIVELY | ||
| + | | Установка/уничтожение постройки постепенное | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | NOT_PROGRESSIVELY | ||
| + | | Установка/уничтожение постройки не постепенное | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | MIRROR_X | ||
| + | | Отражение по оси X | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | MIRROR_Y | ||
| + | | Отражение по оси Y | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | MIRROR_Z | ||
| + | | Отражение по оси Z | ||
| + | |} | ||
| + | </div> <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"> | ||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center;" | '''Версия''' | ||
| + | | style="text-align: center;" | '''Метод''' | ||
| + | | style="text-align: center;" | '''Аргументы''' | ||
| + | | style="text-align: center;" | '''Описание''' | ||
| + | |- | ||
| + | | 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) | ||
| + | | | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси Y | ||
| + | *z - Начальная координата структуры по оси Z | ||
| + | *rotate_y - Структура может быть повернута только по оси Y | ||
| + | |||
| + | | Вернет 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;" | getName() | ||
| + | | | ||
| + | | Вернет имя структуры | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.2''' | ||
| + | | style="text-align: center;" | save() | ||
| + | | | ||
| + | | Сохранить структуру в файл | ||
| + | |- | ||
| + | | 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) | ||
| + | | | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси Y | ||
| + | *z - Начальная координата структуры по оси Z | ||
| + | *rotate - Массив матриц поворотов | ||
| + | *destroy - Если true, структура будет "уничтожаться" | ||
| + | *progressively - Если true, структура будет постепенно "строиться/уничтожаться" | ||
| + | *time - Время в миллисекундах между установкой/уничтожением блоков | ||
| + | |||
| + | | Установить структурув мире по координатам 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;" | addBlock(x, y, z, block) | ||
| + | | | ||
| + | *x - Координата структуры по оси X относительно нулевой координаты структуры | ||
| + | *y - Координата структуры по оси Y относительно нулевой координаты структуры | ||
| + | *z - Координата структуры по оси Z относительно нулевой координаты структуры | ||
| + | *block - Блок | ||
| + | **id - ID блока | ||
| + | **data - Data блока | ||
| + | |||
| + | | Добавить блок в структуру | ||
| + | |} | ||
| + | </div> </div> </div> </div> </div> <div class="mw-parser-output"> </div> </div> | ||
| + | |||
| + | <div class="mw-parser-output"> | ||
| + | ==== Rotate ==== | ||
| + | |||
| + | <span style="color:#f39c12;">Добавлен с версии 1.3</span> | ||
| + | |||
| + | Объект Rotate позволяет задовать сложные повороты, которые будут выполнятся при поиске/уничтожении/установке структуры. | ||
| + | <syntaxhighlight lang="JavaScript">var rotate = new Rotate(); | ||
| + | rotate.addRotate(Structure.ROTATE_90Y); | ||
| + | rotate.addRotate(Structure.ROTATE_90X);</syntaxhighlight> | ||
| + | |||
| + | Данный код позволит повернуть структуру сначала на 90 градусов по оси Y, затем по оси X. | ||
| + | |||
| + | ===== экземпляр Rotate ===== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | ! scope="col" | Версия | ||
| + | ! scope="col" | Метод | ||
| + | ! scope="col" | Аргументы | ||
| + | ! scope="col" | Описание | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | addRotate(array rotate) | ||
| + | | colspan="1" rowspan="2" | | ||
| + | *rotate - Матрица поворота или экземпляр Rotate | ||
| + | |||
| + | | colspan="1" rowspan="2" | Добавить поворот | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | add(array rotate) | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | addRotates(array rotates) | ||
| + | | colspan="1" rowspan="2" | | ||
| + | *rotates - Массив митриц и экземпляров Rotate | ||
| + | |||
| + | | colspan="1" rowspan="2" | Добавить повороты в указанном порядке | ||
| + | |- | ||
| + | | style="text-align: center;" | '''1.3''' | ||
| + | | adds(array rotates) | ||
| + | |} | ||
| + | |||
| + | | ||
</div> | </div> | ||
| − | === | + | ==== StructuresAPI ==== |
| + | |||
| + | <span style="color:#c0392b;">'''''Считается устаревшим с версии 1.2<br/> Удален в версии 1.3'''''</span> | ||
| + | |||
| + | ===== Методы ===== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''Версия''' | ||
| + | | style="text-align: center; width: 197px;" | '''Метод''' | ||
| + | | style="text-align: center; width: 362px;" | '''Аргументы''' | ||
| + | | style="text-align: center; width: 332px;" | '''Описание''' | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.1''' | ||
| + | | style="text-align: center; width: 197px;" | init(string path) | ||
| + | | style="width: 362px;" | | ||
| + | *path - Путь к папке со структурами | ||
| + | |||
| + | | style="width: 332px;" | Устанавливает место хранения структур, относительно мода | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.0''' | ||
| + | | style="text-align: center; width: 197px;" | get(string name) | ||
| + | | style="text-align: center; width: 362px;" | | ||
| + | *name - Имя структуры | ||
| + | |||
| + | | style="width: 332px;" | Возвращает объект структуры, иначе false | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.0''' | ||
| + | | style="text-align: center; width: 197px;" | | ||
| + | getStructures(string name, int x, int y, int z, bool rotate_y) | ||
| + | |||
| + | | style="width: 362px;" | | ||
| + | *name - Имя структуры | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси X | ||
| + | *z - Начальная координата структуры по оси X | ||
| + | *rotate_y - Структура может быть повернута только по оси Y | ||
| + | |||
| + | | style="width: 332px;" | Вернет true, если на координатах структура name, иначе false | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.0''' | ||
| + | | style="text-align: center; width: 197px;" | save(string name, array structures) | ||
| + | | style="width: 362px;" | | ||
| + | *name - Имя структуры | ||
| + | *structures - Массив с данными о блоках | ||
| + | |||
| + | | style="width: 332px;" | Сохраняет струкутуру name | ||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.0''' | ||
| + | | style="text-align: center; width: 197px;" | set(string name, int x, int y, int z, array rotate) | ||
| + | | style="width: 362px;" | | ||
| + | *name - Имя структуры | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси X | ||
| + | *z - Начальная координата структуры по оси X | ||
| + | *rotate - Массив матриц поворотов | ||
| + | |||
| + | | style="width: 332px;" | | ||
| + | Установить структуру name в мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate | ||
| + | |||
| + | |- | ||
| + | | style="text-align: center; width: 59px;" | '''1.1''' | ||
| + | | style="text-align: center; width: 197px;" | set(string name, int x, int y, int z, array rotate, bool destroy, bool progressively, int time) | ||
| + | | style="width: 362px;" | | ||
| + | *name - Имя структуры | ||
| + | *x - Начальная координата структуры по оси X | ||
| + | *y - Начальная координата структуры по оси X | ||
| + | *z - Начальная координата структуры по оси X | ||
| + | *rotate - Массив матриц поворотов | ||
| + | *destroy - Если true, структура будет "уничтожаться" | ||
| + | *progressively - Если true, структура будет постепенно "строиться/уничтожаться" | ||
| + | *time - Время в миллисекундах между установкой/уничтожением блоков | ||
| + | |||
| + | | style="width: 332px;" | Установить структуру name в мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate | ||
| + | |} | ||
| + | |||
| + | </div> | ||
| + | |||
| + | ===== Константы ===== | ||
| + | |||
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 100%;" | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | '''Константа''' | ||
| + | | style="text-align: center; width: 824px;" | '''Описание''' | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_NONE | ||
| + | | style="width: 824px;" | | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_90Y | ||
| + | | style="width: 824px;" | Матрица поворота по оси Y на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_180Y | ||
| + | | style="width: 824px;" | Матрица поворота по оси Y на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_270Y | ||
| + | | style="width: 824px;" | Матрица поворота по оси Y на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_90X | ||
| + | | style="width: 824px;" | Матрица поворота по оси X на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_180X | ||
| + | | style="width: 824px;" | Матрица поворота по оси X на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_270X | ||
| + | | style="width: 824px;" | Матрица поворота по оси X на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_90Z | ||
| + | | style="width: 824px;" | Матрица поворота по оси Z на 90<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_180Z | ||
| + | | style="width: 824px;" | Матрица поворота по оси Z на 180<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_270Z | ||
| + | | style="width: 824px;" | Матрица поворота по оси Z на 270<sup>о</sup> | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_RANDOM | ||
| + | | style="width: 824px;" | Рандомный поворот | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_ALL | ||
| + | | style="width: 824px;" | Поворот по всем осям | ||
| + | |- | ||
| + | | style="text-align: center; width: 210px;" | ROTATE_Y | ||
| + | | style="width: 824px;" | Поворот по оси Y | ||
| + | |} | ||
| + | |||
| + | </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> | ||
| + | </div> | ||
StructuresAPI - библиотека, упрощающая работу со структурами.
| Библиотека | ||
|---|---|---|
| Версия | Ссылка | Изменения |
| 1 | Скачать |
Первая версия |
| 1.1 | Подробнее |
|
| 1.2 | Подробнее |
|
| 1.3 | Подробнее |
|
| 1.4 | Подробнее |
|
| GitHub | GitHub | |
Используя данный продукт вы автоматически соглашаетесь с этими правилами
Для сохранения структур есть два способа:
Для начала выделите вашу структуру топориком(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
| Версия | Метод | Аргументы | Описание |
|---|---|---|---|
| 1.2 | init(string path) |
|
Устанавливает место хранения структур, относительно мода |
| 1.2 | get(string name) |
|
Возвращает экземпляр объекта Structure с именем name |
| 1.3 | setInWorld(string name, int x, int y, int z, array rotate, bool progressively, int time) |
|
Установить структуру name в мире по координатам x,y,z, с выбраным рандомно поворотм из массива rotate |
| 1.3 | destroyInWorld(string name, int x, int y, int z, array rotates, bool progressively, int time) |
|
Установить структуру name в мире по координатам x,y,z, с возможными поворотами rotates |
| Версия | Константа | Описание |
| 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.3
Объект Rotate позволяет задовать сложные повороты, которые будут выполнятся при поиске/уничтожении/установке структуры.
var rotate = new Rotate();
rotate.addRotate(Structure.ROTATE_90Y);
rotate.addRotate(Structure.ROTATE_90X);
Данный код позволит повернуть структуру сначала на 90 градусов по оси Y, затем по оси X.
| Версия | Метод | Аргументы | Описание |
|---|---|---|---|
| 1.3 | addRotate(array rotate) |
|
Добавить поворот |
| 1.3 | add(array rotate) | ||
| 1.3 | addRotates(array rotates) |
|
Добавить повороты в указанном порядке |
| 1.3 | adds(array rotates) |
Считается устаревшим с версии 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 |