Créer un achievement
-
Question :
Quelqu’un connaîtrait la classe qui remplace ICraftingHandler en 1.7.2 ?
Voire même une alternative car la méthode registerCraftingHandler n’existe plus… -
ça passe maintenant par les event de fml (regarde le package cpw.mod.fml.common.gameevent)
-
Merci ça marche :).
(petit détail : cpw.modS.fml.common.gameevent)EDIT :
J’ai parlé trop vite. Peut-être est-ce que j’ai fait une bourde ?PlayerEvent.java qui est enregistré dans Basic.java
@SubscribeEvent public void onCrafting(ItemCraftedEvent event) { if(event.crafting.getItem() == Item.getItemFromBlock(Basic.crusher)) { event.player.triggerAchievement(Basic.getCrusher); } if(event.crafting.getItem() == Item.getItemFromBlock(Basic.compressor)) { event.player.triggerAchievement(Basic.getCompressor); } } -
Non c’est bien ça, je pense que tu as mal enregistré l’event, c’est un event fml donc il faut enregistrer la classe avec FMLCommonHandler.instance().bus().register(new NomDeLaClasse());
-
Ah d’accord, c’est pour ça.
On est bien d’accord qu’une classe d’event peut être enregistrée de 2 façons différentes et en même temps ? -
oui, c’est écrit dans le tutoriel sur les event.
-
Merci, ça marche

-
Salut les gars,
J’ai une question concernant l’icône de l’achievement.
Comment peux-t-on déclarer un certain metadata d’un item comme icône?
Je ne sais pas comment déclarer ça dans la fonction init.(En 1.7, sais-t-on jamais)
-
package net.minecraft.stats.Achievement;
public Achievement(String nom, String nomPourLaTraduction, int colonne, int ligne, ItemStack itemStackAvecMetadata, Achievement parent) -
Pour ma déclaration, par exemple:
achievementExemple = new Achievement("achievementExemple ",“AchievEx”,0,0,itemMetadata,null).registerStat();
Mais j’aimerais avoir pour icône non pas itemMetadata de metadata 0 (par défaut) mais itemMetadata de metadata 2 disons
EDIT: Ouki j’ai trouvé. Désolé les gars, les nuits blanches me font pas du bien. Mais j’ai ma solution suffisait de faire
ItemStack stack= new ItemStack(MonMod.MonItem, 1, 2);achievementExemple = new Achievement("achievementExemple ",“AchievEx”,0,0,stack,null).registerStat();
Par exemple
-
Oui c’est ce que je t’avais donné comme constructeur, un constructeur avec un ItemStack du coup tu pouvais mettre le metadata voulu