minetest_modding_book/_de/items/nodes_items_crafting.md
2021-11-06 21:36:23 +00:00

4.9 KiB

title layout root idx description redirect_from
Blöcke, Ttems und Craften default ../.. 2.1 Benutze register_node, register_iem und register_craft um zu lernen wie man Blöcke, Items und Rezepte erstellen. /de/chapters/nodes_items_crafting.html

Einführung

Neue Blöcke, Craftitems und Rezepte zu erstellen, sind Grundlagen von vielen Mods

Was sind Blöcke und Craftitems?

Blöcke, Craftitems und tools sind alles Items. Ein Items ist etwas das im Inventar gefunden werden kann - Sogar wenn es nicht im normalen gameplay nicht möglich ist.

Ein Block ist ein Item das plaziert werden kann oder in der Welt gefunden werden kann. Jede Position muss belegt werden mit ein und nur einen Block - Scheinbare leere Position sind normalerweise Luftblöcke.

Ein Craftitem kann nicht plazier werden man kann es nur im Inventar finden oder als gedropptes Item in der Welt.

Ein Werkzeug hat die Fähigkeit sich abzunutzen und hat normalerweise nicht standardmäßige Abbaufähigkeiten. In Zukunft we Craftitems und Werkzeuge wahrscheinlich verschmelzen weil die Unterscheidung zwinschen ihnen eher ausgedacht ist.

Items erstellen

Item Definitionen bestehen aus einen Itemnamen und einer Definitions Tabelle. Die Definitions Tabelle beinhaltet Attribute welche das Verhalten eines Items beinflussen.

minetest.register_craftitem("modname:itemname", {
    description = "Mein spezielles Item",
    inventory_image = "modname_itemname.png"
})

Itemnamen

jedes Item hat ein Itemnamen welches auf sich verweist, es sollte folgendes Format haben:

modname:itemname

Itemaliase

Items können auch Aliase haben die auf ihren Namen zeigen. Ein Alias ist ein nachgemachter Item Name der dazu führt, dass die Egine alle Aliase so behandelt als wären es Itemnamen. Da sind zwei verbreitete Varianten um das zu nutzen:

  • Umbenannte entfernte Items in etwas anderes umzubenennen. Es kann Unbekannte Items in der Welt oder im Inventar geben, wenn ein Gegenstand ohne Korrektur aus einen Mod entfernt wird.
  • Ein Abkürzung hinzufügen. /giveme dirt ist einfacher als /giveme default:dirt.

Ein Itemalias zu erstellen ist richtig einfach. Ein guter Weg um sich die Reinfolge von der Argumenten zu merken ist von → zu wo von der alias ist und zu das Orginal.

minetest.register_alias("dirt", "default:dirt")

Mods müssen sicher gehen, dass Alias aufgelöst werden, bevor sie sich direkt mit Itemnamen befassen, da die Engine dies nicht tut. Das ist allerdings ziemlich einfach:

itemname = minetest.registered_aliases[itemname] or itemname

Textures

Texturen solten in den textures/ Pfad mit Namen im Format plaziert werden modname_itemname.png.\ JPEG texturen werden unterstüzt, aber sie unterstüzen keine tranperenz und haben generell schlechte qualität und niedrige Auflösung. Es ist oft besser das PNG format zu benutzen.

Texturen in Minetest sind in der Regel 16 mal 16 Pixel. Sie können in jeder Auflösung sein, es wird jedoch empfohlen, dass sie in der Größenordnung von 2 liegen, beispielsweise 16, 32, 64 oder 128. Das liegt daran, dass andere Auflösungen auf älteren Geräten möglicherweise nicht korrekt unterstützt werden. was zu einer geringeren Leistung führt.

Erstellen von Basis-Blöcken

minetest.register_node("meinemod:diamant", {
    description = "Alien Diamanten",
    tiles = {"meinemod_diamant.png"},
    is_ground_content = true,
    groups = {cracky=3, stone=1}
})

Die Eigenschaft tiles ist eine Tabelle mit Texturnamen, die der Blöcken verwenden wird. Wenn es nur eine Textur gibt, wird diese Textur auf jeder Seite verwendet. Um eine andere Textur pro Seite zu erhalten, geben Sie die Namen von 6 Texturen in dieser Reihenfolge an:

oben (+Y), unten (-Y), rechts (+X), links (-X), hinten (+Z), vorne (-Z).
(+Y, -Y, +X, -X, +Z, -Z)

Denken Sie daran, dass +Y in Minetest nach oben zeigt, wie es in der 3D-Computergrafiken.

minetest.register_node("meinemod:diamant", {
    description = "Alien Diamanten",
    tiles = {
        "meinemod_diamant_oben.png",    -- y+
        "meinemod_diamant_unten.png",  -- y-
        "meinemod_diamant_rechts.png", -- x+
        "meinemod_diamant_links.png",  -- x-
        "meinemod_diamant_hinten.png",  -- z+
        "meinemod_diamant_vorne.png", -- z-
    },
    is_ground_content = true,
    groups = {cracky = 3},
    drop = "meinemod:diamant_fragment"
    -- ^  Anstatt diamanten dropen zu lassen, lassen Sie meinemod:diamant_fragment dropen
})

Mit dem Attribut is_ground_content können Höhlen über dem Stein erzeugt werden. Dies ist wichtig für jeden Knoten, der während der Kartenerstellung unterirdisch platziert werden kann. Höhlen werden aus der Welt herausgeschnitten, nachdem alle anderen Knoten in einem Gebiet generiert wurden.