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

Изменения

Модификации

26 782 байта убрано, 16:45, 6 ноября 2019
Содержимое страницы заменено на «Хуйня Устал писать. == Учим английский == Было перемещено Учим_английс...»
Устал писать.
 
== Создание модификации ==
{{Шаблон:Плашка
| 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://google.com отсюда].
└── 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"
|-
! Переменные !! Значения !! Описание
|-
| 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 || Радиоактивность предмета
|}
 
==== Жидкости ====
Специальная категория:<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 || 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" || Звук смерти || -
|}
 
пример кода со всеми переменными(не советую так делать)
<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"
|-
!Свойство !! Описание !! Примечания
|-
|speed|| Скорость снаряда || Вещественное число
|-
|damage|| Урон || Вещественное число
|-
|bulletWidth|| Ширина снаряда|| Вещественное число
|-
|bulletHeight|| Длина снаряда|| Вещественное число
|-
|shootEffect|| Эффект выстрела|| Название эффекта
|-
|smokeEffect|| Эффект после выстрела || Название эффекта
|-
|ammoMultiplier|| Кол-во снарядов || Вещественное число
|-
|splashDamageRadius|| Радиус Взрыва||Вещественное число
|-
|splashDamage|| Урон От взрыва||Вещественное число
|}
Пример
<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 || Размер турели. || В блоках.
|-
|inaccuracy || Разброс.||
|-
|reload || Перезарядка. ||
|-
|shootCone || Используется для взрывателя,конусность выстрела. ||
|-
|rotateSpeed || Скорость поворота турели. ||
|-
|shoots || Выстрелов за раз. ||
|-
|range || Дальность полёта пули. ||
|}
 
Вот пример:
<pre>{
"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"
}</pre>
==== Мехи ====
Чтобы добавить новый мех, надо в папке <code>content</code> создать папку <code>mechs</code>, в ней у нас будет лежать JSON файл.
 
{| class="wikitable sortable"
|-
! Свойство!! Описание !! Примечание
|-
|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.
 
Вот пример:
<pre>{
"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"
}
}</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 до ∞ || -
|}
 
===== Пули =====
используется в оружии для юнитов\мехов
 
==== Эффекты ====
{| 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>
=== Звуки ===
== Учим английский ==
Было перемещено [[Учим_английский|сюда]] для уменьшения высоты страницы.
38

правок