API
Sortes de blocs
Un bloc peut être de l’une des sortes du jeu : des escaliers qui se raccordent dans les angles, des portes hautes de deux blocs, des clôtures qui se connectent, des coffres, des panneaux, des cultures, des minerais. Donne-lui un kind et il est fabriqué comme le bloc du jeu de cette sorte, avec sa forme, ses états et son comportement, et ta texture.
Sortes et matériaux
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" }| Sorte | Ce que c’est |
|---|---|
cube |
un bloc simple (par défaut) |
pillar |
une bûche ou un pilier : il se couche dans l’axe sur lequel il est posé |
slab, stairs, wall, fence, fence_gate |
des blocs de construction qui se raccordent à leurs voisins comme ceux du jeu. Les escaliers prennent dans base le bloc dont ils sont faits |
door, trapdoor, button, pressure_plate |
les portes font deux blocs de haut ; une plaque de pression est activée ou non |
leaves, lantern, vine, ladder, carpet, bars, chain |
les barreaux et les vitres sont fins et se raccordent à leurs voisins ; une chaîne se couche dans l’axe sur lequel elle est posée |
plant, water_plant, crop |
des plantes (plus bas) |
barrel, bookshelf, chiseled_bookshelf, shelf, composter, crafting_table, chest, furnace |
des blocs qui servent à quelque chose (plus bas) |
sign, hanging_sign |
des panneaux (plus bas) |
path, ore |
des chemins et des minerais (plus bas) |
material vaut stone (par défaut), wood ou metal, pour les sortes où cela compte : une porte ou une trappe en bois s’ouvre à la main, une en métal seulement avec de la redstone. Les dalles, escaliers, clôtures, boutons, plaques et piliers sont aussi fabriqués comme ceux du jeu de ce matériau.
Ce qu’il reprend du bloc du jeu. Sans fichiers à lui, un bloc d’une sorte reprend l’état de bloc et les modèles du jeu avec ta texture (par défaut textures/block/<id>.png), son objet, son butin et ses tags : les clôtures se raccordent aux clôtures, les bûches comptent comme des bûches, une porte lâche un objet. Là où le bloc du jeu utilise plusieurs textures, une texture à toi de même terminaison est utilisée si le mod l’a : <id>_top.png et <id>_bottom.png pour une porte, <id>_top.png pour un pilier, <id>_front.png et <id>_front_on.png pour un four. S’il a ses propres modèles, son butin ou ses tags, ce sont ceux-là qui servent. hardness, sound, light et les autres propriétés de Blocs, objets et recettes marchent comme pour n’importe quel bloc.
Plantes et cultures
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: dessinée comme deux images croisées, comme l’herbe, une fleur, un champignon ou une pousse. Rien n’entre en collision avec elle et elle a besoin d’un sol.water_plant: une plante qui vit sous l’eau, comme la zostère.crop: elle pousse du stade 0 au stade 3 toute seule et avec de la poudre d’os. Son étatagese lit avecblock.state("age"), et<id>_stage0.pngà<id>_stage3.pngsont ses textures à chaque stade.
grows_on liste les blocs sur lesquels elle se tient, des ids ou des tags comme #minecraft:dirt. Sans lui, une plante pousse là où pousse la plante du jeu de sa sorte (une culture sur de la terre labourée). Une plante dont le sol disparaît se brise.
Blocs qui servent à quelque chose
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" }Ils gardent leurs objets, ouvrent leur écran et fonctionnent comme ceux du jeu : un tonneau contient 27 piles, une bibliothèque chiselée 6 livres, une étagère 3 objets, un composteur se remplit, un établi fabrique, un four cuit et est allumé tant qu’il brûle.
Un chest est dessiné avec textures/entity/chest/<id>.png, et deux côte à côte forment un grand coffre, dessiné avec <id>_left.png et <id>_right.png dans ce même dossier. Elles ont la disposition des textures de coffre du jeu.
Panneaux
block "willow_sign" { kind: "sign", sound: "wood" }
block "willow_hanging_sign" { kind: "hanging_sign", sound: "wood" }Les joueurs y écrivent comme sur ceux du jeu. Déclarer un panneau déclare aussi sa forme murale, le bloc que son objet pose contre un mur : jade_sign vient avec jade_wall_sign, et jade_hanging_sign avec jade_wall_hanging_sign. wall donne cet id toi-même. La forme murale lâche le panneau. Un panneau suspendu pend sous un bloc, et sa forme murale sort du côté d’un bloc.
Chemins et minerais
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 est un peu plus bas qu’un bloc, comme le chemin de terre du jeu. Une pelle le fait à partir de son base quand il y a de l’air au-dessus. Il redevient son bloc de base quand un bloc le recouvre, et il lâche son bloc de base.
Un ore libère de l’expérience quand il est cassé sans Toucher de soie : xp est un nombre ou [min, max]. Pour qu’il se lâche lui-même avec Toucher de soie et en lâche davantage avec Fortune, voir Butin dans Blocs, objets et recettes.
Blocs attachés
Avec attached: true, un bloc est fixé au bloc contre lequel il est posé, et il se brise quand celui-ci disparaît. Ces propriétés marchent sur n’importe quel bloc, avec ou sans sorte.
block "crystal_shard" {
attached: true
states: ["facing_all"]
model: "block/crystal_shard"
}
block "glow_bulb" {
attached: true
floor_state: "standing"
states: ["standing"]
light: 12
}- Avec un état
"facing"ou"facing_all", il est tourné à l’opposé de ce qui le tient :facing_allregarde aussi vers le haut et vers le bas, si bien qu’un éclat peut se poser sur un sol, un mur ou un plafond (voir États de bloc dans Blocs, objets et recettes). floor_statenomme un état interrupteur qui est activé quand le bloc se tient sur un sol et désactivé quand il pend à un plafond, comme une lanterne. Déclare aussi l’interrupteur dansstates.
Sièges et blocs de deux de haut
block "stool" { seat: 9, shape: [[3, 0, 3, 13, 9, 13]] }
block "throne" {
model: "block/throne"
seat: 10
upper: "top"
states: ["facing", "top"]
}seat permet aux joueurs de s’asseoir sur le bloc d’un clic à main nue, à ce nombre de pixels au-dessus de sa base (0 à 16 ; une chaise fait environ 10). Si le bloc a un on_use qui prend le clic, le joueur ne s’assoit pas.
upper fait du bloc un bloc de deux de haut, comme une porte ou une grande chaise : il nomme un état interrupteur qui est activé dans sa moitié haute. Le poser pose les deux moitiés quand il y a de la place au-dessus, en casser une casse les deux, et seule la moitié basse le lâche. On s’assoit sur une moitié basse pour un siège de deux de haut. Déclare aussi l’interrupteur dans states. La moitié haute a un aspect à elle comme tout état : ici models/block/throne_top.json.
Plantes en colonne
block "glow_vine" {
plant: true
column: "hanging"
states: [{ shape: ["top", "middle", "bottom"] }]
}column fait pousser une plante en colonne, comme une liane suspendue. Son état shape suit la même plante au-dessus et en dessous : bottom sans rien en dessous, top sans rien au-dessus, middle entre les deux. Déclare-le dans states sous la forme { shape: ["top", "middle", "bottom"] } ; les textures <id>_middle.png et <id>_bottom.png sont ses aspects à ces endroits.
hanging: elle pend au bloc du dessus, qui est la même plante, des feuilles ou un bloc plein par en dessous.standing: elle se tient sur son sol (grows_on) ou sur la même plante.
Sans ce qui la soutient, elle se brise, et les plantes qui pendent ou se tiennent sur elle partent avec.
Propriétés
| Propriété | Valeurs | Par défaut |
|---|---|---|
kind |
l’une des sortes ci-dessus | cube |
material |
stone, wood, metal |
stone |
base |
pour les escaliers et les chemins : le bloc dont ils sont faits, le tien ou celui du jeu | — |
grows_on |
pour les plantes : ids de blocs et tags | le sol de sa sorte |
wall |
pour les panneaux : l’id de la forme murale | jade_sign → jade_wall_sign |
xp |
pour les minerais : un nombre ou [min, max] |
— |
attached |
fixé au bloc contre lequel il est posé | false |
floor_state |
avec attached : l’interrupteur activé quand il se tient sur un sol |
— |
seat |
pixels au-dessus de sa base où s’assoient les joueurs (0–16) | pas un siège |
upper |
deux de haut : l’interrupteur activé dans sa moitié haute | — |
column |
hanging ou 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")
}Les sortes sont dans BlockKind et les matériaux dans BlockMaterial. Les autres propriétés ont les mêmes noms en camelCase : growsOn, floorState, xp = 1..4, column = Column.HANGING. facingAll() et choice(name, …) déclarent les états.