Résolu Event onCrafting()
-
Bonjour
Je reviens encore pour un problème d’achievement (Et oui, encore :/)
Tout simplement, quand je craft l’item indiqué dans le code, je n’ai pas l’achievement. Voici les codesJ’ai déclaré les achievements
public static AchievementPage NawakPage; public static Achievement obtenirGrenat; public static Achievement obtenirSaphir; public static Achievement obtenirRubis;
Je les ai créé
//Achievements obtenirGrenat = new Achievement("achievement.obtenirGrenat", "obtenirGrenat", 0, 0, this.Grenat, (Achievement)null).initIndependentStat().registerStat(); obtenirSaphir = new Achievement("achievement.obtenirSaphir", "obtenirSaphir", -2, 0, this.Saphir, obtenirGrenat).registerStat(); obtenirRubis = new Achievement("achievement.obtenirRubis", "obtenirRubis", 2, 0, this.Rubis, obtenirGrenat).registerStat(); NawakPage = new AchievementPage("Nawak", obtenirGrenat, obtenirSaphir, obtenirRubis); AchievementPage.registerAchievementPage(NawakPage);
Création d’une class avec mes events
MinecraftForge.EVENT_BUS.register(new CraftingHandler());
Et le code de CraftingHandler
package fr.zery59.modnawak.common; import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent.ItemCraftedEvent; import cpw.mods.fml.common.gameevent.PlayerEvent.ItemPickupEvent; public class CraftingHandler { @SubscribeEvent public void onCrafting(ItemCraftedEvent event) { System.out.println("event launched"); if (event.crafting.getItem() == Nawak.Grenat) { event.player.addStat(Nawak.obtenirGrenat, 1); } } }
Voilà j’espère que vous pourrez m’aider. merci d’avance
-
C’est juste une hypothèse, essaye de changer MinecraftForge.EVENT_BUS.register(…) par FMLCommonHandler.instance().bus().register(…)
-
Bonne hypothèse, ça fonctionne ! Merci beaucoup Ça mérite 2 points de réputation positif !
-
Haha ravi de t’avoir aidé