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

    Résolu [1.7.x]Bibliothèques utilisables comme bibliothèques

    1.7.x
    8
    23
    5244
    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.
    • Skillb0w
      Skillb0w dernière édition par

      Salut tout le monde.

      J’ai créer un bloc qui est simplement une bibliothèque, et j’aimerais que mon bloc influe comme une bibliothèque normal sur les tables d’enchantements. J’ai déjà regardé du côté de la bibliothèque: rien dedans, et du côté de la table d’enchantement, et j’ai trouvé ceci :

      if (p_149734_1_.getBlock(l, j1, i1) == Blocks.bookshelf)
      {
      if (!p_149734_1_.isAirBlock((l - p_149734_2_) / 2 + p_149734_2_, j1, (i1 - p_149734_4_) / 2 + p_149734_4_))
      {
      break;
      }
      
      p_149734_1_.spawnParticle("enchantmenttable", (double)p_149734_2_ + 0.5D, (double)p_149734_3_ + 2.0D, (double)p_149734_4_ + 0.5D, (double)((float)(l - p_149734_2_) + p_149734_5_.nextFloat()) - 0.5D, (double)((float)(j1 - p_149734_3_) - p_149734_5_.nextFloat() - 1.0F), (double)((float)(i1 - p_149734_4_) + p_149734_5_.nextFloat()) - 0.5D);
      

      qui est visiblement ce qui fait que les bibliothèques influent la table d’enchantement.

      Comment puis-je faire pour que mon bloc soit comme une bibliothèque ?

      Cordialement.
      Skillb0w

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

        La seule solution serait de modifier cette condition donc soit :

        • envoyer un pull request en changeant cette fonction pour que ça passe par une fonction dans la classe du bloc (faut t-il encore que LexManos accepte).
        • faire un coremod et patché cette classe (plutôt compliqué).
        1 réponse Dernière réponse Répondre Citer 0
        • jglrxavpok
          jglrxavpok Modérateurs dernière édition par

          Malheuresement, ça ne semble pas possible sans faire sa propre table d’enchantement ou passer un coup d’ASM (très complexe a mettre en place)

          Écrit avec Tapatalk depuis mon mobile. Pardonnez les possibles fautes, j’aime juste pas écrire avec mon mobile.

          Modérateur sur MFF. 
          Mon Github: http://github.com/jglrxavpok
          Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

            Donc en gros pour un débutant comme moi ce n’est pas faisable ?

            Cordialement.
            Skillb0w

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

              Attend mardi et je te passe le code pour patcher une classe vanilla.

              Envoyé de mon AN7DG3-LZ en utilisant Tapatalk

              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 1
              • Skillb0w
                Skillb0w dernière édition par

                Je serais pas là tout le mois d’août. Tu pourras quand même me l’envoyer par MP, et m’expliquer vite fait comment l’utiliser 🙂

                Cordialement.
                Skillb0w

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

                  Un tutoriel sera fait pour expliquer.

                  Envoyé de mon AN7DG3-LZ en utilisant Tapatalk

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

                    Super. Merci d’avance 🙂

                    Cordialement.
                    Skillb0w

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

                      Je vais être honnete avec toi, tu as trouvé le code qui gère ça, c’est vraiment pas mal pour un débutant 😉

                      Écrit avec Tapatalk depuis mon mobile. Pardonnez les possibles fautes, j’aime juste pas écrire avec mon mobile.

                      Modérateur sur MFF. 
                      Mon Github: http://github.com/jglrxavpok
                      Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                        Merci, après je n’ai fait que des blocs et des items donc je reste débutant ^^
                        Mais ça fait toujours plaisir 🙂

                        Cordialement.
                        Skillb0w

                        1 réponse Dernière réponse Répondre Citer 0
                        • isador
                          isador Moddeurs confirmés Modérateurs dernière édition par

                          tu sais si tu faut un bloc qui quand tu clique dessus fait spawn un enderDragon, 4 wither boss des particule de flame et d’explotion et fait un playsound d’une musique épique, certe ne c’est qu’un bloc mais c’est vachement complet

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

                            Oui c’est vrai, et ça à l’air plutôt fun 😄
                            Tu me donne une idée pour quand j’aurais un peu plus d’experience 🙂

                            Cordialement.
                            Skillb0w

                            1 réponse Dernière réponse Répondre Citer 0
                            • isador
                              isador Moddeurs confirmés Modérateurs dernière édition par

                              ^^ bha écoute de rien

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

                                Tu extends le bloc bibliothèque au lieu d’étendre le bloc “Block”

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

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

                                  Ça aurai fonctionné si la condition était instanceof BlockBookShelf, mais la avec == Blocks.bookshelf) ça fonctionnera pas même si tu extends.

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

                                    Je n’avais pas regardé la condition.
                                    Effectivement, ça ne peut pas fonctionné alors 😕

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

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

                                      Je sais, j’ai dis dans mon premier message que j’avais regardé le code de la table d’enchantement, et qu’il y avait ceci (entre autre) :

                                      if (p_149734_1_.getBlock(l, j1, i1) == Blocks.bookshelf)
                                      

                                      Et donc que mon bloc ne pouvait pas être vérifié.

                                      Cordialement.
                                      Skillb0w

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

                                        Je ne pense pas qu’il faut utiliser l’ASM, si ça ce trouve y’a un event.

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

                                          Non, si il y avait un event, il y aurait la fonction MinecraftForge.EVENT_BUS.post dans le code de mc, or ce n’est pas le cas.
                                          Et ajouter une fonction du genre isBookShelf(world, x, y, z) dans la classe Block.java aurait été mieux qu’un event, donc je doutes que ça existe.

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

                                            La fonction qui montre permet juste à faire apparaître les particules, si on bidouille un peu ptet que les particules peuvent se faire dans la classe de la bibliothèque qu’il a créé. (Mais ça risque d’être compliqué (ou pas))
                                            Si on recherche bien je n’ai trouvé qu’une seule fonction appelant le bloc bookshelf :

                                            
                                            /**
                                            * Determines the amount of enchanting power this block can provide to an enchanting table.
                                            * @param world The World
                                            * @param x X position
                                            * @param y Y position
                                            * @param z Z position
                                            * @return The amount of enchanting power this block produces.
                                            */
                                            public float getEnchantPowerBonus(World world, int x, int y, int z)
                                            {
                                            return this == Blocks.bookshelf ? 1 : 0;
                                            }
                                            
                                            

                                            Je pense que si on override la méthode dans la classe de son bloc comme ça :

                                            
                                            /**
                                            * Determines the amount of enchanting power this block can provide to an enchanting table.
                                            * @param world The World
                                            * @param x X position
                                            * @param y Y position
                                            * @param z Z position
                                            * @return The amount of enchanting power this block produces.
                                            */
                                            @Override
                                            public float getEnchantPowerBonus(World world, int x, int y, int z)
                                            {
                                            return this == Blocks.bookshelf || this == MaClass.monBookshelf ? 1 : 0;
                                            }
                                            
                                            

                                            Je ne suis pas sûr mais avant de faire de l’ASM il faut chercher s’il y a une solution.

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

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB