<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=117.181.160.34&amp;*</id>
		<title>mineprogramming wiki - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.mineprogramming.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=117.181.160.34&amp;*"/>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/117.181.160.34"/>
		<updated>2026-08-19T15:16:07Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://wiki.mineprogramming.org/index.php?title=InnerCore/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BC%D0%BE%D0%B4%D0%BE%D0%B2&amp;diff=1492</id>
		<title>InnerCore/Структура модов</title>
		<link rel="alternate" type="text/html" href="https://wiki.mineprogramming.org/index.php?title=InnerCore/%D0%A1%D1%82%D1%80%D1%83%D0%BA%D1%82%D1%83%D1%80%D0%B0_%D0%BC%D0%BE%D0%B4%D0%BE%D0%B2&amp;diff=1492"/>
				<updated>2018-04-18T15:09:37Z</updated>
		
		<summary type="html">&lt;p&gt;117.181.160.34: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Структура модов==Мод под Inner Core представляет из себя директорию с файлом построения build.config, так же могут присутствовать несколько дополнительных файлов, таких как файл описания и стандартный файл конфигурации. Последний будет создан автоматически.Если вы не хотите вдаваться в подробности построения модов, вы можете использовать стандартный шаблон мода, который описан [[InnerCore/Стандартный_шаблон_модов|здесь ]].==Конфиг и описание==Файл конфига - config.json - задается в формате JSON и генерируется, либо исправляется автоматически. Всегда будет присутствовать значение enabled, которое включает/выключает весь мод. Содержимое этого файла будет визуализировано в меню мода, которое открывается через меню Inner Core. Работа с этим файлом производистся целиком из кода.Файл информации - mod.info - задается в формате JSON и может не пристуствовать, однако тогда информации о моде в меню Inner Core не будет, название мода будет по имени директории и т.д.Формат файла mod.info:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{    &amp;quot;name&amp;quot;:&amp;quot;Имя мода&amp;quot;,    &amp;quot;author&amp;quot;:&amp;quot;Автор мода&amp;quot;,    &amp;quot;version&amp;quot;:&amp;quot;Версия мода в любом формате&amp;quot;,    &amp;quot;description&amp;quot;:&amp;quot;Краткое описание мода&amp;quot;}&amp;lt;/syntaxhighlight&amp;gt;Также директория мода может содержать файл mod_icon.png, который будет являться иконкой мода в меню Inner Core. Важен только формат - png - размер может быть любым.==Основные параметры==Файл построения задается в формате JSON и имеет несколько разделов, в которых описываются различные настройки и элементы мода.&amp;lt;br /&amp;gt; Первый раздел - defaultConfig - является обязательным и описывает основные параметры построения мода. С ним содержимое файла построения будет выглядеть следующим образом (комментарии, помеченные символом #, присутствовать не должны):&amp;lt;p class=&amp;quot;mw_paragraph&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{    &amp;quot;defaultConfig&amp;quot;: {        &amp;quot;api&amp;quot;:&amp;quot;CoreEngine&amp;quot;, #API, которое будет использовано для всех выполняемых файлов по-умолчанию, варианты API будут перечислены далее        &amp;quot;buildType&amp;quot;:&amp;quot;develop&amp;quot;, #Этот параметр при разработке должен быть develop, далее он будет изменяться с помощью Inner Core        &amp;quot;libraryDir&amp;quot;:&amp;quot;lib/&amp;quot;, #Необязательный параметр, который задает стандартную директорию, откуда будут загружаться библиотеки.    }}&amp;lt;/syntaxhighlight&amp;gt;API задает абсолютное большинство методов, которые могут использовать исполняемые файлы мода. Однако есть набор базовых методов, которые доступны для конкретных типов выполняемых файлов.Виды API:&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;CoreEngine - Основной и самый объемный API для разработки модов. В основном вам нужно будет использовать его, остальные варианты более ситуативны и не нужны в большинстве случаев. &amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;AdaptedScript - Реализует основные возможности, однако не имеет различных реализаций, сильно упрощающих разработку, таких как Tile Entity.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;==Исполняемые файлы==Исполняемые файлы содержат исходный код мода, написаный под нужный вариант API на JavaScript, которые будут выполняться в различные моменты, зависящие от их типа. Так же их можно строить из отдельных директорий и компилировать в байт-код из меню Inner Core для быстродействия и лучшего дебага (релизные версии мода).Исполняемые файлы описываются в разделе compile, который является массивом. Их может быть сколько угодно много:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{    &amp;quot;defaultConfig&amp;quot;: {        ...    },    ...    &amp;quot;compile&amp;quot;: [        {            &amp;quot;path&amp;quot;:&amp;quot;Локальный путь к файлу, к примеру main.js, source/logger.js&amp;quot;,            &amp;quot;sourceType&amp;quot;:&amp;quot;Тип исполняемого файла, они будут перечислены далее&amp;quot;,            &amp;quot;sourceName&amp;quot;:&amp;quot;Имя, необязательный параметр, будет использовано при выводе ошибок&amp;quot;,            &amp;quot;api&amp;quot;:&amp;quot;Тип API, если вы хотите выбрать не тот тип, который вы указали в defaultConfig конкретно для этого файла, иначе этот параметр не нужен&amp;quot;        },        ...    ]}&amp;lt;/syntaxhighlight&amp;gt;Типы исполняемых файлов:# mod - В этом типе файлов находится основной исходный код модов, задающий их контент. # launcher - Должен присутствовать только один файл этого типа. В нем осуществляется запуск мода в определенный момент (Например если мод использует API другого мода, он должен запуститься только после его загрузки и т.п.). Если никаких дополнительных условий для запуска не нужно, он просто должен содержать команду Launch(); # library - Библиотека. Может с помощью специальных методов, доступных только этому типу файлов, регистрировать новые модули API, которые используются модами, если те эту библиотеку импортируют. Этот тип файлов не надо описывать, если он находится в директории, заданной в параметре libraryDir. # preloader - Отдельный специфический тип файла, который будет выполняться до загрузки MCPE после загрузки ресурсов и требуется для их создания и изменения. На момент написания данной документации, использует отдельный тип API, который еще плохо реализован. # custom - Выполняется только с помощью специального метода - runCustomSource(), вызванного из остальных типов исполняемых файлов. Может принимать параметры.&amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt; Подробнее про каждый тип файлов и их специальные методы и значения будет рассказано в [[InnerCore/Базовые_методы_и_переменные_исполняемых_файлов|отдельной главе ]].==Построение исполняемых файлов==Исполняемым файлам можно задавать построение из отдельных директорий. Построение происходит из многих файлов, которые описываются в файле построения. Этот метод позволяет разбивать код на части и группировать их, а не писать один огромный файл. Это дает не только читабельность, но так же позволяет более оптимально компилировать моды и дебажить их в продакшине.Директории построения задаются в разделе buildDirs, который является массивом:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{    &amp;quot;defaultConfig&amp;quot;: {        ...    },    ...    &amp;quot;buildDirs&amp;quot;: [        {            &amp;quot;dir&amp;quot;:&amp;quot;dir/to/build/&amp;quot;, #Директория, из которой будет выполняться построение, должна заканчиваться символом /            &amp;quot;targetSource&amp;quot;:&amp;quot;dir/to/source/file&amp;quot;, #Файл, в который будет выполняться построение. ВАЖНО: содержимое файла будет полностью перезаписываться при каждом построении, так что не стоит там что либо писать.        },        ...    ]}&amp;lt;/syntaxhighlight&amp;gt;Директория построения задается следующим образом:* Она должна содержать файлы с кодом, которые вы хотите объединить в исполняемый файл. Они могут находиться в дочерних директориях и иметь любые названия. * Она должна содержать файл построения .includes, в нем прописаны все локальные пути файлов, которые участвуют в построении в нужном порядке, так же он может содержать комментарии (// или #) и пустые строки Пример содержимого .includes: &amp;lt;pre&amp;gt;// Предположим, что .includes находится в директории dev/ в моде&amp;lt;br class=&amp;quot;mw_emptyline_first&amp;quot;&amp;gt;&amp;lt;br class=&amp;quot;mw_emptyline_first&amp;quot;&amp;gt;// Этот файл должен находиться на пути dev/header.jsheader.js&amp;lt;br class=&amp;quot;mw_emptyline_first&amp;quot;&amp;gt;&amp;lt;br class=&amp;quot;mw_emptyline_first&amp;quot;&amp;gt;// Эти файлы соответсвенно должны находиться в dev/source/source/blocks.jssource/items.js&amp;lt;/pre&amp;gt;Важно понимать, что каждый из этих файлов должен быть завершенным куском кода, потому что каждый из них компилируется по отдельности. Т.е. нельзя начать блок в одном файле и закончить в следующем.==Ресурсы==Ресурсы модов делятся на две группы - текстуры интерфейса (GUI) и остальные (блоки, предметы, текстуры для моделей и т.п.). Какие бывают типы ресурсов будет рассказано в [[InnerCore/Ресурсы|отдельной главе ]].Директории ресурсов описываются в разделе resources, их может быть сколько угодно много:&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;{    &amp;quot;defaultConfig&amp;quot;: {        ...    },    ...    &amp;quot;resources&amp;quot;: [        {            &amp;quot;path&amp;quot;:&amp;quot;resource/dir/&amp;quot;, #Директория ресурсов, должна заканчиваться символом /            &amp;quot;resourceType&amp;quot;:&amp;quot;resource|gui&amp;quot;, #Тип подгрузки ресурсов: resource - внутриигровые ресурсы, gui - текстуры интерфейса        },        ...    ]}&amp;lt;/syntaxhighlight&amp;gt;Подробно о ресурсах и их использовании будет рассказано [[InnerCore/Ресурсы|отдельно ]].&amp;lt;br /&amp;gt; &amp;lt;span class=&amp;quot;mw_htmlentity&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>117.181.160.34</name></author>	</entry>

	</feed>