Pour faire ce tuto il vous faut avoir fait cette page
[ml/vanilla]Un objet (item) #3 outils
Sommaire:
I. situer ce qu'il faut changer
II. quel outil fabriquer
III. Bonus sur faire son propre matériel
I : situer ce qu'il faut changer
Pour commencer, vous réalisez la même procédure que pour un item normal dans le mod_x sauf à la ligne
Code (java):
public static final Item MonObjet= new ItemMonObjet( 12060 ) .setItemName ( "MonObjet" ) ;
II : quel outil fabriquer
Vous remplacez le "new ItemMonObjet(12060)" par " new ItemPickaxe(12060, EnumToolMaterial.IRON)"
Explications :
new ItemPickaxe : dit que c'est une pioche
12060 : Id de l'objet
EnumToolMaterial.IRON : dit que ce sera aussi puissant que le fer (IRON)
(WOOD: bois STONE: pierre IRON: fer EMERALD: diamant GOLD: or)
ce qui fait :
Code (java):
public static final Item MonObjet= new ItemPickaxe( 12060 , EnumToolMaterial.IRON ) .setItemName ( "MonObjet" ) ;
C'est fini, il ne faut pas de fichier "ItemMonObjet.java" car nous utilisons déjà "ItemPickaxe.java".
Vous remplacez le "new ItemMonObjet(12060)" par "new ItemSword(12060, EnumToolMaterial.IRON)"
Explications :
new ItemSword : dit que c'est une épée
12060 : Id de l'objet
EnumToolMaterial.IRON : dit que ce sera aussi puissant que le fer (IRON)
(WOOD: bois STONE: pierre IRON: fer EMERALD: diamant GOLD: or)
ce qui fait :
Code (java):
public static final Item MonObjet= new ItemSword( 12060 , EnumToolMaterial.IRON ) .setItemName ( "MonObjet" ) ;
C'est fini, il ne faut pas de fichier "ItemMonObjet.java" car nous utilisons déjà "ItemSword.java".
Vous remplacez le "new ItemMonObjet(12060)" par "new ItemSpade(12060, EnumToolMaterial.IRON)"
Explications :
new ItemSpade : dit que c'est une pelle
12060 : Id de l'objet
EnumToolMaterial.IRON : dit que ce sera aussi puissant que le fer (IRON)
(WOOD: bois STONE: pierre IRON: fer EMERALD: diamant GOLD: or)
ce qui fait :
Code (java):
public static final Item MonObjet= new ItemSpade( 12060 , EnumToolMaterial.IRON ) .setItemName ( "MonObjet" ) ;
C'est fini, il ne faut pas de fichier "ItemMonObjet.java" car nous utilisons déjà "ItemSpade.java".
Vous remplacez le "new ItemMonObjet(12060)" par "new ItemHoe(12060, EnumToolMaterial.IRON)"
Explications :
new ItemHoe : dit que c'est une houe
12060 : Id de l'objet
EnumToolMaterial.IRON : dit que ce sera aussi puissant que le fer (IRON)
(WOOD: bois STONE: pierre IRON: fer EMERALD: diamant GOLD: or)
ce qui fait :
Code (java):
public static final Item MonObjet= new ItemHoe( 12060 , EnumToolMaterial.IRON ) .setItemName ( "MonObjet" ) ;
C'est fini, il ne faut pas de fichier "ItemMonObjet.java" car nous utilisons déjà "ItemHoe.java".
Vous remplacez le "new ItemMonObjet(12060)" par "new ItemAxe(12060, EnumToolMaterial.IRON)"
Explications :
new ItemAxe : dit que c'est une hache
12060 : Id de l'objet
EnumToolMaterial.IRON : dit que ce sera aussi puissant que le fer (IRON)
(WOOD: bois STONE: pierre IRON: fer EMERALD: diamant GOLD: or)
ce qui fait :
Code (java):
public static final Item MonObjet= new ItemAxe( 12060 , EnumToolMaterial.IRON ) .setItemName ( "MonObjet" ) ;
C'est fini, il ne faut pas de fichier "ItemMonObjet.java" car nous utilisons déjà "ItemAxe.java".
Fin.
III : Bonus sur faire son propre matériel
faire son propre matériel et le faire réparer par l'enclume :
dans "EnumToolMaterial.java",
sous
Code (java):
public enum EnumToolMaterial
{
écrivez :
Code (java):
MonMateriel( 3 , 999 , 8.0F, 3 , 10 ) ,
Explications :
MonMateriel : nom du matériau
3 : niveau de récupération
999 : blocs récupérables avant que l'outil se casse
8.0F : vitesse de cassage des blocs
3 : dégâts contre les entités
10 : chance de bons enchantements
A la fin de la classe il est écrit :
Code (java):
public int getToolCraftingMaterial( )
{
return this == WOOD ? Block.planks .blockID : ( this == STONE ? Block.cobblestone .blockID : ( this == GOLD ? Item.ingotGold .shiftedIndex : ( this == IRON ? Item.ingotIron .shiftedIndex : ( this == EMERALD ? Item.diamond .shiftedIndex : 0 ) ) ) ) ;
}
devant
Code (java):
: ( this == EMERALD ? Item.diamond .shiftedIndex : 0
écrivez
Code (java):
: ( this == MonMateriel ? Item.diamond .shiftedIndex : 0 )
Explications:
MonMateriel : le matériau à réparer
Item.diamond.shiftedIndex : l'id de l'objet requis (format code)
C'est fini, pour utiliser votre matériel, faites EnumToolMaterial.MonMateriel.
Fin.