Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 37: | Строка 37: | ||
} | } | ||
] | ] | ||
− | }</syntaxhighlight> | + | }</syntaxhighlight><div class="mw-parser-output"><div class="mw-highlight mw-content-ltr" dir="ltr"> |
+ | <pre><span></span><span class="p">{</span> <span class="s2">"defaultConfig"</span><span class="o">:</span><span class="p">{</span> <span class="s2">"buildType"</span><span class="o">:</span><span class="s2">"develop"</span><span class="p">,</span> <span class="s2">"api"</span><span class="o">:</span><span class="s2">"CoreEngine"</span><span class="p">,</span> <span class="s2">"libraryDir"</span><span class="o">:</span><span class="s2">"lib/"</span> <span class="p">},</span> <span class="s2">"resources"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"res/"</span><span class="p">,</span> <span class="s2">"resourceType"</span><span class="o">:</span><span class="s2">"resource"</span> <span class="p">},</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"gui/"</span><span class="p">,</span> <span class="s2">"resourceType"</span><span class="o">:</span><span class="s2">"gui"</span> <span class="p">}</span> <span class="p">],</span> <span class="s2">"buildDirs"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"targetSource"</span><span class="o">:</span><span class="s2">"main.js"</span><span class="p">,</span> <span class="s2">"dir"</span><span class="o">:</span><span class="s2">"dev/"</span> <span class="p">}</span> <span class="p">],</span> <span class="s2">"compile"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"main.js"</span><span class="p">,</span> <span class="s2">"sourceType"</span><span class="o">:</span><span class="s2">"mod"</span> <span class="p">},</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"launcher.js"</span><span class="p">,</span> <span class="s2">"sourceType"</span><span class="o">:</span><span class="s2">"launcher"</span> <span class="p">}</span> <span class="p">]</span> <span class="p">}</span></pre></div></div><div class="mceNonEditableOverlay"></div> | ||
+ | |||
+ | |||
− | |||
==Структура мода== | ==Структура мода== | ||
Строка 46: | Строка 48: | ||
Если вам нужно подключить какие то библиотеки, вы можете создать директорию lib в директории мода и копировать их туда, после чего их можно будет подключить из любых исполняемых файлов мода. | Если вам нужно подключить какие то библиотеки, вы можете создать директорию lib в директории мода и копировать их туда, после чего их можно будет подключить из любых исполняемых файлов мода. | ||
− | Все ресурсы мода должны находиться в директории res, если их нет, она должна быть пустой. Аналогично для текстур интерфейса, только они должны находиться в директории gui. Как конкретно работают ресурсы вы сможете прочитать [[InnerCore/Ресурсы|здесь ]]. | + | Все ресурсы мода должны находиться в директории res, если их нет, она должна быть пустой. Аналогично для текстур интерфейса, только они должны находиться в директории gui. Как конкретно работают ресурсы вы сможете прочитать [[InnerCore/Ресурсы|здесь ]]. |
В директории мода должен присутствовать файл launcher.js, который по-умолчанию должен содержать только команду Launch(); Более подробная работа с лаунчером мода будет описана в другой главе. | В директории мода должен присутствовать файл launcher.js, который по-умолчанию должен содержать только команду Launch(); Более подробная работа с лаунчером мода будет описана в другой главе. | ||
Строка 54: | Строка 56: | ||
Пример содержимого .includes: | Пример содержимого .includes: | ||
− | <pre>// Предположим, что .includes находится в директории dev/ в моде<br class= | + | <pre>// Предположим, что .includes находится в директории dev/ в моде<br data-attributes="class=%22mw_emptyline_first%22"><br data-attributes="class=%22mw_emptyline_first%22">// Этот файл должен находиться на пути dev/header.js <br>header.js<br data-attributes="class=%22mw_emptyline_first%22"><br data-attributes="class=%22mw_emptyline_first%22">// Эти файлы соответсвенно должны находиться в dev/source/<br>source/blocks.js<br>source/items.js</pre>Все эти файлы будут собраны в файл main.js и запущены, как основной код мода. |
− | header.js<br class= | ||
− | source/blocks.js | ||
− | source/items.js</pre> | ||
− | Все эти файлы будут собраны в файл main.js и запущены, как основной код мода. | ||
==Заключение== | ==Заключение== | ||
<p class="mw_paragraph">Как говорилось в начале данная структура подходит для большинства модов и если вам не нужно ничего особенного, то оптимально использовать именно её. | <p class="mw_paragraph">Как говорилось в начале данная структура подходит для большинства модов и если вам не нужно ничего особенного, то оптимально использовать именно её. |
В большинстве случаев вам не потребуется импровизировать со структурой мода. Для этого тут описан шаблонный файл построения и то, какую структуру должен иметь мод с таким построением.
Здесь приведено содержимое файла build.config:
{
"defaultConfig":{
"buildType":"develop",
"api":"CoreEngine",
"libraryDir":"lib/"
},
"resources":[
{
"path":"res/",
"resourceType":"resource"
},
{
"path":"gui/",
"resourceType":"gui"
}
],
"buildDirs":[
{
"targetSource":"main.js",
"dir":"dev/"
}
],
"compile":[
{
"path":"main.js",
"sourceType":"mod"
},
{
"path":"launcher.js",
"sourceType":"launcher"
}
]
}
<span></span><span class="p">{</span> <span class="s2">"defaultConfig"</span><span class="o">:</span><span class="p">{</span> <span class="s2">"buildType"</span><span class="o">:</span><span class="s2">"develop"</span><span class="p">,</span> <span class="s2">"api"</span><span class="o">:</span><span class="s2">"CoreEngine"</span><span class="p">,</span> <span class="s2">"libraryDir"</span><span class="o">:</span><span class="s2">"lib/"</span> <span class="p">},</span> <span class="s2">"resources"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"res/"</span><span class="p">,</span> <span class="s2">"resourceType"</span><span class="o">:</span><span class="s2">"resource"</span> <span class="p">},</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"gui/"</span><span class="p">,</span> <span class="s2">"resourceType"</span><span class="o">:</span><span class="s2">"gui"</span> <span class="p">}</span> <span class="p">],</span> <span class="s2">"buildDirs"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"targetSource"</span><span class="o">:</span><span class="s2">"main.js"</span><span class="p">,</span> <span class="s2">"dir"</span><span class="o">:</span><span class="s2">"dev/"</span> <span class="p">}</span> <span class="p">],</span> <span class="s2">"compile"</span><span class="o">:</span><span class="p">[</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"main.js"</span><span class="p">,</span> <span class="s2">"sourceType"</span><span class="o">:</span><span class="s2">"mod"</span> <span class="p">},</span> <span class="p">{</span> <span class="s2">"path"</span><span class="o">:</span><span class="s2">"launcher.js"</span><span class="p">,</span> <span class="s2">"sourceType"</span><span class="o">:</span><span class="s2">"launcher"</span> <span class="p">}</span> <span class="p">]</span> <span class="p">}</span>
Начнем с API, он един для всего мода - это Core Engine. Основная часть дальнейшей документации будет как раз по нему, т.к. это самый распространенный и удобный вид API в большинстве случаев.
Если вам нужно подключить какие то библиотеки, вы можете создать директорию lib в директории мода и копировать их туда, после чего их можно будет подключить из любых исполняемых файлов мода.
Все ресурсы мода должны находиться в директории res, если их нет, она должна быть пустой. Аналогично для текстур интерфейса, только они должны находиться в директории gui. Как конкретно работают ресурсы вы сможете прочитать здесь .
В директории мода должен присутствовать файл launcher.js, который по-умолчанию должен содержать только команду Launch(); Более подробная работа с лаунчером мода будет описана в другой главе.
Так же в моде обязана присутствовать директория построения dev, в которой должен быть файл построения .includes, в нем прописаны все локальные пути файлов, которые участвуют в построении в нужном порядке, так же он может содержать комментарии (// или #) и пустые строки
Пример содержимого .includes:
// Предположим, что .includes находится в директории dev/ в моде<br data-attributes="class=%22mw_emptyline_first%22"><br data-attributes="class=%22mw_emptyline_first%22">// Этот файл должен находиться на пути dev/header.js <br>header.js<br data-attributes="class=%22mw_emptyline_first%22"><br data-attributes="class=%22mw_emptyline_first%22">// Эти файлы соответсвенно должны находиться в dev/source/<br>source/blocks.js<br>source/items.jsВсе эти файлы будут собраны в файл main.js и запущены, как основной код мода.
Как говорилось в начале данная структура подходит для большинства модов и если вам не нужно ничего особенного, то оптимально использовать именно её.