Модификации: различия между версиями

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[досмотренная версия][ожидает проверки]
м
м (небольшое изменение кода энергетической турели)
 
(не показано 178 промежуточных версий 23 участников)
Строка 1: Строка 1:
{{Шаблон:Дополнить}}
+
{{Шаблон:Баннер}}
Модификации — это неотъемлемая часть игры. С помощью них можно добавлять новые жидкости, блоки, руды. Модификации в Mindustry состоят из папки или zip-файла, и с файлом mod.json, а также набора спрайтов и файлов .json, определяющих новый контент.
+
{{Шаблон:Дополнить}}<br/>
 
+
{{Шаблон:Плашка
'''ANDROID НЕ ПОДДЕРЖИВАЕТСЯ В МОДИФИКАЦИЯХ
+
| title = Если шаришь по английскому, то интересно будет взглянуть на [https://simonwoodburyforget.github.io/mindustry-modding/ ЭТО.]
 
+
| text =
== Скачивание специальной версии ==
+
| img = Hard_it.png
# Тыкаем [https://github.com/Anuken/MindustryBuilds/releases сюда].
+
}}<br/>
# Скачиваем Mindustry-BE-Desktop-xxxx.jar, где xxxx — какие0то цифры.
 
# Создаём модификацию или импортируем.
 
  
 
== Импорт модификации ==
 
== Импорт модификации ==
Есть два способа импортировать модификацию.<br>
+
Есть три способа импортировать модификацию. И все они простые<br>
  
'''1.''' Скопируйте и вставьте папку/файл мода в папку mods Mindustry
+
'''1.''' (только PC-версия) Скопируйте и вставьте папку/файл мода в папку mods Mindustry  
 
В Steam это находится в установочном каталоге Mindustry:
 
В Steam это находится в установочном каталоге Mindustry:
  steam/steamapps/common/Mindustry/mods
+
  steam/steamapps/common/Mindustry/save/mods
 
Если у вас нет Steam-версии, то путь должен быть следующим:
 
Если у вас нет Steam-версии, то путь должен быть следующим:
 
  %appdata%/Mindustry/mods
 
  %appdata%/Mindustry/mods
'''2.1''' Заархивируйте папку с модификацией ('''не''' в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).</br>
+
'''2.''' Заархивируйте папку с модификацией ('''не''' в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).</br>
'''2.2''' Импортируйте через встроенный файловый менеджер игры:
+
'''2.1.''' Импортируйте через встроенный файловый менеджер игры:
Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.
+
Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.</br>
 +
'''3.'''Узнайте адрес к модификации на github и скопируйте имя пользователя+название репозитория.</br>
 +
'''3.1.'''Импортируйте через игру:</br>
 +
Главное меню→Модификации→Импортировать GitHub модификацию.
  
 
== Создание модификации ==
 
== Создание модификации ==
Можно скачать [https://github.com/Prosta4okua/empty-mindustry-mod пустую модификацию] или пойти сложным путём.
+
{{Шаблон:Плашка
# Создаём папку с названием модификации. Пусть название будет mmod.
+
| title = Перед созданием НАСТОЯТЕЛЬНО рекомендуем почитать эту статью >>> [[JSON]]
# Создаём файл mod.json. Если хотите, то можете дополнить цветами. Содержимое:
+
| text =
<pre>{
+
| img = Hard_it.png
   "name": "Напишите сюда название модификации",
+
}}
   "author": "Напишите сюда ваш никнейм",
+
{{Шаблон:Плашка
   "description": "Напишите здесь ваше описание",
+
| title = И ещё эту >>> [[Git]]
   "version": 1.0
+
| text =
}</pre>
+
| img = Hard_it.png
# Создаём папку content и папку sprites.
+
}}
=== Создание блока ===
+
#Переходим в директорию
#Создаём папку blocks в content и sprites
+
*Для Steam:</br><code>steam/steamapps/common/Mindustry/mods</code>
#В папку mmod/sprites/ кладём названиеблока.png
+
*Для остальных настольных: </br><code>%appdata%/Mindustry/mods</code>
#В папке mmodd/sprites/ создаём файл названиеблока.json
+
%appdata%/Mindustry/mods
Где пишем следующее:
+
# Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет <code>Modik</code>.
<pre>{
+
# Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать [https://yadi.sk/d/GuWusPK9kXDT-g отсюда].
"type": "Wall",
+
└── Modik
"name": "Маленькая стена",
+
    ├── content
"description": "Оочень маленькая стена."
+
    │   └── blocks
}</pre>
+
    │      └── magma.json
'''name''' — имя создаваемого, которое также будет использоваться для спрайта в mmod/sprites
+
    │   └── liquids
'''description''' — описание создаваемого. Будет отображаться если нажать на '''?''' в игре.
+
    │      └── lava.json
==== Описание типов ====
+
    │   │──items
 +
    ├── mod.json
 +
    ├── sounds
 +
    │   ├── pewpew.mp3
 +
    │  └── pewpew.ogg
 +
    └── sprites
 +
    │  └── blocks
 +
    │  └── liquids
 +
=== Код ===
 +
'''Подсказки!'''<br>
 +
*В большинстве случаев используется английский для создания модификаций. Если вы не знаете какой-то блок, то можно нажать [[Учим_английский|сюда]]
 +
*Прочитайте руководство по синтаксису [[JSON]].
 +
*Лучше используйте английский.
 +
*Всему нужно тип. Всегда.
 +
*
 +
*Все блоки, предметы, мехи и т.д. имеют два одинаковых типа. Это name(имя) и description(описание).
 +
*Регистр важен!
 +
Пример:
 +
<pre>"name": "Zoloto"
 +
"description":"Золото (для тех, кто не знает английский)"</pre>
 +
==== Блоки ====
 +
Специальная категория:</br>
 +
<code>blocks</code>
 +
Было перемещено [[Блоки (Модификации)|сюда]] для уменьшения высоты страницы.
 +
 
 +
==== Предметы ====
 +
Специальная категория:</br>
 +
<code>item</code>
 +
{| class="wikitable"
 +
|-
 +
!  Переменные !! Значения !! Описание
 +
|-
 +
| name || Произвольная cтрока || Название предмета, будет отображено в игре.
 +
|-
 +
| description || Произвольная cтрока || Описание предмета, будет отображено в игре.
 +
|-
 +
| color || От #000000 до #FFFFFF || Цвет предмета, в 16 битном диапазоне цветов. [[Цвета|Используйте только HEX цвета.]]
 +
|-
 +
| hardness || Натуральное число || Жесткость, используется для материалов, добываемых бурами. Чем больше число, тем труднее добыть предмет (от 1 до 4)
 +
|-
 +
| alwaysUnlocked || false или true || При значении true предмет открыт в базе данных
 +
|-
 +
| explosiveness || Вещественное число > 0 || Взрывоопасность предмета
 +
|-
 +
| flammability || Вещественное число > 0 || Возгораемость предмета
 +
|-
 +
| radioactivity || Вещественное число > 0 || Радиоактивность. 0 = отсутствует, 1 = чернобыльский эпицентр
 +
|-
 +
| lowPriority || false или true || Если true, этот элемент имеет самый низкий приоритет для буров.
 +
|-
 +
| cost || 1 = 1/60 секунды || Скорость строительства блока с использованием этого элемента.
 +
|}
 +
 
 +
==== Жидкости ====
 +
Специальная категория:<br>
 +
Директория:
 +
<pre>  ├── Modik
 +
  ├── content
 +
  │  └── liquids
 +
  │      └── lava.json</pre>
 +
<code>liquid</code>
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
!Название типа
 
!Описание типа
 
!Название подтипа
 
!Описание подтипа
 
 
|-
 
|-
|rowspan="15"| Floor (поверхность)
+
! Свойство!! Описание !! Примечание
 +
|-
 +
|temperature|| Температура.<br>0.5 — это комнатная;<br>0 — очень холодная;<br>1 — знойная жара.
 +
|-
 +
|flammability|| Воспламеняемость.<br>Доступные значения: [0;1]<br>0 — полностью воспламеняется;<br>Всё, что выше, может загореться при воздействии тепла<br>0.5+ — очень легко воспламеняется.
 +
|-
 +
|viscosity|| Вязкость (Густота)<br>1 - Вязкая , желеобразная (При проливании жидкости ,она никогда не пропадёт)<br>0.5 - Вода (Пропадает через время)<br>0 - Маскимально жидкая (Моментально пропадает)
 +
|-
 +
|heatCapacity || Теплоёмкость<br>количества тепла сохраняемого этой жидкостью.<br>0.4 — вода (прилично)<br>Всё, что ниже, вероятно, менее плотно и хуже охлаждает.
 +
|-
 +
|explosiveness || Сила взрыва жидкости при перенагревании.<br> 0 — никак<br>1 — ядерная бомба
 +
|-
 +
|flameColor || Цвет при взрыве жидкости. || [[Цвета|Используйте только HEX цвета.]]
 +
|-
 +
|color || Цвет жидкости. || [[Цвета|Используйте только HEX цвета.]]
 +
|-
 +
|effect || Эффект. || [[Эффекты]]
 +
|}
 +
 
 +
==== Единицы (юниты) ====
 +
{| class="wikitable"
 +
|-
 +
! Переменные !! Значения !! Описание !! Примечание
 +
|-
 +
| type || flying, mech, legs, naval, payload|| Тип юнита || flying - летающий,
 +
mech - ходячий,
 +
 
 +
legs - паук,
 +
 
 +
naval - плавающий,
 +
 
 +
payload - летающий и переносящий блоки/юнитов
 +
|-
 +
| name || Произвольная строка || Название юнита || -
 +
|-
 +
| description || Произвольная строка || Описание юнита || -
 +
|-
 +
| maxVelocity || От 0 до ∞ || Оганичение скорости для юнита || -
 +
|-
 +
| speed || От 0 до ∞ || Скорость передвижения юнита || -
 +
|-
 +
| flying || true \ false || Сможет ли не летающий юнит летать || -
 +
|-
 +
| health || От 0 до ∞ || Здоровье юнита || 1 = 1
 +
|-
 +
| drag || От 0 до ∞ || Величина отклонения юнита || -
 +
|-
 +
| engineOffset || От 0 до ∞ || Направление отклонения юнита || -
 +
|-
 +
| weaponOffsetY || От 0 до ∞ || место появления снарядов при выстреле || -
 +
|-
 +
| engineSize || От 0 до ∞ || - || -
 +
|-
 +
| rotatespeed || От 0 до ∞ || Скорость поворота юнита || -
 +
|-
 +
| baseRotateSpeed || От 0 до ∞ || Скорость поворота ног юнита (есле наземный) || -
 +
|-
 +
| range или attackLength || От 0 до ∞ || Дальность обнаружения юнитом врагов || -
 +
|-
 +
| hitsize || От 0 до ∞ || - || -
 
|-
 
|-
|rowspan="14"| Короче говоря, тайлы. Это блок песка, глубоководье, трава, камни, споры
+
| hitsizeTile || От 0 до ∞ || - || -
| speedMultiplier
 
|  
 
 
|-
 
|-
| variants
+
| shootCone || От 0 до ∞ || Разброс оружия юнита || -
|Указывает на доп. варианты одного и того же блока. '''По умолчанию:'''0'''Допустимые значения''' от 0 до [неизвестно]
 
 
|-
 
|-
| liquidDrop
+
| mass || От 0 до ∞ || Влияет на силу отталкивания юнита или от юнита || 1 = 1
|
 
 
|-
 
|-
| isLiquid
+
| targetAir || true \ false || Сможет ли юнит стрелять по воздушным целям || -
|'''По умолчанию:''' false</br>'''Все значения:</br>'''true, false'''</br>Опционален.
 
 
|-
 
|-
| status
+
| rotateWeapon || true \ false || Будет ли у юнита поварачиватся оружие || -
|  
 
 
|-
 
|-
| statusDuration
+
| retreatPercent || От 0 до ∞ || - || -
|
 
 
|-
 
|-
| drownTime
+
| itemCapacity || От 0 до ∞ || Размер внутреннего хранилища юнита || -
|
 
 
|-
 
|-
| cacheLayer
+
| toMine || "1-ore, 2-ore" || Фильтр предметов для добычи || Есле 1 руда то указывается сразу за переменной, От 2 до ∞ в массиве
|
 
 
|-
 
|-
| blendGroup
+
| buildPower || От 0 до ∞ || Скорость постройки блоков юнитом || -
|
 
 
|-
 
|-
| attributes.set
+
| Weapon || weapon || Оружие юнита || -
|
 
 
|-
 
|-
| updateEffect
+
| immunities || - || Имунитеты  || -
|
 
 
|-
 
|-
| itemDrop
+
| deathSound || "1.ogg" || Звук смерти || -
|
+
|}
 +
 
 +
пример кода со всеми переменными(не советую так делать)
 +
<pre>{
 +
"type": "flyingUnit",
 +
"name": "Chrome Wraith",
 +
"description": "Generally annoying and flashy.",
 +
"maxVelocity": 10,
 +
"speed": 0.5,
 +
"drag": 10,                                    // заставляет юнита лететь боком
 +
"flying": true,
 +
"health": 90,
 +
"engineOffset": 5.5,
 +
"range": 160,
 +
"weaponOffsetY": 7,                            // отдалило орудия вперёд от юнита
 +
"engineSize": 5,                                // увеличивает размер огонька с зади
 +
"rotateSpeed": 16,
 +
"baseRotateSpeed": 16,
 +
"shootCone": 16,
 +
"mass": 1500,
 +
"targetAir": true,
 +
"rotateWeapon": true,
 +
"retreatPercent": 100,
 +
"itemCapacity": 100,
 +
"tomine": "copper-ore"
 +
"buildPower": 80,
 +
"deathSound": "swings.ogg",
 +
"weapon": {
 +
"name": "chrome-blaster",
 +
"length": 1.5,
 +
"damage":45,
 +
"reload": 10,
 +
"alternate": true,
 +
"bullet": "lightning"
 +
}
 +
}
 +
</pre>
 +
 
 +
====Патроны====
 +
Используется в Туррелях
 +
{|class="wikitable sortable"
 
|-
 
|-
|playerUnmineable
+
!Свойство !! Описание !! Примечания
|
 
 
|-
 
|-
|fillsTile
+
|type|| Добавляет пули определенные свойства || BasicBulletType, MissileBulletType, ArtilleryBulletType, FlakBulletType,BombBulletType,LiquidBulletType |-
|
+
|speed|| Скорость снаряда || Вещественное число
 
|-
 
|-
|StaticWall
+
|damage|| Урон || Вещественное число 
|
+
|-
|-  
+
|bulletWidth|| Ширина снаряда|| Вещественное число
|DoubleOverlayFloor
+
|-
|
+
|bulletHeight|| Длина снаряда|| Вещественное число
 +
|-
 +
|shootEffect|| Эффект выстрела|| Название эффекта
 +
|-
 +
|smokeEffect|| Эффект после выстрела || Название эффекта
 +
|-
 +
|ammoMultiplier|| Кол-во снарядов || Вещественное число
 +
|-
 +
|splashDamageRadius|| Радиус Взрыва||Вещественное число
 
|-
 
|-
|OverlayFloor
+
|splashDamage|| Урон От взрыва||Вещественное число
|
 
 
|-
 
|-
|OreBlock
+
|bulletSprite|| Текстура Пули||ModName-SpriteName
|
 
|Items
 
 
|}
 
|}
Для всех последующих типов '''всегда есть следующие типы:'''
+
Пример
 +
<pre>
 +
"Патрон": {
 +
      "speed": 3.5,
 +
      "damage": 19,
 +
      "bulletWidth": 7,
 +
      "bulletHeight": 9,
 +
      "shootEffect": "shootSmall",
 +
      "smokeEffect": "shootSmallSmoke",
 +
      "ammoMultiplier": 1.0,
 +
      "splashDamageRadius": 20,
 +
      "splashDamage":10
 +
}
 +
</pre>
 +
 
 +
====Турели====
 +
Специальная категория:<code>turret</code>.
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
! Название подтипа !! Пример использование
+
! Свойство!! Описание !! Примечание
 +
|-
 +
|name|| Имя турели.||
 +
|-
 +
|description|| Описание турели.||
 +
|-
 +
|targetAir|| Турель стреляет по воздушным юнитам. || True или False.
 +
|-
 +
|targetGround || Турель стреляет по наземным юнитам. || True или False.
 +
|-
 +
|size || Размер турели. || В блоках.
 +
|-
 +
|outlineIcon||обводка||true или false (по умолчанию true)||
 +
|-
 +
|inaccuracy || Разброс.||
 +
|-
 +
|reload || Перезарядка. ||
 
|-
 
|-
| name</br>(имя)
+
|shootCone || Используется для взрывателя,конусность выстрела. ||
|"name": "Маршрутизатор"</br>"name": "Бур".
 
 
|-
 
|-
|description</br>(описание)
+
|rotateSpeed || Скорость поворота турели. ||
|"description": "Лучше чем любой другой блок в игре"
 
 
|-
 
|-
|size</br>(размер блока)</br>
+
|shoots || Выстрелов за раз. ||
|"size"="2"<br>(будет блок 2х2, создавать прямоугольники низя)</br>"size"="3"</br>(будет блок 3х3)
+
|-
 +
|range || Дальность полёта пули. ||
 
|}
 
|}
Названия типа должно всегда быть с большой буквы. Шаблон для типа Router:
+
 
"type": "Router"
+
Вот пример энергетической турели:
{| class="wikitable sortable"
+
<pre>{
 +
"type": "ChargeTurret",
 +
"name": "Имя турели",
 +
"description": "Описание турели",
 +
"health": "здоровье",
 +
"size": "размер",
 +
"reload": "перезарядка",
 +
"range": "дальность обзора",
 +
"chargeTime": "Время зарядки",
 +
"chargeMaxDelay": "задержка",
 +
"chargeEffects": кол-во энергии на выстрел, 1 еденичка=60 энергии
 +
"cooldown": "остывание",
 +
"recoil": "отдача",
 +
"powerUse": "энергопотребление"
 +
"shootShake": "тряска экрана",
 +
"shootEffect": "Эффект выстрела",
 +
"smokeEffect": "Эффект дыма",
 +
"chargeEffect": "Эффект зарядки",
 +
  "chargeBeginEffect": эффект начала зарядки
 +
"shootType": "Тип выстрела lancerLaser/meltdownLaser/arc"
 +
"inaccuracy": "Разброс",
 +
"rotatespeed": "Скорость вращения",
 +
"requirements": [
 +
    { "item": "copper", "amount": 100},  //то из чего будет создоваться турель
 +
    { "item": "lead", "amount": 100}  //вместо "copper" и "lead" можно подставить другие предметы, но только в ""
 +
],
 +
"category": "turret"
 +
"shootSound": "laser"
 +
"research": "duo"
 +
}</pre>
 +
 
 +
==== Оружие ====
 +
Используется в юнитах и мехах.
 +
Указывается как переменная  <code> weapon </code>.
 +
Возможные свойства:
 +
{| class="wikitable"
 +
|-
 +
! Свойства !! Значения !! Описание !! примечание
 +
|-
 +
| name || произвольная строка || Название оружия
 +
|-
 +
| length || От 0 до ∞|| -
 +
|-
 +
| width || От 0 до ∞|| -
 +
|-
 +
| reload || От 0 до ∞ || Скорость перезарядки
 +
|-
 +
| range || От 0 до ∞ || Дальность выстрела
 +
|-
 +
| alternate || True \ False || Присутствие или отсутствие альтернативного огня
 +
|-
 +
| bullet || См. Пули || Пуля, которой стреляет оружие || может иметь дополнительные параметры
 +
|-
 +
| shots || От 1 до ∞ || Определяет сколько будет выпущено пулей за выстрел || может быть указан второй раз после след. параметра
 +
|-
 +
| shotDelay || От 0 до ∞ || Время перерыва между выстрелами
 +
|-
 +
| shotCone || От 0 до ∞ || Разброс
 +
|-
 +
| recoil || От 0 до ∞ || Отдача от выстрела
 +
|-
 +
| ejectEffect || См. Эффекты || Эффект от выстрела
 +
|-
 +
| spacing || От 0 до ∞ || -
 +
|-
 +
| inaccuracy || От 0 до ∞ || Неаккуратность выстрела
 
|-
 
|-
! Название типа !! Название подтипа !! Пример использование & описание
+
| velocityRnd || От 0 до ∞ || -
 
|-
 
|-
| Router</br>'''Примеры:'''</br>Маршрутизатор,</br>распределитель.
+
| shootSound || "1.ogg" || Звук выстрела
 
|-
 
|-
|
+
| ignoreRotation || True \ False || -
 
|-
 
|-
|
+
| shake || От 0 до ∞ || -
 
|}
 
|}
  
=== Создание зоны ===
+
===== Пули =====
Помните, что mmod — корневая папка.
+
используется в оружии для юнитов\мехов
Для того чтобы создать зону нужны следующие папки(если папок нет, то создайте, лол):
+
 
#mmod/sprites/zones
+
Виды пуль (что то может не работать)
#mmod/maps
+
 
#mmod/content/zones
+
//Артиллерия
В mmod/content/zones создаём файл с названием зоны.json. Название зоны, к примеру — zonename. Итоговый файл — zonename.json
+
    artilleryDense, artilleryPlastic, artilleryPlasticFrag, artilleryHoming, artilleryIncendiary, artilleryExplosive, artilleryUnit,
==== Код ====
+
 
Кладём в папку mmod/maps карту с названием названиемода-названиезоны.msav. Например, mmod-zonename.Название карты в игре может быть любым.
+
    //flak (?)
Теперь приступим к редактированию файла zonename.json
+
    flakScrap, flakLead, flakPlastic, flakExplosive, flakSurge, flakGlass, glassFrag,
{| class="wikitable sortable"
+
 
!Подтип
+
    //Ракеты
!Описание
+
    missileExplosive, missileIncendiary, missileSurge, missileJavelin, missileSwarm, missileRevenant,
!Примеры
+
 
 +
    //Стандартные
 +
    standardCopper, standardDense, standardThorium, standardHoming, standardIncendiary, standardMechSmall,
 +
    standardGlaive, standardDenseBig, standardThoriumBig, standardIncendiaryBig,
 +
 
 +
    //Электрические
 +
    lancerLaser, meltdownLaser, lightning, arc, damageLightning,
 +
 
 +
    //Водяные
 +
    waterShot, cryoShot, slagShot, oilShot,
 +
    //Бомбы
 +
    bombExplosive, bombIncendiary, bombOil;
 +
 
 +
==== Эффекты ====
 +
{| class="wikitable"
 +
|-
 +
! Эффект !! Описание
 +
|-
 +
| none || отсутствует
 +
|-
 +
| placeblock || Эффект блока
 +
|-
 +
| breakblock || Эффект уничтожения блока
 +
|-
 +
| smoke || Эффект дыма
 +
|-
 +
| spawn || Эффект спавна
 +
|-
 +
| tapblock || эффект нажатия на блок
 +
|-
 +
| vtolhover || Эффект вертикального взлёта
 +
|-
 +
| unitdrop || Эффект падения юнита
 +
|-
 +
| unitpickup || Эффект взлёта юнита
 +
|-
 +
| unitland || Эффект посадки юнита
 +
|-
 +
| pickup || Эффект поднятия
 +
|-
 +
| healwave || Эффект регенириющий волны
 +
|-
 +
| heal || Эффект регенерации
 +
|-
 +
| landshock || -
 +
|-
 +
| reactorsmoke || Эффект дыма реактора
 +
|-
 +
| nuclearsmoke || Эффект ядерного дыма
 +
|-
 +
| redgeneratespark || Эффект красной сгенериваной искры
 +
|-
 +
| fuelburn || Эффект горения топлива
 +
|-
 +
| plasticburn || Эффект горения пластика
 +
|-
 +
| pulverize || Эффект измельчения
 +
|-
 +
| pulverizeRed || Разновидность эффекта измельчения
 +
|-
 +
| pulverizeRedder || Разновидность эффекта измельчения
 +
|-
 +
| pulverizeSmall || Разновидность эффекта измельчения
 +
|-
 +
| pulverizeMedium || Разновидность эффекта измельчения
 +
|-
 +
| purify || Эффект очищения
 +
|-
 +
| purifyoil || Эффект очищения нефти
 +
|-
 +
| purifystone|| Эффект очищения камня
 +
|-
 +
| generate|| -
 +
|-
 +
| mine || Эффект бурения
 +
|-
 +
| mineBig || Эффект бурения среднего бура
 +
|-
 +
| mineHuge || Эффект бурения большого бура
 +
|-
 +
| smelt || Эффект плавки
 +
|-
 +
| teleportActivate || Эффект активного телепорта
 +
|-
 +
| teleport || Эффект телепортации
 +
|-
 +
| teleportOut || Эффект телепортирования
 +
|-
 +
| ripple || Эффект ряби, пульсации
 +
|-
 +
| bubble|| Эффект пузыря
 +
|-
 +
| launch || Эффект запуска
 +
|-
 +
| healBlock || Эффект лечебного блока
 +
|-
 +
| healBlockFull || -
 +
|-
 +
| healWaveMend || Эффект лечебной волны c починкой (?)
 +
|-
 +
| overdriveWave || Эффект ускоряющей волны
 +
|-
 +
| overdriveBlockFull || -
 +
|-
 +
| shieldBreak || Эффект уничтожения щита
 +
|-
 +
| hitBulletSmall || Эффект попадания маленький
 +
|-
 +
| hitFuse || Эффект загорания выстрелом
 +
|-
 +
| hitBulletBig || Эффект попадение большой пулей
 +
|-
 +
| hitFlameSmall || Эффект попадения маленьким огнём
 +
|-
 +
| hitLiquid || Эффект выстрела жидкостью
 +
|-
 +
| hitLaser || Эффект выстрела лазером
 +
|-
 +
| hitLancer || Эффект выстрела лансером
 +
|-
 +
| hitMeltdown || Эффект выстрела испепелителем
 +
|-
 +
| despawn || -
 +
|-
 +
| flakExplosion || Эффект взрыва зенитного огня
 +
|-
 +
| blastExplosion || -
 +
|-
 +
| plasticExplosion || Эффект взрыва пластика
 +
|-
 +
| artilleryTrail || Эффект артилерийского хвоста (?)
 +
|-
 +
| incendTrail || Эффект хвоста зажигательного снаряда
 +
|-
 +
| missileTrail || Хвост ракеты
 +
|-
 +
| absorb || Эффект впитывания
 +
|-
 +
| flakExplosionBig || Взрыв большого зенитного огня
 +
|-
 +
| plasticExplosionFlak || -
 +
|-
 +
| burning || Эффект горения
 +
|-
 +
| fire || Эффект огня
 +
|-
 +
| fireSmoke || Эффект дыма от огня
 +
|-
 +
| steam || Эффект тумана или пара
 +
|-
 +
| fireballsmoke || Эффект дыма огненого шара
 +
|-
 +
| ballfire || Эффект шара огня
 +
|-
 +
| freezing || Эффект заморозки
 +
|-
 +
| melting || Эффект плавления
 +
|-
 +
| wet || Эффект намокания
 +
|-
 +
| oily || Эффект нефти
 +
|-
 +
| overdriven || -
 +
|-
 +
| dropItem || Эффект выбрасывания предмета
 +
|-
 +
| shockwave || Эффект ударной волны
 +
|-
 +
| bigShockwave || Эффект большой ударной волны
 +
|-
 +
| nuclearShockwave || Эффект взрывной волны от ядерного взрыва
 +
|-
 +
| explosion || Эффект взрыва
 +
|-
 +
| blockExplosion || Эффект взрыва блока
 +
|-
 +
| blockExplosionSmoke || Эффект дыма после взрыва блока
 +
|-
 +
| shootSmall || Эффект маленького выстрела
 +
|-
 +
| shootHeal || Эффект регенерирующего взрыва
 +
|-
 +
| shootSmallSmoke || -
 +
|-
 +
| shootBig || -
 +
|-
 +
| shootBig2 || -
 +
|-
 +
| shootBigSmoke || -
 +
|-
 +
| shootBigSmoke2 || -
 +
|-
 +
| shootSmallFlame || -
 +
|-
 +
| shootPyraFlame || -
 +
|-
 +
| shootLiquid || -
 +
|-
 +
| shellEjectSmall || -
 +
|-
 +
| shellEjectMedium || -
 +
|-
 +
| shellEjectBig || -
 +
|-
 +
| lancerLaserShoot || -
 +
|-
 +
| lancerLaserShootSmoke || -
 +
|-
 +
| lancerLaserCharge || -
 +
|-
 +
| lancerLaserChargeBegin || -
 +
|-
 +
| lightningCharge || -
 +
|-
 +
| lightningShoot || Эффект выстрела молнией
 +
|-
 +
| unitSpawn || Эффект спавна юнита
 +
|-
 +
| spawnShockwave || -
 
|-
 
|-
|name
+
| magmasmoke || -
|Название вашей зоны.
 
|Земля, Юпитер.
 
 
|-
 
|-
|description
+
| impactShockwave || -
|Описание вашей зоны
 
|Когда-то здесь была развитая цивилизация. Но потом пришла армия огня...
 
 
|-
 
|-
|loadout
+
| impactcloud || -
|Определяет размер и вместимость вашего ядра.
 
|По умолчанию cтандартное ядро "Осколок" 3x3, не указывайте этот тип. </br>Ядро "Штаб" 4х4 — "basicFoundation"</br>Ядро "Атом" 5x5 — "basicNucleus"</br>'''Пример:'''</br>"loadout": "basicFoundation"</br>'''Примечание.'''Стандартное ядро можно не указывать.
 
 
|-
 
|-
|startingItems
+
| impactcloud || -
|Определяет начальные предметы.
 
|item - предмет</br>amount - количество'''Пример:'''
 
<pre>    "startingItems": [
 
    {"item": "copper", "amount": 200},
 
    {"item": "lead", "amount": 300},
 
        {"item": "plastanium", "amount": 300}
 
    ],</pre>
 
 
|-
 
|-
|conditionWave
+
| impactsmoke || -
|Определяет количество волн врагов, которое нужно уничтожить, для разблокировки выгрузки.
 
|Это должно быть число.</br>'''Пример:'''</br>"conditionWave": 10
 
 
|-
 
|-
|launchPeriod
+
| dynamicExplosion || -
|Определяет на каких волнах(число волн должно быть кратно заданому числу) будет разрешён запуск
 
|'''Пример:'''</br>"launchPeriod": 10,
 
 
|-
 
|-
|requirements
+
| padlaunch || -
|Определяет что нужно сделать для разблокировки зоны.
 
|Есть два типа условий для разблокировки.</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
+
| commandSend || -
|Какие ресурсы есть на карте. Рекомендуются только руды.
 
|'''Пример:'''</br>"resources": ["copper", "lead", "coal", "sand"]
 
 
|-
 
|-
 +
| coreLand || Эффект падения ядра
 
|}
 
|}
Пример файла 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.
 
==== mmod/content/items/itemname.json ====
 
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
 
|-
 
|-
! Название !! Описание !! Пример использования
+
! Свойство!! Описание !! Примечание
 
|-
 
|-
| type  || тип || "type": "material"</br>Может быть использован для построения блоков. Только материалы принимаются в ядро.</br>"type": "resource"</br>Не используется ни для чего, кроме крафта внутри блоков.
+
|none|| Нет эффекта.|| -
 
|-
 
|-
| name || Название предмета || "name": "Серебро"
+
|burning|| Эффект горения.|| Наносит урон в течение времени
 
|-
 
|-
|description|| описание || "description": "Редкий ресурс."
+
|freezing|| Эффект заморозки.|| Замедляет объект и уменьшает его броню
 
|-
 
|-
| explosiveness || взрываемость</br>насколько взрывоопасен этот предмет ||"explosiveness ": 0</br>"explosiveness ":1</br>"explosiveness ":2
+
|wet|| Эффект промокания.|| Делает объект уязвимым к электрическому урону
 
|-
 
|-
| flammability || воспламеняемость выше 0,3 делает этот предмет, грубо говоря, топливом. ||"flammability": 0</br>"flammability": 1</br>"flammability": 3
+
|melting|| Эффект плавления.|| Наносит урон в течение времени и замедляет объект
 
|-
 
|-
| radioactivity || радиоактивность</br>насколько радиоактивен этот предмет. 0 = нет, 1 = чернобыльский эпицентр ||"radioactivity": 2 </br>"radioactivity": 1
+
|tarred|| Эффект дегтя.|| Замедляет объект и делает его уязвимым к огненному урону
 
|-
 
|-
| hardness  || уровень свердла необходимого для бурения</br>У меди, свинца - 1</br>уголь - 2</br>титан - 3</br>торий - 4||"hardness": 2<br>"hardness": 6
+
|overdrived|| Эффект ускорения.|| Увеличивает скорость объекта и наносимый им урон
 
|-
 
|-
| cost || базовая стоимость материала этого изделия, используемая для расчета времени размещения <br/>1 стоимость = 1 тик добавлена к времени сборки || "cost": 3</br>"cost": 5
+
|shielded|| Эффект защиты.|| Увеличивает броню объекта в 3 раза
 
|-
 
|-
|alwaysUnlocked||Если true, то всегда разблокировано.||"alwaysUnlocked ": true</br>"alwaysUnlocked ": false
+
|boss|| Эффект босса.|| Увеличивает броню объекта и его урон в 3 раза
 
|-
 
|-
|color || цвет ||"color": "ffffff"<br>"color": "ff0000"</br>Доступные цвета:</br>[https://html-color-codes.info/Cvetovye-kody-HTML/ Ссылка 1.]</br>[https://colorscheme.ru/html-colors.html Ссылка 2.]
+
|shocked|| Эффект шока.|| -
 +
|-
 +
|corroded|| Эффект коррозии.|| Наносит небольшой урон
 
|}
 
|}
 +
 +
=== Спрайты ===
 +
При добавлении название согласовывается с .json файлом.
 +
 +
Игра поддерживает только спрайты с разрешением .png .
 +
 +
Таблица размеров спрайта относительно размера блока.
 +
{| class="wikitable"
 +
|-
 +
! Спрайт !! Блок
 +
|-
 +
| 32 х 32 || 1 х 1
 +
|-
 +
| 64 х 64 || 2 х 2
 +
|-
 +
| 96 х 96 || 3 х 3
 +
|-
 +
| 128 х 128 || 4 х 4
 +
|}
 +
 +
При рисовке юнитов и мехов допускается свободный размер изображения, который будет определять его размер
 +
 +
Расположение спрайтов в моде
 +
<small>
 +
    Modik
 +
    └── content
 +
        ├── sprites
 +
        │  ├──blocks  - Спрайты блоков, все текстуры для которых нет подпапок складываюстся сюда.
 +
        |  |  ├──conveyors    -Подпапка для конвееров.
 +
        |  |  ├──drills      -Подпапка для буров.
 +
        |  |  ├──environment  -Подпапка для текстур пола.
 +
        |  |  ├──turrets      -Подпапка для туррелей.
 +
        |  |  └──units        -Подпапка для заводов юнитов.
 +
        │  ├──items    - Спрайты предметов.
 +
        │  ├──mechs    - Спрайты мехов.
 +
        │  ├──units    - Спрайты юнитов.
 +
        │  └──zones    - Спрайты карт.</small>
 +
 +
=== Мультиязычность ===
 +
Наверное, самое простое для добавления.
 +
#Узнаём специальную категорию созданной вами вещью. Специальная категорию можно узнать в разделе Код. Ниже приведено обрезанное древо.
 +
<pre>└── Modik
 +
    ├── bundles
 +
    │  └── bundle.properties
 +
    │  └── bundle_ru.properties</pre>
 +
#Создаём в папке <code>Modik/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>
 +
=== Звуки ===
 +
=== Спрайт Пуль ===
 +
#Переходим в ModName -> Sprite -> Blocks и создаем папку bullets.
 +
#Кидаем туда спрайт пули. Для примера название у пуль будет pul.png.
 +
*Обязательно нужно создать pul-back.png.
 +
*для pul-back.png можно использовать тот же спрайт от pul.png.
 +
[[Файл:BulletSprite1.jpeg]]
 +
#Заходим в mod.json и смотрим на строку "Name": "turrets". Именно это название нужно запомнить или скопировать.
 +
#переходим к описаниям и добавляем в описания пуль "BulletSprite": "turrets-pul".
 +
*turrets название мода.
 +
*pul название наших пуль в папке.
 +
*[[Файл:BulletSprite2.jpeg]]
  
 
== Учим английский ==
 
== Учим английский ==
=== Стандартные предметы ===
+
Было перемещено [[Учим_английский|сюда]] для уменьшения высоты страницы.
Руды:
+
{{Шаблон:Баннер}}
*copper - медь
 
*lead - свинец
 
*coal - уголь
 
*sand - песок
 
*titanium - титан
 
*thorium - торий
 
*scrap - металлолом
 
Предметы:
 
*plastanium - пластаний
 
*graphite - графит
 
*metaglass - метастекло
 
*silicon - кремний
 
*phase-weaver - фазовая ткань
 
*surge-alloy - кинетический сплав
 
Нельзя в ядро:
 
*spore-pod - споровой стручок
 
*pyratite - пиротит
 
*blast-compound - взрывчатая смесь
 
=== Стандартные зоны===
 
*groundZero - Отправная точка
 
*desertWastes - Покинутые пустоши
 
*craters - Кратеры
 
*frozenForest - Ледяной Лес
 
*ruinousShores - Разрушенные берега
 
*stainedMountains - Окрашенные горы
 
*desolateRift - Пустынный разлом
 
*nuclearComplex - Ядерный производственный комплекс
 
*overgrowth - Заросли
 
*tarFields - Дегтярные поля
 
*saltFlats - Соляные равнины
 
*impact0078 - Воздействие 0078
 
*crags - Скалы
 
*fungalPass - Грибной перевал
 
=== Блоки ===
 
*sand-boulder - Песчаный валун
 
*grass - Трава
 
*salt - Соль
 
*saltrocks - Соляные камни
 
*pebbles - Галька
 
*tendrils - Споровые усики
 
*sandrocks - Песчаные камни
 
*spore-pine - Споровая сосна
 
*sporerocks - Споровые камни
 
*rock - Каменный валун
 
*snowrock - Заснеженный валун
 
*snow-pine - Заснеженная сосна
 
*shale - Сланец
 
*shale-boulder - Сланцевый валун
 
*moss - Мох
 
*shrubs - Кусты
 
*spore-moss - Споровый мох
 
*shalerocks - Сланцевые камни
 
*scrap-wall - Стена из металлолома
 
*scrap-wall-large - Большая стена из металлолома
 
*scrap-wall-huge - Огромная стена из металлолома
 
*scrap-wall-gigantic - Гигантская стена из металлолома
 
*thruster - Маневровый двигатель
 
*kiln - Печь
 
*graphite-press - Графитный пресс
 
*multi-press - Мульти-пресс
 
*core-shard - Ядро: «Осколок»
 
*core-foundation - Ядро: «Штаб»
 
*core-nucleus - Ядро: «Атом»
 
*deepwater - Глубоководье
 
*water - Вода
 
*tainted-water - Загрязнённая вода
 
*darksand-tainted-water - Тёмный песок с загрязнённой водой
 
*tar - Нефть
 
*stone - Камень
 
*sand - Песок
 
*darksand - Тёмный песок
 
*ice - Лёд
 
*snow - Снег
 
*craters - Кратеры
 
*sand-water - Песок с водой
 
*darksand-water - Тёмный песок с водой
 
*char - Выжженная земля
 
*holostone - Голографический камень
 
*ice-snow - Заснеженный лёд
 
*rocks - Камни
 
*icerocks - Ледяные камни
 
*snowrocks - Снежные камни
 
*dunerocks - Тёмные песчаные камни
 
*pine - Сосна
 
*white-tree-dead - Мёртвое белое дерево
 
*white-tree - Белое дерево
 
*spore-cluster - Скопление спор
 
*metal-floor - Металлический пол 1
 
*metal-floor-2 - Металлический пол 2
 
*metal-floor-3 - Металлический пол 3
 
*metal-floor-5 - Металлический пол 4
 
*metal-floor-damaged - Повреждённый металлический пол
 
*dark-panel-1 - Тёмная панель 1
 
*dark-panel-2 - Тёмная панель 2
 
*dark-panel-3 - Тёмная панель 3
 
*dark-panel-4 - Тёмная панель 4
 
*dark-panel-5 - Тёмная панель 5
 
*dark-panel-6 - Тёмная панель 6
 
*dark-metal - Тёмный металл
 
*ignarock - Обожжёный камень
 
*hotrock - Горячий камень
 
*magmarock - Магмовый камень
 
*cliffs - Скалы
 
*copper-wall - Медная стена
 
*copper-wall-large - Большая медная стена
 
*titanium-wall - Титановая стена
 
*titanium-wall-large - Большая титановая стена
 
*phase-wall - Фазовая стена
 
*phase-wall-large - Большая фазовая стена
 
*thorium-wall - Ториевая стена
 
*thorium-wall-large - Большая ториевая стена
 
*door - Дверь
 
*door-large - Большая дверь
 
*duo - Двойная турель
 
*scorch - Обжигатель
 
*scatter - Рассеиватель
 
*hail - Град
 
*lancer - Копейщик
 
*conveyor - Конвейер
 
*titanium-conveyor - Титановый конвейер
 
*armored-conveyor - Бронированный конвейер
 
*junction - Перекрёсток
 
*router - Маршрутизатор
 
*distributor - Распределитель
 
*sorter - Сортировщик
 
*message - Сообщение
 
*overflow-gate - Избыточный затвор
 
*silicon-smelter - Кремниевый плавильный завод
 
*phase-weaver - Фазовый ткач
 
*pulverizer - Измельчитель
 
*cryofluidmixer - Мешалка криогенной жидкости
 
*melter - Плавильня
 
*incinerator - Мусоросжигатель
 
*spore-press - Споровой пресс
 
*separator - Отделитель
 
*coal-centrifuge - Угольная центрифуга
 
*power-node - Силовой узел
 
*power-node-large - Большой силовой узел
 
*surge-tower - Кинетическая вышка
 
*battery - Аккумулятор
 
*battery-large - Большой аккумулятор
 
*combustion-generator - Генератор внутреннего сгорания
 
*turbine-generator - Паровой генератор
 
*differential-generator - Дифференциальный генератор
 
*impact-reactor - Импульсный реактор
 
*mechanical-drill - Механический бур
 
*pneumatic-drill - Пневматический бур
 
*laser-drill - Лазерный бур
 
*water-extractor - Гидроконденсатор
 
*cultivator - Культиватор
 
*dart-mech-pad - Реконструктор меха «Альфа»
 
*delta-mech-pad - Реконструктор меха «Дельта»
 
*javelin-ship-pad - Реконструктор корабля «Джавелин»
 
*trident-ship-pad - Реконструктор корабля «Трезубец»
 
*glaive-ship-pad - Реконструктор корабля «Копьё»
 
*omega-mech-pad - Реконструктор меха «Омега»
 
*tau-mech-pad - Реконструктор меха «Тау»
 
*conduit - Трубопровод
 
*mechanical-pump - Механическая помпа
 
*item-source - Источник предметов
 
*item-void - Предметный вакуум
 
*liquid-source - Источник жидкостей
 
*power-void - Энергетический вакуум
 
*power-source - Источник энергии
 
*unloader - Разгрузчик
 
*vault - Хранилище
 
*wave - Волна
 
*swarmer - Роевик
 
*salvo - Залп
 
*ripple - Рябь
 
*phase-conveyor - Фазовый конвейер
 
*bridge-conveyor - Мостовой конвейер
 
*plastanium-compressor - Пластаниевый компрессор
 
*pyratite-mixer - Мешалка пиротита
 
*blast-mixer - Мешалка взрывчатой смеси
 
*solar-panel - Солнечная панель
 
*solar-panel-large - Большая солнечная панель
 
*oil-extractor - Нефтяная вышка
 
*command-center - Командный центр
 
*draug-factory - Завод добывающих дронов «Драугр»
 
*spirit-factory - Завод ремонтных дронов «Дух»
 
*phantom-factory - Завод строительных дронов «Фантом»
 
*wraith-factory - Завод истребителей «Призрак»
 
*ghoul-factory - Завод бомбардировщиков «Гуль»
 
*dagger-factory - Завод мехов «Кинжал»
 
*crawler-factory - Завод гусеничных ботов «Камикадзе»
 
*titan-factory - Завод мехов «Титан»
 
*fortress-factory - Завод мехов «Крепость»
 
*revenant-factory - Завод крейсеров «Мститель»
 
*repair-point - Ремонтный пункт
 
*pulse-conduit - Импульсный трубопровод
 
*phase-conduit - Фазовый трубопровод
 
*liquid-router - Жидкостный маршрутизатор
 
*liquid-tank - Жидкостный бак
 
*liquid-junction - Жидкостный перекрёсток
 
*bridge-conduit - Мостовой трубопровод
 
*rotary-pump - Роторный насос
 
*thorium-reactor - Ториевый реактор
 
*mass-driver - Электромагнитная катапульта
 
*blast-drill - Воздушная буровая установка
 
*thermal-pump - Термальный насос
 
*thermal-generator - Термальный генератор
 
*alloy-smelter - Плавильня кинетического сплава
 
*mender - Регенератор
 
*mend-projector - Ремонтирующий проектор
 
*surge-wall - Стена из кинетического сплава
 
*surge-wall-large - Большая стена из кинетического сплава
 
*cyclone - Циклон
 
*fuse - Взрыватель
 
*shock-mine - Шоковая мина
 
*overdrive-projector - Сверхприводный проектор
 
*force-projector - Силовой проектор
 
*arc - Дуга
 
*rtg-generator - Радиоизотопный термоэлектрический генератор
 
*spectre - Спектр
 
*meltdown - Испепелитель
 
*container - Склад
 
*launch-pad - Стартовая площадка
 
*launch-pad-large - Большая стартовая площадка
 

Текущая версия на 19:50, 31 марта 2023

Write it.pngТут маловато информации
Если есть ещё - принесите её нам в жертву. Нам она нужна. Если по теме, конечно :3


Hard it.pngЕсли шаришь по английскому, то интересно будет взглянуть на ЭТО.


Импорт модификации

Есть три способа импортировать модификацию. И все они простые

1. (только PC-версия) Скопируйте и вставьте папку/файл мода в папку mods Mindustry В Steam это находится в установочном каталоге Mindustry:

steam/steamapps/common/Mindustry/save/mods

Если у вас нет Steam-версии, то путь должен быть следующим:

%appdata%/Mindustry/mods

2. Заархивируйте папку с модификацией (не в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).
2.1. Импортируйте через встроенный файловый менеджер игры: Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.
3.Узнайте адрес к модификации на github и скопируйте имя пользователя+название репозитория.
3.1.Импортируйте через игру:
Главное меню→Модификации→Импортировать GitHub модификацию.

Создание модификации

Hard it.pngПеред созданием НАСТОЯТЕЛЬНО рекомендуем почитать эту статью >>> JSON
Hard it.pngИ ещё эту >>> Git
  1. Переходим в директорию
  • Для Steam:
    steam/steamapps/common/Mindustry/mods
  • Для остальных настольных:
    %appdata%/Mindustry/mods

%appdata%/Mindustry/mods

  1. Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет Modik.
  2. Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать отсюда.
└── Modik
   ├── content
   │   └── blocks
   │       └── magma.json
   │   └── liquids
   │       └── lava.json
   │   │──items
   ├── mod.json
   ├── sounds
   │   ├── pewpew.mp3
   │   └── pewpew.ogg
   └── sprites
   │   └── blocks
   │   └── liquids

Код

Подсказки!

  • В большинстве случаев используется английский для создания модификаций. Если вы не знаете какой-то блок, то можно нажать сюда
  • Прочитайте руководство по синтаксису JSON.
  • Лучше используйте английский.
  • Всему нужно тип. Всегда.
  • Все блоки, предметы, мехи и т.д. имеют два одинаковых типа. Это name(имя) и description(описание).
  • Регистр важен!

Пример:

"name": "Zoloto"
"description":"Золото (для тех, кто не знает английский)"

Блоки

Специальная категория:
blocks Было перемещено сюда для уменьшения высоты страницы.

Предметы

Специальная категория:
item

Переменные Значения Описание
name Произвольная cтрока Название предмета, будет отображено в игре.
description Произвольная cтрока Описание предмета, будет отображено в игре.
color От #000000 до #FFFFFF Цвет предмета, в 16 битном диапазоне цветов. Используйте только HEX цвета.
hardness Натуральное число Жесткость, используется для материалов, добываемых бурами. Чем больше число, тем труднее добыть предмет (от 1 до 4)
alwaysUnlocked false или true При значении true предмет открыт в базе данных
explosiveness Вещественное число > 0 Взрывоопасность предмета
flammability Вещественное число > 0 Возгораемость предмета
radioactivity Вещественное число > 0 Радиоактивность. 0 = отсутствует, 1 = чернобыльский эпицентр
lowPriority false или true Если true, этот элемент имеет самый низкий приоритет для буров.
cost 1 = 1/60 секунды Скорость строительства блока с использованием этого элемента.

Жидкости

Специальная категория:
Директория:

   ├── Modik
   ├── content
   │   └── liquids
   │       └── lava.json

liquid

Свойство Описание Примечание
temperature Температура.
0.5 — это комнатная;
0 — очень холодная;
1 — знойная жара.
flammability Воспламеняемость.
Доступные значения: [0;1]
0 — полностью воспламеняется;
Всё, что выше, может загореться при воздействии тепла
0.5+ — очень легко воспламеняется.
viscosity Вязкость (Густота)
1 - Вязкая , желеобразная (При проливании жидкости ,она никогда не пропадёт)
0.5 - Вода (Пропадает через время)
0 - Маскимально жидкая (Моментально пропадает)
heatCapacity Теплоёмкость
количества тепла сохраняемого этой жидкостью.
0.4 — вода (прилично)
Всё, что ниже, вероятно, менее плотно и хуже охлаждает.
explosiveness Сила взрыва жидкости при перенагревании.
0 — никак
1 — ядерная бомба
flameColor Цвет при взрыве жидкости. Используйте только HEX цвета.
color Цвет жидкости. Используйте только HEX цвета.
effect Эффект. Эффекты

Единицы (юниты)

Переменные Значения Описание Примечание
type flying, mech, legs, naval, payload Тип юнита flying - летающий,

mech - ходячий,

legs - паук,

naval - плавающий,

payload - летающий и переносящий блоки/юнитов

name Произвольная строка Название юнита -
description Произвольная строка Описание юнита -
maxVelocity От 0 до ∞ Оганичение скорости для юнита -
speed От 0 до ∞ Скорость передвижения юнита -
flying true \ false Сможет ли не летающий юнит летать -
health От 0 до ∞ Здоровье юнита 1 = 1
drag От 0 до ∞ Величина отклонения юнита -
engineOffset От 0 до ∞ Направление отклонения юнита -
weaponOffsetY От 0 до ∞ место появления снарядов при выстреле -
engineSize От 0 до ∞ - -
rotatespeed От 0 до ∞ Скорость поворота юнита -
baseRotateSpeed От 0 до ∞ Скорость поворота ног юнита (есле наземный) -
range или attackLength От 0 до ∞ Дальность обнаружения юнитом врагов -
hitsize От 0 до ∞ - -
hitsizeTile От 0 до ∞ - -
shootCone От 0 до ∞ Разброс оружия юнита -
mass От 0 до ∞ Влияет на силу отталкивания юнита или от юнита 1 = 1
targetAir true \ false Сможет ли юнит стрелять по воздушным целям -
rotateWeapon true \ false Будет ли у юнита поварачиватся оружие -
retreatPercent От 0 до ∞ - -
itemCapacity От 0 до ∞ Размер внутреннего хранилища юнита -
toMine "1-ore, 2-ore" Фильтр предметов для добычи Есле 1 руда то указывается сразу за переменной, От 2 до ∞ в массиве
buildPower От 0 до ∞ Скорость постройки блоков юнитом -
Weapon weapon Оружие юнита -
immunities - Имунитеты -
deathSound "1.ogg" Звук смерти -

пример кода со всеми переменными(не советую так делать)

{
	"type": "flyingUnit",
	"name": "Chrome Wraith",
	"description": "Generally annoying and flashy.",
	"maxVelocity": 10,
	"speed": 0.5,
	"drag": 10,                                     // заставляет юнита лететь боком
	"flying": true,
	"health": 90,
	"engineOffset": 5.5,
	"range": 160,
	"weaponOffsetY": 7,                             // отдалило орудия вперёд от юнита
	"engineSize": 5,                                // увеличивает размер огонька с зади
	"rotateSpeed": 16,
	"baseRotateSpeed": 16,
	"shootCone": 16,
	"mass": 1500,
	"targetAir": true,
	"rotateWeapon": true,
	"retreatPercent": 100,
	"itemCapacity": 100,
	"tomine": "copper-ore"
	"buildPower": 80,
	"deathSound": "swings.ogg",
	"weapon": {
		"name": "chrome-blaster",
		"length": 1.5,
		"damage":45,
		"reload": 10,
		"alternate": true,
		"bullet": "lightning"
	}
}

Патроны

Используется в Туррелях

Свойство Описание Примечания
type Добавляет пули определенные свойства - speed Скорость снаряда Вещественное число
damage Урон Вещественное число
bulletWidth Ширина снаряда Вещественное число
bulletHeight Длина снаряда Вещественное число
shootEffect Эффект выстрела Название эффекта
smokeEffect Эффект после выстрела Название эффекта
ammoMultiplier Кол-во снарядов Вещественное число
splashDamageRadius Радиус Взрыва Вещественное число
splashDamage Урон От взрыва Вещественное число
bulletSprite Текстура Пули ModName-SpriteName

Пример

"Патрон": {			 
       "speed": 3.5,			 
       "damage": 19,			 
       "bulletWidth": 7,			 
       "bulletHeight": 9,			 
       "shootEffect": "shootSmall",
       "smokeEffect": "shootSmallSmoke",
       "ammoMultiplier": 1.0,
       "splashDamageRadius": 20,
       "splashDamage":10
}

Турели

Специальная категория:turret.

Свойство Описание Примечание
name Имя турели.
description Описание турели.
targetAir Турель стреляет по воздушным юнитам. True или False.
targetGround Турель стреляет по наземным юнитам. True или False.
size Размер турели. В блоках.
outlineIcon обводка true или false (по умолчанию true)
inaccuracy Разброс.
reload Перезарядка.
shootCone Используется для взрывателя,конусность выстрела.
rotateSpeed Скорость поворота турели.
shoots Выстрелов за раз.
range Дальность полёта пули.

Вот пример энергетической турели:

{
 "type": "ChargeTurret",
 "name": "Имя турели",
 "description": "Описание турели",
 "health": "здоровье",
 "size": "размер",
 "reload": "перезарядка",
 "range": "дальность обзора",
 "chargeTime": "Время зарядки",
 "chargeMaxDelay": "задержка",
 "chargeEffects": кол-во энергии на выстрел, 1 еденичка=60 энергии
 "cooldown": "остывание",
 "recoil": "отдача",
 "powerUse": "энергопотребление"
 "shootShake": "тряска экрана",
 "shootEffect": "Эффект выстрела",
 "smokeEffect": "Эффект дыма",
 "chargeEffect": "Эффект зарядки",
  "chargeBeginEffect": эффект начала зарядки
 "shootType": "Тип выстрела lancerLaser/meltdownLaser/arc"
 "inaccuracy": "Разброс",
 "rotatespeed": "Скорость вращения",
 "requirements": [
    { "item": "copper", "amount": 100},  //то из чего будет создоваться турель
    { "item": "lead", "amount": 100}  //вместо "copper" и "lead" можно подставить другие предметы, но только в ""
 ],
 "category": "turret"
 "shootSound": "laser"
 "research": "duo"
}

Оружие

Используется в юнитах и мехах. Указывается как переменная weapon . Возможные свойства:

Свойства Значения Описание примечание
name произвольная строка Название оружия
length От 0 до ∞ -
width От 0 до ∞ -
reload От 0 до ∞ Скорость перезарядки
range От 0 до ∞ Дальность выстрела
alternate True \ False Присутствие или отсутствие альтернативного огня
bullet См. Пули Пуля, которой стреляет оружие может иметь дополнительные параметры
shots От 1 до ∞ Определяет сколько будет выпущено пулей за выстрел может быть указан второй раз после след. параметра
shotDelay От 0 до ∞ Время перерыва между выстрелами
shotCone От 0 до ∞ Разброс
recoil От 0 до ∞ Отдача от выстрела
ejectEffect См. Эффекты Эффект от выстрела
spacing От 0 до ∞ -
inaccuracy От 0 до ∞ Неаккуратность выстрела
velocityRnd От 0 до ∞ -
shootSound "1.ogg" Звук выстрела
ignoreRotation True \ False -
shake От 0 до ∞ -
Пули

используется в оружии для юнитов\мехов

Виды пуль (что то может не работать)

//Артиллерия

   artilleryDense, artilleryPlastic, artilleryPlasticFrag, artilleryHoming, artilleryIncendiary, artilleryExplosive, artilleryUnit,
   //flak (?)
   flakScrap, flakLead, flakPlastic, flakExplosive, flakSurge, flakGlass, glassFrag,
   //Ракеты
   missileExplosive, missileIncendiary, missileSurge, missileJavelin, missileSwarm, missileRevenant,
   //Стандартные
   standardCopper, standardDense, standardThorium, standardHoming, standardIncendiary, standardMechSmall,
   standardGlaive, standardDenseBig, standardThoriumBig, standardIncendiaryBig,
   //Электрические
   lancerLaser, meltdownLaser, lightning, arc, damageLightning,
   //Водяные
   waterShot, cryoShot, slagShot, oilShot,
   //Бомбы
   bombExplosive, bombIncendiary, bombOil;

Эффекты

Эффект Описание
none отсутствует
placeblock Эффект блока
breakblock Эффект уничтожения блока
smoke Эффект дыма
spawn Эффект спавна
tapblock эффект нажатия на блок
vtolhover Эффект вертикального взлёта
unitdrop Эффект падения юнита
unitpickup Эффект взлёта юнита
unitland Эффект посадки юнита
pickup Эффект поднятия
healwave Эффект регенириющий волны
heal Эффект регенерации
landshock -
reactorsmoke Эффект дыма реактора
nuclearsmoke Эффект ядерного дыма
redgeneratespark Эффект красной сгенериваной искры
fuelburn Эффект горения топлива
plasticburn Эффект горения пластика
pulverize Эффект измельчения
pulverizeRed Разновидность эффекта измельчения
pulverizeRedder Разновидность эффекта измельчения
pulverizeSmall Разновидность эффекта измельчения
pulverizeMedium Разновидность эффекта измельчения
purify Эффект очищения
purifyoil Эффект очищения нефти
purifystone Эффект очищения камня
generate -
mine Эффект бурения
mineBig Эффект бурения среднего бура
mineHuge Эффект бурения большого бура
smelt Эффект плавки
teleportActivate Эффект активного телепорта
teleport Эффект телепортации
teleportOut Эффект телепортирования
ripple Эффект ряби, пульсации
bubble Эффект пузыря
launch Эффект запуска
healBlock Эффект лечебного блока
healBlockFull -
healWaveMend Эффект лечебной волны c починкой (?)
overdriveWave Эффект ускоряющей волны
overdriveBlockFull -
shieldBreak Эффект уничтожения щита
hitBulletSmall Эффект попадания маленький
hitFuse Эффект загорания выстрелом
hitBulletBig Эффект попадение большой пулей
hitFlameSmall Эффект попадения маленьким огнём
hitLiquid Эффект выстрела жидкостью
hitLaser Эффект выстрела лазером
hitLancer Эффект выстрела лансером
hitMeltdown Эффект выстрела испепелителем
despawn -
flakExplosion Эффект взрыва зенитного огня
blastExplosion -
plasticExplosion Эффект взрыва пластика
artilleryTrail Эффект артилерийского хвоста (?)
incendTrail Эффект хвоста зажигательного снаряда
missileTrail Хвост ракеты
absorb Эффект впитывания
flakExplosionBig Взрыв большого зенитного огня
plasticExplosionFlak -
burning Эффект горения
fire Эффект огня
fireSmoke Эффект дыма от огня
steam Эффект тумана или пара
fireballsmoke Эффект дыма огненого шара
ballfire Эффект шара огня
freezing Эффект заморозки
melting Эффект плавления
wet Эффект намокания
oily Эффект нефти
overdriven -
dropItem Эффект выбрасывания предмета
shockwave Эффект ударной волны
bigShockwave Эффект большой ударной волны
nuclearShockwave Эффект взрывной волны от ядерного взрыва
explosion Эффект взрыва
blockExplosion Эффект взрыва блока
blockExplosionSmoke Эффект дыма после взрыва блока
shootSmall Эффект маленького выстрела
shootHeal Эффект регенерирующего взрыва
shootSmallSmoke -
shootBig -
shootBig2 -
shootBigSmoke -
shootBigSmoke2 -
shootSmallFlame -
shootPyraFlame -
shootLiquid -
shellEjectSmall -
shellEjectMedium -
shellEjectBig -
lancerLaserShoot -
lancerLaserShootSmoke -
lancerLaserCharge -
lancerLaserChargeBegin -
lightningCharge -
lightningShoot Эффект выстрела молнией
unitSpawn Эффект спавна юнита
spawnShockwave -
magmasmoke -
impactShockwave -
impactcloud -
impactcloud -
impactsmoke -
dynamicExplosion -
padlaunch -
commandSend -
coreLand Эффект падения ядра

Статус эффекты

Статус эффекты накладываются на некоторый объект на определенное время

Свойство Описание Примечание
none Нет эффекта. -
burning Эффект горения. Наносит урон в течение времени
freezing Эффект заморозки. Замедляет объект и уменьшает его броню
wet Эффект промокания. Делает объект уязвимым к электрическому урону
melting Эффект плавления. Наносит урон в течение времени и замедляет объект
tarred Эффект дегтя. Замедляет объект и делает его уязвимым к огненному урону
overdrived Эффект ускорения. Увеличивает скорость объекта и наносимый им урон
shielded Эффект защиты. Увеличивает броню объекта в 3 раза
boss Эффект босса. Увеличивает броню объекта и его урон в 3 раза
shocked Эффект шока. -
corroded Эффект коррозии. Наносит небольшой урон

Спрайты

При добавлении название согласовывается с .json файлом.

Игра поддерживает только спрайты с разрешением .png .

Таблица размеров спрайта относительно размера блока.

Спрайт Блок
32 х 32 1 х 1
64 х 64 2 х 2
96 х 96 3 х 3
128 х 128 4 х 4

При рисовке юнитов и мехов допускается свободный размер изображения, который будет определять его размер

Расположение спрайтов в моде

   Modik
   └── content
       ├── sprites
       │   ├──blocks   - Спрайты блоков, все текстуры для которых нет подпапок складываюстся сюда.
       |   |  ├──conveyors    -Подпапка для конвееров.
       |   |  ├──drills       -Подпапка для буров.
       |   |  ├──environment  -Подпапка для текстур пола.
       |   |  ├──turrets      -Подпапка для туррелей.
       |   |  └──units        -Подпапка для заводов юнитов.
       │   ├──items    - Спрайты предметов.
       │   ├──mechs    - Спрайты мехов.
       │   ├──units    - Спрайты юнитов.
       │   └──zones    - Спрайты карт.

Мультиязычность

Наверное, самое простое для добавления.

  1. Узнаём специальную категорию созданной вами вещью. Специальная категорию можно узнать в разделе Код. Ниже приведено обрезанное древо.
└── Modik
    ├── bundles
    │   └── bundle.properties
    │   └── bundle_ru.properties
  1. Создаём в папке Modik/bundles файл(если вы не создали ранее).
  • Если хотите добавить строки для английского, то выберите файл bundle.properties
  • Если хотите добавить строки для русского, то выберите файл bundle_ru.properties
  1. Добавляем строку:

СпециальнаяКатегория.НазваниеВещи.name(имя)/description(описание)= <Вставить текст>
Пример. Например, я хочу добавить для жидкости lava название и описание другое на русском.

  1. Переходии в файл bundle_ru.properties
  2. Пишем следующее:
  • liquid.lava.name = Лава
  • Нажимаю Enter
  • liquid.lava.description = Очень горячая жидкость.

Звуки

Спрайт Пуль

  1. Переходим в ModName -> Sprite -> Blocks и создаем папку bullets.
  2. Кидаем туда спрайт пули. Для примера название у пуль будет pul.png.
  • Обязательно нужно создать pul-back.png.
  • для pul-back.png можно использовать тот же спрайт от pul.png.

BulletSprite1.jpeg

  1. Заходим в mod.json и смотрим на строку "Name": "turrets". Именно это название нужно запомнить или скопировать.
  2. переходим к описаниям и добавляем в описания пуль "BulletSprite": "turrets-pul".
  • turrets название мода.
  • pul название наших пуль в папке.
  • BulletSprite2.jpeg

Учим английский

Было перемещено сюда для уменьшения высоты страницы.