StructuresAPI — различия между версиями

м
Строка 1: Строка 1:
<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">
 
StructuresAPI - библиотека, упрощающая работу со структурами.
 
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">
'''''ВАЖНО!:''' Документация по версии 1.2 не полная''
 
<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">
 
 
== Загрузка ==
 
== Загрузка ==
  
Строка 42: Строка 39:
 
| style="width: 304px;" | &nbsp;
 
| style="width: 304px;" | &nbsp;
 
|}
 
|}
</div> </div> </div>
+
</div> </div> </div>  
 
 
 
== Условия использования ==
 
== Условия использования ==
  
Строка 73: Строка 69:
 
*''-y&nbsp;n&nbsp;''- Установить центр структуры в координате n&nbsp;по Y  
 
*''-y&nbsp;n&nbsp;''- Установить центр структуры в координате n&nbsp;по Y  
 
*''-z&nbsp;n&nbsp;''- Установить центр структуры в координате n&nbsp;по Z  
 
*''-z&nbsp;n&nbsp;''- Установить центр структуры в координате n&nbsp;по Z  
 
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
==== Через код ====
 
==== Через код ====
Строка 98: Строка 93:
 
*name - Имя структуры  
 
*name - Имя структуры  
 
*structures - Массив данных о блоках  
 
*structures - Массив данных о блоках  
 
+
</div> <div class="mw-parser-output">
&nbsp;
 
</div>
 
 
 
<div class="mw-parser-output">
 
 
=== Проверка структур ===
 
=== Проверка структур ===
  
Строка 150: Строка 141:
 
});
 
});
 
</syntaxhighlight>
 
</syntaxhighlight>
</div>
+
</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"><div class="mw-parser-output">
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
 
==== Structure ====
 
==== Structure ====
 
 
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
===== Методы =====
 
===== Методы =====
Строка 184: Строка 169:
 
| Возвращает экземпляр объекта Structure с именем ''name''
 
| Возвращает экземпляр объекта Structure с именем ''name''
 
|}
 
|}
</div>
+
</div>  
 
 
 
===== Константы =====
 
===== Константы =====
  
Строка 246: Строка 230:
 
| Поворот по оси Y
 
| Поворот по оси Y
 
|}
 
|}
</div>
+
</div> <div class="mw-parser-output">
 
 
<div class="mw-parser-output">
 
 
==== Экземпляр&nbsp;Structure ====
 
==== Экземпляр&nbsp;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">
Строка 303: Строка 285:
 
| &nbsp;Добавить блок в структуру
 
| &nbsp;Добавить блок в структуру
 
|}
 
|}
</div> </div> </div> </div> </div>
+
</div> </div> </div> </div> </div>  
 
 
 
==== StructuresAPI ====
 
==== StructuresAPI ====
  
Строка 427: Строка 408:
 
| style="width: 824px;" | Поворот по оси Y
 
| style="width: 824px;" | Поворот по оси Y
 
|}
 
|}
</div> </div> </div> </div> </div> </div></div></div>
+
</div> </div> </div> </div> </div> </div> </div> </div> </div> </div>

Версия 18:10, 16 февраля 2020

StructuresAPI - библиотека, упрощающая работу со структурами.

Загрузка

Библиотека
Версия Ссылка Изменения
1 Скачать

Первая версия

1.1 Подробнее
  • Добавлен метод StructuresAPI.init(string NameFolder) - Задает папку со структурами.
  • Изменен метод StructuresAPI.set(name, x, y, z, rotate, destroy, progressively, time) - Добавлены параметры (Автор ToxesFoxes)
    • destroy - Если true, структура будет "уничтожаться"
    • progressively - Если true, структура будет постепенно "строиться/уничтожаться"
    • time - Время в миллисекундах между установкой/уничтожением блоков
1.2 Подробнее
  • Библиотека переписана. Объект StructuresAPI устарел.
  • Сохраняется содержимое сундуков, печей и воронок
GitHub GitHub  

Условия использования

  • Запрещено распространение на сторонних источниках без указания ссылки на официальное сообщество
  • Запрещено изменение кода библиотеки
  • Запрещено явное копирование кода в другие библиотеки или моды 

Используя данный продукт вы автоматически соглашаетесь с этими правилами

Документация

Инициализация

Для начала работы импортируйте библиотеку.

IMPORT("StructuresAPI");

Сохранение структур

Для сохранения структур есть два способа:

Через WorldEdit

Для начала выделите вашу структуру топориком(1 точка - тап по блоку, 2 точка - ломание блока), затем выделите с помощью деревянного меча начальную точку структуры(Она может быть вне области структуры).
После введите в чат команду /save <name> [-a] [-x n] [-y n] [-z n] со следующими параметрами

  • name - Имя структуры(Без пробелов)
  • -a - Сохранить структуру с воздухом
  • -x n - Установить центр структуры в координате n по X
  • -y n - Установить центр структуры в координате n по Y
  • -z n - Установить центр структуры в координате n по Z

Через код

!Не рекомендуется

1. Создать или получить объект структуры

var struct = Structure.get(name)

Где

  • name - Имя структуры

2. Добавить блоки

3. Сохранить структуру

struct.save()
Устаревший способ
StructuresAPI.save(name, structures)

Где:

  • name - Имя структуры
  • structures - Массив данных о блоках

Проверка структур

Для проверки структур используется функция get экземпляра объекта Structure

struct.get(x,y,z,)

stuct.get(x, y, z, rotate_y)

Где:

  • x - Начальная координата структуры по X
  • y - Начальная координата структуры по Y
  • z - Начальная координата структуры по Z
  • rotate_y - Вращение только по оси 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)

Где:

  • name - Имя структуры
  • x - Начальная координата структуры по X
  • y - Начальная координата структуры по Y
  • z - Начальная координата структуры по Z
  • rotate_y - Вращение только по оси 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")
    }
});

Полный перечень методов и констант

Structure

Методы
Версия Метод Аргументы Описание
1.2 init(string path)
  • path - Путь к папке со структурами
Устанавливает место хранения структур, относительно мода
1.2 get(string name)
  • 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

Экземпляр Structure

Версия Метод Аргументы Описание
1.2 get(int x, int y, int z, bool rotate_y)
  • x - Начальная координата структуры по оси X
  • y - Начальная координата структуры по оси Y
  • z - Начальная координата структуры по оси Z
  • rotate_y - Структура может быть повернута только по оси Y
 Вернет true, если на координатах данная структура, иначе false
1.2 getName()   Вернет имя структуры
1.2 save()   Сохранить структуру в файл
1.2 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
1.2 addBlock(x, y, z, block)
  • x - Координата структуры по оси X относительно нулевой координаты структуры
  • y - Координата структуры по оси Y относительно нулевой координаты структуры
  • z - Координата структуры по оси Z относительно нулевой координаты структуры
  • block - Блок
    • id - ID блока
    • data - Data блока
 Добавить блок в структуру

StructuresAPI

Считается устаревшим с версии 1.2

Методы
Версия Метод Аргументы Описание
1.1 init(string path)
  • path - Путь к папке со структурами
Устанавливает место хранения структур, относительно мода
1.0 get(string name)
  • name - Имя структуры
Возвращает объект структуры, иначе false
1.0

getStructures(string name, int x, int y, int z, bool rotate_y)

  • name - Имя структуры
  • x - Начальная координата структуры по оси X
  • y - Начальная координата структуры по оси X
  • z - Начальная координата структуры по оси X
  • rotate_y - Структура может быть повернута только по оси Y
Вернет true, если на координатах структура name, иначе false
1.0 save(string name, array structures)
  • name - Имя структуры
  • structures - Массив с данными о блоках
Сохраняет струкутуру name
1.0 set(string name, int x, int y, int z, array rotate)
  • name - Имя структуры
  • x - Начальная координата структуры по оси X
  • y - Начальная координата структуры по оси X
  • z - Начальная координата структуры по оси X
  • 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 - Начальная координата структуры по оси X
  • y - Начальная координата структуры по оси X
  • z - Начальная координата структуры по оси X
  • rotate - Массив матриц поворотов
  • destroy - Если true, структура будет "уничтожаться"
  • progressively - Если true, структура будет постепенно "строиться/уничтожаться"
  • 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