Редактирование: Minecraft Script Engine

Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия Ваш текст
Строка 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"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">'''Внимание!&nbsp;'''Данная документация предназначена исключительно для ознакомления, так как&nbsp;'''Minecraft Script Engine''' находится в разработке и конечный его вариант может существенно отличаться от текущего.</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"><div class="mw-parser-output"><div class="mw-parser-output">'''Внимание!&nbsp;'''Данная документация предназначена исключительно для ознакомления, так как&nbsp;'''Minecraft Script Engine''' находится в разработке и конечный его вариант может существенно отличаться от текущего.</div>  
 
== Система скриптинга ==
 
== Система скриптинга ==
  
Строка 30: Строка 30:
 
[[File:Folder Structure.PNG|RTENOTITLE]]
 
[[File:Folder Structure.PNG|RTENOTITLE]]
  
<div class="mw-parser-output">
 
<div class="mw-parser-output">
 
 
== Структура скрипта ==
 
== Структура скрипта ==
  
Строка 37: Строка 35:
 
<syntaxhighlight lang="Javascript">var sampleClientSystem == client.registerSystem(0, 0); // Для клиентских скриптов
 
<syntaxhighlight lang="Javascript">var sampleClientSystem == client.registerSystem(0, 0); // Для клиентских скриптов
 
var sampleServerSystem == server.registerSystem(0, 0); // Для серверных скриптов</syntaxhighlight>
 
var sampleServerSystem == server.registerSystem(0, 0); // Для серверных скриптов</syntaxhighlight>
 
Аргументами функции&nbsp;registerSystem является версия Minecraft Script Engine, под которую заточен данный скрипт. В примере выше это версия 0.0. Версии API будут различаться набором функционала и, соответственно, совместимостью с версиями майнкрафта.
 
  
 
Далее необходимо задать нашим системам функции ''initialize'',''update&nbsp;''и&nbsp;''shutdown'':
 
Далее необходимо задать нашим системам функции ''initialize'',''update&nbsp;''и&nbsp;''shutdown'':
Строка 56: Строка 52:
  
 
Также возможна отладка на ходу, для этого необходимо установить JIT Debugger и модули разработки Javascript&nbsp;в Visual Studio, затем подключиться к процессу Minecraft (''Debug ->&nbsp;Attach to Process''). Теперь с помощью кнопки Pause можно остановить выполнение скрипта и увидеть значения переменных непосредственно в процессе его выполнения. При этом через некоторое время&nbsp;может произойти отключение клиентов от сервера (''time out'').&nbsp;
 
Также возможна отладка на ходу, для этого необходимо установить JIT Debugger и модули разработки Javascript&nbsp;в Visual Studio, затем подключиться к процессу Minecraft (''Debug ->&nbsp;Attach to Process''). Теперь с помощью кнопки Pause можно остановить выполнение скрипта и увидеть значения переменных непосредственно в процессе его выполнения. При этом через некоторое время&nbsp;может произойти отключение клиентов от сервера (''time out'').&nbsp;
</div>
 
  
<div class="mw-parser-output"><div class="mw-parser-output"><div class="mw-parser-output">
 
 
== Команды ==
 
== Команды ==
  
Строка 82: Строка 76:
 
*applyComponentChanges(componentObject) - применяет изменения в объекте компонента&nbsp;''componentObject''.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp;  
 
*applyComponentChanges(componentObject) - применяет изменения в объекте компонента&nbsp;''componentObject''.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp;  
 
*destroyComponent(EntityObject, сomponentName) - убирает компонент с названием&nbsp;''сomponentName ''из объекта&nbsp;''EntityObject''. На данный моменнт работает только с компонентами, добавленными скриптом, и не работает с компонентами, определенными в JSON.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp;  
 
*destroyComponent(EntityObject, сomponentName) - убирает компонент с названием&nbsp;''сomponentName ''из объекта&nbsp;''EntityObject''. На данный моменнт работает только с компонентами, добавленными скриптом, и не работает с компонентами, определенными в JSON.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp;  
<div class="mw-parser-output">
+
 
 
=== События ===
 
=== События ===
  
 
События - одна из самых важных частей любой системы. В&nbsp;'''Minecraft Script Engine&nbsp;'''для управления событиями используются следующие функции:
 
События - одна из самых важных частей любой системы. В&nbsp;'''Minecraft Script Engine&nbsp;'''для управления событиями используются следующие функции:
  
*broadcastEvent(EventIdentifier, EventData) - вызывает событие с идентификатором&nbsp;''EventIdentifier ''и данными&nbsp;''EventData''.&nbsp;Возвращает ''ture'', если вызов события прошел успешно, в противном случае ''null''.&nbsp;
+
*&nbsp;  
*listenForEvent(EventIdentifier, CallbackObject) - подписывает функцию&nbsp;''CallbackObject'' на событие&nbsp;''EventIdentifier''. Событие может быть как собственным (вызваным с помощью&nbsp;''broadcastEvent''), так и внутриигровым.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp;
 
 
 
=== Фильтры ===
 
 
 
Фильтры (''Англ. Script Views'') - способ отсортировать сущностей на основе их компонентов. Дополнительные возможности фильтрования предоставлют ''пространственные фильтры''. Все фильтры возвращают сущностей, на данный момент прогруженных в мире.
 
 
 
*registerView() - позволяет заригистрировать пустой фильтр, который будет возвращать все сущности в игре. Возвращает объект с ''ID ''фильтра либо ''null'', если во время выполнения команды произошла ошибка.&nbsp;
 
*registerSpatialView(SpatialComponent, X_Attribute, Y_Attribute, Z_Attribute) - регистрирует фильтр, использующий пространственный компонент (задается с помощью&nbsp;minecraft:position либо кастомным компонентом). Принимает непосредственно пространственный компонент (координаты начала коробки) и размерности по осям X, Y, Z соответственно.&nbsp;Возвращает объект с ''ID ''фильтра либо ''null'', если во время выполнения&nbsp;команды произошла ошибка.&nbsp;
 
*addFilter(ComponentName) - добавляет фильтрацию по компоненту&nbsp;''ComponentName''.&nbsp;
 
*getEntitiesFromView(View) - получает массив сущностей, подпадающий под фильтр&nbsp;''View'', либо ''null ''в случае ошибки.&nbsp;
 
*getEntitiesFromSpatialView(SpatialView, X_0, Y_0, Z_0, X_1, Y_1, Z_1) - возвращает массив сущностей, которые попадают в коробку с координатами&nbsp;X_0, Y_0, Z_0, X_1, Y_1, Z_1, где нулевые координаты - координаты начала коробки, а первые - конца (У направлен вверх), либо&nbsp;''null ''в случае ошибки.&nbsp;
 
 
 
<div class="mw-parser-output"><div class="mw-parser-output">
 
== Компоненты скрипта ==
 
 
 
Данный раздел документации посвящен описанию всех компонентов&nbsp;сущностей, доступных в '''Minecraft Script Engine'''. Компоненты разделяются на два типа - клиентские и серверные. Подробнее о том, в чем их различие, будет рассказано в соответствующих разделах документации ниже.&nbsp;
 
  
Компонент можно добавить к сущности, получить, изменить и убрать из сущности. Чтобы получить и обновить компонент, он должен быть привязан к сущности. Подробнее можно узнать в разделе команд для работы с компонентами выше.
+
==== broadcastEvent(EventIdentifier, EventData) - вызывает событие с идентификатором&nbsp;''EventIdentifier ''и данными&nbsp;''EventData''.&nbsp;Возвращает ''ture'', если вызов события прошел успешно, в противном случае ''null''.&nbsp; ====
  
=== Клиентские компоненты ===
+
*&nbsp;
  
Эти компоненты&nbsp;могут быть использованы только в клиентских скриптах:
+
==== listenForEvent(EventIdentifier, CallbackObject) - подписывает функцию&nbsp;''CallbackObject'' на событие&nbsp;''EventIdentifier''. Событие может быть как собственным (вызваным с помощью&nbsp;''broadcastEvent''), так и внутриигровым.&nbsp;Возвращает ''ture'', если вызов функции прошел успешно, в противном случае ''null''.&nbsp; ====
 
 
*''minecraft:molang'' - предоставляет доступ к переменным MoLang сущности. Подробнее о переменных MoLang можно узнать в документации по адднам. Поскольку переменные MoLang содержат в своем названии точки (например, "entity.isgrazing"), для доступа к ним используется синтаксис [].&nbsp; Например,&nbsp;
 
<div><syntaxhighlight lang="Javascript">var molangComponent = this.createComponent(entity, "minecraft:molang");
 
molangComponent["entity.molangexample"] = 1.0;
 
this.needsUpdate(molangComponent);</syntaxhighlight>
 
<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">
 
=== Серверные компоненты ===
 
 
 
Серверные компоненты предназначены для использования в серверных скриптах и синхронизируются со всеми клиентами (игроками) в игровом мире. Данные компоннты созданы так, чтобы по-максимуму соответствовать компонентам JSON-формата, использующимся в аддонах. На данный момнт доступны следующие компоненты:
 
 
 
*minecraft:attack''&nbsp;''- позволяет изменять урон и эффекты при атаке. Имеет свойства:
 
**''damage ''-&nbsp;урон при ударе, задается&nbsp;массивом из двух чисел (минимальное и максимальное значения)  
 
**''effect_name''&nbsp;-&nbsp;позволяет задать эффект при атаке
 
**''effect_duration ''- время эффекта в секундах 
 
*minecraft:collision_box - позволяет задать хитбокс сущности. При применении компонента сущность сразу же получает новый хитбокс. '''Внимание!'''&nbsp;Если после изменения хитбокса сущность окажется в блоке, она может начать задыхаться! Свойства:
 
**''width'' - ширина и глубина хитбокса в блоках. Стоит заметить, что сечение хитбокса может быть только квадратным. Отрицательные значения будут интерпретированы как 0.
 
**''height ''- высота хитбокса в блоках.&nbsp;Отрицательные значения будут интерпретированы как 0. 
 
*minecraft:damage_sensor - определяет массив типов урона и того, как сущность будет реагировать на данный урон. Тригеры, существующие на данный момент в игре, не могут быть корректно представлены в подобной форму, поэтому вызов ''applyComponentChanges()''&nbsp;полностью заменит существующие триггеры. Свойства не протестированы и требуют уточнений:
 
**''on_damage ''- список триггеров с возможностью управления реакцией сущности на те или иные виды урона
 
**''deals_damage ''- если указано значение true, урон будет нанесен сущности, если false - проигнорирован.
 
**''cause ''- строка, представляющая тип урона, который вызвал данный набор событий. 
 
*minecraft:equipment - определяет броню и обмундирование моба. При примнении на сущность сразу же надевается соответствующая броня. Свойства:
 
**''table ''- путь к файлу (относительно корня пакета поведений), в котором хранится информация о луте.
 
**''slot_drop_chance ''- список слотов с шансом выпадания предмета при смерти сущности. 
 
*minecraft:equippable - определяет, какие и сполько предметов могут быть надеты на сущность. Единственное свойство '''''slots'''''&nbsp;содержит массив слотов и предметов, которые могут быть в нем размещены. Каждый отдельный элемент - объект следующей структуры:
 
**''slot ''(по умолчанию 0) - номер слота, который описан в этом объекте.
 
**''accepted_items'' - список предметов, которые в него можно положить.
 
**''item ''- название предмета, который можно положить в данный слот.
 
**''interact_text'' - надпись на кнопке, если сущности можно положить данный предмет в данную ячейку инвентаря (пример - седло для лошади)
 
**''on_equip ''- название события, которое вызывается, когда на сущность надевается данный предмет.
 
**''on_unequip ''-&nbsp;название события, которое вызывается, когда с сущности снимается данный предмет. 
 
*minecraft:explode - контроллирует взрыв сущности, а так же возникновение этого взрыва. Свойства:
 
**''fuseLength ''(по умолчанию [0, 0])&nbsp;- "длинна фитиля" - время в секундах до взрыва,&nbsp;задается&nbsp;массивом из двух чисел (минимальное и максимальное значения).
 
**''power ''(по умолчанию 3.0)&nbsp;- мощность взрыва, то есть его радиус и наносимый урон.  
 
**''maxResistance ''(по умолчанию бесконечность)&nbsp;- если выставлено значение, взрывоустойчивость блоков во время взрыва не привысит данное значение. Может быть использовано для взрыва таких блоков, как обсидиан.&nbsp;
 
**''fuseLit ''(по умолчанию ''false'') - ''true'', если отсчет времени до взрыва уже идет, в противном случае ''false''.
 
**''causesFire ''(по умолчанию ''false'') - если свойство установлено в ''true'', после взрыва на его месте останется огонь. В противном случае ''false''.&nbsp;
 
**''breaks_blocks&nbsp;''(по умолчанию ''true'') - если свойство установлено в ''false'', не будет разрушать блоки в радиусе взрыва.&nbsp;
 
**''fireAffectedByGriefing&nbsp;''(по умолчанию ''false'') - если&nbsp;свойство установлено в ''true'', наличие огня после взрыва определяется игровым правилом&nbsp;''mob griefing''.&nbsp;
 
**''destroyAffectedByGriefing&nbsp;&nbsp;''(по умолчанию ''false'') - если&nbsp;свойство установлено в ''true'', разрушение блоков в радиусе взрыва&nbsp;определяется игровым правилом&nbsp;''mob griefing''.&nbsp; 
 
*minecraft:healable - определяет, как игрок может лечить сущность. Свойства:
 
**''force_use ''(по умолчанию ''false'') - если установлен в ''true'', игрок может использовать предмет для лечения сущности вне зависимости от её здоровья.&nbsp;
 
**''filters ''- группа фильтров, которая определяет условия возможности данного действия.
 
**''items ''- массив предметов, используемых для лечения сущности. Каждый элемент - независимый объект следующей структуры:
 
***''item'' - строковой ID предмета, используемый для лечения данной сущности
 
***''heal_amount ''(по умолчанию 1) - количество здоровья, восстанавливаемого данным предметом.
 
***''filters ''- группа фильтров,&nbsp;которая определяет условия возможности данного действия.   
 
*minecraft:health - определяет здоровье моба. Свойства:
 
**''health ''(по умолчанию 1) - текущее здоровье сущности.
 
**''maxHealth ''(по умолчанию 10) - максимальное здоровье, до которого сущность может вылечится.&nbsp; 
 
*minecraft:interact - определяет, каким образом игрок может взаимодействовать с сущностью. Имеет для этого следующие свойства:
 
**''spawn_entities ''- задает массив ID сущностей, которые призываются при взаимодействии с игроком.
 
**''on_interact ''- задает строковой ID события, которое вызывается при взаимодействии с игроком.
 
**''particle_on_start ''- задает эффект частиц в момент начала взаимодействия. Эффект задается объектом со следующими свойствами:
 
***''particle_type ''- строковой ID частицы
 
***''particle_y_offset ''(по умолчанию 0.0) - смещение эффекта вверх по оси Y
 
***''particle_offset_towards_interactor'' (по умолчанию ''false'') - если ''true'', эффект появится ближе к игроку 
 
**''cooldown ''- "охлаждение" - время, через которое сущность может снова взаимодействовать с игроком. По у молчанию 0.0
 
**''swing&nbsp;''(по умолчанию ''false'') - если установлен в true, игрок будет иметь анимацию "swing" (кивок головой) при взаимодействии с сущностью.&nbsp;
 
**''use_item&nbsp;''(по умолчанию ''false'') - если установлен в true, при взаимодействии будет тратится прдмет.
 
**''hurt_item'' (по умолчанию 0) - прочность, на которую будет умньшатся предмет при взаимодействии.&nbsp;
 
**''interact_text ''- текст, который будет показан на кнопке взаимодействия.
 
**''add_items.table'' -&nbsp;путь к файлу (относительно корня пакета поведений), в котором хранится информация о предметах, добавляемых в инвентарь после взаимодействия.
 
**''spawn_items.table'' -&nbsp;путь к файлу (относительно корня пакета поведений), в котором хранится информация о предметах, дропающихся рядом после взаимодействия.
 
**''transform_to_item ''- используемый прдмет превратится в указанный тут предмет после взаимодействия. Предмет указывается в формате "id:data".
 
**''play_sounds'' - массив строковых ID звуков, проигрываемых при взаимодействии. 
 
*minecraft:inventory - позволяет управлять инвентарем сущности, но не умеет менять его содержимое (к сожалению). Свойства:
 
**''container_type ''- задает тип интерфейса, может быть одним из следующих значений:&nbsp;''horse'', ''minecart_chest'', ''minecart_hopper'', ''inventory'', ''container ''и&nbsp;''hopper''.
 
**''inventory_size ''- задает размер инвентаря (количество доступных слотов). По умолчанию 5.&nbsp;
 
**''can_be_siphoned_from ''(по умолчанию ''false'')&nbsp;- если установлено в true, содержимое инвентаря сущности может быть вытянуто воронкой.
 
**''private ''(по умолчанию ''false'') - если установлено в true, только сущность имеет доступ к своему инвентарю.&nbsp;
 
**''restrict_to_owner ''(по умолчанию ''false'') - если установлено в true, доступ к инвентарю сущности имеет только&nbsp;она сама и её владелец.
 
**''additional_slots_per_strength ''(по умолчанию 0) - количество дополнительных слотов, которые сущность может получить (?). 
 
*minecraft:look_at - заставляет сущность некоторое время "пялиться" на другую сущность. Свойства:
 
**''filters ''(по умолчанию игрок) - фильтры, которыми определяется, на каких сущностей будет смотреть данная сущность.&nbsp;
 
**''look_cooldown ''(по умолчанию [0, 0]) - время, которое сущность будет стоять на месте и не будет искать цель/атаковать. Задается&nbsp;массивом из двух чисел (минимальное и максимальное значения).
 
**''look_event ''- идентификатор события, вызываемого, когда сущности из списка фильтров смотрят на эту сущность.
 
**''mAllowInvulnerable&nbsp;''(по умолчанию ''false'') - если установлено в ''true'', сущность будет смотреть даже на игрока в креативе.
 
**''searchRadius ''(по умолчанию 10.0) - максимальное расстояние в блоках, на котором будет срабатывать событие.
 
**''setTarget ''(по умолчанию ''true'') - если ''true'', сущность установит объект наблюдения в качестве цели для нападения.&nbsp; 
 
*minecraft:nameable - позволяет настраивать поведение и события сущности, когда к ней применяется бирка. Также позволяет заранее задавать имя сущности. Основные свойства:
 
**''name_actions ''- объект, представляющий собой описание события назначения имени мобу. Объект имеет следующую структуру:
 
***''on_named ''- название события, вызываемого при переименовании, если имя сущности входит в список&nbsp;''name_filter''
 
***''name_filter ''- список специальніх имен сущностей, для которых сработает событие&nbsp;''on_named'' 
 
**''default_trigger ''- переключатель, который срабатывает, когда сущность называют.
 
**''alwaysShow&nbsp;''(по умолчанию ''false'') - если выставлен в&nbsp;''true'', имя будет всегда показываться над мобом.
 
**''allowNameTagRenaming ''(по умолчанию ''true'') - если выставлен в&nbsp;''true'', сущность можно будет переименовать с помощью бирки.
 
**''name ''- позволяет задать или получить имя сущности, если оно было задано ранее. 
 
*minecraft:position - позволяет управлять положением сущности в мире. При применении мгновнно перемещает сущность в новое расположение. Свойства - координаты ''x, y z'' сущности entity.&nbsp;  
 
*minecraft:rotation - возмоляет управлять поворотом сущности. Особое внимание стоит уделить свойствам, поскольку их названия семантически некорректны:
 
**''x'' (по умолчанию 0) - поворот головы вверх-вниз (по оси X). Является состовляющей '''''pitch'''''поворота объекта в общепринятой терминологии.&nbsp;
 
**y (по умолчанию 0) - поворот головы влево-вправо (по оси&nbsp;Y). Является состовляющей '''''yaw&nbsp;'''''поворота объекта в общепринятой терминологии.&nbsp; 
 
*minecraft:shooter - определяет, какими снарядами сущность будет вести дальний бой (стрельбу). Свойства:
 
**''def ''- идентификатор сущности, которая будет испольщована для дальнего боя. Для возможности стрельбы у этой сущности должен быть определен компонент projectile.
 
**''auxVal ''- ID эффекта зелья, который будет применен к сущности при попадании. 
 
*minecraft:spawn_entity - контроллирует способность моба призывать сущность или дроп. В качестве примера из ванильного Minecraft'а - курица, которая несет яйца. Свойста:
 
**''min_wait_time ''- минимальное время между призывами.в секундах. По умолчанию 300 секунд.
 
**''max_wait_time ''- максимальное время между призывами в секундах. По умолчанию 600 секунд.
 
**''spawn_sound ''- строковой ID звука, проигрываемого при спавне сущности.
 
**''spawn_item ''(по умолчанию egg) - если&nbsp;spawn_entity пустой, задает ID предмета, дропаемого сущностью.
 
**''spawn_entity ''- задает сущность, которую необходимо свавнить.
 
**''spawn_method ''- способ появления сущности. По умолчанию - ''born ''(рождение).
 
**''spawn_event ''- событие, вызываемое при спавне сущности. По умолчанию -&nbsp;''minecraft:entity_born''. 
 
*minecraft:teleport - задает возможность телепортации сущности (подобно Эндермену). Для разового перемещения используйте компонент&nbsp;minecraft:position.
 
**''darkTeleportChance ''- вероятность телепорта сущности, если она попадает в темноту. По умолчанию - 0.01.
 
**''lightTeleportChance'' -&nbsp;вероятность телепорта сущности, если она попадает на солнечный свет. По умолчанию - 0.01.
 
**''maxRandomTeleportTime ''- максимальное время в секунду между случайными перемещениями. По умолчанию - 20.0.
 
**''minRandomTeleportTime ''- минимальное время в секунду между случайными перемещениями. По умолчанию - 0.0.
 
**''randomTeleportCube ''- бокс&nbsp;случайной телепортации. Сущность будет телепортирована в приделах этого куба. Задается массивом из трех элементов - размерностей по осям ''x, y, z'' последовательно. По умолчанию -&nbsp;[32.0, 16.0, 32.0].
 
**''randomTeleports ''(по умолчанию ''true'') - если ''true'', сущность будет случайны образом тлепортироваться.
 
**''targetDistance ''- максимальное расстояние, на которое сущность будет телепортироваться во время атаки. По умолчанию - 16.0.
 
**''target_teleport_chance ''- вероятность телепортации, по умолчанию 1.0.&nbsp; 
 
 
 
=== Пользовательские компоненты ===
 
 
 
Пользовательские компоненты - особый вид компонентов, которые могут быть опрделены пользователем, но не дают сущности никакого поведения.&nbsp;Компонент должен быть зарегистрирован в Script Engine, для этого необходимо указать его имя и набор полей в формате name: value. После применения компонент ведет себя как&nbsp;и&nbsp;встроенный: вы можете получить его у сущности, изменить его значения и применить изменения. На данный момент пользовательские компоненты - единственные компоненты, которые могут быть добавлены к сущности на лету. Также они не сохраняются при выходе с уровня, поэтому заново присваивать их сущности необходимо при каждом заходе в мир.&nbsp;
 
 
 
Пример регистрации компонента:
 
<syntaxhighlight lang="Javascript">this.registerComponent("myNamespace:myComponent", { myString: "TamerJeison", myInt: 42, myFloat: 1.0, myArray: [1, 2, 3] });
 
</syntaxhighlight>
 
  
 
&nbsp;
 
&nbsp;
 
</div> </div> </div> </div> </div> </div> </div> </div> </div>
 
</div> </div> </div> </div> </div> </div> </div> </div> </div>
 
== Ссылки ==
 
 
*[https://minecraft.gamepedia.com/Bedrock_Beta_Script_Documentation Оригинальная документация] (на английском) - с описанием всех встроенных компонентов и событий.
 
*[https://minecraft.gamepedia.com/Bedrock_Beta_UI_Documentation Документация по пользовательским интерфейсам]
 
*[https://minecraft.gamepedia.com/Add-on Документация по аддонам]
 
</div>
 

Обратите внимание, что все добавления и изменения текста статьи рассматриваются как выпущенные на условиях лицензии GNU Free Documentation License 1.3 или более поздняя (см. Mineprogramming wiki:Авторские права). Если вы не хотите, чтобы ваши тексты свободно распространялись и редактировались любым желающим, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого.
НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ МАТЕРИАЛЫ, ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ!