• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Tutorial un peu plus détailler

Suggestions pour le forum
8
14
4.1k
Charger plus de messages
  • Du plus ancien au plus récent
  • Du plus récent au plus ancien
  • Les plus votés
Répondre
  • Répondre à l'aide d'un nouveau sujet
Se connecter pour répondre
Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
  • BlackDrag00n
    BlackDrag00n dernière édition par robin4002 30 juin 2019, 10:38 15 juin 2014, 00:17

    Bonjour a tous,

    Je me permet de donnée une suggestion, car étant débutant dans le modding minecraft et suivant divers tuto dont quasiment tous ceux du forum. J’ai remarqué que j’avais des difficulté à suivre à la lettre les tutos et que je pose beaucoup de question à la communauté pour pas grand chose.

    Ce qui serais bien c’est que dans les tutos, on nous précise qu’elle classe est modifier au fur et a mesure du tuto, voici un exemple concret :


    Une parti d’un tuto aujourd’hui

    Classe du packet :

    Le packet est ce qui va permettre au c
    lient et au serveur de se transmettre les données. Cette classe est propre à ma manière d’utiliser les packets. Il est possible que vous n’ayez pas à faire la même chose. Dans ce cas, inspirez-vous de ce que je fais.

    Note : Si vous souhaitez faire comme moi, vous devez avoir FFMT-Lib

    public class PacketMoney extends AbstractPacket{
    private int maxMoney, Money;
    public PacketMoney(){
    }
    public PacketMoney(int maxMoney, int money){
    this.maxMoney = maxMoney;
    this.money = money;
    }
    @Override
    public void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {
    buffer.writeInt(maxMoney);
    buffer.writeInt(money);
    }
    @Override
    public void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {
    this.maxMoney = buffer.readInt();
    this.money = buffer.readInt();
    }
    @Override
    public void handleClientSide(EntityPlayer player) {
    ExtendedEntityPropTuto props = ExtendedEntityPropTuto
    .get(player);
    props.maxMoney = this.maxMoney;
    props.money = this.money;
    }
    @Override
    public void handleServerSide(EntityPlayer player) {
    ExtendedEntityPropTuto props = ExtendedEntityPropTuto
    .get(player);
    props.maxMoney = this.maxMoney;
    props.money = this.money;
    }
    }

    #Ce qui pourrait être sympa c’est de rajouter dans qu’elle package est la classe ainsi que son nom :(Ce qui pourrait être sympa c’est de rajouter dans qu’elle package est la classe ainsi que son nom 🙂

    Classe du packet :

    Package : fr.minecraftforgefrance.tutoriel.packets
    Classe : PacketMoney.java

    Le packet est ce qui va permettre au client et au serveur de se transmettre les données. Cette classe est propre à ma manière d’utiliser les packets. Il est possible que vous n’ayez pas à faire la même chose. Dans ce cas, inspirez-vous de ce que je fais.
    :::

    Note : Si vous souhaitez faire comme moi, vous devez avoir FFMT-Lib

    public class PacketMoney extends AbstractPacket{
    private int maxMoney, Money;
    public PacketMoney(){
    }
    public PacketMoney(int maxMoney, int money){
    this.maxMoney = maxMoney;
    this.money = money;
    }
    @Override
    public void encodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {
    buffer.writeInt(maxMoney);
    buffer.writeInt(money);
    }
    @Override
    public void decodeInto(ChannelHandlerContext ctx, ByteBuf buffer) {
    this.maxMoney = buffer.readInt();
    this.money = buffer.readInt();
    }
    @Override
    public void handleClientSide(EntityPlayer player) {
    ExtendedEntityPropTuto props = ExtendedEntityPropTuto
    .get(player);
    props.maxMoney = this.maxMoney;
    props.money = this.money;
    }
    @Override
    public void handleServerSide(EntityPlayer player) {
    ExtendedEntityPropTuto props = ExtendedEntityPropTuto
    .get(player);
    props.maxMoney = this.maxMoney;
    props.money = this.money;
    }
    }

    :::


    Ainsi qu’un GitHub serait un plus non négligable.

    Voila c’est mon avis car actuellement je suis bloquer dans mon apprentissage, car je ne sais pas ou je doit insérer une série de code.

    1 réponse Dernière réponse Répondre Citer 0
    • Diangle
      Diangle dernière édition par 15 juin 2014, 08:21

      non, cela ne changera rien en le code, à la limite expliquer le code oui (se qui normalement doit être fait), je te conseille en revanche d’apprendre le java, tu as des sites utiles pour sa, sinon il faut que tu commence tous les tuto les plus basique et que tu enchaîne après sur les plus complexe.
      vas ici si tu veux apprendre le java:
      fr.openclassrooms.com/informatique/cours/apprenez-a-programmer-en-java

      tu peux ausi suivre les TP de Blackout ^^.

      1 réponse Dernière réponse Répondre Citer 0
      • BlackDrag00n
        BlackDrag00n dernière édition par 15 juin 2014, 09:03

        je ne suis pas d’accord avec toi si tu met des méthode dans une autre classe que la classe main sa ne fonctionnera pas, vrai ou pas ?

        1 réponse Dernière réponse Répondre Citer 0
        • utybo
          utybo dernière édition par 15 juin 2014, 09:05

          Pas vrai. Tout dépend des circonstances
          Et si tu veut voir où va quoi, il y a le GitHub qui a été rajouté pour ça! (Il est déjà dispo sur 90% des tutos validés si non il va bientôt être rajouté)

          Moddeur à la retraite et développeur de trucs en Java.

          J'aide les gens comme je peux, alors si mon message v…

          1 réponse Dernière réponse Répondre Citer 0
          • BlackDrag00n
            BlackDrag00n dernière édition par robin4002 30 juin 2019, 10:36 15 juin 2014, 09:22

            Donc vrai … car tous dépend des circonstances …

            Je dit cela car j’ai du mal a suivre certain tuto, étant au niveau débutant … et pourtant je programme en PHP, C, C++, C#.
            Certes, je ne me considéré pas comme un pro de ces langages mais j’ai atteins un certain niveau de logique…

            exemple: en quelques heures j’ai compris le fonctionnement d’affichage HUD > [1.7.x] [Résolu] Afficher du texte ou image sur le HUD d’un joueur <

            Et malgré cela j’ai pas pu suivre les tutos qui nous sont quand même un peu destiné a nous débutant en modding java minecraft, chose que je ne trouve pas normal pour des tutos, après j’apporte une suggestion car moi sa a été mon problème sur les tutos, désoler si certaines personnes prennent mal ce que je dit c’est pas mon but, mon but est apporter des améliorations pour rendre les tutos plus agréable au débutant…

            Par exemple la je suis bloquer ici avec des Event Handler > [1.7.x] Crée de nouvelle valeurs (données) joueurs sauvegarder (exemple : mana) < en suivant le tuto > [1.7.2] Extended Entity Properties <, il n’y a pas de GitHub dans ce tuto et c’est justement mal indiquer sur ou insérer les méthodes.

            D’après ce tuto > [1.7.x] Utiliser les évenements < on peut les mettre dans la classe “ExtendedEntityPropTuto” mais dans ces cas la il manque ceci dans le tuto “[1.7.2] Extended Entity Properties” :

            FMLCommonHandler.instance().bus().register(new ExtendedEntityPropTuto());
            

            Après je me trompe peut etre dans ces cas la je vous invite a me corrigé sur mon problème dans support plutôt que ici car ce n’est pas le sujet et que je peux me tromper je suis la pour apprendre et comprendre avant tous !


            ps : Je voulais juste d’ailleurs remercier “robin4002” pour son aide apporter et de toutes ces explications

            1 réponse Dernière réponse Répondre Citer 0
            • Gugu
              Gugu dernière édition par 15 juin 2014, 09:47

              Je pense que ce n’est pas nécessairement utile.

              Déjà, pour le nom de la classe, il se voit dans le code :

              public class PacketMoney

              Ensuite, les packages, c’est simplement comme on le préfère.
              Certaines personnes utilisent un seul package “Network” et mettent tout ce qui concerne le réseau dedans, d’autres font des packages “packets” et s’organisent autrement etc…

              "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
              ― Jordan B. Peterson

              1 réponse Dernière réponse Répondre Citer 0
              • BlackDrag00n
                BlackDrag00n dernière édition par 15 juin 2014, 09:52

                Oui, mais dans mon exemple les Event Handlers si je l’est rajout dans la classe “ExtendedEntityPropTuto”, minecraft et mon mod va les initialiser ? il n’y a pas besoin de l’indiquer dans l’une des méthodes suivante dans mon “Main” ?

                @EventHandler
                public void preInit(FMLPreInitializationEvent event)
                {
                }
                @EventHandler
                public void init(FMLInitializationEvent event)
                {
                }
                @EventHandler
                public void postInit(FMLPostInitializationEvent event)
                {
                }
                1 réponse Dernière réponse Répondre Citer 0
                • Gugu
                  Gugu dernière édition par robin4002 30 juin 2019, 10:38 15 juin 2014, 09:54

                  Non, il faut les mettre dans un event handler …

                  Je te rappelle qu’il faut suivre les pré-requis

                  https://www.minecraftforgefrance.fr/topic/636/utiliser-les-événements

                  "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                  ― Jordan B. Peterson

                  1 réponse Dernière réponse Répondre Citer 0
                  • BlackDrag00n
                    BlackDrag00n dernière édition par 15 juin 2014, 10:04

                    Oui mais pour “savoir manipuler les packets et les events” la théorie c’est bien beau, mais je pense qu’il faut quand même pratiquer pour savoir le faire.

                    Étape a laquelle j’en suis… et dans le tuto il n’y a pas d’explication sur le fait de crée la classe EventHandler puis l’appeler dans le Main dans l’INIT.

                    Mais avec toutes ces discussion je pense me dirigé sur la bonne voie et comprendre le fonctionne grâce aux tuto, vos explication et la pratique.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Superloup10
                      Superloup10 Modérateurs dernière édition par 15 juin 2014, 10:40

                      Les “@EventHandler” se mettent dans 90% du temps au-dessus des méthodes ayant en paramètre “FMLPreInitialisationEvent”, “FMLInitialisationEvent”, “FMLPostInitialisationEvent”. Pour les Events, c’est toujours “@SubscribeEvent” au-dessus.

                      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                      1 réponse Dernière réponse Répondre Citer 0
                      • robin4002
                        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 15 juin 2014, 12:01

                        100 %*
                        @EventHandler c’est que pour les étapes d’initialisations des mods, rien d’autre.

                        Personnellement je ne vois pas en quoi indiquer le nom de la classe et le package va aider, car tu peux n’importe quel non à la classe et n’importe quel nom de package selon tes envies / ta façon de t’organiser.

                        Ce qu’il manque surtout pour suivre le tutoriel de gugu, c’est un tutoriel sur les paquets, je vais voir pour faire ça car les paquets sont vraiment quelque chose d’important.

                        1 réponse Dernière réponse Répondre Citer 0
                        • BlackDrag00n
                          BlackDrag00n dernière édition par 15 juin 2014, 12:04

                          En faite étant donnée que nous on n’a pas les sources GitHub ou autre pour suivre le tuto, on n’a que les choses qui y sont inscrit.

                          Avec le nom des packages et classe qu’il a utiliser on pourrait suivre plus facilement les fichiers qu’il indique et modifie au fur et a mesure des avancement du tuto.

                          Pour d’autre tuto il y avait Github donc je m’en suis servit pour suivre l’avancement des fichiers qu’y est demander dans les tutos.

                          Après je sais bien qu’on peut donner les noms de classe ou méthode différent selon ce qu’on veut nous, mais pour un exemple dans le tuto de suivre les fichiers qui ont servit au tuto aide.

                          Par exemple pour mon probleme d’Event Handler depuis qu’on ma founit un GitHub qui a servit au tuto bah je m’en sert pour retrouver mes petis par rapport au tuto donc je m’adapte ce qui est pas évident pour un débutant (merci pour mes années de prog en C et PHP sa m’aide beaucoups :p)

                          1 réponse Dernière réponse Répondre Citer 0
                          • RedRelay
                            RedRelay Moddeurs confirmés dernière édition par 15 juin 2014, 15:18

                            La c’est des lacunes en Java qui te posent problème et pas des problèmes lié a la clareté des tutoriaux.
                            Quand tu créés une classe, tu peux la mettre dans n’importe quel package, ça ne change rien.
                            De plus les mods avec forge ne modifie aucun objet.

                            –------------------------------------------------------------------------------------
                            Si tu trouves mon intervention pertinente, n'hésite pas a m…

                            1 réponse Dernière réponse Répondre Citer 0
                            • F
                              FireDreft dernière édition par 16 juin 2014, 07:48

                              La partie “Suggestions” est là pour ça, que les utilisateurs et coddeurs puissent donner leur avis pour nous permettre d’améliorer le forum 😉
                              Donc, même si ton idée n’est pas forcément utile et ne sera peut-être pas mise en place, personne ne te critiquera pour le dire, bien au contraire !

                              C’est grâce à vous que le forum se développe, et grâce au courage des Admins et personnes qui rédigent les tutoriels que nous proposerons toujours du contenu interessant 😄

                              1 réponse Dernière réponse Répondre Citer 1
                              • 1 / 1
                              1 sur 14
                              • Premier message
                                1/14
                                Dernier message
                              Design by Woryk
                              Contact / Mentions Légales

                              MINECRAFT FORGE FRANCE © 2018

                              Powered by NodeBB