Créer la base de son mod
-
En effet, j’ai modifié le tutoriel pour le préciser.
-
Bonjour à tous
Je suis nouveau sur le forum ^^
Je suis rendu à 14.56 sur la vidéo ( environ ) et lorsque que je met la commande @EventHandler,
l’import que j’ai n’est pas le même dans la vidéo, à la fin j’ai une asterix :import net.minecraftforge.fml.common.eventhandler.*;Et à la ligne 15, ou il y à écrit @EventHandler, j’ai une ampoule avec une croix qui dit “EventHandler cannot be resolved to a type”.
Je ne sais pas d’ou ça vient, une idée ?merci d’avance

-
Salut,
ça ne devrait pas poser problème mais tu peux toujours supprimer la ligne avec l’import puis refaire l’important manuellement en mettant la souris sur l’erreur du @EventHandler. Si ça pose toujours problème, tu peux aussi écricre @Mod.EventHandler.
-
Merci pour le tuto, super bien fait et je dois dire que c’est très pratique d’avoir mis le résultat sur github et pas mal de détails c’est assez intéressant plus les pré-requis franchement c’est du bon travail !

-
Bonjour,
Je commence le modding sur minecraft et je suis en train de suivre les tutoriels. Désolé d’ailleurs par avance si je déterre un sujet qui ne devrait pas l’être ou si je poste ma question au mauvais endroit, je suis nouveau.
Je n’arrive pas bien à comprendre à quoi sert un proxy et un logger. Si jamais ce sont des éléments de base de java que je devrais connaître, je demande pas forcément qu’on me ré-explique, une redirection vers une explication bien faite sur internet me conviendra totalement. Et si jamais c’est mieux expliqué dans la suite des tutoriels, désolé par avance pour le dérangement.Merci d’avance pour vos réponses.
-
Salut,
Il n’y a aucun problème à répondre dans les tutoriels si c’est pour posé des questions en rapport avec ce dernier, peu importe l’âge du tutoriel.Le logger est un objet qui va te servir par la suite pour afficher des messages dans la console, avec automatiquement le nom de ton mod entre crochet au début de message.
Il te mettra d’afficher les erreurs, ou simplement des informations dans les logs.Les classes de proxy te permette quand à elle se séparer la logique client de la logique serveur, très important car si tu mets de la logique client sur des classes communes au client et au serveur, ton mod va crasher lorsqu’il sera installé sur un serveur.
-
Ok ! Merci beaucoup ! Je pense que c’est plus clair, ça va m’aider à comprendre la suite. Une autre chose, tu ne précises pas vraiment pourquoi on passe un “File configFile” en argument de la fonction preInit de la classe proxy common. Est-ce que ça va s’éclaircir par la suite ?
-
Il va servir si tu fais un fichier de configuration.
Si tu ne prévois pas d’avoir de fichier de config, tu n’as pas besoin de cette argument. -
Ok, je vais le laisser pour l’instant, je verrai s’il me sert plus tard, sinon je le retirerai. Merci beaucoup ! J’ai d’autres questions, mais je vais les poser dans les tutoriels concernés au fur et à mesure que j’avance. (Je les relis et ré-écoute plusieurs fois pour être sûr de ne pas être passé à côté des réponses à mes questions avant de les poser ! ^^)
-
@robin4002 a dit dans Créer la base de son mod :
Et à l’intérieur de la fonction «public void init(FMLInitializationEvent event)» ajoutez «proxy.init();»
Vos deux fonctions dans la classe principale devraient être maintenant comme cela :
@EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); proxy.preInit(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(); }logger cannot be resolved to a variable
oui logger cannot be resolved to a variablele code
package com.google.modaichmod; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod.EventHandler; import net.minecraftforge.fml.common.Mod.Instance; import net.minecraftforge.fml.common.SidedProxy; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; @Mod(modid = ModDaichMod.MODID, name = "Mod Daich's mod for 1.7.10", version = "0.0.3", acceptedMinecraftVersions = "[1.8.9]") public class ModDaichMod { public static final String MODID = "tutorial"; @Instance(ModDaichMod.MODID) public static ModDaichMod instance; @SidedProxy(clientSide = "à modifier ensuite", serverSide = "à modifier ensuite") public static DaichCommon proxy; @EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); proxy.preInit(event.getSuggestedConfigurationFile()); } @EventHandler public void init(FMLInitializationEvent event) { proxy.init(); } } -
Il faut lire tout le tutoriel, sans sauter des étapes.
@robin4002 a dit dans Créer la base de son mod :
Nous allons maintenant ajouter le logger (importez org.apache.logging.log4j.Logger) et les deux fonctions suivantes :
public static Logger logger; @EventHandler public void preInit(FMLPreInitializationEvent event) { logger = event.getModLog(); // initialise le logger. event.getModLog() retourne un logger avec votre modid } @EventHandler public void init(FMLInitializationEvent event) { } -
Bonjour,
À l’étape “Code” j’ai un problème : Intellij ne reconnait pas modid lorsque je fais @Mod(modid = “nomdumode”)
Intellij me souligne en rouge “modid” et me renvoie l’erreur :
Cannot resolve method ‘modid’J’ai essayé de redémarrer Intellij mais ça n’a rien changé
-
Bonjour,
Tu es en quelle version ? -
@robin4002
Mon Intellij est en version ultimate 2019.1.3
J’utilise Minecraft Forge - MC 1.13.2 avec la version de Minecraft 1.14.2 (car je n’ai pas trouvé comment mettre une version précédente du jeu).
Est-ce que le problème pourrait venir de la version de Minecraft qui ne correspond pas à celle de Forge ? -
La version qui se trouve sur ton launcher n’a aucune incidence sur ta version de développement.
Comme tu as pris le MDK de forge 1.13.2, tu es en 1.13.2Ton problème vient du fait que tu es en train de suivre un tutoriel pour la 1.8.x à la 1.12.x.
Celui pour la 1.13.2 est ici : https://www.minecraftforgefrance.fr/topic/5359/créer-la-base-d-un-mod (la version des tutoriels est indiqués à l’aide des tags, visible en bas à gauche). -
@robin4002
Merci, problème réglé !
Effectivement, je n’avais pas vu que j’étais sur un tutoriel d’une version précédente. -
quand je passe ma souris sur @Mod sa ne m’affiche le fait de pouvoir importer “net.minecraftforge.fml.common.Mod”
-
Tu as fait l’étape setupDecompWorkspace ?
-
oui
-
Dans les bibliothèques du projet, Forge apparait ?