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 stage: deploy
interruptible: true interruptible: true
script: script:
- bundle exec jekyll build -d public --baseurl /minetest_modding_book - bundle exec jekyll build -d public
artifacts: artifacts:
paths: paths:
- public - public

View File

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

View File

@ -16,7 +16,7 @@ mapgen_object:
## Introduction <!-- omit in toc --> ## 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. 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 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 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 --> ## 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) - [Map Structure](#map-structure)
- [Reading](#reading) - [Reading](#reading)
- [Reading Nodes](#reading-nodes) - [Reading Nodes](#reading-nodes)
- [Finding Nodes](#finding-nodes) - [Finding Nodes](#finding-nodes)
- [Writing](#writing) - [Writing](#writing)
- [Writing Nodes](#writing-nodes) - [Writing Nodes](#writing-nodes)
- [Removing Nodes](#removing-nodes) - [Removing Nodes](#removing-nodes)
- [Loading Blocks](#loading-blocks) - [Loading Blocks](#loading-blocks)
- [Deleting Blocks](#deleting-blocks) - [Deleting Blocks](#deleting-blocks)

View File

@ -21,6 +21,9 @@ own.
- [Object Properties](#object-properties) - [Object Properties](#object-properties)
- [Entities](#entities) - [Entities](#entities)
- [Health and Damage](#health-and-damage) - [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) - [Attachments](#attachments)
- [Your Turn](#your-turn) - [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. 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 ```lua
function MyEntity:on_step(dtime) 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 Elements are items such as text boxes or buttons, or can be metadata such
as size or background. You should refer to 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. 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 ### Node Meta Formspecs
`minetest.show_formspec` is not the only way to show a formspec; you can also `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 - 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. 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). The HUD doesn't accept user input; for that, you should use a [formspec](formspecs.html).
- [Positioning](#positioning) - [Positioning](#positioning)
- [Position and Offset](#position-and-offset) - [Position and Offset](#position-and-offset)
- [Alignment](#alignment) - [Alignment](#alignment)
- [Scoreboard](#scoreboard) - [Scoreboard](#scoreboard)
- [Text Elements](#text-elements) - [Text Elements](#text-elements)
- [Parameters](#parameters) - [Parameters](#parameters)
- [Our Example](#our-example) - [Our Example](#our-example)
- [Image Elements](#image-elements) - [Image Elements](#image-elements)
- [Parameters](#parameters-1) - [Parameters](#parameters-1)
- [Scale](#scale) - [Scale](#scale)
- [Changing an Element](#changing-an-element) - [Changing an Element](#changing-an-element)
- [Storing IDs](#storing-ids) - [Storing IDs](#storing-ids)
- [Other Elements](#other-elements) - [Other Elements](#other-elements)
@ -291,4 +291,4 @@ end)
## Other Elements ## 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) - [Basic Example](#basic-example)
- [Available Overrides](#available-overrides) - [Available Overrides](#available-overrides)
- [Old Movement Behaviour](#old-movement-behaviour) - [Old Movement Behaviour](#old-movement-behaviour)
- [Mod Incompatibility](#mod-incompatibility) - [Mod Incompatibility](#mod-incompatibility)
- [Your Turn](#your-turn) - [Your Turn](#your-turn)
@ -42,7 +42,7 @@ minetest.register_chatcommand("antigravity", {
## Available Overrides ## Available Overrides
`player:set_physics_override()` is given a table of 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: these can be:
* speed: multiplier to default walking speed value (default: 1) * 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 Modding
* Minetest's Lua API Reference - [HTML version](https://minetest.gitlab.io/minetest/class-reference/#player-only-no-op-for-other-objects) | * Minetest's Lua API Reference - [multiple page 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). [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). * Look at [existing mods](https://forum.minetest.net/viewforum.php?f=11).
### Lua Programming ### Lua Programming

View File

@ -16,7 +16,7 @@ mapgen_object:
## Introduzione <!-- omit in toc --> ## 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. 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. 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. Usare un Manipolatore di Voxel Lua (*Lua Voxel Manipulator*, da qui LVM) può essere un'alternativa migliore.

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) - [Proprietà degli oggetti](#proprietà-degli-oggetti)
- [Entità](#entità) - [Entità](#entità)
- [Salute e danno](#salute-e-danno) - [Salute e danno](#salute-e-danno)
- [Punti vita (HP)](#punti-vita-hp) - [Punti vita (HP)](#punti-vita-hp)
- [Pugni, Gruppi Danno e Gruppi Armatura](#pugni-gruppi-danno-e-gruppi-armatura) - [Pugni, Gruppi Danno e Gruppi Armatura](#pugni-gruppi-danno-e-gruppi-armatura)
- [Esempi di calcolo del danno](#esempi-di-calcolo-del-danno) - [Esempi di calcolo del danno](#esempi-di-calcolo-del-danno)
- [Oggetti figli](#oggetti-figli) - [Oggetti figli](#oggetti-figli)
- [Il tuo turno](#il-tuo-turno) - [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à. 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 ```lua
function MiaEntita:on_step(dtime) function MiaEntita:on_step(dtime)

View File

@ -66,7 +66,7 @@ Si possono concatenare più elementi, piazzandoli eventualmente su più linee:
bo[param1] bo[param1]
Gli elementi sono o oggetti come i campi di testo e i pulsanti, o dei metadati come la grandezza e lo sfondo. 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 ### 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. 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. 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. 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: 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 ### 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. 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 ```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). Le HUD, infatti, non accettano input dall'utente, lasciando quel ruolo ai [formspec](formspecs.html).
- [Posizionamento](#posizionamento) - [Posizionamento](#posizionamento)
- [Posizione e scostamento](#posizione-e-scostamento) - [Posizione e scostamento](#posizione-e-scostamento)
- [Allineamento](#allineamento) - [Allineamento](#allineamento)
- [Esempio: tabellone segnapunti](#esempio-tabellone-segnapunti) - [Esempio: tabellone segnapunti](#esempio-tabellone-segnapunti)
- [Elementi di testo](#elementi-di-testo) - [Elementi di testo](#elementi-di-testo)
- [Parametri](#parametri) - [Parametri](#parametri)
- [Tornando all'esempio](#tornando-allesempio) - [Tornando all'esempio](#tornando-allesempio)
- [Elementi immagine](#elementi-immagine) - [Elementi immagine](#elementi-immagine)
- [Parametri](#parametri-1) - [Parametri](#parametri-1)
- [Tornando all'esempio](#tornando-allesempio-1) - [Tornando all'esempio](#tornando-allesempio-1)
- [Cambiare un elemento](#cambiare-un-elemento) - [Cambiare un elemento](#cambiare-un-elemento)
- [Salvare gli ID](#salvare-gli-id) - [Salvare gli ID](#salvare-gli-id)
- [Altri elementi](#altri-elementi) - [Altri elementi](#altri-elementi)
@ -278,4 +278,4 @@ end)
## Altri elementi ## 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) - [Esempio base](#esempio-base)
- [Sovrascritture disponibili](#sovrascritture-disponibili) - [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) - [Incompatibilità tra mod](#incompatibilità-tra-mod)
- [Il tuo turno](#il-tuo-turno) - [Il tuo turno](#il-tuo-turno)
@ -36,7 +36,7 @@ minetest.register_chatcommand("antigrav", {
## Sovrascritture disponibili ## 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) * `speed`: moltiplicatore della velocità di movimento (predefinito: 1)
* `jump`: moltiplicatore del salto (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: 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/) | * Riferimento alla API Lua di Minetest - [versione interattiva](https://minetest.gitlab.io/minetest/) |
[versione solo testo](https://github.com/minetest/minetest/blob/master/doc/lua_api.txt). [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). * Spulcia le [mod esistenti](https://forum.minetest.net/viewforum.php?f=11).
### Programmazione in Lua ### Programmazione in Lua

View File

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

View File

@ -5,7 +5,9 @@ layout: none
<html> <html>
<head> <head>
<title>Minetest Modding Book</title> <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"> <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> <script>
var languages = {{ site.data.languages | jsonify }}; var languages = {{ site.data.languages | jsonify }};
function getLanguage() { function getLanguage() {
@ -27,9 +29,10 @@ layout: none
<body> <body>
<main> <main>
<h1>Minetest Modding Book</h1> <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>Detecting and redirecting to the correct translation.</p>
<p> <p>
<a href="en/index.html">View English Translation</a> <a href="en/index.html">View Minetest Modding Book in English</a>
</p> </p>
</main> </main>
</body> </body>

View File

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