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

Материал из PetruCHIO - Mindustry server
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 153: Строка 153:
 
| engineOffset || От 0 до ∞ || Направление отклонения юнита || -
 
| engineOffset || От 0 до ∞ || Направление отклонения юнита || -
 
|-
 
|-
| weaponOffsetY || От 0 до ∞ || место появления снарядом при выстреле || -
+
| weaponOffsetY || От 0 до ∞ || место появления снарядов при выстреле || -
 
|-
 
|-
 
| engineSize || От 0 до ∞ || - || -
 
| engineSize || От 0 до ∞ || - || -

Версия 21:42, 27 октября 2019

Write it.pngТут маловато информации
Если есть ещё - принесите её нам в жертву. Нам она нужна. Если по теме, конечно :3

Модификации — это неотъемлемая часть игры. С помощью них можно добавлять новые жидкости, блоки, руды. Модификации в Mindustry состоят из папки или zip-файла, и с файлом mod.json, а также набора спрайтов и файлов .json, определяющих новый контент.

ANDROID-ВЕРСИЯ ТЕПЕРЬ ПОДДЕРЖИВАЕТ МОДИФИКАЦИИ

Скачивание специальной версии

Вообще этот пункт на данный момент не обязателен, но если вы хотите самые свежие фиксы загрузчика модов, то можете скачать специальную версию bleeding edge

  1. Тыкаем сюда.

Также есть полуавтоматическое скачивание.

  1. Тыкаем опять сюда.
  2. Ищем и скачиваем 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 модификацию.

Создание модификации

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

Переменные Значения Описание
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 "items.1, items.2" Фильтр предметов для добычи -
buildPower От 0 до ∞ Скорость постройки блоков юнитом -
Weapon weapon Оружие юнита -
immunities - Имунитеты -
deathSound "1.ogg" Звук смерти -

Патроны

Используется в Туррелях

Свойство Описание Примечания
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
}

Мехи

Чтобы добавить новый мех, надо в папке 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"
	}
}

Эффекты

Статус эффекты

Статус эффекты накладываются на некоторый объект на определенное время

Свойство Описание Примечание
none Нет эффекта. -
burning Эффект горения. Наносит урон в течение времени
freezing Эффект заморозки. Замедляет объект и уменьшает его броню
wet Эффект промокания. Делает объект уязвимым к электрическому урону
melting Эффект плавления. Наносит урон в течение времени и замедляет объект
tarred Эффект дегтя. Замедляет объект и делает его уязвимым к огненному урону
overdrived Эффект ускорения. Увеличивает скорость объекта и наносимый им урон
shielded Эффект защиты. Увеличивает броню объекта в 3 раза
boss Эффект босса. Увеличивает броню объекта и его урон в 3 раза
shocked Эффект шока. -
corroded Эффект коррозии. Наносит небольшой урон

Спрайты

Мультиязычность

Наверное, самое простое для добавления.

  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 = Очень горячая жидкость.

Звуки

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

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