• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Changer des propriétés déjà existantes

    Anciennes versions
    1.6.2
    5
    18
    6420
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Minecraftienne
      Minecraftienne last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        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 Reply Last reply Reply Quote 0
        • elias54
          elias54 Administrateurs last edited by

          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 Reply Last reply Reply Quote 0
          • Minecraftienne
            Minecraftienne last edited by

            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 Reply Last reply Reply Quote 0
            • elias54
              elias54 Administrateurs last edited by

              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 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                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 Reply Last reply Reply Quote 0
                • Minecraftienne
                  Minecraftienne last edited by

                  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 Reply Last reply Reply Quote 0
                  • elias54
                    elias54 Administrateurs last edited by

                    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 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                      Ç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 Reply Last reply Reply Quote 0
                      • Minecraftienne
                        Minecraftienne last edited by

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

                        1 Reply Last reply Reply Quote 0
                        • S
                          sevenno07 last edited by

                          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 Reply Last reply Reply Quote 0
                          • S
                            sevenno07 last edited by

                            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 Reply Last reply Reply Quote 0
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                              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 Reply Last reply Reply Quote 0
                              • S
                                sevenno07 last edited by

                                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 Reply Last reply Reply Quote 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    sevenno07 last edited by

                                    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 Reply Last reply Reply Quote 0
                                    • Superloup10
                                      Superloup10 Modérateurs last edited by

                                      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 Reply Last reply Reply Quote 0
                                      • S
                                        sevenno07 last edited by

                                        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 Reply Last reply Reply Quote 0
                                        • Superloup10
                                          Superloup10 Modérateurs last edited by

                                          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 Reply Last reply Reply Quote 0
                                          • 1 / 1
                                          • First post
                                            Last post
                                          Design by Woryk
                                          Contact / Mentions Légales

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB