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

    Résolu Changer des propriétés déjà existantes

    Anciennes versions
    1.6.2
    5
    18
    6891
    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.
    • Minecraftienne
      Minecraftienne dernière édition par

      Salut tout le monde,

      Désolé pour le titre du sujet qui n’est pas très clair mais je ne savais pas comment le dire. Je souhaiterais modifier des choses qui existent déjà dans Minecraft (propriétés d’armures, changer les drops etc.) mais que ce soit toujours compatible en multi donc sans changer les classes déjà existantes et je connais pas le nom de la méthode qui permet de le faire !

      Merci d’avance 😉

      1 réponse Dernière réponse Répondre Citer 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

        Tu souhaite changer quoi exactement ? Ça sera plus pratique pour nous si tu nous donne la liste de ce que tu veux changer.
        Pour faire des changements sur quelques choses de minecraft sans toucher les classes il y a 3 méthodes :

        • Les events
        • La réflexion (comme elias l’a expliqué, même chose avec le système de Block.blocklist[id] = null et de recréer le bloc)
        • L’ams transformer, permet de replacer une classe par une autre (cf : playerAPI forge, NEi, TMI)

        Les events sont le mieux, tu es sur de ne pas avoir de problème avec eux.
        La réflexion, tu peux avoir quelques problèmes de communication, par exemple railcraft l’utilise pour modifier les items de cart, en conséquence si tu as railcraft en solo tu ne peux pas te connecté à un serveur forge qui n’a pas railcraft (donc pas très cool)
        L’ams à pour désavantage de devoir être mit à jour souvent, si tu change la classe Block.java par exemple, et qu’une version de forge changer les patch de Block.java, ton mod ne sera plus compatible avec cette nouvelle version de forge … Également, en utilisant l’asm tu peux dire à dieu aux avantages du reobf en srg, car il faut compiler avec le reobf normal (logique, comme ça va remplacer une classe de minecraft)

        Le mieux est donc les event, et pour savoir si ce que tu veux faire est possible avec les event, il faut que tu me dise ce que tu souhaite faire exactement.

        1 réponse Dernière réponse Répondre Citer 0
        • elias54
          elias54 Administrateurs dernière édition par

          Avec cette ligne :
          ObfuscationReflectionHelper.setPrivateValue(LaClassConcerné.class, manière d’y acceder, valeure, valeure);

          Exemple :

          ObfuscationReflectionHelper.setPrivateValue(EntityRenderer.class, FMLClientHandler.instance().getClient().entityRenderer, value, 15);

          De rien 😛 (Ce que je viens de faire, c’est pour un zoom)

          Mon site | GitHub

          1 réponse Dernière réponse Répondre Citer 0
          • Minecraftienne
            Minecraftienne dernière édition par

            Merci beaucoup, et tu mets cette ligne dans quelle partie du code? PreInit?

            Ah et j’ai vu une autre méthode aussi, donner une ID nulle à un item ou autre déjà existant et créer une nouvelle classe de cet objet avec l’ancien ID pour pouvoir marquer ce que l’on veut, est-ce que cela fonctionne toujours en 1.6.2?

            1 réponse Dernière réponse Répondre Citer 0
            • elias54
              elias54 Administrateurs dernière édition par

              Pour répondre à ta première question, ce code se place dans un Tick Handler. 🙂

              Ensuite, pour la seconde question je n’en sais rien, je n’ai pas testé.

              Mon site | GitHub

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                Tu souhaite changer quoi exactement ? Ça sera plus pratique pour nous si tu nous donne la liste de ce que tu veux changer.
                Pour faire des changements sur quelques choses de minecraft sans toucher les classes il y a 3 méthodes :

                • Les events
                • La réflexion (comme elias l’a expliqué, même chose avec le système de Block.blocklist[id] = null et de recréer le bloc)
                • L’ams transformer, permet de replacer une classe par une autre (cf : playerAPI forge, NEi, TMI)

                Les events sont le mieux, tu es sur de ne pas avoir de problème avec eux.
                La réflexion, tu peux avoir quelques problèmes de communication, par exemple railcraft l’utilise pour modifier les items de cart, en conséquence si tu as railcraft en solo tu ne peux pas te connecté à un serveur forge qui n’a pas railcraft (donc pas très cool)
                L’ams à pour désavantage de devoir être mit à jour souvent, si tu change la classe Block.java par exemple, et qu’une version de forge changer les patch de Block.java, ton mod ne sera plus compatible avec cette nouvelle version de forge … Également, en utilisant l’asm tu peux dire à dieu aux avantages du reobf en srg, car il faut compiler avec le reobf normal (logique, comme ça va remplacer une classe de minecraft)

                Le mieux est donc les event, et pour savoir si ce que tu veux faire est possible avec les event, il faut que tu me dise ce que tu souhaite faire exactement.

                1 réponse Dernière réponse Répondre Citer 0
                • Minecraftienne
                  Minecraftienne dernière édition par

                  Je n’ai pas d’idée précise de ce que je veux faire c’était pour me renseigner. Mais ça m’intéresserait de savoir comment modifier les propriétés des armures, des outils, des items en général, des blocs et tout ce qui touche aux mobs 🙂

                  1 réponse Dernière réponse Répondre Citer 0
                  • elias54
                    elias54 Administrateurs dernière édition par

                    Euh d’ailleurs, je tiens à préciser que je me suis assez fail dans ce que je t’ai montré, la valeur “value” est le float du zoom 🙂

                    Mon site | GitHub

                    1 réponse Dernière réponse Répondre Citer 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                      Ça dépend vraiment de ce que tu veux faire
                      Par exemple, pour changer la résistance de la cobble j’ai juste à mettre ça dans Init

                      Block.cobblestone.setHardness(0.1F).setResistance(400F);
                      

                      Et la cobble est très résistante aux explosions et se casse facilement.
                      C’est l’exemple le plus simple. Après pour les events, il y a déjà le tutoriel sur l’event drop qui est un bon exemple.
                      Si tu as besoin d’aide le jour ou tu voudra le faire, n’hésite pas à redemander, c’est plus simple pour moi de travailler sur un exemple concret (si je devais faire le tour de toute les possibilités, j’en ai sûrement pour plusieurs jours ><)

                      1 réponse Dernière réponse Répondre Citer 0
                      • Minecraftienne
                        Minecraftienne dernière édition par

                        D’accord merci beaucoup en tout cas 😉 (ça pourrait faire un bon tuto :p)

                        1 réponse Dernière réponse Répondre Citer 0
                        • S
                          sevenno07 dernière édition par

                          Salut, pour ma par je cherche a changer un craft … mais avec des event, (c’est se qu’il y a de mieu si j’ai bien compris :))
                          un petit coup de pousse svp ?

                          PS: Plus précisément changer le résulta d’un craft par un bloque que j’ai créer x).

                          Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                          1 réponse Dernière réponse Répondre Citer 0
                          • S
                            sevenno07 dernière édition par

                            up
                            (Je sais que le sujet est en résolu, mais je ne vais pas créer un sujet exprès pour sa XD).

                            Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                            1 réponse Dernière réponse Répondre Citer 0
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                              Facile, tu recréé un craft avec le même craft, il va couvrir l’ancien craft, si c’est pas le cas mets dans le postInit.

                              1 réponse Dernière réponse Répondre Citer 0
                              • S
                                sevenno07 dernière édition par

                                Aussi simple que sa ? O_o, ok merci je teste sa tout de suite ^^.
                                Je me coucherai moin bête se soir x).


                                Dsl mais sa ne fonctionne pas tout cout, même si je le mais dans le @postInit XD
                                Que faire ? x)

                                Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                  Dans ce cas supprime la recette et recréé-la après :
                                  http://www.minecraftforge.net/forum/index.php/topic,7146.msg58748.html#msg58748

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • S
                                    sevenno07 dernière édition par

                                    Je te remercie, sauf que je ne comprend absolument rien au code … je vais cherchai mais ce n’est pas gagné.


                                    Le “List” je l’importe du qu’elle par contre ? x)
                                    java.awt
                                    java.util
                                    scala.collection.immutable

                                    Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • Superloup10
                                      Superloup10 Modérateurs dernière édition par

                                      Tu l’importes depuis java.util

                                      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
                                      • S
                                        sevenno07 dernière édition par

                                        Oui je sais, robin me la dit dans le tchat du forum ^^.

                                        Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • Superloup10
                                          Superloup10 Modérateurs dernière édition par

                                          D’accord

                                          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
                                          • 1 / 1
                                          • Premier message
                                            Dernier message
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB