2014-12-11 22:31:54 +03:00
|
|
|
|
Minetest Doc
|
2014-12-11 11:56:37 +03:00
|
|
|
|
============
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
This online book will teach you how to create mods in easy chapters.
|
2014-12-11 22:38:46 +03:00
|
|
|
|
The chapters will explain a concept, give examples, and set tasks for you to complete.
|
2014-12-11 11:56:37 +03:00
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
This documentation was created by the Minetest community in order to
|
2014-12-11 22:38:46 +03:00
|
|
|
|
help new modders gain a foothold.
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
You can contribute to this project on GitHub.
|
2014-12-11 22:38:46 +03:00
|
|
|
|
It uses Jekyll to turn Markdown into a website.
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
Book written by rubenwardy and contributers.
|
2014-12-11 22:38:46 +03:00
|
|
|
|
License: CC-BY-NC-SA 3.0
|
|
|
|
|
|
2014-12-12 11:49:10 +03:00
|
|
|
|
Contributing
|
|
|
|
|
------------
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
You don't need to run jekyll, you can just edit and create files in
|
|
|
|
|
chapters. In fact, you don't even need to do markdown, send me a word document
|
|
|
|
|
and I can convert it into the correct formatting. It is the writing which is the hard
|
2014-12-12 11:49:10 +03:00
|
|
|
|
bit, not the formatting.
|
|
|
|
|
|
|
|
|
|
Running as a Website
|
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
|
|
You can build it as a website using jekyll.
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
**Serving on http://localhost:4000/minetest_doc/**
|
2014-12-11 11:56:37 +03:00
|
|
|
|
|
2014-12-11 22:31:54 +03:00
|
|
|
|
```
|
2014-12-11 22:38:46 +03:00
|
|
|
|
$ jekyll serve -b /minetest_doc
|
2014-12-11 22:31:54 +03:00
|
|
|
|
```
|
2014-12-11 22:38:46 +03:00
|
|
|
|
|
2014-12-12 11:49:10 +03:00
|
|
|
|
**Building to folder**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ jekyll build
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Goes to _site/
|
|
|
|
|
|
2014-12-11 22:38:46 +03:00
|
|
|
|
Commits
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
If you are editing or creating a particular chapter, then use commit messages like this:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
Getting Started - corrected typos
|
|
|
|
|
Entities - created chapter
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Just use a normal style commit message otherwise.
|
2014-12-12 11:58:48 +03:00
|
|
|
|
|
|
|
|
|
HTML and CSS
|
|
|
|
|
------------
|
|
|
|
|
|
2014-12-12 12:05:41 +03:00
|
|
|
|
The HTML is in _includes/.
|
|
|
|
|
header.html contains all the HTML code above a chapter's content,
|
|
|
|
|
footer.html contains all the HTML code below a chapter's content.
|
2014-12-12 11:58:48 +03:00
|
|
|
|
The CSS is in static/
|
|
|
|
|
|
|
|
|
|
Example Chapter
|
|
|
|
|
---------------
|
|
|
|
|
|
|
|
|
|
chapters are to be saved to chapters/
|
|
|
|
|
|
|
|
|
|
```Markdown
|
|
|
|
|
---
|
|
|
|
|
title: Chapter Title
|
|
|
|
|
layout: default
|
|
|
|
|
permalink: chaptertitle/index.html
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
Explain what this chapter will cover.
|
|
|
|
|
You may use multiple paragraphs, but keep it fairly consise.
|
|
|
|
|
|
|
|
|
|
### What you will need:
|
|
|
|
|
* List tools you need to complete this chapter
|
|
|
|
|
|
|
|
|
|
### Contents
|
|
|
|
|
* List
|
|
|
|
|
* The
|
|
|
|
|
* Sections
|
|
|
|
|
|
|
|
|
|
Section
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
Explaining the concept of something.
|
|
|
|
|
|
|
|
|
|
You can link to other chapters like this: [chapter title]({{ relative }}/chaptertitle/).//
|
|
|
|
|
Do it like wikipedia, link words in a sentence but don't explicitly tell the user to view it//
|
|
|
|
|
or click the link
|
|
|
|
|
|
|
|
|
|
### Mod Folder Structure
|
|
|
|
|
Mod Name
|
|
|
|
|
- init.lua - the main scripting code file, which is run when the game loads.
|
|
|
|
|
- (optional) depends.txt - a list of mod names that needs to be loaded before this mod.
|
|
|
|
|
- (optional) textures/ - place images here, commonly in the format modname_itemname.png
|
|
|
|
|
- (optional) sounds/ - place sounds in here
|
|
|
|
|
- (optional) models/ - place 3d models in here
|
|
|
|
|
...and any other lua files to be included by init.lua
|
|
|
|
|
|
|
|
|
|
Code snippets are tabbed one level in, except for lua snippets, which use a code highligter.
|
|
|
|
|
|
|
|
|
|
Section 2
|
|
|
|
|
---------
|
|
|
|
|
|
|
|
|
|
Explaining another concept
|
|
|
|
|
|
|
|
|
|
### Mod Pack Folder Structure
|
|
|
|
|
Mod Name
|
|
|
|
|
- modone/
|
|
|
|
|
- modtwo/
|
|
|
|
|
- modthree/
|
|
|
|
|
- modfour/
|
|
|
|
|
- Modpack.txt – signals that this is a mod pack, content does not matter
|
|
|
|
|
|
|
|
|
|
Example Time
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
You should include a examples.
|
|
|
|
|
|
|
|
|
|
### Mod Folder
|
|
|
|
|
mymod/
|
|
|
|
|
- init.lua
|
|
|
|
|
- depends.txt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### depends.txt
|
|
|
|
|
default
|
|
|
|
|
|
|
|
|
|
### init.lua
|
|
|
|
|
{% highlight lua %}
|
|
|
|
|
print("This file will be run at load time!")
|
|
|
|
|
|
|
|
|
|
minetest.register_node("mymod:node",{
|
|
|
|
|
description = "This is a node",
|
|
|
|
|
tiles = {
|
|
|
|
|
"mymod_node.png",
|
|
|
|
|
"mymod_node.png",
|
|
|
|
|
"mymod_node.png",
|
|
|
|
|
"mymod_node.png",
|
|
|
|
|
"mymod_node.png",
|
|
|
|
|
"mymod_node.png"
|
|
|
|
|
},
|
|
|
|
|
groups = {cracky = 1}
|
|
|
|
|
})
|
|
|
|
|
{% endhighlight %}
|
|
|
|
|
|
|
|
|
|
Explain the code here, but their is no need to explain every single line
|
|
|
|
|
|
|
|
|
|
Tasks
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
* Set some tasks for the user to do
|
|
|
|
|
* Start with easier ones, and work up to harder ones.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```
|