|
|
Строка 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">
| + | = Параметры групп инструментов из различных материалов = |
− | == Структура модов ==
| |
| | | |
− | Мод под Inner Core представляет из себя директорию с файлом построения build.config, так же могут присутствовать несколько дополнительных файлов, таких как файл описания и стандартный файл конфигурации. Последний будет создан автоматически.
| + | {| border="1" cellpadding="1" cellspacing="1" style="width: 622px;" |
| + | |- |
| + | | style="text-align: center; width: 76px;" | '''Внешний вид Материала''' |
| + | | style="text-align: center; width: 76px;" | '''Наименование''' |
| + | | style="width: 122px; text-align: center;" | '''модификатор скорости ломания блоков''' |
| + | | style="width: 73px; text-align: center;" | '''Уровень инструментов''' |
| + | | style="width: 114px; text-align: center;" | '''прочность''' |
| + | |- |
| + | | style="text-align: center; width: 76px;" | [[File:Adamantite 64 0.png|RTENOTITLE]] |
| + | | style="text-align: center; width: 76px;" | <span style="color:#e74c3c;">Адамантит</span> |
| + | | style="width: 122px; text-align: center;" | <span style="color:#e74c3c;">8</span> |
| + | | colspan="1" style="width: 73px; text-align: center;" | <span style="color:#e74c3c;">5</span> |
| + | | colspan="1" style="width: 114px; text-align: center;" | <span style="color:#e74c3c;">3 000</span> |
| + | |- |
| + | | style="width: 76px; text-align: center;" | [[File:Lead 64 0.png|RTENOTITLE]] |
| + | | style="width: 76px; text-align: center;" | <span style="color:#7f8c8d;">Свинец</span> |
| + | | style="width: 122px; text-align: center;" | 6 |
| + | | colspan="1" style="width: 73px; text-align: center;" | 3 |
| + | | colspan="1" style="width: 114px; text-align: center;" | 900 |
| + | |- |
| + | | style="width: 76px; text-align: center;" | [[File:Malachite 64 0.png|RTENOTITLE]] |
| + | | style="width: 76px; text-align: center;" | <span style="color:#16a085;">Мифрил</span> |
| + | | style="width: 122px; text-align: center;" | <span style="color:#16a085;">13</span> |
| + | | colspan="1" style="width: 73px; text-align: center;" | <span style="color:#16a085;">2</span> |
| + | | colspan="1" style="width: 114px; text-align: center;" | <span style="color:#16a085;">300</span> |
| + | |- |
| + | | style="width: 76px; text-align: center;" | [[File:Muthril 64 0.png|RTENOTITLE]] |
| + | | style="width: 76px; text-align: center;" | <span style="color:#27ae60;">Малахит</span> |
| + | | style="width: 122px; text-align: center;" | <span style="color:#2ecc71;">9</span> |
| + | | colspan="1" style="width: 73px; text-align: center;" | <span style="color:#27ae60;">3</span> |
| + | | colspan="1" style="width: 114px; text-align: center;" | <span style="color:#27ae60;">400</span> |
| + | |- |
| + | | style="width: 76px; text-align: center;" | [[File:Sapphire 64 0.png|RTENOTITLE]] |
| + | | style="width: 76px; text-align: center;" | <font color="#3498db">Сапфир</font> |
| + | | style="width: 122px; text-align: center;" | <span style="color:#3498db;">30</span> |
| + | | colspan="1" style="width: 73px; text-align: center;" | <font color="#3498db">5</font> |
| + | | colspan="1" style="width: 114px; text-align: center;" | <span style="color:#3498db;">5 000</span> |
| + | |- |
| + | | style="width: 76px; text-align: center;" | [[File:Uranium 64 0.png|RTENOTITLE]] |
| + | | style="width: 76px; text-align: center;" | |
| + | <span style="color:#2ecc71;">Ураниум</span> |
| | | |
− | Если вы не хотите вдаваться в подробности построения модов, вы можете использовать стандартный шаблон мода, который описан [[InnerCore/Стандартный_шаблон_модов|здесь]].
| + | <span style="font-size:small;">в игре Уран</span> |
− | </div> | |
− | == Конфиг и описание ==
| |
| | | |
− | Файл конфига - config.json - задается в формате JSON и генерируется, либо исправляется автоматически. Всегда будет присутствовать значение enabled, которое включает/выключает весь мод. Содержимое этого файла будет визуализировано в меню мода, которое открывается через меню Inner Core. Работа с этим файлом производистся целиком из кода.
| + | | style="width: 122px; text-align: center;" | <span style="color:#2ecc71;">10</span> |
− | | + | | colspan="1" style="width: 73px; text-align: center;" | <font color="#2ecc71">4</font> |
− | Файл информации - mod.info - задается в формате JSON и может не пристуствовать, однако тогда информации о моде в меню Inner Core не будет, название мода будет по имени директории и т.д.
| + | | colspan="1" style="width: 114px; text-align: center;" | <span style="color:#2ecc71;">1 000</span> |
− | | + | |} |
− | Формат файла mod.info:
| |
| | | |
| | | |
− | <syntaxhighlight lang="javascript">{
| |
− | "name":"Имя мода",
| |
− | "author":"Автор мода",
| |
− | "version":"Версия мода в любом формате",
| |
− | "description":"Краткое описание мода"
| |
− | }</syntaxhighlight>
| |
− |
| |
− | Также директория мода может содержать файл mod_icon.png, который будет являться иконкой мода в меню Inner Core. Важен только формат - png - размер может быть любым.
| |
− |
| |
− | == Основные параметры ==
| |
− |
| |
− | Файл построения задается в формате JSON и имеет несколько разделов, в которых описываются различные настройки и элементы мода. Первый раздел - defaultConfig - является обязательным и описывает основные параметры построения мода. С ним содержимое файла построения будет выглядеть следующим образом (комментарии, помеченные символом #, присутствовать не должны):
| |
− | <syntaxhighlight lang="javascript">{
| |
− | "defaultConfig": {
| |
− | "api":"CoreEngine", #API, которое будет использовано для всех выполняемых файлов по-умолчанию, варианты API будут перечислены далее
| |
− | "buildType":"develop", #Этот параметр при разработке должен быть develop, далее он будет изменяться с помощью Inner Core
| |
− | "libraryDir":"lib/", #Необязательный параметр, который задает стандартную директорию, откуда будут загружаться библиотеки.
| |
− | }
| |
− | }</syntaxhighlight>
| |
− | API задает абсолютное большинство методов, которые могут использовать исполняемые файлы мода. Однако есть набор базовых методов, которые доступны для конкретных типов выполняемых файлов. Виды API:
| |
− | *CoreEngine - Основной и самый объемный API для разработки модов. В основном вам нужно будет использовать его, остальные варианты более ситуативны и не нужны в большинстве случаев.
| |
− | *AdaptedScript - Реализует основные возможности, однако не имеет различных реализаций, сильно упрощающих разработку, таких как Tile Entity.
| |
− |
| |
− | == Исполняемые файлы ==
| |
− |
| |
− | Исполняемые файлы содержат исходный код мода, написаный под нужный вариант API на JavaScript, которые будут выполняться в различные моменты, зависящие от их типа. Так же их можно строить из отдельных директорий и компилировать в байт-код из меню Inner Core для быстродействия и лучшего дебага (релизные версии мода).
| |
− |
| |
− | Исполняемые файлы описываются в разделе compile, который является массивом. Их может быть сколько угодно много:
| |
− | <syntaxhighlight lang="javascript">{
| |
− | "defaultConfig": {
| |
− | ...
| |
− | },
| |
− | ...
| |
− | "compile": [
| |
− | {
| |
− | "path":"Локальный путь к файлу, к примеру main.js, source/logger.js",
| |
− | "sourceType":"Тип исполняемого файла, они будут перечислены далее",
| |
− | "sourceName":"Имя, необязательный параметр, будет использовано при выводе ошибок",
| |
− | "api":"Тип API, если вы хотите выбрать не тот тип, который вы указали в defaultConfig конкретно для этого файла, иначе этот параметр не нужен"
| |
− | },
| |
− | ...
| |
− | ]
| |
− | }</syntaxhighlight>
| |
− |
| |
− | Типы исполняемых файлов:
| |
− |
| |
− | #mod - В этом типе файлов находится основной исходный код модов, задающий их контент.
| |
− | #launcher - Должен присутствовать только один файл этого типа. В нем осуществляется запуск мода в определенный момент (Например если мод использует API другого мода, он должен запуститься только после его загрузки и т.п.). Если никаких дополнительных условий для запуска не нужно, он просто должен содержать команду Launch();
| |
− | #library - Библиотека. Может с помощью специальных методов, доступных только этому типу файлов, регистрировать новые модули API, которые используются модами, если те эту библиотеку импортируют. Этот тип файлов не надо описывать, если он находится в директории, заданной в параметре libraryDir.
| |
− | #preloader - Отдельный специфический тип файла, который будет выполняться до загрузки MCPE после загрузки ресурсов и требуется для их создания и изменения. На момент написания данной документации, использует отдельный тип API, который еще плохо реализован.
| |
− | #custom - Выполняется только с помощью специального метода - runCustomSource(), вызванного из остальных типов исполняемых файлов. Может принимать параметры.
| |
− |
| |
− | Подробнее про каждый тип файлов и их специальные методы и значения будет рассказано в [[InnerCore/Базовые_методы_и_переменные_исполняемых_файлов|отдельной главе ]].
| |
− |
| |
− |
| |
− |
| |
− | == Построение исполняемых файлов ==
| |
− |
| |
− | Исполняемым файлам можно задавать построение из отдельных директорий. Построение происходит из многих файлов, которые описываются в файле построения. Этот метод позволяет разбивать код на части и группировать их, а не писать один огромный файл. Это дает не только читабельность, но так же позволяет более оптимально компилировать моды и дебажить их в продакшине.
| |
− |
| |
− | Директории построения задаются в разделе buildDirs, который является массивом:
| |
− | <syntaxhighlight lang="javascript">{
| |
− | "defaultConfig": {
| |
− | ...
| |
− | },
| |
− | ...
| |
− | "buildDirs": [
| |
− | {
| |
− | "dir":"dir/to/build/", #Директория, из которой будет выполняться построение, должна заканчиваться символом /
| |
− | "targetSource":"dir/to/source/file", #Файл, в который будет выполняться построение. ВАЖНО: содержимое файла будет полностью перезаписываться при каждом построении, так что не стоит там что либо писать.
| |
− | },
| |
− | ...
| |
− | ]
| |
− | }</syntaxhighlight>
| |
− |
| |
− | Директория построения задается следующим образом:
| |
− |
| |
− | *Она должна содержать файлы с кодом, которые вы хотите объединить в исполняемый файл. Они могут находиться в дочерних директориях и иметь любые названия.
| |
− | *Она должна содержать файл построения .includes, в нем прописаны все локальные пути файлов, которые участвуют в построении в нужном порядке, так же он может содержать комментарии (// или #) и пустые строки
| |
− |
| |
− | Пример содержимого .includes:
| |
− | <pre>// Предположим, что .includes находится в директории dev/ в моде<br class="mw_emptyline_first"><br class="mw_emptyline_first">// Этот файл должен находиться на пути dev/header.js
| |
− | header.js<br class="mw_emptyline_first"><br class="mw_emptyline_first">// Эти файлы соответсвенно должны находиться в dev/source/
| |
− | source/blocks.js
| |
− | source/items.js</pre>
| |
− |
| |
− | Важно понимать, что каждый из этих файлов должен быть завершенным куском кода, потому что каждый из них компилируется по отдельности. Т.е. нельзя начать блок в одном файле и закончить в следующем.
| |
− |
| |
− |
| |
− |
| |
− | == Ресурсы ==
| |
| | | |
− | Ресурсы модов делятся на две группы - текстуры интерфейса (GUI) и остальные (блоки, предметы, текстуры для моделей и т.п.). Какие бывают типы ресурсов будет рассказано в [[InnerCore/Ресурсы|отдельной главе ]].
| + | == Подробнее об уровнях инструментов: == |
| | | |
− | Директории ресурсов описываются в разделе resources, их может быть сколько угодно много:
| + | <span style="color:#e74c3c;">1 - уровень деревянных инструментов</span><br/> |
− | <syntaxhighlight lang="javascript">{ | + | <span style="color:#7f8c8d;">2 - уровень каменных инструментов</span><br/> |
− | "defaultConfig": {
| + | <span style="color:#9b59b6;">3 - уровень железных инструментов</span><br/> |
− | ...
| + | <span style="color:#3498db;">4 - уровень алмазных инструментов</span> |
− | },
| + | |
− | ...
| + | <div class="mw-parser-output"> |
− | "resources": [
| + | ---- |
− | {
| |
− | "path":"resource/dir/", #Директория ресурсов, должна заканчиваться символом /
| |
− | "resourceType":"resource|gui", #Тип подгрузки ресурсов: resource - внутриигровые ресурсы, gui - текстуры интерфейса
| |
− | },
| |
− | ...
| |
− | ]
| |
− | }</syntaxhighlight>
| |
| | | |
− | Подробно о ресурсах и их использовании будет рассказано [[InnerCore/Ресурсы|отдельно ]].
| + | всё остальное мне пока делать влом, сделаю потом, ждите. |
− | </div> </div> | + | </div> |
| + | </div> |