OpenPeripheral: Addons
Дополнительные блоки и предметы.
Если вы ещё не прочитали вступительную статью - рекомендуется сделать это сейчас, так как описания данных предметов/жидкостей/сущностей здесь нет.
Про очки и терминал было рассказано в другой статье.
Блоки:
PIM - Personal Inventory Manager, функционал такой-же как у инвентаря.
События: player_on(name:string, uuid:string) - игрок наступил на платформу player_off(name:string, uuid:string) - игрок сошёл с платформы
Сенсор - сканирует область вокруг на наличие блоков или сущностей. Устаревший функционал описывать не буду.
Радиус сканирования - куб с длиной сторон 2*радиус+1.
Интересный факт: полученное прокси можно использовать на любом отдалении цели от сенсора, даже если цель в других мирах. Но работает это только до выгрузки чанка с сенсором, или сущности.
Идентификатор: openperipheral_sensor getEntityIds(type:string):number[] - возвращает идентификаторы сущностей заданного типа в радиусе сканирования. Типы: mob, item, minecart, item_frame, painting. getEntityData(id:number, type:string):table - возвращает прокси сущности по идентификатору и типу сущности. Позиция сущностей относительно сенсора. getPlayers():table[] - возвращает список профилей игроков в радиусе сканирования. getPlayerByName(name:string):table - возвращает прокси игрока по никнейму, если он в радиусе сканирования. getPlayerByUUID(uuid:string):table - возвращает прокси игрока по уникальному идентификатору, если он в радиусе сканирования. sonicScan():table[] - возвращает список блоков в СФЕРИЧЕСКОЙ области! - x, y, z:number - координаты блока относительно сканера - type:string - тип блока: air, solid, liquid, unknown - color:number - битовая маска цвета блока, один из 16ти цветов. 1 << color sonicScanTarget(x, y, z:number):table - то-же что и прошлая функция, но для конкретного блока
Селектор - позволяет выбирать предмет на панели.
Идентификатор: openperipheral_selector Событие: slot_click(slot:number, name:string) - адрес компонента не передается, name - похож на адрес, но такого компонента не существует. getSlots():table - возвращает список предметов в слотах setSlots(items:table) - установить предметы в слоты, не работает в OpenComputers из-за неправильного конвертирования getSlot(slot:number):table - получить предмет в слоте setSlot(slot:number, item:table) - установить предмет в слот, предмет вида: {id:string, dmg:number}
Билетный автомат - печатает билеты из RailCraft.
Идентификатор: openperipheral_ticketmachine createTicket(destination:string, amount:number):bool - печатает билет(ы) в указанное направление getOwner():string - возвращает владельца блока и билетов
- 1
2 комментария
Рекомендуемые комментарии