Модификации: различия между версиями
| [непроверенная версия] | [непроверенная версия] |
MrEgor4Ik (обсуждение | вклад) Метки: правка из мобильной версии, правка с мобильного устройства |
MrEgor4Ik (обсуждение | вклад) (→Создание модификации: Дополннено статья про туррели) Метки: правка из мобильной версии, правка с мобильного устройства |
||
| Строка 321: | Строка 321: | ||
Вот пример: | Вот пример: | ||
<pre>{ | <pre>{ | ||
| − | + | "type": "ChargeTurret", | |
| − | + | "name": "Имя турели", | |
| − | + | "description": "Описание турели", | |
| − | + | "health": "здоровье", | |
| − | + | "size": "размер", | |
| − | + | "reload": "перезарядка", | |
| − | + | "range": "дальность обзора", | |
| − | + | "chargeTime": "Время зарядки", | |
| − | + | "chargeMaxDelay": "задержка", | |
| − | + | "chargeEffects": кол-во энергии на выстрел | |
| − | + | "cooldown": "остывание", | |
| − | + | "recoil": "отдача", | |
| − | + | "powerUse": "энергопотребление" | |
| − | + | "shootShake": "тряска экрана", | |
| − | + | "shootEffect": "Эффект выстрела", | |
| − | + | "smokeEffect": "Эффект дыма", | |
| − | + | "chargeEffect": "Эффект зарядки", | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
"chargeBeginEffect": эффект начала зарядки | "chargeBeginEffect": эффект начала зарядки | ||
| − | + | "shootType": "Тип выстрела lancerLaser или meltdownLaser" | |
| − | + | "inaccuracy": "Разброс", | |
| − | + | "rotatespeed": "Скорость вращения", | |
| − | + | "requirements": [ | |
То из чего вы будете это делать | То из чего вы будете это делать | ||
| − | + | ], | |
| − | + | "category": "turret" | |
| − | + | "shootSound": "laser" | |
| − | + | "research": "duo" | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
}</pre> | }</pre> | ||
Версия 17:34, 9 ноября 2019
| Тут маловато информации Если есть ещё - принесите её нам в жертву. Нам она нужна. Если по теме, конечно :3 |
Полное описание каждого значения у турели {
"type": "ChargeTurret", "name": "Имя турели", "description": "Описание турели", "health": "здоровье", "size": "размер", "reload": "перезарядка", "range": "дальность обзора", "chargeTime": "Время зарядки", "chargeMaxDelay": "задержка", "chargeEffects": кол-во энергии на выстрел "cooldown": "остывание", "recoil": "отдача", "powerUse": "энергопотребление" "shootShake": "тряска экрана", "shootEffect": "Эффект выстрела", "smokeEffect": "Эффект дыма", "chargeEffect": "Эффект зарядки", "chargeBeginEffect": эффект начала зарядки "shootType": "Тип выстрела lancerLaser или meltdownLaser" "inaccuracy": "Разброс", "rotatespeed": "Скорость вращения", "requirements": [То из чего вы будете это делать ], "category": "turret" "shootSound": "laser" "research": "duo"
}
Содержание
Скачивание специальной версии
Вообще этот пункт на данный момент не обязателен, но если вы хотите самые свежие фиксы загрузчика модов, то можете скачать специальную версию bleeding edge
- Тыкаем сюда.
Также есть полуавтоматическое скачивание.
- Тыкаем опять сюда.
- Ищем и скачиваем Mindustry-BE-Desktop-xxxx.jar, где xxxx — идентификатор версии.
Импорт модификации
Есть три способа импортировать модификацию. И все они простые
1. (только PC-версия) Скопируйте и вставьте папку/файл мода в папку mods Mindustry В Steam это находится в установочном каталоге Mindustry:
steam/steamapps/common/Mindustry/save/mods
Если у вас нет Steam-версии, то путь должен быть следующим:
%appdata%/Mindustry/mods
2. Заархивируйте папку с модификацией (не в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).
2.1. Импортируйте через встроенный файловый менеджер игры:
Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.
3.Узнайте адрес к модификации на github и скопируйте имя пользователя+название репозитория.
3.1.Импортируйте через игру:
Главное меню→Модификации→Импортировать GitHub модификацию.
Создание модификации
| Перед созданием НАСТОЯТЕЛЬНО рекомендуем почитать эту статью >>> 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": "ChargeTurret",
"name": "Имя турели",
"description": "Описание турели",
"health": "здоровье",
"size": "размер",
"reload": "перезарядка",
"range": "дальность обзора",
"chargeTime": "Время зарядки",
"chargeMaxDelay": "задержка",
"chargeEffects": кол-во энергии на выстрел
"cooldown": "остывание",
"recoil": "отдача",
"powerUse": "энергопотребление"
"shootShake": "тряска экрана",
"shootEffect": "Эффект выстрела",
"smokeEffect": "Эффект дыма",
"chargeEffect": "Эффект зарядки",
"chargeBeginEffect": эффект начала зарядки
"shootType": "Тип выстрела lancerLaser или meltdownLaser"
"inaccuracy": "Разброс",
"rotatespeed": "Скорость вращения",
"requirements": [
То из чего вы будете это делать
],
"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 до ∞ | - |
Пули
используется в оружии для юнитов\мехов
Эффекты
| Эффект | Описание |
|---|---|
| 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 = Очень горячая жидкость.
Звуки
Учим английский
Было перемещено сюда для уменьшения высоты страницы.