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

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[непроверенная версия][ожидает проверки]
м (небольшое изменение кода энергетической турели)
 
(не показано 57 промежуточных версий 15 участников)
Строка 1: Строка 1:
{{Шаблон:Дополнить}}
+
{{Шаблон:Баннер}}
Модификации — это неотъемлемая часть игры. С помощью них можно добавлять новые жидкости, блоки, руды. Модификации в Mindustry состоят из папки или zip-файла, и с файлом mod.json, а также набора спрайтов и файлов .json, определяющих новый контент.
+
{{Шаблон:Дополнить}}<br/>
 
+
{{Шаблон:Плашка
'''ANDROID-ВЕРСИЯ ТЕПЕРЬ ПОДДЕРЖИВАЕТ МОДИФИКАЦИИ
+
| title = Если шаришь по английскому, то интересно будет взглянуть на [https://simonwoodburyforget.github.io/mindustry-modding/ ЭТО.]
 
+
| text =
== Скачивание специальной версии ==
+
| img = Hard_it.png
Вообще этот пункт на данный момент не обязателен, но если вы хотите самые свежие фиксы загрузчика модов, то можете скачать специальную версию bleeding edge
+
}}<br/>
# Тыкаем [https://github.com/Anuken/MindustryBuilds/releases сюда].</br>
 
Также есть полуавтоматическое скачивание.
 
# Тыкаем [https://github.com/Anuken/MindustryBuilds/releases опять сюда].
 
# Ищем и скачиваем Mindustry-BE-Desktop-xxxx.jar, где xxxx — идентификатор версии.
 
  
 
== Импорт модификации ==
 
== Импорт модификации ==
Строка 42: Строка 38:
 
%appdata%/Mindustry/mods
 
%appdata%/Mindustry/mods
 
# Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет <code>Modik</code>.
 
# Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет <code>Modik</code>.
# Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать [https://google.com отсюда].
+
# Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать [https://yadi.sk/d/GuWusPK9kXDT-g отсюда].
 
  └── Modik
 
  └── Modik
 
     ├── content
 
     ├── content
Строка 65: Строка 61:
 
*
 
*
 
*Все блоки, предметы, мехи и т.д. имеют два одинаковых типа. Это name(имя) и description(описание).
 
*Все блоки, предметы, мехи и т.д. имеют два одинаковых типа. Это name(имя) и description(описание).
 +
*Регистр важен!
 
Пример:
 
Пример:
 
<pre>"name": "Zoloto"
 
<pre>"name": "Zoloto"
Строка 79: Строка 76:
 
|-
 
|-
 
!  Переменные !! Значения !! Описание
 
!  Переменные !! Значения !! Описание
|-
 
| type || material || Тип предмета, если ему не присвоить значение material, то предмет нельзя загрузить в ядро и использовать его для строительства
 
 
|-
 
|-
 
| name || Произвольная cтрока || Название предмета, будет отображено в игре.
 
| name || Произвольная cтрока || Название предмета, будет отображено в игре.
 
|-
 
|-
 
| description || Произвольная cтрока || Описание предмета, будет отображено в игре.
 
| description || Произвольная cтрока || Описание предмета, будет отображено в игре.
|-
 
| cost || Вещественное число > 0 || Цена расчёта стоимости предмета при копировании блоков содержащих его.
 
 
|-
 
|-
 
| color || От #000000 до #FFFFFF || Цвет предмета, в 16 битном диапазоне цветов. [[Цвета|Используйте только HEX цвета.]]
 
| color || От #000000 до #FFFFFF || Цвет предмета, в 16 битном диапазоне цветов. [[Цвета|Используйте только HEX цвета.]]
 
|-
 
|-
| hardness || Натуральное число || Жесткость, используется для материалов, добываемых бурами. Чем больше число, тем труднее добыть предмет
+
| hardness || Натуральное число || Жесткость, используется для материалов, добываемых бурами. Чем больше число, тем труднее добыть предмет (от 1 до 4)
 
|-
 
|-
 
| alwaysUnlocked || false или true || При значении true предмет открыт в базе данных
 
| alwaysUnlocked || false или true || При значении true предмет открыт в базе данных
Строка 98: Строка 91:
 
| flammability || Вещественное число > 0 || Возгораемость предмета
 
| flammability || Вещественное число > 0 || Возгораемость предмета
 
|-
 
|-
| radioactivity || Вещественное число > 0 || Радиоактивность предмета
+
| radioactivity || Вещественное число > 0 || Радиоактивность. 0 = отсутствует, 1 = чернобыльский эпицентр
 +
|-
 +
| lowPriority || false или true || Если true, этот элемент имеет самый низкий приоритет для буров.
 +
|-
 +
| cost || 1 = 1/60 секунды || Скорость строительства блока с использованием этого элемента.
 
|}
 
|}
  
Строка 135: Строка 132:
 
! Переменные !! Значения !! Описание !! Примечание
 
! Переменные !! Значения !! Описание !! Примечание
 
|-
 
|-
| type || flyingUnit, groundUnit || Тип юнита || -
+
| type || flying, mech, legs, naval, payload|| Тип юнита || flying - летающий,
 +
mech - ходячий,
 +
 
 +
legs - паук,
 +
 
 +
naval - плавающий,
 +
 
 +
payload - летающий и переносящий блоки/юнитов
 
|-
 
|-
 
| name || Произвольная строка || Название юнита || -
 
| name || Произвольная строка || Название юнита || -
Строка 232: Строка 236:
 
!Свойство !! Описание !! Примечания
 
!Свойство !! Описание !! Примечания
 
|-
 
|-
 +
|type|| Добавляет пули определенные свойства || BasicBulletType, MissileBulletType, ArtilleryBulletType, FlakBulletType,BombBulletType,LiquidBulletType |-
 
|speed|| Скорость снаряда || Вещественное число  
 
|speed|| Скорость снаряда || Вещественное число  
 
|-
 
|-
Строка 249: Строка 254:
 
|-
 
|-
 
|splashDamage|| Урон От взрыва||Вещественное число
 
|splashDamage|| Урон От взрыва||Вещественное число
 +
|-
 +
|bulletSprite|| Текстура Пули||ModName-SpriteName
 
|}
 
|}
 
Пример  
 
Пример  
Строка 264: Строка 271:
 
}
 
}
 
</pre>
 
</pre>
 +
 
====Турели====
 
====Турели====
 
Специальная категория:<code>turret</code>.
 
Специальная категория:<code>turret</code>.
Строка 279: Строка 287:
 
|-
 
|-
 
|size || Размер турели. || В блоках.
 
|size || Размер турели. || В блоках.
 +
|-
 +
|outlineIcon||обводка||true или false (по умолчанию true)||
 
|-
 
|-
 
|inaccuracy || Разброс.||
 
|inaccuracy || Разброс.||
Строка 293: Строка 303:
 
|}
 
|}
  
Вот пример:
+
Вот пример энергетической турели:
 
<pre>{
 
<pre>{
"type": "burstTurret",
+
"type": "ChargeTurret",
"name": "minigun",
+
"name": "Имя турели",
"description": "Shoots faster!",
+
"description": "Описание турели",
"targetAir": true,
+
"health": "здоровье",
"targetGround": true,
+
"size": "размер",
"size": 2,
+
"reload": "перезарядка",
"inaccuracy": 2,
+
"range": "дальность обзора",
"reload": 10,
+
"chargeTime": "Время зарядки",
"shootCone": 1,
+
"chargeMaxDelay": "задержка",
"rotateSpeed": 22,
+
"chargeEffects": кол-во энергии на выстрел, 1 еденичка=60 энергии
"shots": 1,
+
"cooldown": "остывание",
"range": 110,
+
"recoil": "отдача",
"burstSpacing": 2,
+
"powerUse": "энергопотребление"
"ammo": {
+
"shootShake": "тряска экрана",
"titanium": {
+
"shootEffect": "Эффект выстрела",
"speed": 9,
+
"smokeEffect": "Эффект дыма",
"damage": 10,
+
"chargeEffect": "Эффект зарядки",
"bulletWidth": 2,
+
  "chargeBeginEffect": эффект начала зарядки
"bulletHeight": 5,
+
"shootType": "Тип выстрела lancerLaser/meltdownLaser/arc"
"shootEffect": "shootSmall",
+
"inaccuracy": "Разброс",
"smokeEffect": "shootSmallSmoke",
+
"rotatespeed": "Скорость вращения",
"ammoMultiplier": 12
+
"requirements": [
},
+
    { "item": "copper", "amount": 100}, //то из чего будет создоваться турель
"silicon": {
+
    { "item": "lead", "amount": 100} //вместо "copper" и "lead" можно подставить другие предметы, но только в ""
"speed": 8,
+
],
"damage": 12,
+
"category": "turret"
"bulletWidth": 3,
+
"shootSound": "laser"
"bulletHeight": 6,
+
"research": "duo"
"shootEffect": "shootSmall",
 
"smokeEffect": "shootSmallSmoke",
 
"ammoMultiplier": 10
 
},
 
"thorium": {
 
"speed": 8,
 
"damage": 20,
 
"bulletWidth": 4,
 
"bulletHeight": 7,
 
"shootEffect": "shootSmall",
 
"smokeEffect": "shootSmallSmoke",
 
"ammoMultiplier": 8
 
}
 
},
 
"requirements": [
 
{ "item": "lead", "amount": 60 },
 
{ "item": "titanium", "amount": 40 },
 
{ "item": "copper", "amount": 60 }
 
],
 
"category": "turret",
 
"research": "scatter"
 
 
}</pre>
 
}</pre>
==== Мехи ====
 
Чтобы добавить новый мех, надо в папке <code>content</code>  создать папку <code>mechs</code>, в ней у нас будет лежать JSON    файл.
 
  
{| class="wikitable sortable"
+
==== Оружие ====
 +
Используется в юнитах и мехах.
 +
Указывается как переменная  <code> weapon </code>.
 +
Возможные свойства:
 +
{| class="wikitable"
 +
|-
 +
! Свойства !! Значения !! Описание !! примечание
 +
|-
 +
| name || произвольная строка || Название оружия
 +
|-
 +
| length || От 0 до ∞|| -
 +
|-
 +
| width || От 0 до ∞|| -
 +
|-
 +
| reload || От 0 до ∞ || Скорость перезарядки
 +
|-
 +
| range || От 0 до ∞ || Дальность выстрела
 +
|-
 +
| alternate || True \ False || Присутствие или отсутствие альтернативного огня
 +
|-
 +
| bullet || См. Пули || Пуля, которой стреляет оружие || может иметь дополнительные параметры
 
|-
 
|-
! Свойство!! Описание !! Примечание
+
| shots || От 1 до ∞ || Определяет сколько будет выпущено пулей за выстрел || может быть указан второй раз после след. параметра
 
|-
 
|-
|name|| Имя меха. || -
+
| shotDelay || От 0 до ∞ || Время перерыва между выстрелами
 
|-
 
|-
|description|| Описание меха. || -
+
| shotCone || От 0 до ∞ || Разброс
 
|-
 
|-
|speed|| Скорость меха по земле. || 1 = 60
+
| recoil || От 0 до ∞ || Отдача от выстрела
 
|-
 
|-
|boostSpeed || Скорость меха по воздуху. || 1 = 60
+
| ejectEffect || См. Эффекты || Эффект от выстрела
 
|-
 
|-
|buildPower || Скорость строительства. || 1 = 60
+
| spacing || От 0 до ∞ || -
 
|-
 
|-
|engineColor || Цвет двигателя меха. || [[Цвета|Используйте только HEX цвета.]]
+
| inaccuracy || От 0 до ∞ || Неаккуратность выстрела
 
|-
 
|-
|flying || Летает или нет. || Используйте true или false.
+
| velocityRnd || От 0 до ∞ || -
 
|-
 
|-
|health || Здоровье меха. || 1 = 60 HP
+
| shootSound || "1.ogg" || Звук выстрела
 
|-
 
|-
|weaponOffsetX || Смещение оружия у меха по X. || В пикселях.
+
| ignoreRotation || True \ False || -
 
|-
 
|-
|weaponOffsetY || Смещение оружия у меха по Y. || В пикселях.
+
| shake || От 0 до ∞ || -
|-  
 
|weapon || Оружие меха || Пишите название текстурки оружия.
 
 
|}
 
|}
1 = 60 означает то, что вместо вашего значения надо написать ваше значение , умноженное на 60, например чтобы у меха было здоровье 120, туда надо написать 2.
 
  
Вот пример:
+
===== Пули =====
<pre>{
+
используется в оружии для юнитов\мехов
"name": "Имя меха",
+
 
"description": "Описание меха.",
+
Виды пуль (что то может не работать)
"speed": 0.6,
+
 
"boostSpeed": 1.5,
+
//Артиллерия
"buildPower": 2.0,
+
    artilleryDense, artilleryPlastic, artilleryPlasticFrag, artilleryHoming, artilleryIncendiary, artilleryExplosive, artilleryUnit,
"engineColor": "666495",
+
 
"flying": false,
+
    //flak (?)
"health": 300,
+
    flakScrap, flakLead, flakPlastic, flakExplosive, flakSurge, flakGlass, glassFrag,
"weaponOffsetX": 4,
+
 
"weapon": {
+
    //Ракеты
"name": "Имя оружия",
+
    missileExplosive, missileIncendiary, missileSurge, missileJavelin, missileSwarm, missileRevenant,
"length": 1.5,
+
 
"reload": 4,
+
    //Стандартные
"alternate": false,
+
    standardCopper, standardDense, standardThorium, standardHoming, standardIncendiary, standardMechSmall,
"bullet": "lightning"
+
    standardGlaive, standardDenseBig, standardThoriumBig, standardIncendiaryBig,
}
 
}</pre>
 
 
=== Оружие ===
 
Для мехов и юнитов есть оружие.
 
Указывается как переменная "weapon".
 
Возможные свойства:
 
  
 +
    //Электрические
 +
    lancerLaser, meltdownLaser, lightning, arc, damageLightning,
  
 +
    //Водяные
 +
    waterShot, cryoShot, slagShot, oilShot,
 +
    //Бомбы
 +
    bombExplosive, bombIncendiary, bombOil;
  
 
==== Эффекты ====
 
==== Эффекты ====
Строка 504: Строка 507:
 
| hitFlameSmall || Эффект попадения маленьким огнём
 
| hitFlameSmall || Эффект попадения маленьким огнём
 
|-
 
|-
| hitLiquid || Эффект выстрела жыдкостью
+
| hitLiquid || Эффект выстрела жидкостью
 
|-
 
|-
 
| hitLaser || Эффект выстрела лазером
 
| hitLaser || Эффект выстрела лазером
Строка 681: Строка 684:
 
Расположение спрайтов в моде
 
Расположение спрайтов в моде
 
<small>
 
<small>
└── Modik
+
    Modik
     ├── Sprites
+
     └── content
    │  ├──blocks  - Спрайты блоков, все текстуры для которых нет подпапок складываюстся сюда.
+
        ├── sprites
    |  |  ├──conveyors    -Подпапка для конвееров.
+
        │  ├──blocks  - Спрайты блоков, все текстуры для которых нет подпапок складываюстся сюда.
    |  |  ├──drills      -Подпапка для буров.
+
        |  |  ├──conveyors    -Подпапка для конвееров.
    |  |  ├──environment  -Подпапка для текстур пола.
+
        |  |  ├──drills      -Подпапка для буров.
    |  |  ├──turrets      -Подпапка для туррелей.
+
        |  |  ├──environment  -Подпапка для текстур пола.
    |  |  └──units        -Подпапка для заводов юнитов.
+
        |  |  ├──turrets      -Подпапка для туррелей.
    │  ├──items    - Спрайты предметов.
+
        |  |  └──units        -Подпапка для заводов юнитов.
    │  ├──mechs    - Спрайты мехов.
+
        │  ├──items    - Спрайты предметов.
    │  ├──units    - Спрайты юнитов.
+
        │  ├──mechs    - Спрайты мехов.
    │  └──zones    - Спрайты карт.</small>
+
        │  ├──units    - Спрайты юнитов.
 +
        │  └──zones    - Спрайты карт.</small>
  
 
=== Мультиязычность ===
 
=== Мультиязычность ===
Строка 714: Строка 718:
 
*<pre>liquid.lava.description = Очень горячая жидкость.</pre>
 
*<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]]
  
 
== Учим английский ==
 
== Учим английский ==
 
Было перемещено [[Учим_английский|сюда]] для уменьшения высоты страницы.
 
Было перемещено [[Учим_английский|сюда]] для уменьшения высоты страницы.
 +
{{Шаблон:Баннер}}

Текущая версия на 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

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

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