Моды (сокращение от модификации или модули) - создаваемые пользователями модификации в игре, способные изменять геймплей.
Некоторые крупные моды могут добавлять контент в игру, но небольшие моды могут добавлять опции настроек, или оптимизировать скорость, геймплей, графику Minetest.
Структура Модов
Общим местом для установки модов является $path_user/mods/
. Это minetest-install-directory/mods/
в GNU/Linux с RUN_IN_PLACE=TRUE и в официальной Windows, а также ~/.minetest/mods/
— в установленных глобально версиях Minetest.
Каждый мод будет иметь свою собственную папку. Обычно установка мода означает копирование кода мода в эту папку. Вот так, например, будет выглядеть структура папок с двумя модами mod_1 и mod_2:
├── worlds │ mods/ │ ├── mod_1/ │ │ ├── depends.txt │ │ ├── init.lua │ │ ├── mod.conf │ │ ├── functions.lua │ │ ├── README.txt │ │ ├── textures/ │ │ │ ├── top.png │ │ │ └── ... │ │ ├── sounds/ │ │ │ ├── sound files │ │ │ └── ... │ │ └── models/ │ │ ├── mod.x │ │ └── ... │ └── mod_2 │ │ ├── depends.txt │ │ ├── init.lua │ │ ├── mod.conf │ │ ├── functions.lua │ │ ├── README.txt │ │ ├── textures/ │ │ │ ├── top.png │ │ │ └── ... │ │ ├── sounds/ │ │ │ ├── sound files │ │ │ └── ... │ │ └── models/ │ │ ├── mod.x │ │ └── ... │ ├── client │ ├── minetest.conf │ │
Как видите, у mod_1 есть несколько папок и файлов.
- init.lua - это единственный ОБЯЗАТЕЛЬНЫЙ файл. Он запустится, как только игра загрузится.
- mod.conf - Не обязательно, но хорошо если он есть. Это конфигурационный файл мода.
- depens.txt - Для совместимости с версиями 0.4.x, вы должны упомянуть другие моды, от которых зависит ваш мод. Это просто список. Для новых версий этот список является частью файла mod.conf
- functions.lua - Функции
- textures - Папка текстур с изображениями - если вы хотите, чтобы изображения были частью вашей игры
- models - папка моделей
- sounds - папка со звуковыми файлами
Ваш первый мод
Прежде чем начать писать свой первый мод, пожалуйста, знайте, что все моды написаны на скриптовом языке Lua. Его очень легко изучить и начать программировать. Если вы уже умеете программировать, то можете начать с этого 15-минутного урока.
Итак, давайте приступим к написанию нашего первого мода, который добавит в игру новый тип блока.
Мы создадим новый мод под названием «thej», поэтому начнем с создания папки с названием «thej» в папке «mods», то есть для Ubuntu это папка ~ /.minetest/mods/thej, а затем создадим файл mod.conf для определения конфигурации нашего мода. В этом файле содержится имя мода, описание и зависимости. Наш модуль зависит только от мода default. Таким образом, содержимое файла mod.conf будет выглядеть так:
Далее нам нужно описать наш блок, который мы хотим добавить в игру. Для этого мы создадим init.lua и определим наш блок там:
Здесь, как вы можете видеть, мы определяем объект для мода thej с именем squares. Затем мы определяем изображения для плиток. Вот и все, блок готов к использованию.
minetest_block.png
Но подождите, мы использовали только minetest_block.png в нашем наборе плиток. Блок имеет шесть сторон, и, следовательно, нужно определить шесть изображений для каждой из сторон (порядок показан ниже).
Для простоты мы использовали одно и то же изображение для всех сторон. В этом примере изображение создавалось с помощью онлайн-инструмента piskelapp. Сначала была создана пиксельная графика 16 × 16, а затем экспортировали её в изображение размером 100px X 100px формата png. Затем этот файл был помещён в папку textures. На данный момент структура папок выглядит следующим образом:
$:~/.minetest/mods/thej$ tree . ├── init.lua ├── mod.conf └── textures └── minetest_block.png
Теперь наш мод готов к использованию. Конечно, вы можете сделать намного больше, но данная статья - это всего лишь введение с практическими рекомендациями.
Как включите и начать использовать ваш мод
Поскольку ваш мод уже находится в ~ /.minetest/mods, вам не нужно ничего делать для его загрузки. Так что запустите minteset и затем перейдите в настройки мира, в котором вы собираетесь включить мод.


Теперь начните игру:



Всё очень просто, не так ли?
Также вы можете воспользоваться онлайн инструментом-конструктором для создания простых модов для Minetest по этой ссылке.
Модификация модов
Большинство модов распространяется по лицензии MIT, следовательно при желании вы можете с лёгкостью вносить изменения в их код и создавать на их основе свои моды.
Вот ниже код скрипта на языке Lua, описывающего монстра stone_monster.lua из мода mobs_monster (этот мод добавляет в Minetest новых мобов-монстров).
Как видите, "поведение" этого монстра можно менять в широких пределах, внося небольшие корректировки в скрипт.
Возможно, вам также будет интересно это видео, которое даёт начальное представление о создании модов для Minetest:
Очевидно, что такой простой процесс программирования модов Minetest - это большой плюс как для обычных игроков так и для разработчиков-энтузиастов, а также отличный способ заинтересовать программированием играющих в Minecraft и Minetest детей.
По материалам: thejeshgn.com
Читайте также
- Minetest – открытый клон Minecraft
- Установка Minetest
- Создание своего сервера Minetest
- Учим язык Lua за 15 минут. Lua — скриптовый язык, который используется для написания модов Minetest.