MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Les choses étranges du code de Minecraft

    Planifier Épinglé Verrouillé Déplacé Le salon libre
    74 Messages 21 Publieurs 2.1k Vues 1 Watching
    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.
    • BrokenSwingB Hors-ligne
      BrokenSwing Moddeurs confirmés Rédacteurs
      dernière édition par

      
      protected ModelResourceLocation(int p_i46078_1_, String … p_i46078_2_)
      {
      super(0, new String[] {p_i46078_2_[0], p_i46078_2_[1]});
      this.variant = StringUtils.isEmpty(p_i46078_2_[2]) ? "normal" : p_i46078_2_[2].toLowerCase();
      }
      
      

      Un argument inutile dans le constructeur

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        Regarde que ce soit pas une correction forge

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • BrokenSwingB Hors-ligne
          BrokenSwing Moddeurs confirmés Rédacteurs
          dernière édition par

          C’est à dire ? Comment faire ?

          1 réponse Dernière réponse Répondre Citer 0
          • SCAREXS Hors-ligne
            SCAREX
            dernière édition par

            Je pensais que c’était un patch forge, mais en fait non, donc c’est Mojang

            Site web contenant mes scripts : http://SCAREXgaming.github.io

            Pas de demandes de support par MP ni par skype SVP.
            Je n'accepte sur skype que l…

            1 réponse Dernière réponse Répondre Citer 0
            • SCAREXS Hors-ligne
              SCAREX
              dernière édition par

              Ma nouvelle découverte concerne le code de forge cette fois-ci, je vous laisse découvrir le code afin de ne pas spoiler :

              private static Map<pair<item, integer="">, Class> tileItemMap = Maps.newHashMap();
              
              public static void renderTileItem(Item item, int metadata)
              {
              Class tileClass = tileItemMap.get(Pair.of(item, metadata));
              if (tileClass != null)
              {
              TileEntitySpecialRenderer r = TileEntityRendererDispatcher.instance.getSpecialRendererByClass(tileClass);
              if (r != null)
              {
              r.renderTileEntityAt(null, 0, 0, 0, 0, -1);
              }
              }
              }
              
              /**
              * @deprecated Will be removed as soon as possible, hopefully 1.9.
              */
              @Deprecated
              public static void registerTESRItemStack(Item item, int metadata, Class TileClass)
              {
              tileItemMap.put(Pair.of(item, metadata), TileClass);
              }
              

              Ceci est du code de minecraft 1.10.2, ici nous pouvons voir qu’il faut enregistrer un TESR avec une TileEntity afin de faire le rendu spécial d’un item. Donc si vous voulez faire un rendu spécial, vous devez créer une TileEntity avec rien dedans (de plus vous ne pouvez pas créer une TileEntity pour plusieurs items à rendre car vous n’avez pas l’instance de l’item en paramètre, donc 1 rendu spécial = une tile entity).</pair<item,>

              Site web contenant mes scripts : http://SCAREXgaming.github.io

              Pas de demandes de support par MP ni par skype SVP.
              Je n'accepte sur skype que l…

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

                Car cette fonction n’est prévu que pour les TESR normalement et non pour les autres items.

                1 réponse Dernière réponse Répondre Citer 0
                • SCAREXS Hors-ligne
                  SCAREX
                  dernière édition par

                  Oui mais pourquoi ne pas avoir fait un système de rendu spécialement pour les items plutôt que d’utiliser le système pour les blocks ?

                  Site web contenant mes scripts : http://SCAREXgaming.github.io

                  Pas de demandes de support par MP ni par skype SVP.
                  Je n'accepte sur skype que l…

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

                    Pour les items tu es sensé utiliser les jsons.

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      Le problème c’est que je veux créer un bouclier et pour ça minecraft n’utilise pas les jsons, donc je vais utiliser cette méthode à la place

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • AxaurusA Hors-ligne
                        Axaurus
                        dernière édition par

                        Dans net/minecraft/entity/monster, une classe (non de Mojang) quelque peu inutile. Jugez par vous-même :

                        // Auto generated package-info by MCP
                        @ParametersAreNonnullByDefault
                        @MethodsReturnNonnullByDefault
                        package net.minecraft.entity.monster;
                        
                        import mcp.MethodsReturnNonnullByDefault;
                        import javax.annotation.ParametersAreNonnullByDefault;
                        

                        EDIT : j’ai oublier, il n’est pas avant la 1.10

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

                          @‘Axaurus’:

                          Dans net/minecraft/entity/monster, une classe (non de Mojang) quelque peu inutile. Jugez par vous-même :

                          // Auto generated package-info by MCP
                          @ParametersAreNonnullByDefault
                          @MethodsReturnNonnullByDefault
                          package net.minecraft.entity.monster;
                          
                          import mcp.MethodsReturnNonnullByDefault;
                          import javax.annotation.ParametersAreNonnullByDefault;
                          

                          EDIT : j’ai oublier, il n’est pas avant la 1.10

                          C’est marqué en commentaire en haut du fichier, ça donne des infos sur les méthodes présentes dans les classes du package ‘net.minecraft.entity.monster’

                          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
                          • SCAREXS Hors-ligne
                            SCAREX
                            dernière édition par

                            Effectivement ces annotations sont générées automatiquement, en revanche je vois pas l’utilité de les mettre dans la classe vu qu’elles sont déjà dans le package-info

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • Mokona78M Hors-ligne
                              Mokona78
                              dernière édition par

                              Peut-être, mais alors juste peut-être, que ce sont des annotations plutôt destinées à des analyseurs statiques, qui peuvent lever des warnings avant même la compilation si l’analyse montre qu’il y a des null potentiels dans les paramètres ou les valeurs de retours.

                              1 réponse Dernière réponse Répondre Citer 0
                              • SCAREXS Hors-ligne
                                SCAREX
                                dernière édition par

                                Non, ce sont des annotations qui indiquent que les paramètres de fonctions ne doivent pas êtres nuls (par défaut). Donc si tu essaies de mettre null dans une fonction ton IDE te dira que c’est pas possible (il me semble que c’est le but)

                                Site web contenant mes scripts : http://SCAREXgaming.github.io

                                Pas de demandes de support par MP ni par skype SVP.
                                Je n'accepte sur skype que l…

                                1 réponse Dernière réponse Répondre Citer 0
                                • Mokona78M Hors-ligne
                                  Mokona78
                                  dernière édition par

                                  Donc de l’analyse statique 🙂

                                  C’est le nom générique des analyseurs qui tentent de faire des vérifications sur un programme au niveau du code source (ça peut aller bien plus loin que ça).

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

                                    @‘Mokona78’:

                                    Peut-être, mais alors juste peut-être, que ce sont des annotations plutôt destinées à des analyseurs statiques, qui peuvent lever des warnings avant même la compilation si l’analyse montre qu’il y a des null potentiels dans les paramètres ou les valeurs de retours.

                                    J’en suis sûr, c’est exactement ça.

                                    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
                                    • jglrxavpokJ Hors-ligne
                                      jglrxavpok Modérateurs
                                      dernière édition par

                                      Dans Particle.java:

                                      public void moveEntity(double x, double y, double z)
                                      {
                                      double d0 = y;
                                      
                                      if (this.field_190017_n)
                                      {
                                      List <axisalignedbb>list = this.worldObj.getCollisionBoxes((Entity)null, this.getEntityBoundingBox().addCoord(x, y, z));
                                      
                                      for (AxisAlignedBB axisalignedbb : list)
                                      {
                                      y = axisalignedbb.calculateYOffset(this.getEntityBoundingBox(), y);
                                      }
                                      
                                      this.setEntityBoundingBox(this.getEntityBoundingBox().offset(0.0D, y, 0.0D));
                                      
                                      for (AxisAlignedBB axisalignedbb1 : list)
                                      {
                                      x = axisalignedbb1.calculateXOffset(this.getEntityBoundingBox(), x);
                                      }
                                      
                                      this.setEntityBoundingBox(this.getEntityBoundingBox().offset(x, 0.0D, 0.0D));
                                      
                                      for (AxisAlignedBB axisalignedbb2 : list)
                                      {
                                      z = axisalignedbb2.calculateZOffset(this.getEntityBoundingBox(), z);
                                      }
                                      
                                      this.setEntityBoundingBox(this.getEntityBoundingBox().offset(0.0D, 0.0D, z));
                                      }
                                      else
                                      {
                                      this.setEntityBoundingBox(this.getEntityBoundingBox().offset(x, y, z));
                                      }
                                      
                                      this.resetPositionToBB();
                                      this.isCollided = y != y && d0 < 0.0D;
                                      
                                      if (x != x)
                                      {
                                      this.motionX = 0.0D;
                                      }
                                      
                                      if (z != z)
                                      {
                                      this.motionZ = 0.0D;
                                      }
                                      }
                                      
                                      this.isCollided = y != y && d0 < 0.0D;
                                      
                                      if (x != x)
                                      {
                                      this.motionX = 0.0D;
                                      }
                                      
                                      if (z != z)
                                      {
                                      this.motionZ = 0.0D;
                                      }
                                      

                                      Celle-là, je l’avais jamais vu!</axisalignedbb>

                                      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
                                      • elias54E Hors-ligne
                                        elias54 Administrateurs
                                        dernière édition par

                                        Assez étrange en effet.

                                        Mon site | GitHub

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • AymericRedA Hors-ligne
                                          AymericRed
                                          dernière édition par

                                          Oui c’est bizarre… Je pense que les mappings y sont pour quelque chose.

                                          Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                                          AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                                          Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                                            Peut-être une erreur de décompilation et de mappage oui.
                                            Mais je ne vois pas d’autres variables dans la fonction donc ce n’est pas certain. Et puis si le code ne fait pas la même chose que celui de minecraft, on devrait constater une anomalie sur le déplacement des entités en ayant forge, or ce n’est pas le cas.

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB