Модификации
Хуйня
Устал писать.
Содержание
Создание модификации
![]() | Перед созданием НАСТОЯТЕЛЬНО рекомендуем почитать эту статью >>> JSON |
![]() | И ещё эту >>> Git |
- Переходим в директорию
- Для Steam:
steam/steamapps/common/Mindustry/mods
- Для остальных настольных:
%appdata%/Mindustry/mods
%appdata%/Mindustry/mods
- Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет
Modik
. - Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать отсюда.
└── 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
Переменные | Значения | Описание |
---|---|---|
type | material | Тип предмета, если ему не присвоить значение material, то предмет нельзя загрузить в ядро и использовать его для строительства |
name | Произвольная cтрока | Название предмета, будет отображено в игре. |
description | Произвольная cтрока | Описание предмета, будет отображено в игре. |
cost | Вещественное число > 0 | Цена расчёта стоимости предмета при копировании блоков содержащих его. |
color | От #000000 до #FFFFFF | Цвет предмета, в 16 битном диапазоне цветов. Используйте только HEX цвета. |
hardness | Натуральное число | Жесткость, используется для материалов, добываемых бурами. Чем больше число, тем труднее добыть предмет |
alwaysUnlocked | false или true | При значении true предмет открыт в базе данных |
explosiveness | Вещественное число > 0 | Взрывоопасность предмета |
flammability | Вещественное число > 0 | Возгораемость предмета |
radioactivity | Вещественное число > 0 | Радиоактивность предмета |
Жидкости
Специальная категория:
Директория:
├── 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 | flyingUnit, groundUnit | Тип юнита | - |
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" } }
Патроны
Используется в Туррелях
Свойство | Описание | Примечания |
---|---|---|
speed | Скорость снаряда | Вещественное число |
damage | Урон | Вещественное число |
bulletWidth | Ширина снаряда | Вещественное число |
bulletHeight | Длина снаряда | Вещественное число |
shootEffect | Эффект выстрела | Название эффекта |
smokeEffect | Эффект после выстрела | Название эффекта |
ammoMultiplier | Кол-во снарядов | Вещественное число |
splashDamageRadius | Радиус Взрыва | Вещественное число |
splashDamage | Урон От взрыва | Вещественное число |
Пример
"Патрон": { "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 | Размер турели. | В блоках. |
inaccuracy | Разброс. | |
reload | Перезарядка. | |
shootCone | Используется для взрывателя,конусность выстрела. | |
rotateSpeed | Скорость поворота турели. | |
shoots | Выстрелов за раз. | |
range | Дальность полёта пули. |
Вот пример:
{ "type": "burstTurret", "name": "minigun", "description": "Shoots faster!", "targetAir": true, "targetGround": true, "size": 2, "inaccuracy": 2, "reload": 10, "shootCone": 1, "rotateSpeed": 22, "shots": 1, "range": 110, "burstSpacing": 2, "ammo": { "titanium": { "speed": 9, "damage": 10, "bulletWidth": 2, "bulletHeight": 5, "shootEffect": "shootSmall", "smokeEffect": "shootSmallSmoke", "ammoMultiplier": 12 }, "silicon": { "speed": 8, "damage": 12, "bulletWidth": 3, "bulletHeight": 6, "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" }
Мехи
Чтобы добавить новый мех, надо в папке content
создать папку mechs
, в ней у нас будет лежать JSON файл.
Свойство | Описание | Примечание |
---|---|---|
name | Имя меха. | - |
description | Описание меха. | - |
speed | Скорость меха по земле. | 1 = 60 |
boostSpeed | Скорость меха по воздуху. | 1 = 60 |
buildPower | Скорость строительства. | 1 = 60 |
engineColor | Цвет двигателя меха. | Используйте только HEX цвета. |
flying | Летает или нет. | Используйте true или false. |
health | Здоровье меха. | 1 = 60 HP |
weaponOffsetX | Смещение оружия у меха по X. | В пикселях. |
weaponOffsetY | Смещение оружия у меха по Y. | В пикселях. |
weapon | Оружие меха | Пишите название текстурки оружия. |
1 = 60 означает то, что вместо вашего значения надо написать ваше значение , умноженное на 60, например чтобы у меха было здоровье 120, туда надо написать 2.
Вот пример:
{ "name": "Имя меха", "description": "Описание меха.", "speed": 0.6, "boostSpeed": 1.5, "buildPower": 2.0, "engineColor": "666495", "flying": false, "health": 300, "weaponOffsetX": 4, "weapon": { "name": "Имя оружия", "length": 1.5, "reload": 4, "alternate": false, "bullet": "lightning" } }
Оружие
Используется в юнитах и мехах.
Указывается как переменная 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 до ∞ | - |
Пули
используется в оружии для юнитов\мехов
Эффекты
Эффект | Описание |
---|---|
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 - Спрайты карт.
Мультиязычность
Наверное, самое простое для добавления.
- Узнаём специальную категорию созданной вами вещью. Специальная категорию можно узнать в разделе Код. Ниже приведено обрезанное древо.
└── Modik ├── bundles │ └── bundle.properties │ └── bundle_ru.properties
- Создаём в папке
Modik/bundles
файл(если вы не создали ранее).
- Если хотите добавить строки для английского, то выберите файл
bundle.properties
- Если хотите добавить строки для русского, то выберите файл
bundle_ru.properties
- Добавляем строку:
СпециальнаяКатегория.НазваниеВещи.name(имя)/description(описание)= <Вставить текст>
Пример.
Например, я хочу добавить для жидкости lava
название и описание другое на русском.
- Переходии в файл
bundle_ru.properties
- Пишем следующее:
liquid.lava.name = Лава
- Нажимаю
Enter
liquid.lava.description = Очень горячая жидкость.
Звуки
Учим английский
Было перемещено сюда для уменьшения высоты страницы.