translate basics/getting_started
This commit is contained in:
parent
283814ef14
commit
c3e8ac8405
@ -1,110 +1,108 @@
|
|||||||
---
|
---
|
||||||
title: Getting Started
|
title: Основы
|
||||||
layout: default
|
layout: default
|
||||||
root: ../..
|
root: ../..
|
||||||
idx: 1.1
|
idx: 1.1
|
||||||
description: Learn how to make a mod folder, including init.lua, mod.conf and more.
|
description: Как создать проект мода, включая init.lua, mod.conf и прочее.
|
||||||
redirect_from:
|
redirect_from:
|
||||||
- /en/chapters/folders.html
|
- /ru/chapters/folders.html
|
||||||
- /en/basics/folders.html
|
- /ru/basics/folders.html
|
||||||
---
|
---
|
||||||
|
|
||||||
## Introduction <!-- omit in toc -->
|
## Введение <!-- omit in toc -->
|
||||||
|
|
||||||
Understanding the basic structure of a mod's folder is an essential skill when
|
При создании модов очень важно понимать структуру проекта мода. В этой главе
|
||||||
creating mods. In this chapter, you'll learn about how modding in Minetest works
|
вы узнаете как работает моддинг в Minetest и создадите свой первый мод.
|
||||||
and create your first mod.
|
|
||||||
|
|
||||||
- [What are Games and Mods?](#what-are-games-and-mods)
|
- [Что такое Игры и что такое Моды?](#what-are-games-and-mods)
|
||||||
- [Where are mods stored?](#where-are-mods-stored)
|
- [Где хранятся моды?](#where-are-mods-stored)
|
||||||
- [Creating your first mod](#creating-your-first-mod)
|
- [Создание первого мода](#creating-your-first-mod)
|
||||||
- [Mod directory](#mod-directory)
|
- [Директория](#mod-directory)
|
||||||
- [mod.conf](#modconf)
|
- [mod.conf](#modconf)
|
||||||
- [init.lua](#initlua)
|
- [init.lua](#initlua)
|
||||||
- [Summary](#summary)
|
- [Итого](#summary)
|
||||||
- [Dependencies](#dependencies)
|
- [Зависимости](#dependencies)
|
||||||
- [Mod Packs](#mod-packs)
|
- [Модпаки](#mod-packs)
|
||||||
|
|
||||||
|
|
||||||
## What are Games and Mods?
|
## Что такое Игры и что такое Моды?
|
||||||
|
|
||||||
The power of Minetest is the ability to easily develop games without the need
|
Сила Minetest — в возможности легко создавать игры без необходимости создания
|
||||||
to create your own voxel graphics, voxel algorithms, or fancy networking code.
|
собственной воксельной графики, воксельных алгоритмов или крутого сетевого
|
||||||
|
кода.
|
||||||
|
|
||||||
In Minetest, a game is a collection of modules which work together to provide the
|
В Minetest Игра — это набор модулей, работающих вместе и создающих контент и
|
||||||
content and behaviour of a game.
|
игровую механику.
|
||||||
A module, commonly known as a mod, is a collection of scripts and resources.
|
Модуль (или мод) — это набор скриптов и материалов.
|
||||||
It's possible to make a game using only one mod, but this is rarely done because it
|
Конечно, можно создать игру только из одного мода, но такое встречается редко,
|
||||||
reduces the ease by which parts of the game can be adjusted and replaced
|
ведь так труднее настраивать и заменять отдельные элементы игры, не затрагивая
|
||||||
independently of others.
|
всё остальное.
|
||||||
|
|
||||||
It's also possible to distribute mods outside of a game, in which case they
|
Кроме того, вы можете распространять свой мод без привязки к конкретной игре.
|
||||||
are also *mods* in the more traditional sense - modifications. These mods adjust
|
В этом случае он также будет называться *модом* в традиционном смысле —
|
||||||
or extend the features of a game.
|
модификация. Такие моды изменяют или добавляют различные элементы игры.
|
||||||
|
|
||||||
Both the mods contained in a game and third-party mods use the same API.
|
Как моды в составе игры, так и просто сторонние моды используют один и тот же
|
||||||
|
API.
|
||||||
|
|
||||||
This book will cover the main parts of the Minetest API,
|
В этой книге описаны основы Minetest API, и она подходит как для разработчиков
|
||||||
and is applicable for both game developers and modders.
|
игр, так и для моддеров.
|
||||||
|
|
||||||
|
|
||||||
## Where are mods stored?
|
## Где хранятся моды?
|
||||||
|
|
||||||
<a name="mod-locations"></a>
|
<a name="mod-locations"></a>
|
||||||
|
|
||||||
Each mod has its own directory where its Lua code, textures, models, and
|
У каждого мода есть своя директория, в которой лежат Lua-код, текстуры,
|
||||||
sounds are placed. Minetest checks in several different locations for
|
модели и звуки. Minetest ищет моды в нескольких определённых папках.
|
||||||
mods. These locations are commonly called *mod load paths*.
|
В документации эти папки обозначаются как *mod load paths*.
|
||||||
|
|
||||||
For a given world/save game, three mod locations are checked.
|
Для каждой созданной карты или сохранённой игры Minetest ищет моды в трёх
|
||||||
They are, in order:
|
местах в следующем порядке:
|
||||||
|
|
||||||
1. Game mods. These are the mods that form the game that the world is running.
|
1. Моды Игры: Эти моды являются неотъемлимой частью Игры.
|
||||||
Eg: `minetest/games/minetest_game/mods/`, `/usr/share/minetest/games/minetest/`
|
Папки: `minetest/games/minetest_game/mods/`, `/usr/share/minetest/games/minetest/`
|
||||||
2. Global mods, the location to which mods are nearly always installed to.
|
2. Глобальные моды: место куда почти всегда устанавливаются моды.
|
||||||
If in doubt, place them here.
|
Если не уверены, кладите их сюда.
|
||||||
Eg: `minetest/mods/`
|
Папка: `minetest/mods/`
|
||||||
3. World mods, the location to store mods which are specific to a
|
3. Моды Мира: эти моды относятся к конкретной созданной карте.
|
||||||
particular world.
|
Папка: `minetest/worlds/world/worldmods/`
|
||||||
Eg: `minetest/worlds/world/worldmods/`
|
|
||||||
|
|
||||||
`minetest` is the user-data directory. You can find the location of the
|
`minetest` — это директория для пользовательских фалов. Чтобы её найти,
|
||||||
user-data directory by opening up Minetest and clicking
|
запустите Minetest и нажмите "Папка данных пользователя" на вкладке
|
||||||
"Open User Data Directory" in the Credits tab.
|
"Подробней".
|
||||||
|
|
||||||
When loading mods, Minetest will check each of the above locations in order.
|
Во время загрузки модов Minetest проверяет по порядку каждое из перечисленных
|
||||||
If it encounters a mod with a name the same as one found previously, the later
|
расположений. Если он обнаружит несколько модов с одинаковым именем, то мод,
|
||||||
mod will be loaded in place of the earlier mod. This means that you can override
|
найденный позже, заменит собой предыдущий. Таким образом можно подменять моды
|
||||||
game mods by placing a mod with the same name in the global mod location.
|
игры, помещая мод с таким же названием в папку Глобальных модов.
|
||||||
|
|
||||||
|
|
||||||
## Creating your first mod
|
## Создание первого мода
|
||||||
|
|
||||||
### Mod directory
|
### Директория
|
||||||
|
|
||||||
Go to the global mods directory (About > Open user data directory > mods) and
|
Перейдите в глобальную папку модов (Подробней > Папка данных пользователя > mods)
|
||||||
create a new folder called "mymod". `mymod` is the mod name.
|
и создайте новую папку под названием "mymod". `mymod` — это имя мода.
|
||||||
|
|
||||||
Each mod should have a unique *mod name*, a technical identifier (id) used to
|
У каждого мода должно быть уникальное *имя*, технический идентификатор (id),
|
||||||
refer to the mod. Mod names can include letters, numbers, and underscores. A
|
по которому можно ссылаться на этот мод. Имя мода может состоять из букв, цифр
|
||||||
good name should describe what the mod does, and the directory that contains
|
и подчёркиваний. Хорошее имя даёт представление о том, что делает мод.
|
||||||
the components of a mod must have the same name as the mod name. To find out if
|
Директория, в которой лежат компоненты мода, должна иметь такое же имя.
|
||||||
a mod name is available, try searching for it on
|
Моды можно искать по их имени на сайте [content.minetest.net](https://content.minetest.net).
|
||||||
[content.minetest.net](https://content.minetest.net).
|
|
||||||
|
|
||||||
mymod
|
mymod
|
||||||
├── textures
|
├── textures
|
||||||
│ └── mymod_node.png files
|
│ └── mymod_node.png
|
||||||
├── init.lua
|
├── init.lua
|
||||||
└── mod.conf
|
└── mod.conf
|
||||||
|
|
||||||
Mods only require an init.lua file;
|
Обязательным является только файл init.lua. Тем не менее, рекомендуется
|
||||||
however, mod.conf is recommended and other components may be needed
|
добавлять файл mod.conf и другие компоненты в зависимости от функционала мода.
|
||||||
depending on the mod's functionality.
|
|
||||||
|
|
||||||
### mod.conf
|
### mod.conf
|
||||||
|
|
||||||
Create a mod.conf file with the following content:
|
Создайте файл mod.conf следующего содержания:
|
||||||
|
|
||||||
```
|
```
|
||||||
name = mymod
|
name = mymod
|
||||||
@ -112,12 +110,11 @@ description = Adds foo, bar, and bo.
|
|||||||
depends = default
|
depends = default
|
||||||
```
|
```
|
||||||
|
|
||||||
This file is used for mod metadata including the mod's name, description, and other
|
Этот файл содержит мета-данные мода, такие как имя, описание и прочее.
|
||||||
information.
|
|
||||||
|
|
||||||
### init.lua
|
### init.lua
|
||||||
|
|
||||||
Create an init.lua file with the following content:
|
Создайте файл init.lua следующего содержания:
|
||||||
|
|
||||||
```lua
|
```lua
|
||||||
print("This file will be run at load time!")
|
print("This file will be run at load time!")
|
||||||
@ -135,53 +132,51 @@ core.register_craft({
|
|||||||
})
|
})
|
||||||
```
|
```
|
||||||
|
|
||||||
The init.lua file is the entrypoint to a mod, and runs when the mod is loaded.
|
Файл init.lua запускается при загрузке мода.
|
||||||
|
|
||||||
|
|
||||||
### Summary
|
### Итого
|
||||||
|
|
||||||
|
|
||||||
This mod has the name "mymod". It has two text files: init.lua and mod.conf. The
|
Этот мод носит имя "mymod". Он содержит два текстовых файла: init.lua
|
||||||
script prints a message and then registers a node and a craft recipe – these
|
и mod.conf. Скрипт выводит сообщение, а затем регистрирует новый рецепт крафта
|
||||||
will be explained later on. There's a single dependency, the
|
(об этом будет написано дальше). У этого мода указана единственная зависимость
|
||||||
[default mod](https://content.minetest.net/metapackages/default/), which is
|
от [мода default](https://content.minetest.net/metapackages/default/), который,
|
||||||
usually found in Minetest Game. There is also a texture in textures/ for the
|
обычно, является частью Minetest Game. Также есть текстура для блока в папке
|
||||||
node.
|
textures/.
|
||||||
|
|
||||||
|
|
||||||
## Dependencies
|
## Зависимости
|
||||||
|
|
||||||
A dependency occurs when a mod requires another mod to be loaded before itself.
|
Зависимости указываются, если перед загрузкой нода необходимо загрузить другой
|
||||||
One mod may require another mod's code, items, or other resources to be
|
мод. Моду могут потребоваться код, предметы или ещё что-нибудь из другого мода.
|
||||||
available for it to use.
|
|
||||||
|
|
||||||
There are two types of dependencies: hard and optional dependencies.
|
Существует два типа зависимостей: жёсткие и необязательные.
|
||||||
Both require the mod to be loaded first. If the mod being depended on isn't
|
В обоих случаях требуемый мод загружается первым. Если требуемый мод
|
||||||
available, a hard dependency will cause the mod to fail to load, while an optional
|
недоступен, жёсткая зависимость не позволит загрузить мод, в то время как
|
||||||
dependency might lead to fewer features being enabled.
|
при необязательной зависимости мод всего лишь потеряет часть функций.
|
||||||
|
|
||||||
An optional dependency is useful if you want to optionally support another mod;
|
Необязательные зависимости полезны в случаях, когда вы хотите добавить
|
||||||
it can enable extra content if the user wishes to use both the mods at the same
|
поддержку другого мода: например, вы можете добавлять дополнительный контент,
|
||||||
time.
|
если пользователь решит задействовать оба мода одновременно.
|
||||||
|
|
||||||
Dependencies are specified in a comma-separated list in mod.conf.
|
Несколько зависимостей перечисляются через запятую в файле mod.conf.
|
||||||
|
|
||||||
depends = modone, modtwo
|
depends = modone, modtwo
|
||||||
optional_depends = modthree
|
optional_depends = modthree
|
||||||
|
|
||||||
## Mod Packs
|
## Модпаки
|
||||||
|
|
||||||
Mods can be grouped into mod packs, which allow multiple mods to be packaged
|
Несколько модов могут быть собраны в модпак, который позволяет распространять
|
||||||
and moved together. They are useful if you want to supply multiple mods to
|
эти моды вместе. Модпак позволяет загрузить и установить несколько модов
|
||||||
a player, but don't want to make them download each one individually.
|
за раз, без необходимости скачивать их по одному.
|
||||||
|
|
||||||
modpack1
|
modpack1
|
||||||
├── modpack.conf (required) - signals that this is a mod pack
|
├── modpack.conf (обязательный) — обозначает, что это модпак
|
||||||
├── mod1
|
├── mod1
|
||||||
│ └── ... mod files
|
│ └── ... файлы мода
|
||||||
└── mymod (optional)
|
└── mymod (optional)
|
||||||
└── ... mod files
|
└── ... файлы мода
|
||||||
|
|
||||||
Please note that a modpack is not a *game*.
|
Не нужно путать модпак и *Игру*.
|
||||||
Games have their own organisational structure which will be explained in the
|
У Игры есть собственная структура, которая будет описана в главе Игры.
|
||||||
Games chapter.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user