API
Tipos de bloque
Un bloque puede ser de alguno de los tipos del juego: escaleras que se unen en las esquinas, puertas de dos bloques de alto, vallas que se conectan, cofres, carteles, cultivos, menas. Dale un kind y se crea como el bloque de ese tipo del juego, con su forma, sus estados y su comportamiento, y tu textura.
Tipos y materiales
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" }| Tipo | Qué es |
|---|---|
cube |
un bloque normal (el valor por defecto) |
pillar |
un tronco o pilar: se tumba sobre el eje en que se coloca |
slab, stairs, wall, fence, fence_gate |
bloques de construcción que se unen a sus vecinos como los del juego. Las escaleras toman en base el bloque del que están hechas |
door, trapdoor, button, pressure_plate |
las puertas miden dos bloques de alto; una placa de presión está activada o desactivada |
leaves, lantern, vine, ladder, carpet, bars, chain |
las barras y los paneles son finos y se unen a sus vecinos; una cadena se tumba sobre el eje en que se coloca |
plant, water_plant, crop |
plantas (más abajo) |
barrel, bookshelf, chiseled_bookshelf, shelf, composter, crafting_table, chest, furnace |
bloques que funcionan (más abajo) |
sign, hanging_sign |
carteles (más abajo) |
path, ore |
caminos y menas (más abajo) |
material es stone (el valor por defecto), wood o metal, para los tipos en que importa: una puerta o trampilla de madera se abre con la mano, una de metal solo con redstone. Las losas, escaleras, vallas, botones, placas y pilares también se hacen como los del juego de ese material.
Qué toma del bloque del juego. Sin archivos propios, un bloque de un tipo toma el blockstate y los modelos del juego con tu texture (por defecto textures/block/<id>.png), su ítem, lo que suelta y sus etiquetas: las vallas se unen a las vallas, los troncos cuentan como troncos, una puerta suelta un solo ítem. Donde el bloque del juego usa más de una textura, se usa una tuya con la misma terminación si el mod la tiene: <id>_top.png y <id>_bottom.png para una puerta, <id>_top.png para un pilar, <id>_front.png y <id>_front_on.png para un horno. Si tiene modelos, botín o etiquetas propios, se usan esos. hardness, sound, light y las demás propiedades de Bloques, ítems y recetas funcionan como en cualquier bloque.
Plantas y cultivos
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: se dibuja como dos imágenes cruzadas, como la hierba, una flor, una seta o un brote. Nada choca con ella y necesita suelo.water_plant: una planta que vive bajo el agua, como la hierba marina.crop: crece por las edades 0 a 3 por sí sola y con polvo de hueso. Su estadoagese puede leer conblock.state("age"), y<id>_stage0.pnga<id>_stage3.pngson sus texturas en cada edad.
grows_on lista los bloques sobre los que se asienta, ids o etiquetas como #minecraft:dirt. Sin él, una planta crece donde crece la planta del juego de su tipo (un cultivo en tierra de cultivo). Una planta a la que le falta el suelo se rompe.
Bloques que funcionan
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" }Conservan sus objetos, abren su pantalla y funcionan como los del juego: un barril guarda 27 pilas, una estantería de libros cincelada 6 libros, una repisa 3 objetos, un compostador se llena, una mesa de crafteo craftea y un horno funde y está encendido mientras arde.
Un chest se dibuja con textures/entity/chest/<id>.png, y dos juntos forman un cofre doble, que se dibuja con <id>_left.png y <id>_right.png en esa misma carpeta. Tienen la disposición de las texturas de los cofres del juego.
Carteles
block "willow_sign" { kind: "sign", sound: "wood" }
block "willow_hanging_sign" { kind: "hanging_sign", sound: "wood" }Los jugadores escriben en ellos como en los del juego. Declarar un cartel también declara su forma de pared, el bloque que su ítem coloca contra una pared: jade_sign viene con jade_wall_sign, y jade_hanging_sign con jade_wall_hanging_sign. wall da ese id tú mismo. La forma de pared suelta el cartel. Un cartel colgante cuelga bajo un bloque, y su forma de pared del costado de uno.
Caminos y menas
block "moss_path" { kind: "path", base: "minecraft:moss_block" }
block "jade_ore" { kind: "ore", hardness: 3, tool: "pickaxe", tier: "iron", xp: [1, 4] }Un path es un poco más bajo que un bloque, como el camino de tierra del juego. Una pala lo hace a partir de su base cuando hay aire encima. Vuelve a su base cuando un bloque lo cubre, y suelta su base.
Una ore da experiencia al romperla sin toque de seda: xp es un número o [mín, máx]. Para que se suelte a sí misma con toque de seda y más con fortuna, ver Lo que suelta en Bloques, ítems y recetas.
Bloques sujetos
Con attached: true, un bloque queda fijo al bloque contra el que se coloca, y se rompe cuando ese bloque desaparece. Estas propiedades funcionan en cualquier bloque, con tipo o sin él.
block "crystal_shard" {
attached: true
states: ["facing_all"]
model: "block/crystal_shard"
}
block "glow_bulb" {
attached: true
floor_state: "standing"
states: ["standing"]
light: 12
}- Con un estado
"facing"o"facing_all", mira en sentido contrario a lo que lo sostiene:facing_alltambién mira hacia arriba y hacia abajo, así que un cristal puede estar en un suelo, una pared o un techo (ver Estados de bloque en Bloques, ítems y recetas). floor_statenombra un estado interruptor que está encendido cuando el bloque se apoya en un suelo y apagado cuando cuelga de un techo, como una linterna. Declara el interruptor también enstates.
Asientos y bloques de dos de alto
block "stool" { seat: 9, shape: [[3, 0, 3, 13, 9, 13]] }
block "throne" {
model: "block/throne"
seat: 10
upper: "top"
states: ["facing", "top"]
}seat permite a los jugadores sentarse en el bloque con un clic de mano vacía, a tantos píxeles sobre su base (0 a 16; una silla ronda los 10). Si el bloque tiene un on_use que se queda con el clic, el jugador no se sienta.
upper hace que el bloque mida dos de alto, como una puerta o una silla alta: nombra un estado interruptor que está encendido en su mitad superior. Al colocarlo se colocan las dos mitades si hay sitio encima, al romper una se rompen las dos, y solo la mitad inferior lo suelta. En un asiento de dos de alto uno se sienta en la mitad inferior. Declara el interruptor también en states. La mitad superior tiene un aspecto propio como cualquier estado: aquí models/block/throne_top.json.
Plantas en columna
block "glow_vine" {
plant: true
column: "hanging"
states: [{ shape: ["top", "middle", "bottom"] }]
}column hace que una planta crezca en columna, como una enredadera colgante. Su estado shape sigue a la misma planta de arriba y de abajo: bottom si no hay ninguna debajo, top si no hay ninguna encima, middle en medio. Decláralo en states como { shape: ["top", "middle", "bottom"] }; las texturas <id>_middle.png y <id>_bottom.png son su aspecto en cada lugar.
hanging: cuelga del bloque de arriba, que es la misma planta, hojas o un bloque sólido por debajo.standing: se apoya en su suelo (grows_on) o en la misma planta.
Sin lo que la sostiene, se rompe, y las plantas que cuelgan o se apoyan en ella se van con ella.
Propiedades
| Propiedad | Valores | Por defecto |
|---|---|---|
kind |
uno de los tipos de arriba | cube |
material |
stone, wood, metal |
stone |
base |
para escaleras y caminos: el bloque del que están hechos, tuyo o del juego | — |
grows_on |
para plantas: ids de bloques y etiquetas | el suelo de su tipo |
wall |
para carteles: el id de la forma de pared | jade_sign → jade_wall_sign |
xp |
para menas: un número o [mín, máx] |
— |
attached |
fijo al bloque contra el que se coloca | false |
floor_state |
con attached: el interruptor que está encendido cuando se apoya en un suelo |
— |
seat |
píxeles sobre su base donde se sientan los jugadores (0–16) | no es un asiento |
upper |
dos de alto: el interruptor que está encendido en su mitad superior | — |
column |
hanging o standing |
— |
En 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")
}Los tipos están en BlockKind y los materiales en BlockMaterial. Las demás propiedades tienen los mismos nombres en camelCase: growsOn, floorState, xp = 1..4, column = Column.HANGING. facingAll() y choice(name, …) declaran los estados.