Tuxilio replace much changed words

This commit is contained in:
debiankaios 2022-12-13 17:27:27 +01:00
parent 4a2e607b86
commit 77e881533e
6 changed files with 41 additions and 41 deletions

View File

@ -75,7 +75,7 @@ Wenn man versteht, wie item_eat funktioniert, indem es einfach eine Funktion zur
### on_place und on_secondary_use
Der Unterschied zwischen `on_place` und `on_secondary_use` ist, dass `on_place` aufgerufen wird,
Der Unterschied zwischen `on_place` und `on_secondary_use` ist, dass `on_place` aufgerufen wird,
wenn der Spieler auf einen Node zeigt und `on_secondary_use`, wenn der
Spieler dies nicht tut.
@ -163,7 +163,7 @@ minetest.register_node("mymod:mynode", {
end,
on_construct = function(pos, node)
local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Mein Block!")
meta:set_string("infotext", "Mein Node!")
end,
after_place_node = function(pos, placer, itemstack, pointed_thing)
-- Überprüfen des Platzierers

View File

@ -9,7 +9,7 @@ redirect_from: /de/chapters/nodes_items_crafting.html
## Einführung <!-- omit in toc -->
Neue Nodes, Craftitems und Rezepte zu erstellen
Neue Nodes, Craftitems und Rezepte zu erstellen
sind Grundlagen von vielen Mods
- [Was sind Nodes und Craftitems?](#was-sind-nodes-und-craftitems)
@ -73,7 +73,7 @@ itemname = minetest.registered_aliases[itemname] or itemname
### Texturen
Texturen solten in den textures/ Pfad mit Namen im Format
Texturen solten in den textures/ Pfad mit Namen im Format
`modname_itemname.png`.\\
platziert werden. JPEG Texturen werden unterstüzt, aber sie unterstützen keine Transparenz und haben generell
schlechte Qualität und eine niedrige Auflösung.
@ -205,13 +205,13 @@ minetest.register_craft({
})
```
Der einzige wirklich Unterschied im Code ist, dass das Rezept nur ein Item
Der einzige wirklich Unterschied im Code ist, dass das Rezept nur ein Item
im Vergleich zu einer Tabelle (zwischen geschweiften Klammern) beinhaltet.
Sie haben optional auch einen "cooktime" Parameter, welcher
definiert wie lange die Items zu kochen brauchen.
Wenn dies nicht gesetzt ist, ist der Standard 3.
Das Rezept oben funktioniert, wenn der Kohleblock im Input-Slot ist,
Das Rezept oben funktioniert, wenn der Kohlenode im Input-Slot ist,
mit irgendeiner Form von Brennstoff darunter.
Es stellt nach 10 Sekunden ein Diamant-Fragment her!
@ -285,7 +285,7 @@ Werkzeuge können auch eine maximal unterstützte Härte für jeden Typ haben, w
schwächere Werkzeuge daran zu hindern, härtere Nodes zu graben.
Es ist sehr üblich, dass Werkzeuge alle Grabtypen in ihren Fähigkeiten enthalten.
Die weniger geeigneten haben dabei sehr ineffiziente Eigenschaften.
Wenn der Gegenstand, den ein Spieler gerade trägt, keine explizite Werkzeugfähigkeit
Wenn der Gegenstand, den ein Spieler gerade trägt, keine explizite Werkzeugfähigkeit
hat, dann wird stattdessen die Fähigkeit der aktuellen Hand verwendet.
```lua

View File

@ -26,10 +26,10 @@ In diesem Kapitel erfahren Sie, wie Sie grundlegende Aktionen auf der Karte durc
Die Minetest-Karte ist in Map-Blöcke(nicht zu verwechseln mit Blöcken in deutschen) aufgeteilt, wobei jeder Map-Block ein Würfel der
Kantenlänge 16 ist. Während die Spieler auf der Karte unterwegs sind, werden Map-Blöcke erstellt, geladen,
aktiv und entladen. Bereiche der Karte, die noch nicht geladen sind, sind voll von
*ignore*-Blöcken, einem unpassierbaren, nicht auswählbaren Platzhalterblock. Leerer Raum ist
voll von *Luft*-Blöcken, einem unsichtbaren Block, durch den man hindurchgehen kann.
*ignore*-Nodes, einem unpassierbaren, nicht auswählbaren Platzhalternode. Leerer Raum ist
voll von *Luft*-Blöcken, einem unsichtbaren Node, durch den man hindurchgehen kann.
Ein aktiver Map-Block ist ein Block, der geladen ist und für den Aktualisierungen durchgeführt werden.
Ein aktiver Map-Block ist ein Node, der geladen ist und für den Aktualisierungen durchgeführt werden.
Geladene Map-Blöcke werden oft als *aktive Blöcke* bezeichnet. Aktive Blöcke können
von Mods oder Spielern gelesen oder beschrieben werden und haben aktive Entities. Die Engine

View File

@ -27,7 +27,7 @@ definiert.
## Was sind Objekte, Spieler, und Entities?
Spieler und Entities sind beide Arten von Objekten. Ein Objekt ist etwas, das sich unabhängig
vom Block-Raster bewegen kann und Eigenschaften wie Geschwindigkeit und Skalierung besitzt.
vom Node-Raster bewegen kann und Eigenschaften wie Geschwindigkeit und Skalierung besitzt.
Objekte sind keine Gegenstände, und sie haben ihr eigenes Registrierungssystem.
Es gibt ein paar Unterschiede zwischen Spielern und Entities.
@ -203,12 +203,12 @@ end
```
Minetest kann `get_staticdata()` so oft wie gewünscht und zu jeder Zeit aufrufen.
Der Grund dafür ist, dass Minetest nicht darauf wartet, dass ein MapBlock inaktiv wird,
um ihn zu speichern, da dies zu Datenverlusten führen würde. MapBlocks werden ungefähr alle 18
Der Grund dafür ist, dass Minetest nicht darauf wartet, dass ein Map-Block inaktiv wird,
um ihn zu speichern, da dies zu Datenverlusten führen würde. Map-Blöcke werden ungefähr alle 18
Sekunden gespeichert, also sollten Sie ein ähnliches Intervall für den Aufruf von `get_staticdata()` feststellen.
`on_activate()` wird dagegen nur aufgerufen, wenn eine Entity
aktiv wird, entweder wenn der MapBlock aktiv wird oder wenn die Entity spawnen wird.
aktiv wird, entweder wenn der Map-Block aktiv wird oder wenn die Entity spawnen wird.
Dies bedeutet, dass staticdata leer sein könnte.
Schließlich müssen Sie die Typentabelle mit der treffenden Bezeichnung `register_entity` registrieren.

View File

@ -31,26 +31,26 @@ In diesem Kapitel erfahren Sie, wie Sie Daten speichern können.
### Was sind Metadaten?
In Minetest sind Metadaten ein Key-Value-Speicher, der verwendet wird, um benutzerdefinierte Daten an etwas anzuhängen.
Sie können Metadaten verwenden, um Informationen zu einem Block, Spieler oder ItemStack zu speichern.
Sie können Metadaten verwenden, um Informationen zu einem Node, Spieler oder ItemStack zu speichern.
Jede Art von Metadaten verwendet genau dieselbe API.
Metadaten speichern Werte als Strings, aber es gibt eine Reihe von Methoden um
andere primitive Typen zu konvertieren und zu speichern.
Einige Schlüssel in Metadaten können eine besondere Bedeutung haben.
Zum Beispiel wird `infotext` in den Block-Metadaten verwendet, um den Tooltip zu speichern,
der angezeigt wird, wenn man mit dem Fadenkreuz über den Block fährt.
Zum Beispiel wird `infotext` in den Node-Metadaten verwendet, um den Tooltip zu speichern,
der angezeigt wird, wenn man mit dem Fadenkreuz über den Node fährt.
Um Konflikte mit anderen Mods zu vermeiden, sollten Sie die Standard-Namensraum
Konvention für Schlüssel verwenden: `Modname:Schlüsselname`.
Die Ausnahme sind konventionelle Daten wie der Name des Besitzers, der als
`owner` abgespeichert wird.
Metadaten sind Daten über Daten.
Die Daten selbst, wie der Typ eines Blockes oder die Anzahl eines Stapels, sind keine Metadaten.
Die Daten selbst, wie der Typ eines Nodes oder die Anzahl eines Stapels, sind keine Metadaten.
### Abrufen eines Metadatenobjekts
Wenn Sie die Position eines Blockes kennen, können Sie seine Metadaten abrufen:
Wenn Sie die Position eines Nodes kennen, können Sie seine Metadaten abrufen:
```lua
local meta = minetest.get_meta({ x = 1, y = 2, z = 3 })
@ -94,15 +94,15 @@ print(meta:get_string("count")) --> "3"
### Besondere Schlüssel
`infotext` wird in Block-Metadaten verwendet, um einen Tooltip anzuzeigen, wenn das Fadenkreuz über einem Block schwebt.
Dies ist nützlich, um die Eigentümerschaft oder den Status eines Blockes anzuzeigen.
`infotext` wird in Node-Metadaten verwendet, um einen Tooltip anzuzeigen, wenn das Fadenkreuz über einem Node schwebt.
Dies ist nützlich, um die Eigentümerschaft oder den Status eines Nodes anzuzeigen.
`description` wird in ItemStack-Metadaten verwendet, um die Beschreibung zu überschreiben,
wenn der Mauszeiger über den Stack in einem Inventar bewegt wird.
Sie können Farben verwenden, indem Sie sie mit `minetest.colorize()` kodieren.
`owner` ist ein allgemeiner Schlüssel, der verwendet wird, um den Benutzernamen des Spielers zu speichern,
der Eigentümer des Elements oder Blocks ist.
der Eigentümer des Elements oder Node ist.
### Speichern von Tabellen
@ -123,7 +123,7 @@ daten = minetest.deserialize(minetest:get_string("foo"))
### Private Metadaten
Standardmäßig werden alle Block-Metadaten an den Client gesendet.
Standardmäßig werden alle Node-Metadaten an den Client gesendet.
Sie können Schlüssel als privat markieren, um dies zu verhindern.
```lua
@ -226,7 +226,7 @@ wie sie formatiert sind und wie groß sie sind.
Als Richtlinie gilt, dass kleine Daten bis zu 10K, mittlere Daten bis zu 10MB und große
Daten jede Größe darüber sind.
Block-Metadaten sind eine gute Wahl, wenn Sie blockbezogene Daten speichern müssen.
Node-Metadaten sind eine gute Wahl, wenn Sie nodebezogene Daten speichern müssen.
Die Speicherung mittlerer Daten ist recht effizient, wenn Sie sie privat machen.
Item-Metadaten sollten nur zum Speichern kleiner Datenmengen verwendet werden, da es nicht möglich ist,
@ -243,5 +243,5 @@ Sie sind gut geeignet für große Datenmengen.
## Sie sind dran
* Erstellen Sie einen Block, der verschwindet, nachdem er fünfmal geschlagen wurde.
(Verwenden Sie `on_punch` in der Definition des Blockes und `minetest.set_node`.)
* Erstellen Sie einen Node, der verschwindet, nachdem er fünfmal geschlagen wurde.
(Verwenden Sie `on_punch` in der Definition des Nodes und `minetest.set_node`.)

View File

@ -12,7 +12,7 @@ redirect_from:
## Einleitung <!-- omit in toc -->
Die periodische Ausführung einer Funktion auf bestimmten Knoten ist eine häufige Aufgabe.
Minetest bietet dafür zwei Methoden: Aktive Mapblock Modifikatoren (ABMs) und Block-Timer(node timers).
Minetest bietet dafür zwei Methoden: Aktive Map-Block Modifikatoren (ABMs) und Node-Timer(node timers).
ABMs scannen alle geladenen Map-Blöcke auf der Suche nach Blöcken, die einem Kriterium entsprechen.
Sie eignen sich am besten für Blöcken, die in der Welt häufig vorkommen,
@ -20,29 +20,29 @@ wie zum Beispiel Gras.
Sie haben einen hohen CPU-Overhead, aber einen geringen Speicher- und Storage-Overhead.
Für Blöcke, die ungewöhnlich sind oder bereits Metadaten verwenden, wie Öfen
und Maschinen, sollten stattdessen Blocktimer verwendet werden.
Blocktimer funktionieren, indem sie die ausstehenden Timer in jedem MapBlock verfolgen und dann ausführen
und Maschinen, sollten stattdessen Nodetimer verwendet werden.
Nodetimer funktionieren, indem sie die ausstehenden Timer in jedem Map-Block verfolgen und dann ausführen
wenn sie ablaufen.
Dies bedeutet, dass die Zeitgeber nicht alle geladenen Blöcke durchsuchen müssen, um Übereinstimmungen zu finden,
sondern stattdessen etwas mehr Speicherplatz für die Verfolgung
der ausstehenden Timer benötigen.
- [Blocktimer](#blocktimer)
- [Aktive Mapblock Modifikatoren](#aktive-mapblock-modifikatoren)
- [Nodetimer](#nodetimer)
- [Aktive Map-Block Modifikatoren](#aktive-mapblock-modifikatoren)
- [Sie sind dran](#sie-sind-dran)
## Blocktimer
## Nodetimer
Blocktimer sind direkt an einen einzelnen Knoten gebunden.
Sie können Blocktimer verwalten, indem Sie ein NodeTimerRef-Objekt erhalten.
Nodetimer sind direkt an einen einzelnen Knoten gebunden.
Sie können Nodetimer verwalten, indem Sie ein NodeTimerRef-Objekt erhalten.
```lua
local timer = minetest.get_node_timer(pos)
timer:start(10.5) -- in Sekunden
```
Wenn der Zeitgeber eines Blockes abgelaufen ist, wird die Methode `on_timer` in der Definitionstabelle des Blockes
aufgerufen. Die Methode benötigt nur einen einzigen Parameter, die Position des Blockes:
Wenn der Zeitgeber eines Nodes abgelaufen ist, wird die Methode `on_timer` in der Definitionstabelle des Nodes
aufgerufen. Die Methode benötigt nur einen einzigen Parameter, die Position des Nodes:
```lua
minetest.register_node("autotuer:offene_tuer", {
@ -58,7 +58,7 @@ Es ist auch möglich, `get_node_timer(pos)` innerhalb von `on_timer` zu verwende
dass Sie false zurückgeben, um Konflikte zu vermeiden.
Sie haben vielleicht eine Einschränkung bei den Zeitgebern bemerkt: Aus Optimierungsgründen ist
nur eine Art von Timern pro Blocktyp und nur ein Timer pro Block möglich.
nur eine Art von Timern pro Nodetyp und nur ein Timer pro Node möglich.
## Aktive Mapblock Modifikatoren
@ -69,7 +69,7 @@ in der Nähe von Wasser vorkommen kann.
```lua
minetest.register_node("aliens:gras", {
description = "Aliengras",
light_source = 3, -- Der Block strahlt Licht aus. Min 0, max 14
light_source = 3, -- Der Node strahlt Licht aus. Min 0, max 14
tiles = {"aliens_grass.png"},
groups = {choppy=1},
on_use = minetest.item_eat(20)
@ -79,7 +79,7 @@ minetest.register_abm({
nodenames = {"default:dirt_with_grass"},
neighbors = {"default:water_source", "default:water_flowing"},
interval = 10.0, -- Wird alle 10 Sekunden ausgeführt
chance = 50, -- Jeder Block hat eine Chance von 1 zu 50 ausgewählt zu werden
chance = 50, -- Jeder Node hat eine Chance von 1 zu 50 ausgewählt zu werden
action = function(pos, node, active_object_count,
active_object_count_wider)
local pos = {x = pos.x, y = pos.y + 1, z = pos.z}
@ -88,9 +88,9 @@ minetest.register_abm({
})
```
Dieser ABM läuft alle zehn Sekunden, und für jeden passenden Block besteht eine
Dieser ABM läuft alle zehn Sekunden, und für jeden passenden Node besteht eine
Chance von 1 zu 50, dass es ausgeführt wird.
Wenn die ABM auf einem Block ausgeführt wird, wird ein fremder Grasblock über ihm platziert.
Wenn die ABM auf einem Node ausgeführt wird, wird ein fremder Grasnode über ihm platziert.
Bitte seien Sie gewarnt, dies löscht alle Blöcke, die sich zuvor an dieser Position befanden.
Um dies zu verhindern, sollten Sie eine Überprüfung mit minetest.get_node einbauen, um sicherzustellen, dass Platz für das Gras vorhanden ist.