Recettes personnalisées

Que ce soit pour réintégrer des recettes disparues, ou en créer de nouvelles, voyons comment mettre en place des recettes personnalisées.

Recette sans schéma

Recette personnalisée Minecraft : quartz
Recette personnalisée Minecraft : quartz

Revenons à l’exemple du premier article. Ici, on transforme un bloc de quartz en quartz. La recette est simple : tout bloc de quartz placé dans l’établi sera transformé en quartz. Il s’agit donc d’une recette crafting_shapeless : crafting car il s’agit d’une recette pour l’établi et shapeless car aucun schéma ne doit être respecté. En ingrédient nous attendons un bloc de quartz et en résultat 4 quartz. Voici le contenu du fichier data/mangarmor/recipes/quartz_block-quartz.json :

{
    "type": "crafting_shapeless",
    "ingredients": [
        {
        "item": "minecraft:quartz_block"
        }
    ],
    "result": {
        "item": "minecraft:quartz",
        "count": 4
    }
}

Recette avec schéma

Recette personnalisée d'étiquette
Recette personnalisée d’étiquette

Il est également possible de créer des recettes devant respecter des schémas précis. Dans cet exemple de fabrication d’étiquette, nous précisons que du papier doit être placé en bas à gauche et au centre de l’établi, et qu’une ficelle doit être placée en haut à droite. Dans la recette, le schéma est indiqué par un tableau contenant des lignes de trois caractères, chacun représentant une colonne. Par convention, nous utiliserons les caractères # et X pour indiquer les différents ingrédients. Ainsi, la première ligne de la recette (en haut) doit contenir du vide, du vide et une ficelle qu’on représentera par # ce qui donne [  #]. Pour les deux autres lignes, nous utiliserons le symbole X pour représenter le papier. Nous écrirons donc [ X ] et [X  ]. Voici le code complet pour cette recette :

{
    "type": "crafting_shaped",
    "pattern": [
        "  #",
        " X ",
        "X  "
    ],
    "key": {
        "#": {
        "item": "minecraft:string"
        },
        "X": {
        "item": "minecraft:paper"
        }
    },
    "result": {
        "item": "minecraft:name_tag"
    }
}

Utilisation des tags

Commentaire d'un visiteur

Ce commentaire laissé sous le premier article du blog est intéressant et me permet d’introduire l’utilisation des tags dans les recettes. En effet, dans le cas d’une recette pour transformer n’importe quelle laine en ficelle, nous ne ferons pas une recette par couleur de laine. Au lieu de cela, nous utiliserons le tag wool pour cibler toutes les variations de laine. La recette sera donc :

{
    "type": "crafting_shapeless",
    "ingredients": [
        {
            "tag": "minecraft:wool"
        }
    ],
    "result": {
        "item": "minecraft:string",
        "count": 4
    }
}

Il existe de nombreux tags et de nouveaux sont régulièrement ajoutés. Pour les recettes de lits par exemple, on utilise le tag planks pour les planches de bois.

Autres recettes (four, …)

Commentaire d'un visiteur

Sur le serveur Discord Mang’Armor, Storyboard propose d’ajouter une recette de four pour transformer la chair putréfiée en cuir. Pour les recettes de cuisson dans un four, on utilisera le type smelting. Ici, pas de schéma mais un temps de cuisson. Si on regarde les recettes de lingot de fer, on comprend la structure des recettes de cuisson. Voici le contenu du fichier iron_ingot.json :

{
    "type": "minecraft:smelting",
    "ingredient": {
        "item": "minecraft:iron_ore"
    },
    "result": "minecraft:iron_ingot",
    "experience": 0.7,
    "cookingtime": 200
}

À noter qu’il existe aussi une version pour le haut fourneau qui réduit le temps de cuisson :

{
    "type": "minecraft:blasting",
    "ingredient": {
        "item": "minecraft:iron_ore"
    },
    "result": "minecraft:iron_ingot",
    "experience": 0.7,
    "cookingtime": 100
}

Nous pouvons également choisir l’expérience obtenue. Je décide de mettre autant d’expérience que pour la cuisson d’un steak : 0,35. Voici donc la recette complète. Pour respecter les normes de nommage du jeu nous enregistrons la recette dans le fichier leather_from_rotten_flesh.json :

{
    "type": "minecraft:smelting",
    "ingredient": {
        "item": "minecraft:rotten_flesh"
    },
    "result": "minecraft:leather",
    "experience": 0.35,
    "cookingtime": 200
}

Téléchargement

Le datapack de ce tutoriel est disponible au téléchargement sur Dropbox. J’y ai ajouté des exemples de recettes utilisées lors de la saison 2 du serveur.

Sommaire

Partager

Partager sur facebook
Facebook
Partager sur twitter
Twitter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.