API
Rodzaje bloków
Blok może być jednym z rodzajów z gry: schody łączące się w narożnikach, drzwi o wysokości dwóch bloków, płoty, które się łączą, skrzynie, tabliczki, uprawy, rudy. Nadaj mu kind, a powstanie jak blok z gry tego rodzaju, z jego kształtem, stanami i zachowaniem oraz twoją teksturą.
Rodzaje i materiały
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" }| Rodzaj | Czym jest |
|---|---|
cube |
zwykły blok (domyślnie) |
pillar |
pień lub filar: leży wzdłuż osi, na której został postawiony |
slab, stairs, wall, fence, fence_gate |
bloki budowlane, które łączą się z sąsiadami jak te z gry. Schody biorą blok, z którego są zrobione, w base |
door, trapdoor, button, pressure_plate |
drzwi mają wysokość dwóch bloków; płyta naciskowa jest włączona albo wyłączona |
leaves, lantern, vine, ladder, carpet, bars, chain |
kraty i szyby są cienkie i łączą się z sąsiadami; łańcuch leży wzdłuż osi, na której został postawiony |
plant, water_plant, crop |
rośliny (poniżej) |
barrel, bookshelf, chiseled_bookshelf, shelf, composter, crafting_table, chest, furnace |
bloki, które działają (poniżej) |
sign, hanging_sign |
tabliczki (poniżej) |
path, ore |
ścieżki i rudy (poniżej) |
material to stone (domyślnie), wood lub metal, dla rodzajów, w których to ma znaczenie: drewniane drzwi lub zapadnia otwierają się ręką, metalowe tylko redstone. Płyty, schody, płoty, przyciski, płyty naciskowe i filary też są robione jak te z gry z tego materiału.
Co blok bierze z bloku z gry. Bez własnych plików blok danego rodzaju bierze blockstate i modele z gry z twoją teksturą texture (domyślnie textures/block/<id>.png), jego przedmiot, jego upuszczane przedmioty i jego tagi: płoty łączą się z płotami, pnie liczą się jako pnie, drzwi upuszczają jeden przedmiot. Tam, gdzie blok z gry używa więcej niż jednej tekstury, używana jest twoja tekstura z tym samym zakończeniem, jeśli mod ją ma: <id>_top.png i <id>_bottom.png dla drzwi, <id>_top.png dla filaru, <id>_front.png i <id>_front_on.png dla pieca. Jeśli ma własne modele, łup lub tagi, używane są one. hardness, sound, light i pozostałe właściwości z Bloki, przedmioty i receptury działają jak w każdym bloku.
Rośliny i uprawy
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: rysowana jako dwa skrzyżowane obrazki, jak trawa, kwiat, grzyb lub sadzonka. Nic z nią nie koliduje i potrzebuje gruntu.water_plant: roślina żyjąca pod wodą, jak trawa morska.crop: rośnie przez wieki od 0 do 3 sama i z mączką kostną. Jej stanagemożna odczytać przezblock.state("age"), a<id>_stage0.pngdo<id>_stage3.pngto jej tekstury w każdym wieku.
grows_on wymienia bloki, na których stoi, id lub tagi takie jak #minecraft:dirt. Bez niego roślina rośnie tam, gdzie rośnie roślina z gry jej rodzaju (uprawa na grządce). Roślina, której grunt zniknie, się łamie.
Bloki, które działają
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" }Zachowują swoje przedmioty, otwierają swój ekran i działają jak te z gry: beczka mieści 27 stosów, rzeźbiony regał 6 książek, półka 3 przedmioty, kompostownik się napełnia, stół rzemieślniczy tworzy, a piec przetapia i świeci, gdy się pali.
chest jest rysowana z textures/entity/chest/<id>.png, a dwie obok siebie tworzą podwójną skrzynię, rysowaną z <id>_left.png i <id>_right.png w tym samym folderze. Mają układ tekstur skrzyni z gry.
Tabliczki
block "willow_sign" { kind: "sign", sound: "wood" }
block "willow_hanging_sign" { kind: "hanging_sign", sound: "wood" }Gracze piszą na nich jak na tych z gry. Zadeklarowanie tabliczki deklaruje też jej formę ścienną, blok, który jej przedmiot stawia przy ścianie: jade_sign ma jade_wall_sign, a jade_hanging_sign ma jade_wall_hanging_sign. wall pozwala podać to id samemu. Forma ścienna upuszcza tabliczkę. Wisząca tabliczka wisi pod blokiem, a jej forma ścienna z boku bloku.
Ścieżki i rudy
block "moss_path" { kind: "path", base: "minecraft:moss_block" }
block "jade_ore" { kind: "ore", hardness: 3, tool: "pickaxe", tier: "iron", xp: [1, 4] }path jest trochę niższa niż blok, jak ścieżka z ziemi z gry. Łopata robi ją z jej base, gdy nad nią jest powietrze. Wraca do swojego base, gdy zakryje ją blok, i upuszcza swój base.
ore daje doświadczenie, gdy zostanie zniszczona bez jedwabnego dotyku: xp to liczba lub [min, max]. Żeby upuszczała siebie z jedwabnym dotykiem, a więcej ze szczęściem, zobacz Upuszczane przedmioty w Bloki, przedmioty i receptury.
Bloki przyczepione
Z attached: true blok jest przymocowany do bloku, przy którym go postawiono, i łamie się, gdy tamten zniknie. Te właściwości działają na każdym bloku, z rodzajem lub bez.
block "crystal_shard" {
attached: true
states: ["facing_all"]
model: "block/crystal_shard"
}
block "glow_bulb" {
attached: true
floor_state: "standing"
states: ["standing"]
light: 12
}- Ze stanem
"facing"lub"facing_all"jest zwrócony w stronę przeciwną do tego, co go trzyma:facing_allobejmuje też górę i dół, więc odłamek może stać na podłodze, na ścianie lub na suficie (zobacz Stany bloku w Bloki, przedmioty i receptury). floor_statenazywa stan-przełącznik, który jest włączony, gdy blok stoi na podłodze, a wyłączony, gdy wisi pod sufitem, jak latarnia. Zadeklaruj ten przełącznik także wstates.
Siedzenia i bloki o wysokości dwóch bloków
block "stool" { seat: 9, shape: [[3, 0, 3, 13, 9, 13]] }
block "throne" {
model: "block/throne"
seat: 10
upper: "top"
states: ["facing", "top"]
}seat pozwala graczom siadać na bloku kliknięciem pustą ręką, na tyle pikseli nad jego spodem (0 do 16; krzesło to około 10). Jeśli blok ma on_use, które przejmuje kliknięcie, gracz nie siada.
upper robi z bloku blok o wysokości dwóch bloków, jak drzwi lub wysokie krzesło: nazywa stan-przełącznik, który jest włączony w jego górnej połowie. Postawienie go stawia obie połowy, gdy nad nim jest miejsce, zniszczenie jednej niszczy obie, a upuszcza go tylko dolna połowa. Na dwublokowym siedzeniu siada się na jego dolnej połowie. Zadeklaruj ten przełącznik także w states. Górna połowa ma własny wygląd jak każdy stan: tutaj models/block/throne_top.json.
Rośliny w kolumnie
block "glow_vine" {
plant: true
column: "hanging"
states: [{ shape: ["top", "middle", "bottom"] }]
}column sprawia, że roślina rośnie w kolumnie, jak zwisające pnącze. Jej stan shape podąża za tą samą rośliną nad i pod nią: bottom, gdy pod nią nie ma żadnej, top, gdy nad nią nie ma żadnej, middle pomiędzy. Zadeklaruj go w states jako { shape: ["top", "middle", "bottom"] }; tekstury <id>_middle.png i <id>_bottom.png to jej wyglądy w tych miejscach.
hanging: zwisa z bloku nad nią, którym jest ta sama roślina, liście lub blok pełny od spodu.standing: stoi na swoim gruncie (grows_on) albo na tej samej roślinie.
Bez tego, co ją podtrzymuje, się łamie, a rośliny, które na niej wiszą lub stoją, łamią się razem z nią.
Właściwości
| Właściwość | Wartości | Domyślnie |
|---|---|---|
kind |
jeden z powyższych rodzajów | cube |
material |
stone, wood, metal |
stone |
base |
dla schodów i ścieżek: blok, z którego są zrobione, twój lub z gry | — |
grows_on |
dla roślin: id bloków i tagi | grunt jej rodzaju |
wall |
dla tabliczek: id formy ściennej | jade_sign → jade_wall_sign |
xp |
dla rud: liczba lub [min, max] |
— |
attached |
przymocowany do bloku, przy którym go postawiono | false |
floor_state |
z attached: przełącznik włączony, gdy stoi na podłodze |
— |
seat |
pikseli nad spodem, na których siadają gracze (0–16) | nie jest siedzeniem |
upper |
o wysokości dwóch bloków: przełącznik włączony w jego górnej połowie | — |
column |
hanging lub standing |
— |
W Kotlinie
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")
}Rodzaje są w BlockKind, a materiały w BlockMaterial. Pozostałe właściwości mają te same nazwy w camelCase: growsOn, floorState, xp = 1..4, column = Column.HANGING. facingAll() i choice(name, …) deklarują stany.