Sommaire
Introduction
Bonjour à tous, je suis BrokenSwing et nous allons voir comment ajouter une recette de potion !
Pré-requis
Vous devez posséder un mod fonctionnel, référez-vous au tutoriel suivant Créer la base son mod
Code
La classe principale
Dans la fonction init(FMLInitializationEvent) de votre classe principale, nous allons enregistrer la recette :
@EventHandler
public void init(FMLInitializationEvent event)
{
//A la suite
BrewingRecipeRegistry.addRecipe(input, ingredient, output);
}
Ici les variables input, ingredient et output correspondent à des ItemStacks, dans une recette de potion classique l’input correspond aux potions que l’on
met dans les 3 slots à potion, l’ingredient correspond à … l’ingrédient ,une verrue du nether (nether wart) par exemple. Et l’output est la potion qui
va remplacer l’ancienne.
L’input doit être un objet qui possède une taille de stack maximale égale à 1, sinon le jeu va crash.
L’ingredient peut être n’importe quel objet du jeu.
L’output peut être n’importe quel objet du jeu, cependant il est conseillé de respecter les mêmes contraintes que pour l’input.
Dans le code donné ci-dessus il faut remplacer les variables par les ItemStacks correspondants.
Dans mon cas je vais créer une potion qui, alimentée par une pomme, me donnera un lit :
BrewingRecipeRegistry.addRecipe(new ItemStack(Items.POTIONITEM), new ItemStack(Items.APPLE), new ItemStack(Items.BED));
La même fonction existe mais prenant cette fois comme ingredient une chaine de charactère correspondant au nom associé à l’item dans OreDictionnary (si vous
ne connaissez pas OreDictionnary, utilisez la première version de la fonction)
BrewingRecipeRegistry.addRecipe(new ItemStack(Items.POTIONITEM), "egg", new ItemStack(Items.BED));
Dans le dernier des cas vous pouvez créer une classe qui implémentera l’interface IBrewingRecipe, puis ajouter la recette grâce à :
BrewingRecipeRegistry.addRecipe(new VotreClasseImplementantIBrewingRecipe());
Résultat
Il suffit de placer des fioles d’eau dans les slots de potion, mettre une pomme en ingrédient, alimenter le tout avec de la poudre de blaze, attendre, et vous obtenez des lits.