== Скачивание специальной версии ==
# Тыкаем [https://github.com/Anuken/MindustryBuilds/releases сюда].</br>Также есть полуавтоматическое скачивание.# Тыкаем [https://github.com/Anuken/MindustryBuilds/releases опять сюда].# Скачиваем Ищем и скачиваем Mindustry-BE-Desktop-xxxx.jar, где xxxx — какие-то цифры.
# Создаём модификацию или импортируем.
Если у вас нет Steam-версии, то путь должен быть следующим:
%appdata%/Mindustry/mods
'''2.1''' Заархивируйте папку с модификацией ('''не''' в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).</br>'''2.21''' Импортируйте через встроенный файловый менеджер игры:
Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.<be)>
'''3.1'''Узнайте адрес к модификации на github и скопируйте имя пользователя+название репозитория.''3.21'''Импортируйте через игру:</br>
Главное меню→Модификации→Импортировать GitHub модификацию.
== Создание модификации ==
Можно скачать [https#Переходим в директорию *Для Steam:</br><code>steam/steamapps/common/Mindustry/mods</code>*Для остальных настольных:</br><code>%appdata%/Mindustry/mods</github.comcode>%appdata%/Prosta4okuaMindustry/empty-mindustry-mod пустую модификацию] или пойти сложным путём.mods# Создаём папку с любым названием модификации. Желательно латиницей. Пусть название модификации будет mmod<code>Stolik</code>.# Создаём файл mod.jsonпапки и файлы так же, как и в древе снизу. Если хотителень создавать, то можете дополнить цветамискачать [[google. Содержимое:<pre>{ "name": "Напишите сюда название модификации", "author": "Напишите сюда ваш никнейм", "description": "Напишите здесь ваше описание", "version": 1com отсюда ]].0}</pre>└── Stolik# Создаём папку ├── content и папку sprites.=== Создание блока ===#Создаём папку │ └── blocks в content и sprites#В папку mmod/sprites/ кладём название_блока │ └── testy.pngjson │ │──items#В папке mmodd/content/ создаём файл название_блока ├── mod.jsonГде пишем следующее: ├── sounds<pre>{ │ ├── pewpew.mp3 "type": "Wall", "name": "Маленькая стена", "description": "Оочень маленькая стена │ └── pewpew."ogg}</pre> └── sprites'''name''' — имя создаваемого, которое также будет использоваться для спрайта в mmod/sprites └── blocks'''description''' — описание создаваемого. Будет отображаться если нажать на '''?''' в игре └── testy.png==== Описание типов =Код ==={| class="wikitable sortable"!Название типа !Описание типа!Название подтипа!Описание подтипа|-|rowspan="17"| Floor (поверхность)|-|rowspan="16"| Короче говоря, тайлы. Это песок, глубоководье, трава, камни, споры, пол.| speedMultiplier |Скорость при ходьбе на поверхности (только для наземных)|-| variants |Указывает на доп. варианты одного и того же блока. </br>'''По умолчанию:'''0Подсказки!'''</br>Допустимые значения''' от 0 до #Прочитайте руководство по синтаксису [[неизвестноJson]].|-#Лучше используйте английский.| liquidDrop|Какую жидкость можно добыть насосом|-| itemDrop |Какой ресурс можно добыть|-| isLiquid |'''По умолчанию:''' false</br>'''Все значения:</br>'''true, false'''</br>Опционален#Всему нужно тип.|-| status | |-| statusDuration ||-| drownTime ||-| cacheLayer ||-| blendGroup ||-| attributesВсегда.set||-| updateEffect||-|playerUnmineable|Запретить добычу игроком (true - запретить#Все блоки, false - разрешить)|-|fillsTile ||-|OverlayFloor|Указываетпредметы, какой блок будет налезать на какоймехи и т. (к примеру пол налезает на песок, песок на камень)|-|DoubleOverlayFloor|То же самое, что OverlayFloor, только слой разныйд.|-|StaticWall|Стены, которые можно ставить только в редактореимеют два одинаковых типа.|- |OreBlock|Руда| itemDrop |Название вашей руды|-}Для всех последующих типов '''всегда есть следующие типы:'''{| class="wikitable sortable"|-! Название подтипа !! Пример использование|-| Это name</br>(имя)|"name": "Маршрутизатор"</br>"name": "Бур".|-|и description</br>(описание).|"description": "Лучше чем любой другой блок в игре"|-|size</br>(размер блока)</br>|"size"="2"<br>(будет блок 2х2, создавать прямоугольники низя)</br>"size"="3"</br>(будет блок 3х3)|-|health</br>(прочность блока)|'''По умолчанию:'''60.</br>"health"Пример: "30"|-|requirements</br>(то что нужно для создания блока)|Также не забудьте нажаться [https://petruchio.org.ru/wiki/index.php?title=%D0%9C%D0%BE%D0%B4%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D0%B8&action=submit#.D0.A3.D1.87.D0.B8.D0.BC_.D0.B0.D0.BD.D0.B3.D0.BB.D0.B8.D0.B9.D1.81.D0.BA.D0.B8.D0.B9 сюда].<pre> "requirements": [ { "itemname": "lead", "amountZoloto": 50 }, { "item": "copper", "amount": 80 }, { "itemdescription": "silicon", "amount": 20 } ],</pre>|-|research</br>Золото (что нужно исследовать</br>для открытия этого блок</br>в тех. древе)|"research": "copper-wall"</br>Только блоки. Предметы нельзя.|-|consume</br>(что нужно для работы, кто не знает английский)|<pre"consumes": { "power": 2.0, "item": "metaglass" }</pre>|}Названия типа должно всегда быть с большой буквы. Шаблон для типа Router:"type": "Router"{| class="wikitable sortable"|-! Название типа !! Название подтипа !! Пример использование & описание|-|colspan=3|Router</br>'''Примеры:''' Маршрутизатор, распределитель.|-|Sorter</br>(сортировщик)|size|'''НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ'''|-|overflow-gate</br>(избыточный затвор)|size|'''НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ'''|-|rowspan="2"|Junction</br>(перекрёсток)|size|'''НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ'''|-|capacity</br>(кол-во хранимых предметов)|"capacity": "20"|-|rowspan="2"|Conveyor</br>(конвейер)|speed</br>(скорость)|"speed": 0.01</br>0.01 это примерно 1.5 блока в секунду.|-|size|'''НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ'''|-|rowspanБлоки ="2"|ArmoredConveyor</br>(бронированный конвейер)|speed</br>(скорость)|"speed": 0.01|-|size|'''НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ'''|-|rowspan="4"|BufferedItemBridge</br>(мостовой конвейер,</br> который хранит предметы)|range</br>(дальность соединения)|"range"=4|-|speed</br>(скорость)|"speed": 70|-|bufferCapacity</br>(вместимость конвейера)|"bufferCapacity": 70|-|size|'''НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ'''|-|rowspan="3"|ItemBridge</br>(фазовый конвейер)|range</br>(дальность соединения)|"range"=4|-|speed</br>(скорость)|"speed"Специальная категория: 70|-|size|'''НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ'''|-|OverflowGate|size|'''НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ'''|-|rowspan="4"|MassDriver</br>(электромагн. катапульта)|itemCapacity</brcode>(вместимость катапульты)|"itemCapacity": 120|-|reloadTimeblocks</brcode>(время перезарядки)|"reloadTime"=200|-|size|'''НЕ РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ'''|-|range</br>(радиус или диаметр)|
|} === Создание зоны ===Помните, что mmod — корневая папка.Для того чтобы создать зону нужны следующие папки(если папок нет, то создайте, лол):#mmod/sprites/zones#mmod/maps#mmod/content/zonesВ mmod/content/zones создаём файл с названием зоны.json. Название зоны, к примеру — zonename. Итоговый файл — zonename.json==== Код Предметы ====Кладём в папку mmod/maps карту с названием названиемода-названиезоны.msav. Например, mmod-zonename.Название карты в игре может быть любым.Теперь приступим к редактированию файла zonename.json{| class="wikitable sortable"!Подтип!Описание!Примеры|-|name|Название вашей зоны.|Земля, Юпитер.|-|description|Описание вашей зоны|Когда-то здесь была развитая цивилизация. Но потом пришла армия огня...|-|loadout|Определяет размер и вместимость вашего ядра.|По умолчанию cтандартное ядро "Осколок" 3x3, не указывайте этот тип. </br>Ядро "Штаб" 4х4 — "basicFoundation"</br>Ядро "Атом" 5x5 — "basicNucleus"</br>'''ПримерСпециальная категория:'''</br>"loadout": "basicFoundation"</br>'''Примечание.'''Стандартное ядро можно не указывать.|-|startingItems|Определяет начальные предметы.|item - предмет</br>amount - количество'''Пример:'''<pre> "startingItems": [ {"item": "copper", "amount": 200}, {"item": "lead", "amount": 300}, {"item": "plastanium", "amount": 300} ],</pre>}||-|conditionWave|Определяет количество волн врагов, которое нужно уничтожить, для разблокировки выгрузки.|Это должно быть число.</br>'''Пример:'''</br>"conditionWave": 10|-|launchPeriod|Определяет на каких волнах(число волн должно быть кратно заданому числу) будет разрешён запуск|'''Пример:'''</br>"launchPeriod": 10,|-|requirements|Определяет что нужно сделать для разблокировки зоны.|Есть два типа условий для разблокировки.</br>'''1.''' Достичь в какой-то зоне определённой волны.'''Пример:'''<pre> { "type": "ZoneWave", "zone": "saltFlats", "wave": 40 }</pre>'''Примечание.'''</br>'''НЕ ИЗМЕНЯЙТЕ ZoneWave'''</br></br>'''2.''' Разблокировать какой-то блок. </br>'''Пример:''' { "type": "Unlock", "block": "thermal-pump" }</br>Комбинирование двух типов.<pre> "requirements": [ { "type": "ZoneWave", "zone": "groundZero", "wave": 40 }, { "type": "Unlock", "block": "kiln", }, { "type": "Unlock", "block": "solar-panel" } ],</pre>|-|resources|Какие ресурсы есть на карте. Рекомендуются только руды.|'''Пример:'''</br>"resources": ["copper", "lead", "coal", "sand"]|-|}Пример файла namezone.json:<pre>{ "name": "namezone", "description": "Salt and silver lie here.", "loadout": "basicFoundation", "startingItems": [ {"item": "copper", "amount": 200}, {"item": "lead", "amount": 300} ], "conditionWave": 10, "launchPeriod": 10, "requirements": [ { "type": "ZoneWave", "zone": "groundZero", "wave": 40 }, { "type": "Unlock", "block": "kiln" } { "type": "Unlock", "block": "solar-panel" } ], "resources": ["copper", "lead", "coal", "sand"]}</pre>==== Спрайты ====#В папку mmod/sprite/zones добавляем файл namezone.png. Это будет отображаться как превью в выборе зон.=== Создание предметов ===Нужны следующие папки(если нет их, то создать, лол):#mmod/sprites/items#mmod/maps#mmod/content/itemsПусть название предмета будет itemname.==== Код ====Работаем с файлом <code>mmod/content/items/itemname.json</code>{| class="wikitable sortable"|-! Название !! Описание !! Пример использования|-| type || тип || "type": "material"</br>Может быть использован для построения блоков. Только материалы принимаются в ядро.</br>"type": "resource"</br>Не используется ни для чего, кроме крафта внутри блоков.|-| name || Название предмета || "name": "Серебро"|-|description|| Описание || "description": "Редкий ресурс."|-| explosiveness || Взрываемость</br>насколько взрывоопасен этот предмет ||"explosiveness ": 0</br>"explosiveness ":1</br>"explosiveness ":2 |-| flammability || Воспламеняемость выше 0,3 делает этот предмет, грубо говоря, топливом. ||"flammability": 0</br>"flammability": 1</br>"flammability": 3|-| radioactivity || Радиоактивность</br>насколько радиоактивен этот предмет. 0 = нет, 1 = чернобыльский эпицентр ||"radioactivity": 2 </br>"radioactivity": 1|-| hardness || Уровень сверла необходимого для бурения</br>У меди, свинца - 1</br>уголь - 2</br>титан - 3</br>торий - 4||"hardness": 2<br>"hardness": 6|-| cost || базовая стоимость материала этого изделия, используемая для расчета времени размещения <br/>1 стоимость = 1 тик добавлена к времени сборки || "cost": 3</br>"cost": 5|-|alwaysUnlocked||Если true, то всегда разблокировано.||"alwaysUnlocked ": true</br>"alwaysUnlocked ": false|-|color || цвет ||[[Цвета|Используйте только HEX цвета.]]|}==== Спрайты ====#Переходим в папку mmod/sprites/items#Вставляем туда файл nameitem.png=== Жидкости ===Примеры жидкостей:*Вода*Криогенная жидкость*Нефть==== Код ====#Создаём папку liquids в mmod/content.#Создаём папку liquids в mmod/sprites.#В папке mmod/content/liquid создаём, например, файл liquidname.json'''Обратите внимание''', что тип не нужно указывать, т.к. была создана папка.{| class="wikitable sortable"|-! Название !! Описание !! Пример использования|-| name || Название жидкости|| "name": "Лава"|-| description|| Описание || "description": "Очень горячая жидкость."|-| temperature|| Температура</br>0.5 это комнатная,</br>0 очень холодная,</br>1 знойная жара|| "temperature": 0.5|-|flammability|| Воспламеняемость</br>0-1</br>0 полностью воспламеняется</br>все, что выше, может загореться при воздействии тепла</br> 0,5+ очень легко воспламеняется|| "flammability": 0.5|-|viscosity || Густота</br> 0,5 = вода (относительно вязкая)</br> 1 будет что-то вроде смолы/нефти (очень медленно)|| "viscosity": 0.5|-|heatCapacity || Теплоёмкость</br>сколько тепла может хранить эта жидкость</br> 0,4 = вода (прилично), всё, что ниже, вероятно, менее плотно и плохо охлаждает|| "heatCapacity": 1|-|explosiveness || Как сильно взрывается эта жидкость при нагревании</br> 0 = никак</br>1 = ядерная бомба || "explosiveness": 1|-|flameColor || Цвет при взрыве жидкости || [[Цвета|Используйте только HEX цвета.]]|-|color || Цвет жидкости || [[Цвета|Используйте только HEX цвета.]]|-|effect || эффект || Если здесь есть эта надпись, то срочно упоминайте простачка.|}Пример:<pre>{ "name": "Molten Silver", "description": "Imagine silver, but not solid at all.", "temperature": 0.9, "viscosity": 0.8, "effect": "melting", "color": "a4a2bd"}</pre>==== Спрайты====#Переходим в mmod/sprites#Вставляем текстуру-капельку с расширением .pngЕсли не поняли что за капелька, то откройте в игре базу данных ядра.
==== Единицы (юниты) ====
==== Мехи ====
=== Спрайты ===
=== Мультиязычность ===
Наверное, самое простое для добавления.
#Узнаём специальную категорию созданной вами вещью. Специальная категорию можно узнать в разделе Код. Ниже приведено обрезанное древо.
<pre>└── Stolik
├── bundles
│ └── bundle.properties
│ └── bundle_ru.properties</pre>
#Создаём в папке <code>Stolik/bundles</code> файл(если вы не создали ранее).
*Если хотите добавить строки для английского, то выберите файл <code>bundle.properties</code>
*Если хотите добавить строки для русского, то выберите файл <code>bundle_ru.properties</code>
#Добавляем строку:</br>
СпециальнаяКатегория.НазваниеВещи.name(имя)/description(описание)= <Вставить текст>
</br>'''Пример.'''
Например, я хочу добавить для жидкости <code>lava</code> название и описание другое на русском.
#Переходии в файл <code>bundle_ru.properties</code>
#Пишем следующее:
* <pre>liquid.lava.name = Лава</pre>
*Нажимаю <code>Enter</code>
*<pre>liquid.lava.description = Очень горячая жидкость.</pre>
=== Звуки ===
== Учим английский ==
=== Стандартные предметы ===
Было перемещено [[Учим_английский сюда]] для уменьшения высоты страницы.
Руды:
*copper - медь