1. Wiki
  2. /Blocs
  3. /Ton premier bloc personnalisé

Ton premier bloc personnalisé

Crée un bloc de rubis lumineux pour Minecraft Bedrock : le fichier du bloc, sa texture, son son, son nom et son butin, étape par étape.

Dans ce guide, tu vas créer un bloc de rubis : un cube rouge brillant qui luit un peu, qui met un moment à se miner et qui se lâche lui-même quand on le casse. C'est le « hello world » de la création de blocs, et tous les blocs plus élaborés commencent de la même façon.

Il y a deux façons de faire. La méthode rapide prend quelques minutes sur ton téléphone. La méthode à la main t'apprend à quoi sert chaque fichier.

La méthode rapide : GodCraft

GodCraft crée pour toi le bloc, sa texture, son nom et son butin. Tu ne touches jamais à un fichier JSON.

  1. Ouvre l'Atelier et ajoute un Bloc à ton add-on.
  2. Peins les faces dans l'éditeur de pixels, ou pars d'une texture vanilla et change ses couleurs.
  3. Choisis le temps de minage, la quantité de lumière qu'il donne et ce qu'il lâche.
  4. Appuie sur Exporter. GodCraft écrit les manifestes, les UUID et les fichiers de langue, et te donne un .mcaddon.

Tu veux savoir ce qui se passe sous le capot ? Continue ta lecture.

À la main

Il te faut un pack de comportements (BP) et un pack de ressources (RP) déjà prêts. Si tu ne les as pas encore créés, suis d'abord Préparer le projet. Nous allons utiliser l'espace de noms myname : remplace-le partout par ton propre nom court.

Voici tous les fichiers que tu vas toucher :

FichierPackCe qu'il fait
blocks/ruby_block.jsonBPCe qu'est le bloc et comment il se comporte
loot_tables/blocks/ruby_block.jsonBPCe qu'il lâche
textures/blocks/ruby_block.pngRPL'image
textures/terrain_texture.jsonRPDonne un nom court à l'image
blocks.jsonRPLe son qu'il fait
texts/en_US.langRPLe nom que voient les joueurs

Étape 1 : le fichier du bloc

Crée ce fichier dans ton pack de comportements :

BP/blocks/ruby_block.json
{
  "format_version": "1.26.50",
  "minecraft:block": {
    "description": {
      "identifier": "myname:ruby_block",
      "menu_category": {
        "category": "construction"
      }
    },
    "components": {
      "minecraft:destructible_by_mining": {
        "seconds_to_destroy": 3
      },
      "minecraft:destructible_by_explosion": {
        "explosion_resistance": 6
      },
      "minecraft:friction": 0.4,
      "minecraft:light_emission": 4,
      "minecraft:map_color": "#9b1c2b",
      "minecraft:geometry": "minecraft:geometry.full_block",
      "minecraft:material_instances": {
        "*": {
          "texture": "ruby_block",
          "render_method": "opaque"
        }
      },
      "minecraft:loot": "loot_tables/blocks/ruby_block.json"
    }
  }
}

La partie description dit qui est le bloc :

  • identifier est l'ID du bloc, fait de ton espace de noms et d'un nom. Tu le taperas dans des commandes comme /give @s myname:ruby_block.
  • menu_category choisit l'onglet de l'inventaire créatif. Les choix possibles sont construction, nature, equipment, items et none (caché).

La partie components dit comment il se comporte :

  • minecraft:destructible_by_mining : seconds_to_destroy est le temps qu'il faut pour le miner à mains nues. Les blocs du genre pierre tournent autour de 1,5 à 3.
  • minecraft:destructible_by_explosion : plus explosion_resistance est grand, plus la TNT et les creepers ont du mal.
  • minecraft:friction : un nombre de 0 à 0,9. Plus il est grand, plus ça accroche ; les blocs du genre glace utilisent une petite valeur.
  • minecraft:light_emission : un nombre entier de 0 (pas de lumière) à 15 (aussi lumineux qu'une torche ou que la pierre lumineuse).
  • minecraft:map_color : la couleur du bloc sur une carte, en couleur hexadécimale.
  • minecraft:geometry : la forme. minecraft:geometry.full_block est un simple cube, tu n'as donc pas besoin de fichier de modèle.
  • minecraft:material_instances : quelle texture va sur quelle face. La clé * veut dire « toutes les faces ». texture est un nom court que tu définiras à l'étape 3.
  • minecraft:loot : la table de butin utilisée quand le bloc est cassé.

Des faces différentes

Tu veux un dessus et des côtés différents, comme un bloc d'herbe ? Ajoute d'autres clés à côté de * dans material_instances, comme up, down, north, south, east et west. Toute face que tu ne cites pas reprend *.

Étape 2 : la texture

Dessine un PNG de 16x16 pixels et enregistre-le dans ton pack de ressources sous RP/textures/blocks/ruby_block.png.

Tu débutes en pixel art ? Le guide Textures pixel art explique les tailles, la transparence et les ombres.

Étape 3 : donner un nom court à la texture

Les blocs ne pointent pas directement vers des fichiers PNG. Ils utilisent un nom court défini dans terrain_texture.json. Si ton pack a déjà ce fichier, ajoute l'entrée ruby_block dans texture_data. Sinon, crée-le :

RP/textures/terrain_texture.json
{
  "resource_pack_name": "myname",
  "texture_name": "atlas.terrain",
  "texture_data": {
    "ruby_block": {
      "textures": "textures/blocks/ruby_block"
    }
  }
}

Remarque que le chemin ne se termine pas par .png. Le jeu trouve le fichier tout seul.

Étape 4 : le son

Le blocks.json du pack de ressources indique au jeu quel ensemble de sons jouer quand tu marches sur le bloc, le poses ou le casses :

RP/blocks.json
{
  "format_version": "1.21.40",
  "myname:ruby_block": {
    "sound": "stone"
  }
}

Parmi les autres ensembles de sons courants des blocs vanilla, il y a wood, glass, metal, grass, sand, cloth, copper et deepslate.

Étape 5 : le nom

Sans nom, le jeu affiche quelque chose comme tile.myname:ruby_block.name. Ajoute cette ligne à ton fichier de langue :

RP/texts/en_US.lang
tile.myname:ruby_block.name=Ruby Block

Étape 6 : le butin

La table de butin décide de ce qui tombe. Celle-ci lâche le bloc lui-même, une fois :

BP/loot_tables/blocks/ruby_block.json
{
  "pools": [
    {
      "rolls": 1,
      "entries": [
        {
          "type": "item",
          "name": "myname:ruby_block"
        }
      ]
    }
  ]
}

Remplace name par n'importe quel ID d'objet, comme minecraft:diamond, pour que le bloc lâche autre chose.

Teste ton bloc

  1. Exporte et installe les deux packs comme expliqué dans Exporter et installer, puis active-les dans un monde.
  2. Ouvre l'inventaire créatif et regarde dans l'onglet Construction, ou lance /give @s myname:ruby_block. Voir /give.
  3. Pose-le la nuit : il doit luire doucement.
  4. Passe en survie et mine-le. Ça doit prendre quelques secondes et il doit se lâcher lui-même.

Problèmes courants

Damier violet et noir

Le jeu ne trouve pas la texture. Vérifie que le nom court dans material_instances correspond exactement à la clé dans terrain_texture.json, et que le chemin dans terrain_texture.json correspond au vrai emplacement du fichier, sans .png.

  • Le bloc n'est pas dans l'inventaire. Vérifie que menu_category n'est pas none et que le pack de comportements est activé.
  • Le bloc a un nom bizarre. La ligne du .lang doit utiliser l'ID complet, espace de noms compris.
  • Le bloc ne lâche rien. Vérifie que le chemin de minecraft:loot commence par loot_tables/ et correspond au nom du fichier.

Tu trouveras d'autres solutions dans Dépannage.

Et ensuite

We use cookies to improve your experience and analyse site traffic. Learn more