API
Blockarten
Ein Block kann eine der Arten des Spiels sein: Treppen, die an Ecken zusammenfinden, zwei Blöcke hohe Türen, Zäune, die sich verbinden, Truhen, Schilder, Nutzpflanzen, Erze. Gib ihm eine kind, und er wird wie der Block des Spiels dieser Art gemacht, mit dessen Form, Zuständen und Verhalten und deiner Textur.
Arten und Materialien
block "jade_bricks" { hardness: 2, tool: "pickaxe" }
block "jade_stairs" { kind: "stairs", base: "jade_bricks", texture: "mymod:block/jade_bricks" }
block "jade_slab" { kind: "slab", texture: "mymod:block/jade_bricks" }
block "jade_wall" { kind: "wall", texture: "mymod:block/jade_bricks" }
block "willow_log" { kind: "pillar", material: "wood", sound: "wood" }
block "willow_door" { kind: "door", material: "wood", sound: "wood" }
block "jade_door" { kind: "door", material: "metal" }
block "willow_fence" { kind: "fence", material: "wood", texture: "mymod:block/willow_planks" }| Art | Was es ist |
|---|---|
cube |
ein einfacher Block (der Standard) |
pillar |
ein Stamm oder eine Säule: Er liegt entlang der Achse, auf der er platziert wird |
slab, stairs, wall, fence, fence_gate |
Baublöcke, die sich wie die des Spiels mit ihren Nachbarn verbinden. Treppen nehmen den Block, aus dem sie gemacht sind, in base |
door, trapdoor, button, pressure_plate |
Türen sind zwei Blöcke hoch; eine Druckplatte ist an oder aus |
leaves, lantern, vine, ladder, carpet, bars, chain |
Gitter und Scheiben sind dünn und verbinden sich mit ihren Nachbarn; eine Kette liegt entlang der Achse, auf der sie platziert wird |
plant, water_plant, crop |
Pflanzen (unten) |
barrel, bookshelf, chiseled_bookshelf, shelf, composter, crafting_table, chest, furnace |
Blöcke, die arbeiten (unten) |
sign, hanging_sign |
Schilder (unten) |
path, ore |
Wege und Erze (unten) |
material ist stone (der Standard), wood oder metal, für die Arten, bei denen es darauf ankommt: Eine hölzerne Tür oder Falltür öffnet sich von Hand, eine metallene nur mit Redstone. Auch Halbstufen, Treppen, Zäune, Knöpfe, Platten und Säulen werden wie die des Spiels aus diesem Material gemacht.
Was er vom Block des Spiels übernimmt. Ohne eigene Dateien übernimmt ein Block einer Art den Blockstate und die Modelle des Spiels mit deiner texture (standardmäßig textures/block/<id>.png), seinen Gegenstand, seine Drops und seine Tags: Zäune verbinden sich mit Zäunen, Stämme zählen als Stämme, eine Tür lässt einen Gegenstand fallen. Wo der Block des Spiels mehr als eine Textur verwendet, wird eine Textur von dir mit derselben Endung verwendet, wenn die Mod sie hat: <id>_top.png und <id>_bottom.png für eine Tür, <id>_top.png für eine Säule, <id>_front.png und <id>_front_on.png für einen Ofen. Hat er eigene Modelle, Beute oder Tags, werden diese verwendet. hardness, sound, light und die anderen Eigenschaften aus Blöcke, Gegenstände und Rezepte funktionieren wie bei jedem Block.
Pflanzen und Nutzpflanzen
block "glow_grass" { kind: "plant", hardness: 0, grows_on: ["#minecraft:dirt", "mymod:glow_moss"] }
block "reed" { kind: "water_plant", hardness: 0 }
block "rice" { kind: "crop", hardness: 0 }plant: als zwei gekreuzte Bilder gezeichnet, wie Gras, eine Blume, ein Pilz oder ein Setzling. Nichts kollidiert mit ihr, und sie braucht Boden.water_plant: eine Pflanze, die unter Wasser lebt, wie Seegras.crop: Sie wächst von allein und mit Knochenmehl durch die Stufen 0 bis 3. Ihr Zustandagelässt sich mitblock.state("age")lesen, und<id>_stage0.pngbis<id>_stage3.pngsind ihre Texturen in jeder Stufe.
grows_on listet die Blöcke auf, auf denen sie steht, IDs oder Tags wie #minecraft:dirt. Ohne sie wächst eine Pflanze dort, wo die Pflanze des Spiels ihrer Art wächst (eine Nutzpflanze auf Ackerboden). Eine Pflanze, deren Boden verschwindet, geht kaputt.
Blöcke, die arbeiten
block "willow_barrel" { kind: "barrel", sound: "wood" }
block "willow_chest" { kind: "chest", sound: "wood" }
block "willow_bookshelf" { kind: "bookshelf", sound: "wood" }
block "jade_furnace" { kind: "furnace", hardness: 3.5, tool: "pickaxe" }Sie behalten ihre Gegenstände, öffnen ihre Oberfläche und funktionieren wie die des Spiels: Ein Fass fasst 27 Stapel, ein gemeißeltes Bücherregal 6 Bücher, ein Regal 3 Gegenstände, ein Komposter füllt sich, eine Werkbank stellt her, ein Ofen schmilzt und leuchtet, solange er brennt.
Eine chest wird mit textures/entity/chest/<id>.png gezeichnet, und zwei nebeneinander bilden eine Doppeltruhe, gezeichnet mit <id>_left.png und <id>_right.png im selben Ordner. Sie haben das Layout der Truhentexturen des Spiels.
Schilder
block "willow_sign" { kind: "sign", sound: "wood" }
block "willow_hanging_sign" { kind: "hanging_sign", sound: "wood" }Spieler schreiben darauf wie auf die des Spiels. Wer ein Schild deklariert, deklariert auch seine Wandform, den Block, den sein Gegenstand an eine Wand setzt: jade_sign kommt mit jade_wall_sign, und jade_hanging_sign mit jade_wall_hanging_sign. Mit wall gibst du diese ID selbst an. Die Wandform lässt das Schild fallen. Ein Hängeschild hängt unter einem Block, seine Wandform an der Seite eines Blocks.
Wege und Erze
block "moss_path" { kind: "path", base: "minecraft:moss_block" }
block "jade_ore" { kind: "ore", hardness: 3, tool: "pickaxe", tier: "iron", xp: [1, 4] }Ein path ist etwas niedriger als ein Block, wie der Trampelpfad des Spiels. Eine Schaufel macht ihn aus seiner base, wenn darüber Luft ist. Er wird wieder zu seiner Basis, wenn ein Block ihn bedeckt, und lässt seine Basis fallen.
Ein ore gibt Erfahrung ab, wenn es ohne Behutsamkeit abgebaut wird: xp ist eine Zahl oder [min, max]. Damit es sich mit Behutsamkeit selbst und mit Glück mehr fallen lässt, siehe Drops in Blöcke, Gegenstände und Rezepte.
Angehängte Blöcke
Mit attached: true ist ein Block an dem Block befestigt, an den er gesetzt wird, und er geht kaputt, wenn dieser verschwindet. Diese Eigenschaften funktionieren bei jedem Block, mit oder ohne Art.
block "crystal_shard" {
attached: true
states: ["facing_all"]
model: "block/crystal_shard"
}
block "glow_bulb" {
attached: true
floor_state: "standing"
states: ["standing"]
light: 12
}- Mit einem Zustand
"facing"oder"facing_all"zeigt er von dem weg, was ihn hält:facing_allzeigt auch nach oben und unten, sodass ein Splitter auf einem Boden, einer Wand oder einer Decke sitzen kann (siehe Blockzustände in Blöcke, Gegenstände und Rezepte). floor_statenennt einen Schalter-Zustand, der an ist, wenn der Block auf einem Boden steht, und aus, wenn er von einer Decke hängt, wie bei einer Laterne. Deklariere den Schalter auch instates.
Sitze und zwei Blöcke hohe Blöcke
block "stool" { seat: 9, shape: [[3, 0, 3, 13, 9, 13]] }
block "throne" {
model: "block/throne"
seat: 10
upper: "top"
states: ["facing", "top"]
}seat lässt Spieler mit einem Klick der leeren Hand auf dem Block sitzen, so viele Pixel über seiner Unterseite (0 bis 16; ein Stuhl hat etwa 10). Hat der Block ein on_use, das den Klick übernimmt, setzt sich der Spieler nicht.
upper macht den Block zwei Blöcke hoch, wie eine Tür oder einen hohen Stuhl: Es nennt einen Schalter-Zustand, der in seiner oberen Hälfte an ist. Beim Platzieren werden beide Hälften gesetzt, wenn darüber Platz ist, beim Abbauen gehen beide kaputt, und nur die untere Hälfte lässt ihn fallen. Auf einem zwei Blöcke hohen Sitz sitzt man an seiner unteren Hälfte. Deklariere den Schalter auch in states. Die obere Hälfte hat wie jeder Zustand ein eigenes Aussehen: hier models/block/throne_top.json.
Pflanzen in einer Säule
block "glow_vine" {
plant: true
column: "hanging"
states: [{ shape: ["top", "middle", "bottom"] }]
}column lässt eine Pflanze in einer Säule wachsen, wie eine hängende Ranke. Ihr Zustand shape folgt derselben Pflanze über und unter ihr: bottom ohne eine darunter, top ohne eine darüber, middle dazwischen. Deklariere ihn in states als { shape: ["top", "middle", "bottom"] }; die Texturen <id>_middle.png und <id>_bottom.png sind ihr Aussehen dort.
hanging: Sie hängt am Block darüber, der dieselbe Pflanze, Blätter oder ein Block ist, der darunter fest ist.standing: Sie steht auf ihrem Boden (grows_on) oder auf derselben Pflanze.
Ohne das, was sie hält, geht sie kaputt, und die Pflanzen, die an ihr hängen oder auf ihr stehen, gehen mit.
Eigenschaften
| Eigenschaft | Werte | Standard |
|---|---|---|
kind |
eine der obigen Arten | cube |
material |
stone, wood, metal |
stone |
base |
für Treppen und Wege: der Block, aus dem sie gemacht sind, deiner oder der des Spiels | — |
grows_on |
für Pflanzen: Block-IDs und Tags | der Boden seiner Art |
wall |
für Schilder: die ID der Wandform | jade_sign → jade_wall_sign |
xp |
für Erze: eine Zahl oder [min, max] |
— |
attached |
an dem Block befestigt, an den er gesetzt wird | false |
floor_state |
mit attached: der Schalter, der an ist, wenn er auf einem Boden steht |
— |
seat |
Pixel über seiner Unterseite, wo Spieler sitzen (0–16) | kein Sitz |
upper |
zwei Blöcke hoch: der Schalter, der in seiner oberen Hälfte an ist | — |
column |
hanging oder standing |
— |
In Kotlin
block("jade_stairs") { kind = BlockKind.STAIRS; base = "jade_bricks"; texture = "mymod:block/jade_bricks" }
block("willow_door") { kind = BlockKind.DOOR; material = BlockMaterial.WOOD; sound = SoundGroup.WOOD }
block("glow_grass") { kind = BlockKind.PLANT; growsOn = listOf("#minecraft:dirt") }
block("jade_ore") { kind = BlockKind.ORE; xp = 1..4 }
block("crystal_shard") { attached = true; facingAll() }
block("throne") {
seat = 10
upper = "top"
facing()
toggle("top")
}
block("glow_vine") {
plant = true
column = Column.HANGING
choice("shape", "top", "middle", "bottom")
}Die Arten stehen in BlockKind und die Materialien in BlockMaterial. Die anderen Eigenschaften haben dieselben Namen in camelCase: growsOn, floorState, xp = 1..4, column = Column.HANGING. facingAll() und choice(name, …) deklarieren die Zustände.