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

м
Строка 2: Строка 2:
 
StructuresAPI - библиотека, упрощающая работу со структурами.
 
StructuresAPI - библиотека, упрощающая работу со структурами.
  
 +
<div class="mw-parser-output"><div class="mw-parser-output">
 
== Загрузка ==
 
== Загрузка ==
  
Строка 13: Строка 14:
 
|-
 
|-
 
| 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;" | '''GitHub'''
 +
| style="width: 114px; text-align: center;" | [https://github.com/Wolf-Team/Libraries/blob/master/StructuresAPI.js '''GitHub''']
 +
| style="width: 304px;" | &nbsp;
 
|}
 
|}
</div> <div class="mw-parser-output">
+
</div> </div>
 +
 
 
== Условия использования ==
 
== Условия использования ==
  

Версия 15:08, 29 июля 2019

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

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

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

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

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

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

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

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

Через код

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

StructuresAPI.save(name, structures)

Где:

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

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

Для проверки структур используется функция 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")
    }
});

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

Методы

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

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

Установить структуру 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