Открыть главное меню

Изменения

Модификации

27 854 байта добавлено, 16:50, 31 марта 2023
м
небольшое изменение кода энергетической турели
Модификации — это неотъемлемая часть игры{{Шаблон:Баннер}}{{Шаблон:Дополнить}}<br/>{{Шаблон:Плашка| title = Если шаришь по английскому, то интересно будет взглянуть на [https://simonwoodburyforget. С помощью них можно добавлять новые жидкости, блоки, рудыgithub. Модификации в Mindustry состоят из папки или zipio/mindustry-файла, и с файлом mod.json, а также набора спрайтов и файлов .json, определяющих новый контентmodding/ ЭТО.]| text = '''КИРИЛЛИЦА НА WINDOWS НЕ ПОДДЕРЖИВАЕТСЯ В МОДИФИКАЦИЯХ| img = Hard_it.png'''ANDROID НЕ ПОДДЕРЖИВАЕТСЯ В МОДИФИКАЦИЯХ}}<br/>
== Импорт модификации ==
Есть два три способа импортировать модификацию.И все они простые<br>
'''1.''' (только PC-версия) Скопируйте и вставьте папку/файл мода в папку mods Mindustry
В Steam это находится в установочном каталоге Mindustry:
steam/steamapps/common/Mindustry/save/mods
Если у вас нет Steam-версии, то путь должен быть следующим:
%appdata%/Mindustry/mods
'''2.1''' Заархивируйте папку с модификацией ('''не''' в отдельную папку, а лишь содержимое)(можете пропустить этот пункт, если мод уже находится в архиве).</br>'''2.21.''' Импортируйте через встроенный файловый менеджер игры:Главное меню→Модификации→Импортировать модификацию. Это не рекомендуется для мододелов, т.к. вам нужно постоянно архивировать в мод.</br>'''3.'''Узнайте адрес к модификации на github и скопируйте имя пользователя+название репозитория.</br>'''3.1.'''Импортируйте через игру:</br>Главное меню→Модификации→Импортировать GitHub модификацию. == Создание модификации =={{Шаблон:Плашка| title = Перед созданием НАСТОЯТЕЛЬНО рекомендуем почитать эту статью >>> [[JSON]]| text = | img = Hard_it.png}}{{Шаблон:Плашка| title = И ещё эту >>> [[Git]]| text = | img = Hard_it.png}}#Переходим в директорию *Для Steam:</br><code>steam/steamapps/common/Mindustry/mods</code>*Для остальных настольных: </br><code>%appdata%/Mindustry/mods</code>%appdata%/Mindustry/mods# Создаём папку с любым названием. Желательно латиницей. Пусть название модификации будет <code>Modik</code>.# Создаём папки и файлы так же, как и в древе снизу. Если лень создавать, то можете скачать [https://yadi.sk/d/GuWusPK9kXDT-g отсюда]. └── Modik ├── content │ └── blocks │ └── magma.json │ └── liquids │ └── 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"|-! Свойство!! Описание !! Примечание|-|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 до ∞ || - || -|-| 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" || Звук смерти || -|} пример кода со всеми переменными(не советую так делать)<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"|-!Свойство !! Описание !! Примечания|-|type|| Добавляет пули определенные свойства || BasicBulletType, MissileBulletType, ArtilleryBulletType, FlakBulletType,BombBulletType,LiquidBulletType |-|speed|| Скорость снаряда || Вещественное число |-|damage|| Урон || Вещественное число |-|bulletWidth|| Ширина снаряда|| Вещественное число |-|bulletHeight|| Длина снаряда|| Вещественное число |-|shootEffect|| Эффект выстрела|| Название эффекта|-|smokeEffect|| Эффект после выстрела || Название эффекта|-|ammoMultiplier|| Кол-во снарядов || Вещественное число |-|splashDamageRadius|| Радиус Взрыва||Вещественное число|-|splashDamage|| Урон От взрыва||Вещественное число|-|bulletSprite|| Текстура Пули||ModName-SpriteName|}Пример <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"|-! Свойство!! Описание !! Примечание|-|name|| Имя турели.|| |-|description|| Описание турели.|||-|targetAir|| Турель стреляет по воздушным юнитам. || True или False.|-|targetGround || Турель стреляет по наземным юнитам. || True или False.|-|size || Размер турели. || В блоках.|-|outlineIcon||обводка||true или false (по умолчанию true)|||-|inaccuracy || Разброс.|||-|reload || Перезарядка. || |-|shootCone || Используется для взрывателя,конусность выстрела. |||-|rotateSpeed || Скорость поворота турели. |||-|shoots || Выстрелов за раз. |||- |range || Дальность полёта пули. |||} Вот пример энергетической турели:<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 до ∞ || -|-| 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; ==== Эффекты ===={| 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 || -|-| magmasmoke || -|-| impactShockwave || -|-| impactcloud || -|-| impactcloud || -|-| impactsmoke || -|-| dynamicExplosion || -|-| padlaunch || -|-| commandSend || -|-| coreLand || Эффект падения ядра|} ==== Статус эффекты ====Статус эффекты накладываются на некоторый объект на определенное время{| class="wikitable sortable"|-! Свойство!! Описание !! Примечание|-|none|| Нет эффекта.|| - |-|burning|| Эффект горения.|| Наносит урон в течение времени |-|freezing|| Эффект заморозки.|| Замедляет объект и уменьшает его броню|-|wet|| Эффект промокания.|| Делает объект уязвимым к электрическому урону|-|melting|| Эффект плавления.|| Наносит урон в течение времени и замедляет объект|-|tarred|| Эффект дегтя.|| Замедляет объект и делает его уязвимым к огненному урону|-|overdrived|| Эффект ускорения.|| Увеличивает скорость объекта и наносимый им урон|-|shielded|| Эффект защиты.|| Увеличивает броню объекта в 3 раза|-|boss|| Эффект босса.|| Увеличивает броню объекта и его урон в 3 раза|-|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]]
== Учим английский ==Было перемещено [[Учим_английский|сюда]] для уменьшения высоты страницы.{{Шаблон:Баннер}}
1

правка