Finished node_drawtypes.md
This commit is contained in:
parent
01f51293b4
commit
a77c588056
@ -3,7 +3,7 @@ title: Block Zeichnungstypen
|
||||
layout: default
|
||||
root: ../..
|
||||
idx: 2.3
|
||||
description: Ratgeber für alle Zeichnungstypen, einschließlich node boxes/nodeboxes und mesh nodes.
|
||||
description: Ratgeber für alle Zeichnungstypen, einschließlich node boxen/Nodeboxen und mesh nodes.
|
||||
redirect_from: /de/chapters/node_drawtypes.html
|
||||
---
|
||||
|
||||
@ -26,14 +26,14 @@ Die Blockparameter werden verwendet, um zu steuern, wie ein Block individuell ge
|
||||
`param1` wird verwendet, um die Beleuchtung eines Blockes zu speichern, und die Bedeutung von
|
||||
`param2` hängt von der Eigenschaft `paramtype2` der Blocktypdefinition ab.
|
||||
|
||||
- [Würfelförmiger Block: Normale und Allflächen](#würfelförmiger-block-normale-und-allflächen)
|
||||
- [Glasslike Nodes](#glasslike-nodes)
|
||||
- [Glasslike_Framed](#glasslike_framed)
|
||||
- [Würfelförmiger Block: Normale und allfaces](#würfelförmiger-block-normale-und-allfaces)
|
||||
- [Glasartige Blöcke](#glasartige-blöcke)
|
||||
- [Glasartig gerahmt](#glasartig-gerahmt)
|
||||
- [Airlike Nodes](#airlike-nodes)
|
||||
- [Lighting and Sunlight Propagation](#lighting-and-sunlight-propagation)
|
||||
- [Liquid Nodes](#liquid-nodes)
|
||||
- [Node Boxes](#node-boxes)
|
||||
- [Wallmounted Node Boxes](#wallmounted-node-boxes)
|
||||
- [Flüssige Blöcke](#flüssige-blöcke)
|
||||
- [Nodeboxen](#nodeboxen)
|
||||
- [Wandgehaltene Nodeboxen](#wandgehaltene-nodeboxen)
|
||||
- [Mesh Nodes](#mesh-nodes)
|
||||
- [Signlike Nodes](#signlike-nodes)
|
||||
- [Plantlike Nodes](#plantlike-nodes)
|
||||
@ -41,7 +41,7 @@ Die Blockparameter werden verwendet, um zu steuern, wie ein Block individuell ge
|
||||
- [More Drawtypes](#more-drawtypes)
|
||||
|
||||
|
||||
## Würfelförmiger Block: Normale und Allflächen
|
||||
## Würfelförmiger Block: Normale und allfaces
|
||||
|
||||
<figure class="right_image">
|
||||
<img src="{{ page.root }}//static/drawtype_normal.png" alt="Normaler Zeichnungstyp">
|
||||
@ -77,23 +77,23 @@ Hinweis: Der normale Zeichentyp ist der Standard-Zeichentyp, Sie müssen ihn als
|
||||
angeben.
|
||||
|
||||
|
||||
## Glasslike Nodes
|
||||
## Glasartige Blöcke
|
||||
|
||||
The difference between glasslike and normal nodes is that placing a glasslike node
|
||||
next to a normal node won't cause the side of the normal node to be hidden.
|
||||
This is useful because glasslike nodes tend to be transparent, and so using a normal
|
||||
drawtype would result in the ability to see through the world.
|
||||
Der Unterschied zwischen glasartigen(glasslike) und normalen Blöcken besteht darin, dass die Platzierung eines glasartigen Blockes
|
||||
neben einem normalen Block platziert wird, nicht dazu führt, dass die Seite des normalen Blockes ausgeblendet wird.
|
||||
Dies ist nützlich, weil glasartige Block dazu neigen, transparent zu sein, und daher die Verwendung eines normalen
|
||||
Drawtype dazu führen würde, dass man durch die Welt hindurchsehen kann.
|
||||
|
||||
<figure>
|
||||
<img src="{{ page.root }}//static/drawtype_glasslike_edges.png" alt="Glasslike's Edges">
|
||||
<img src="{{ page.root }}//static/drawtype_glasslike_edges.png" alt="Glasartige Ränder">
|
||||
<figcaption>
|
||||
Glasslike's Edges
|
||||
Glasartige Ränder
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
```lua
|
||||
minetest.register_node("default:obsidian_glass", {
|
||||
description = "Obsidian Glass",
|
||||
description = "Obsidian Glas",
|
||||
drawtype = "glasslike",
|
||||
tiles = {"default_obsidian_glass.png"},
|
||||
paramtype = "light",
|
||||
@ -104,52 +104,52 @@ minetest.register_node("default:obsidian_glass", {
|
||||
})
|
||||
```
|
||||
|
||||
### Glasslike_Framed
|
||||
### Glasartig gerahmt
|
||||
|
||||
This makes the node's edge go around the whole thing with a 3D effect, rather
|
||||
than individual nodes, like the following:
|
||||
Dies führt dazu, dass die Kante des Blockes mit einem 3D-Effekt um das ganze Ding herumgeht und nicht
|
||||
als um einzelne Block, wie im Folgenden dargestellt:
|
||||
|
||||
<figure>
|
||||
<img src="{{ page.root }}//static/drawtype_glasslike_framed.png" alt="Glasslike_framed's Edges">
|
||||
<img src="{{ page.root }}//static/drawtype_glasslike_framed.png" alt="Glasartig gerahmt Ränder">
|
||||
<figcaption>
|
||||
Glasslike_Framed's Edges
|
||||
Glasartig gerahmt Ränder
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
You can use the glasslike_framed_optional drawtype to allow the user to *opt-in*
|
||||
to the framed appearance.
|
||||
Sie können den Zeichnungstyp `glasslike_framed_optional` verwenden, um dem Benutzer die Möglichkeit zu geben, *opt-in*
|
||||
in das gerahmte Erscheinungsbild.
|
||||
|
||||
```lua
|
||||
minetest.register_node("default:glass", {
|
||||
description = "Glass",
|
||||
description = "Glas",
|
||||
drawtype = "glasslike_framed",
|
||||
tiles = {"default_glass.png", "default_glass_detail.png"},
|
||||
inventory_image = minetest.inventorycube("default_glass.png"),
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true, -- Sunlight can shine through block
|
||||
sunlight_propagates = true, -- Sonnenlicht kann durch den Block scheinen
|
||||
groups = {cracky = 3, oddly_breakable_by_hand = 3},
|
||||
sounds = default.node_sound_glass_defaults()
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
## Airlike Nodes
|
||||
## Luftartige Blöcke
|
||||
|
||||
These nodes are not rendered and thus have no textures.
|
||||
Diese Blöcke werden nicht gerendert und haben daher keine Texturen.
|
||||
|
||||
```lua
|
||||
minetest.register_node("myair:air", {
|
||||
description = "MyAir (you hacker you!)",
|
||||
minetest.register_node("meineluft:luft", {
|
||||
description = "MeineLuft (Du hacker du!)",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
|
||||
walkable = false, -- Would make the player collide with the air node
|
||||
pointable = false, -- You can't select the node
|
||||
diggable = false, -- You can't dig the node
|
||||
buildable_to = true, -- Nodes can be replace this node.
|
||||
-- (you can place a node and remove the air node
|
||||
-- that used to be there)
|
||||
walkable = false, -- Würde den Spieler mit dem Luftblock kollidieren lassen
|
||||
pointable = false, -- Sie können den Block nicht auswählen
|
||||
diggable = false, -- Sie können den Block nicht abbauen
|
||||
buildable_to = true, -- Blöcke können diesen Block ersetzen
|
||||
-- (Sie können einen Block platzieren und den Luftblock
|
||||
-- entfernen die früher einmal da waren)
|
||||
|
||||
air_equivalent = true,
|
||||
drop = "",
|
||||
@ -158,46 +158,45 @@ minetest.register_node("myair:air", {
|
||||
```
|
||||
|
||||
|
||||
## Lighting and Sunlight Propagation
|
||||
## Beleuchtung und Sonnenlichtausbreitung
|
||||
|
||||
The lighting of a node is stored in param1. In order to work out how to shade
|
||||
a node's side, the light value of the neighbouring node is used.
|
||||
Because of this, solid nodes don't have light values because they block light.
|
||||
Die Beleuchtung eines Blockes wird in param1 gespeichert. Um herauszufinden, wie man die
|
||||
Seite eines Blockes zu schattieren hat, wird der Lichtwert des benachbarten Blockes verwendet.
|
||||
Aus diesem Grund haben solide Blöcke keine Lichtwerte, da sie das Licht blockieren.
|
||||
|
||||
By default, a node type won't allow light to be stored in any node instances.
|
||||
It's usually desirable for some nodes such as glass and air to be able to
|
||||
let light through. To do this, there are two properties which need to be defined:
|
||||
Standardmäßig lässt ein Blocktyp nicht zu, dass Licht in Blockinstanzen gespeichert wird.
|
||||
Es ist normalerweise wünschenswert, dass einige Blöcke wie Glas und Luft in der Lage sind
|
||||
Licht durchzulassen. Zu diesem Zweck müssen zwei Eigenschaften definiert werden:
|
||||
|
||||
```lua
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
```
|
||||
|
||||
The first line means that param1 does, in fact, store the light level.
|
||||
The second line means that sunlight should go through this node without decreasing in value.
|
||||
Die erste Zeile bedeutet, dass param1 in der Tat den Lichtwert speichert.
|
||||
Die zweite Zeile bedeutet, dass das Sonnenlicht diesen Knoten durchlaufen sollte, ohne an Wert zu verlieren.
|
||||
|
||||
|
||||
## Liquid Nodes
|
||||
## Flüssige Blöcke
|
||||
|
||||
<figure class="right_image">
|
||||
<img src="{{ page.root }}//static/drawtype_liquid.png" alt="Liquid Drawtype">
|
||||
<img src="{{ page.root }}//static/drawtype_liquid.png" alt="Flüssigkeiten Zeichnungstyp">
|
||||
<figcaption>
|
||||
Liquid Drawtype
|
||||
Flüssigkeiten Zeichnungstyp
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
Each type of liquid requires two node definitions - one for the liquid source, and
|
||||
another for flowing liquid.
|
||||
Jede Art von Flüssigkeit erfordert zwei Blockdefinitionen - eine für die Flüssigkeitsquelle und
|
||||
eine weitere für die fließende Flüssigkeit.
|
||||
|
||||
```lua
|
||||
-- Some properties have been removed as they are beyond
|
||||
-- the scope of this chapter.
|
||||
-- Einige Eigenschaften wurden entfernt, da sie nicht mehr
|
||||
-- den Anwendungsbereich dieses Kapitels entsprechen.
|
||||
minetest.register_node("default:water_source", {
|
||||
drawtype = "liquid",
|
||||
paramtype = "light",
|
||||
|
||||
inventory_image = minetest.inventorycube("default_water.png"),
|
||||
-- ^ this is required to stop the inventory image from being animated
|
||||
-- ^ dies ist erforderlich, damit das Inventarbild nicht auch animiert wird
|
||||
|
||||
tiles = {
|
||||
{
|
||||
@ -212,7 +211,7 @@ minetest.register_node("default:water_source", {
|
||||
},
|
||||
|
||||
special_tiles = {
|
||||
-- New-style water source material (mostly unused)
|
||||
-- Wasserquellenmaterial neuen Typs (größtenteils unbenutzt)
|
||||
{
|
||||
name = "default_water_source_animated.png",
|
||||
animation = {type = "vertical_frames", aspect_w = 16,
|
||||
@ -224,51 +223,50 @@ minetest.register_node("default:water_source", {
|
||||
--
|
||||
-- Behavior
|
||||
--
|
||||
walkable = false, -- The player falls through
|
||||
pointable = false, -- The player can't highlight it
|
||||
diggable = false, -- The player can't dig it
|
||||
buildable_to = true, -- Nodes can be replace this node
|
||||
walkable = false, -- Der Spieler fällt durch
|
||||
pointable = false, -- Der Spieler kann es nicht auswählen
|
||||
diggable = false, -- Der Spieler kann es nicht abbauen
|
||||
buildable_to = true, -- Blöcke können diesen Block ersetzen
|
||||
|
||||
alpha = 160,
|
||||
|
||||
--
|
||||
-- Liquid Properties
|
||||
-- Flüssigkeits Eigenschaften
|
||||
--
|
||||
drowning = 1,
|
||||
liquidtype = "source",
|
||||
|
||||
liquid_alternative_flowing = "default:water_flowing",
|
||||
-- ^ when the liquid is flowing
|
||||
-- ^ wenn die Flüssigkeit fließt
|
||||
|
||||
liquid_alternative_source = "default:water_source",
|
||||
-- ^ when the liquid is a source
|
||||
-- ^ wenn die Flüssigkeit eine Quelle ist
|
||||
|
||||
liquid_viscosity = WATER_VISC,
|
||||
-- ^ how fast
|
||||
-- ^ wie schnell
|
||||
|
||||
liquid_range = 8,
|
||||
-- ^ how far
|
||||
-- ^ wie weit
|
||||
|
||||
post_effect_color = {a=64, r=100, g=100, b=200},
|
||||
-- ^ colour of screen when the player is submerged
|
||||
-- ^ Farbe des Bildschirms, wenn der Spieler untergetaucht ist
|
||||
})
|
||||
```
|
||||
|
||||
Flowing nodes have a similar definition, but with a different name and animation.
|
||||
See default:water_flowing in the default mod in minetest_game for a full example.
|
||||
Fließende Blöcke haben eine ähnliche Definition, allerdings mit einem anderen Namen und einer anderen Animation.
|
||||
Siehe `default:water_flowing` in der Standard-Mod in `minetest_game` für ein vollständiges Beispiel.
|
||||
|
||||
|
||||
## Node Boxes
|
||||
## Nodeboxen
|
||||
|
||||
<figure class="right_image">
|
||||
<img src="{{ page.root }}//static/drawtype_nodebox.gif" alt="Nodebox drawtype">
|
||||
<img src="{{ page.root }}//static/drawtype_nodebox.gif" alt="Nodebox Zeichnungstyp">
|
||||
<figcaption>
|
||||
Nodebox drawtype
|
||||
Nodebox Zeichnungstyp
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
Node boxes allow you to create a node which is not cubic, but is instead made out
|
||||
of as many cuboids as you like.
|
||||
Mit Nodeboxen können Sie einen Block erstellen, der nicht würfelförmig ist, sondern
|
||||
aus beliebig vielen Quadern besteht.
|
||||
|
||||
```lua
|
||||
minetest.register_node("stairs:stair_stone", {
|
||||
@ -284,25 +282,25 @@ minetest.register_node("stairs:stair_stone", {
|
||||
})
|
||||
```
|
||||
|
||||
The most important part is the node box table:
|
||||
Der wichtigste Teil ist die Nodebox-Tabelle:
|
||||
|
||||
```lua
|
||||
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
|
||||
{-0.5, 0, 0, 0.5, 0.5, 0.5}
|
||||
```
|
||||
|
||||
Each row is a cuboid which are joined to make a single node.
|
||||
The first three numbers are the co-ordinates, from -0.5 to 0.5 inclusive, of
|
||||
the bottom front left most corner, the last three numbers are the opposite corner.
|
||||
They are in the form X, Y, Z, where Y is up.
|
||||
Jede Zeile ist ein Quader, der zu einem einzigen Blockpunkt verbunden ist.
|
||||
Die ersten drei Zahlen sind die Koordinaten (von -0,5 bis einschließlich 0,5) der
|
||||
der unteren, vorderen, linken Ecke, die letzten drei Zahlen sind die gegenüberliegende Ecke.
|
||||
Sie haben die Form X, Y, Z, wobei Y für oben steht.
|
||||
|
||||
You can use the [NodeBoxEditor](https://forum.minetest.net/viewtopic.php?f=14&t=2840) to
|
||||
create node boxes by dragging the edges, it is more visual than doing it by hand.
|
||||
Du kannst den [NodeBoxEditor](https://forum.minetest.net/viewtopic.php?f=14&t=2840) benutzen um
|
||||
Erstellen Sie Nodeboxen durch Ziehen der Kanten, das ist anschaulicher als die Arbeit von Hand.
|
||||
|
||||
|
||||
### Wallmounted Node Boxes
|
||||
### Wandgehaltene Nodeboxen
|
||||
|
||||
Sometimes you want different nodeboxes for when it is placed on the floor, wall, or ceiling like with torches.
|
||||
Manchmal möchte man verschiedene Nodeboxen für die Platzierung auf dem Boden, an der Wand oder an der Decke wie bei Fackeln.
|
||||
|
||||
```lua
|
||||
minetest.register_node("default:sign_wall", {
|
||||
@ -330,44 +328,43 @@ minetest.register_node("default:sign_wall", {
|
||||
|
||||
## Mesh Nodes
|
||||
|
||||
Whilst node boxes are generally easier to make, they are limited in that
|
||||
they can only consist of cuboids. Node boxes are also unoptimised;
|
||||
Inner faces will still be rendered even when they're completely hidden.
|
||||
Nodeboxen sind zwar im Allgemeinen einfacher zu erstellen, doch sind sie insofern eingeschränkt, als
|
||||
sie nur aus Quadern bestehen können. Nodeboxen sind außerdem nicht optimiert;
|
||||
Innenflächen werden auch dann noch gerendert, wenn sie vollständig ausgeblendet sind.
|
||||
|
||||
A face is a flat surface on a mesh. An inner face occurs when the faces of two
|
||||
different node boxes overlap, causing parts of the node box model to be
|
||||
invisible but still rendered.
|
||||
Eine Fläche ist eine ebene Oberfläche in einem Mesh(Netz). Eine innere Fläche entsteht, wenn sich die Flächen von zwei
|
||||
verschiedenen Nodeboxen überlappen, wodurch Teile des Nodebox-Modells
|
||||
unsichtbar sind, aber dennoch gerendert werden.
|
||||
|
||||
You can register a mesh node as so:
|
||||
So können Sie ein mesh node registrieren:
|
||||
|
||||
```lua
|
||||
minetest.register_node("mymod:meshy", {
|
||||
drawtype = "mesh",
|
||||
|
||||
-- Holds the texture for each "material"
|
||||
-- Enthält die Textur für jedes "material"
|
||||
tiles = {
|
||||
"mymod_meshy.png"
|
||||
},
|
||||
|
||||
-- Path to the mesh
|
||||
-- Verzeichnis zum Mesh
|
||||
mesh = "mymod_meshy.b3d",
|
||||
})
|
||||
```
|
||||
|
||||
Make sure that the mesh is available in a `models` directory.
|
||||
Most of the time the mesh should be in your mod's folder, however, it's okay to
|
||||
share a mesh provided by another mod you depend on. For example, a mod that
|
||||
adds more types of furniture may want to share the model provided by a basic
|
||||
furniture mod.
|
||||
Vergewissern Sie sich, dass das Mesh in einem `models`-Verzeichnis verfügbar ist.
|
||||
Meistens sollte sich das Mesh im eigenen Mod-Ordner befinden, aber es ist auch in Ordnung, wenn
|
||||
ein Mesh zu verwenden, das von einem anderen Mod bereitgestellt wird, von dem du abhängig bist. Zum Beispiel kann ein Mod, der
|
||||
weitere Möbeltypen hinzufügt, das Modell einer grundlegenden
|
||||
Möbel-Mod sein.
|
||||
|
||||
|
||||
## Signlike Nodes
|
||||
|
||||
Signlike nodes are flat nodes with can be mounted on the sides of other nodes.
|
||||
|
||||
Despite the name of this drawtype, signs don't actually tend to use signlike but
|
||||
instead use the `nodebox` drawtype to provide a 3D effect. The `signlike` drawtype
|
||||
is, however, commonly used by ladders.
|
||||
Signlike nodes sind flache Knoten, die an den Seiten anderer Knoten angebracht werden können.
|
||||
Trotz des Namens dieses Zeichentyps verwenden Schilder in der Regel nicht signlike,
|
||||
sondern verwenden stattdessen den Zeichnungstyp `Nodebox`, um einen 3D-Effekt zu erzielen. Der Zeichentyp `signlike`
|
||||
wird jedoch häufig von Leitern verwendet.
|
||||
|
||||
```lua
|
||||
minetest.register_node("default:ladder_wood", {
|
||||
@ -375,7 +372,7 @@ minetest.register_node("default:ladder_wood", {
|
||||
|
||||
tiles = {"default_ladder_wood.png"},
|
||||
|
||||
-- Required: store the rotation in param2
|
||||
-- Erforderlich: Speichern der Drehung in param2
|
||||
paramtype2 = "wallmounted",
|
||||
|
||||
selection_box = {
|
||||
@ -388,19 +385,19 @@ minetest.register_node("default:ladder_wood", {
|
||||
## Plantlike Nodes
|
||||
|
||||
<figure class="right_image">
|
||||
<img src="{{ page.root }}//static/drawtype_plantlike.png" alt="Plantlike Drawtype">
|
||||
<img src="{{ page.root }}//static/drawtype_plantlike.png" alt="Plantlike Zeichnungstyp">
|
||||
<figcaption>
|
||||
Plantlike Drawtype
|
||||
Plantlike Zeichnungstyp
|
||||
</figcaption>
|
||||
</figure>
|
||||
|
||||
Plantlike nodes draw their tiles in an X like pattern.
|
||||
Plantlike Nodes ziehen ihre Kacheln in einem X-ähnlichen Muster.
|
||||
|
||||
```lua
|
||||
minetest.register_node("default:papyrus", {
|
||||
drawtype = "plantlike",
|
||||
|
||||
-- Only one texture used
|
||||
-- Nur eine Textur in Verwendung
|
||||
tiles = {"default_papyrus.png"},
|
||||
|
||||
selection_box = {
|
||||
@ -412,8 +409,8 @@ minetest.register_node("default:papyrus", {
|
||||
|
||||
## Firelike Nodes
|
||||
|
||||
Firelike is similar to plantlike, except that it is designed to "cling" to walls
|
||||
and ceilings.
|
||||
Firelike ist ähnlich zu plantlike, mit der Ausnahme, dass es so konzipiert ist für
|
||||
Wände und Decken.
|
||||
|
||||
<figure>
|
||||
<img src="{{ page.root }}//static/drawtype_firelike.png" alt="Firelike nodes">
|
||||
@ -423,24 +420,24 @@ and ceilings.
|
||||
</figure>
|
||||
|
||||
```lua
|
||||
minetest.register_node("mymod:clingere", {
|
||||
minetest.register_node("meinemod:klinger", {
|
||||
drawtype = "firelike",
|
||||
|
||||
-- Only one texture used
|
||||
tiles = { "mymod:clinger" },
|
||||
-- Nur eine Textur in Verwendung
|
||||
tiles = { "mymod:klinger" },
|
||||
})
|
||||
```
|
||||
|
||||
## More Drawtypes
|
||||
## Mehr Zeichnungstypen
|
||||
|
||||
This is not a comprehensive list, there are more types including:
|
||||
Dies ist keine vollständige Liste, es gibt noch weitere Arten:
|
||||
|
||||
* Fencelike
|
||||
* Plantlike rooted - for underwater plants
|
||||
* Raillike - for cart tracks
|
||||
* Torchlike - for 2D wall/floor/ceiling nodes.
|
||||
The torches in Minetest Game actually use two different node definitions of
|
||||
mesh nodes (default:torch and default:torch_wall).
|
||||
* Plantlike rooted - für Unterwasser-Pflanzen
|
||||
* Raillike - für Schienen
|
||||
* Torchlike - für 2D Wand/Boden/Decken-Blöcke.
|
||||
Die Fackeln in Minetest Game verwenden zwei verschiedene Block-Definitionen von
|
||||
mesh nodes (default:torch und default:torch_wall).
|
||||
|
||||
As always, read the [Lua API documentation](https://minetest.gitlab.io/minetest/nodes/#node-drawtypes)
|
||||
for the complete list.
|
||||
Und lese immer [Lua API dokumentation](https://minetest.gitlab.io/minetest/nodes/#node-drawtypes)
|
||||
für eine komplette Liste.
|
||||
|
Loading…
Reference in New Issue
Block a user