Merge branch minetest_modding_book:master into master

This commit is contained in:
debiankaios 2023-05-03 15:43:37 +00:00
commit 11b543c5bc
18 changed files with 58 additions and 48 deletions

View File

@ -23,7 +23,7 @@ pages:
stage: deploy
interruptible: true
script:
- bundle exec jekyll build -d public --baseurl /minetest_modding_book
- bundle exec jekyll build -d public
artifacts:
paths:
- public

View File

@ -1,3 +1,6 @@
url: "https://rubenwardy.com"
baseurl: "/minetest_modding_book"
sass:
# nested (default), compact, compressed, expanded
style: compressed

View File

@ -16,7 +16,7 @@ mapgen_object:
## Introduction <!-- omit in toc -->
The functions outlined in the [Basic Map Operations](environment.html) chapter
The functions outlined in the [Basic Map Operations](../map/environment.html) chapter
are convenient and easy to use, but for large areas they are inefficient.
Every time you call `set_node` or `get_node`, your mod needs to communicate with
the engine. This results in constant individual copying operations between the

View File

@ -9,15 +9,16 @@ redirect_from: /en/chapters/environment.html
## Introduction <!-- omit in toc -->
In this chapter, you will learn how to perform basic actions on the map.
In this chapter, you will learn how to perform basic actions on the map, such as
adding, removing, and finding nodes.
- [Map Structure](#map-structure)
- [Reading](#reading)
- [Reading Nodes](#reading-nodes)
- [Finding Nodes](#finding-nodes)
- [Reading Nodes](#reading-nodes)
- [Finding Nodes](#finding-nodes)
- [Writing](#writing)
- [Writing Nodes](#writing-nodes)
- [Removing Nodes](#removing-nodes)
- [Writing Nodes](#writing-nodes)
- [Removing Nodes](#removing-nodes)
- [Loading Blocks](#loading-blocks)
- [Deleting Blocks](#deleting-blocks)

View File

@ -21,6 +21,9 @@ own.
- [Object Properties](#object-properties)
- [Entities](#entities)
- [Health and Damage](#health-and-damage)
- [Health Points (HP)](#health-points-hp)
- [Punch, Damage Groups, and Armor Groups](#punch-damage-groups-and-armor-groups)
- [Example Damage Calculation](#example-damage-calculation)
- [Attachments](#attachments)
- [Your Turn](#your-turn)
@ -153,7 +156,7 @@ print("entity is at " .. minetest.pos_to_string(object:get_pos()))
```
There are a number of available callbacks for use with entities.
A complete list can be found in [lua_api.txt](https://minetest.gitlab.io/minetest/minetest-namespace-reference/#registered-definition-tables).
A complete list can be found in [lua_api.md](https://minetest.gitlab.io/minetest/minetest-namespace-reference/#registered-definition-tables).
```lua
function MyEntity:on_step(dtime)

View File

@ -77,7 +77,7 @@ on multiple lines, like so:
Elements are items such as text boxes or buttons, or can be metadata such
as size or background. You should refer to
[lua_api.txt](https://minetest.gitlab.io/minetest/formspec/)
[lua_api.md](https://minetest.gitlab.io/minetest/formspec/)
for a list of all possible elements.
@ -319,7 +319,7 @@ There are three different ways that a formspec can be delivered to the client:
### Node Meta Formspecs
`minetest.show_formspec` is not the only way to show a formspec; you can also
add formspecs to a [node's metadata](node_metadata.html). For example,
add formspecs to a [node's metadata](../map/storage.html). For example,
this is used with chests to allow for faster opening times -
you don't need to wait for the server to send the player the chest formspec.

View File

@ -14,15 +14,15 @@ Heads Up Display (HUD) elements allow you to show text, images, and other graphi
The HUD doesn't accept user input; for that, you should use a [formspec](formspecs.html).
- [Positioning](#positioning)
- [Position and Offset](#position-and-offset)
- [Alignment](#alignment)
- [Scoreboard](#scoreboard)
- [Position and Offset](#position-and-offset)
- [Alignment](#alignment)
- [Scoreboard](#scoreboard)
- [Text Elements](#text-elements)
- [Parameters](#parameters)
- [Our Example](#our-example)
- [Parameters](#parameters)
- [Our Example](#our-example)
- [Image Elements](#image-elements)
- [Parameters](#parameters-1)
- [Scale](#scale)
- [Parameters](#parameters-1)
- [Scale](#scale)
- [Changing an Element](#changing-an-element)
- [Storing IDs](#storing-ids)
- [Other Elements](#other-elements)
@ -291,4 +291,4 @@ end)
## Other Elements
Read [lua_api.txt](https://minetest.gitlab.io/minetest/hud/) for a complete list of HUD elements.
Read [lua_api.md](https://minetest.gitlab.io/minetest/hud/) for a complete list of HUD elements.

View File

@ -18,7 +18,7 @@ For example, a value of 2 for gravity would make gravity twice as strong.
- [Basic Example](#basic-example)
- [Available Overrides](#available-overrides)
- [Old Movement Behaviour](#old-movement-behaviour)
- [Old Movement Behaviour](#old-movement-behaviour)
- [Mod Incompatibility](#mod-incompatibility)
- [Your Turn](#your-turn)
@ -42,7 +42,7 @@ minetest.register_chatcommand("antigravity", {
## Available Overrides
`player:set_physics_override()` is given a table of overrides.\\
According to [lua_api.txt](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects),
According to [lua_api.md](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects),
these can be:
* speed: multiplier to default walking speed value (default: 1)

View File

@ -12,8 +12,8 @@ After you've read this book, take a look at the following.
### Minetest Modding
* Minetest's Lua API Reference - [HTML version](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects) |
[Text version](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt).
* Minetest's Lua API Reference - [multiple page version](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects) |
[single page version](https://github.com/minetest/minetest/blob/master/doc/lua_api.md).
* Look at [existing mods](https://forum.minetest.net/viewforum.php?f=11).
### Lua Programming

View File

@ -16,7 +16,7 @@ mapgen_object:
## Introduzione <!-- omit in toc -->
Le funzioni introdotte nel capitolo [Mappa: operazioni base](environment.html) sono comode e facili da usare, ma per le grandi aree non sono efficienti.
Le funzioni introdotte nel capitolo [Mappa: operazioni base](../map/environment.html) sono comode e facili da usare, ma per le grandi aree non sono efficienti.
Ogni volta che `set_node` e `get_node` vengono chiamati da una mod, la mod deve comunicare con il motore di gioco.
Ciò risulta in una costante copia individuale dei singoli nodi, che è lenta e abbasserà notevolmente le performance del gioco.
Usare un Manipolatore di Voxel Lua (*Lua Voxel Manipulator*, da qui LVM) può essere un'alternativa migliore.
@ -142,7 +142,7 @@ vm:write_to_map(true)
Per la luce e param2, invece si usano `set_light_data()` e `set_param2_data()`.
`write_to_map()` richiede un booleano che è `true` se si vuole che venga calcolata anche la luce.
`write_to_map()` richiede un booleano che è `true` se si vuole che venga calcolata anche la luce.
Se si passa `false` invece, ci sarà bisogno di ricalcolarla in un secondo tempo usando `minetest.fix_light`.
## Esempio

View File

@ -20,9 +20,9 @@ In questo capitolo imparerai come manipolare gli oggetti e come definirne di tuo
- [Proprietà degli oggetti](#proprietà-degli-oggetti)
- [Entità](#entità)
- [Salute e danno](#salute-e-danno)
- [Punti vita (HP)](#punti-vita-hp)
- [Pugni, Gruppi Danno e Gruppi Armatura](#pugni-gruppi-danno-e-gruppi-armatura)
- [Esempi di calcolo del danno](#esempi-di-calcolo-del-danno)
- [Punti vita (HP)](#punti-vita-hp)
- [Pugni, Gruppi Danno e Gruppi Armatura](#pugni-gruppi-danno-e-gruppi-armatura)
- [Esempi di calcolo del danno](#esempi-di-calcolo-del-danno)
- [Oggetti figli](#oggetti-figli)
- [Il tuo turno](#il-tuo-turno)
@ -134,7 +134,7 @@ print("L'entità si trova a " .. minetest.pos_to_string(oggetto:get_pos()))
```
Ci sono diversi callback disponibili da usare per le entità.
Una lista completa può essere trovata in [lua_api.txt](https://minetest.gitlab.io/minetest/minetest-namespace-reference/#registered-definition-tables).
Una lista completa può essere trovata in [lua_api.md](https://minetest.gitlab.io/minetest/minetest-namespace-reference/#registered-definition-tables).
```lua
function MiaEntita:on_step(dtime)

View File

@ -66,7 +66,7 @@ Si possono concatenare più elementi, piazzandoli eventualmente su più linee:
bo[param1]
Gli elementi sono o oggetti come i campi di testo e i pulsanti, o dei metadati come la grandezza e lo sfondo.
Per una lista esaustiva di tutti i possibili elementi, si rimanda a [lua_api.txt](https://minetest.gitlab.io/minetest/formspec/).
Per una lista esaustiva di tutti i possibili elementi, si rimanda a [lua_api.md](https://minetest.gitlab.io/minetest/formspec/).
### Intestazione
@ -74,7 +74,7 @@ L'intestazione di un formspec contiene informazioni che devono apparire prima di
Questo include la grandezza del formspec, la posizione, l'ancoraggio, e se il tema specifico del gioco debba venir applicato.
Gli elementi nell'intestazione devono essere definiti in un ordine preciso, altrimenti ritorneranno un errore.
L'ordine è dato nel paragrafo qui in alto e, come sempre, documentato in lua_api.txt.
L'ordine è dato nel paragrafo qui in alto e, come sempre, documentato in lua_api.md.
La grandezza è in caselle formspec - un'unità di misura che è circa 64 pixel, ma varia a seconda della densità dello schermo e delle impostazioni del client.
Ecco un formspec di 2x2:
@ -282,7 +282,7 @@ Ci sono tre diversi modi per far sì che un formspec sia consegnato al client:
### Formspec nei nodi
`minetest.show_formspec` non è l'unico modo per mostrare un formspec; essi possono infatti essere aggiunti anche ai [metadati di un nodo](node_metadata.html).
`minetest.show_formspec` non è l'unico modo per mostrare un formspec; essi possono infatti essere aggiunti anche ai [metadati di un nodo](../map/storage.html).
Per esempio, questo è usato con le casse per permettere tempi più veloci d'apertura - non si ha bisogno di aspettare che il server invii il formspec della cassa al giocatore.
```lua

View File

@ -13,15 +13,15 @@ Le HUD (Heads Up Display) ti permettono di mostrare testi, immagini e altri elem
Le HUD, infatti, non accettano input dall'utente, lasciando quel ruolo ai [formspec](formspecs.html).
- [Posizionamento](#posizionamento)
- [Posizione e scostamento](#posizione-e-scostamento)
- [Allineamento](#allineamento)
- [Esempio: tabellone segnapunti](#esempio-tabellone-segnapunti)
- [Posizione e scostamento](#posizione-e-scostamento)
- [Allineamento](#allineamento)
- [Esempio: tabellone segnapunti](#esempio-tabellone-segnapunti)
- [Elementi di testo](#elementi-di-testo)
- [Parametri](#parametri)
- [Tornando all'esempio](#tornando-allesempio)
- [Parametri](#parametri)
- [Tornando all'esempio](#tornando-allesempio)
- [Elementi immagine](#elementi-immagine)
- [Parametri](#parametri-1)
- [Tornando all'esempio](#tornando-allesempio-1)
- [Parametri](#parametri-1)
- [Tornando all'esempio](#tornando-allesempio-1)
- [Cambiare un elemento](#cambiare-un-elemento)
- [Salvare gli ID](#salvare-gli-id)
- [Altri elementi](#altri-elementi)
@ -278,4 +278,4 @@ end)
## Altri elementi
Dai un occhio a [lua_api.txt](https://minetest.gitlab.io/minetest/hud/) per una lista completa degli elementi HUD.
Dai un occhio a [lua_api.md](https://minetest.gitlab.io/minetest/hud/) per una lista completa degli elementi HUD.

View File

@ -14,7 +14,7 @@ Per esempio, un valore di 2 sulla gravità, renderà la gravità di un utente du
- [Esempio base](#esempio-base)
- [Sovrascritture disponibili](#sovrascritture-disponibili)
- [Vecchio sistema di movimento](#vecchio-sistema-di-movimento)
- [Vecchio sistema di movimento](#vecchio-sistema-di-movimento)
- [Incompatibilità tra mod](#incompatibilità-tra-mod)
- [Il tuo turno](#il-tuo-turno)
@ -36,7 +36,7 @@ minetest.register_chatcommand("antigrav", {
## Sovrascritture disponibili
`set_physics_override()` è una tabella. Stando a [lua_api.txt](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects), le chiavi possono essere:
`set_physics_override()` è una tabella. Stando a [lua_api.md](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects), le chiavi possono essere:
* `speed`: moltiplicatore della velocità di movimento (predefinito: 1)
* `jump`: moltiplicatore del salto (predefinito: 1)

View File

@ -10,10 +10,10 @@ redirect_from: /it/chapters/readmore.html
Dopo aver letto questo libro, se mastichi l'inglese dai un occhio a ciò che segue:
### Modding di Minetest
### Moddaggio di Minetest
* Riferimento alla API Lua di Minetest - [versione HTML](https://minetest.gitlab.io/minetest/) |
[versione solo testo](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt).
* Riferimento alla API Lua di Minetest - [versione interattiva](https://minetest.gitlab.io/minetest/) |
[versione su pagina singola](https://github.com/minetest/minetest/blob/master/doc/lua_api.md).
* Spulcia le [mod esistenti](https://forum.minetest.net/viewforum.php?f=11).
### Programmazione in Lua

View File

@ -21,7 +21,7 @@ layout: compress
<meta name="author" content="rubenwardy">
<meta name="flattr:id" content="gl763e">
<link rel="canonical" href="https://rubenwardy.com/minetest_modding_book{{ page.url }}" />
<link rel="canonical" href="https://rubenwardy.com/minetest_modding_book{{ page.url }}">
{% assign oldSegment = "/" | append: language | append: "/" %}
{% for other_lang in site.data.languages %}
@ -29,7 +29,7 @@ layout: compress
{% assign newSegment = "/" | append: other_lang.code | append: "/" %}
<link rel="alternate" hreflang="{{ other_lang.code }}"
href="{{ page.url | replace: oldSegment, newSegment | relative_url }}" />
href="{{ page.url | replace: oldSegment, newSegment | relative_url }}">
{% endunless %}
{% endfor %}

View File

@ -5,7 +5,9 @@ layout: none
<html>
<head>
<title>Minetest Modding Book</title>
<meta name="og:description" content="An easy guide to learn how to create mods for Minetest">
<meta name="description" content="An easy guide to learn how to create mods for Minetest">
<link rel="canonical" href="https://rubenwardy.com/minetest_modding_book/">
<script>
var languages = {{ site.data.languages | jsonify }};
function getLanguage() {
@ -27,9 +29,10 @@ layout: none
<body>
<main>
<h1>Minetest Modding Book</h1>
<p>An easy guide to learn how to create mods for Minetest.</p>
<p>Detecting and redirecting to the correct translation.</p>
<p>
<a href="en/index.html">View English Translation</a>
<a href="en/index.html">View Minetest Modding Book in English</a>
</p>
</main>
</body>

View File

@ -12,7 +12,7 @@
{
"idx": {{ link.idx }},
"title": "{{ link.title }}",
"loc": "https://rubenwardy.com/minetest_modding_book/{{ link.url }}",
"loc": "https://rubenwardy.com/minetest_modding_book{{ link.url }}",
{% if link.description %}
"description": "{{ link.description }}",
{% endif %}