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.
    • w67clementW Hors-ligne
      w67clement
      dernière édition par

      Moi j’ai une petite trouvaille, la class MinecraftError:

      @SideOnly(Side.CLIENT)
      public class MinecraftError extends Error
      {
        private static final String __OBFID = "CL_00000657";
      }
      

      Conclusion: Utilité: 0%

      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

        +1 xavpok. J’espère qu’ils ne seront plus là en 1.9.

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

          @67clement il y a le nom de la classe ce qui fait qu’au lieu d’afficher “Error”, çà affiche “MinecraftError” donc on sait que çà vient de Minecraft.

          @jglrxavpok +1.

          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

            J’étais en train de faire des tests avec Isador, lorsque j’ai remarqué ceci :
            Faites un Math.cos(Math.PI) et MathHelper.cos(Math.PI), au début je croyais que l’un utilisait les radians et l’autres les degrés sauf que ce n’est pas le cas, les 2 utilisent les radians. Sauf que celui de MathHelper a moins de précision et qu’il utilise ses propres valeurs.

            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
            • DiabolicaTrixD Hors-ligne
              DiabolicaTrix Correcteurs Moddeurs confirmés
              dernière édition par

              Ah, bon à savoir, il faut utiliser le premier

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

                Pas forcément! MathHelper utilise ce qu’on appelle une “lookup table” et une interpolation (de mémoire, je n’ai pas le code sous les yeux) pour avoir les résultats plus rapidement, ça permet d’éviter de faire le calcul à chaque appel de cos.

                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

                  Oui mais en attendant cette méthode fait perdre de la précision et mange de la mémoire : donc je sais pas si la gain est si important que çà au niveau des performances.

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

                    net.minecraft.item.Item$ToolMaterial :

                    WOOD(0, 59, 2.0F, 0.0F, 15),
                    STONE(1, 131, 4.0F, 1.0F, 5),
                    IRON(2, 250, 6.0F, 2.0F, 14),
                    EMERALD(3, 1561, 8.0F, 3.0F, 10),
                    GOLD(0, 32, 12.0F, 0.0F, 22);
                    /** The level of material this tool can harvest (3 = DIAMOND, 2 = IRON, 1 = STONE, 0 = WOOD/GOLD) */
                    private final int harvestLevel;
                    

                    Diamant ou émeraude? >.<’

                    Mes mods :

                    • Cookie Ore (1.7.10)

                    Mod en cours : **E…

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

                      Emerald est bien Diamond. Le nom du field n’a juste pas changé, en fait.

                      Mon site | GitHub

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

                        @‘elias54’:

                        Emerald est bien Diamond. Le nom du field n’a juste pas changé, en fait.

                        Oui il me semble qu’en 1.9 Nathan avait parlé du fait qu’il avais enfin remplacer tout les EMERALD par diamond ^^

                        Oui ce gif est drôle.

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

                          Oui sauf que là ça vient de MinecraftForge qui n’a pas changé ses mappings.

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

                            @‘jglrxavpok’:

                            Oui sauf que là ça vient de MinecraftForge qui n’a pas changé ses mappings.

                            Mauvais MF ! ;o

                            Oui ce gif est drôle.

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

                              La classe BlockVine a attiré mon attention.
                              Pourquoi elle n’utilise pas un EnumFacing comme les autre classes qui nécessite un placement particulier ? A la place, elle utilise une série de PropertyBool 😮

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

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

                                Il me semble que c’est parce que les vignes peuvent êtres présentes sur plusieurs faces

                                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
                                • RedRelayR Hors-ligne
                                  RedRelay Moddeurs confirmés
                                  dernière édition par

                                  J’ai trouvé. C’est parce qu’une vigne peut être soutenue soit par la vigne du dessus, soit par le bloc sur lequel elle est apposée 😉

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

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

                                    @‘Blackout’:

                                    une vigne peut être soutenue par la vigne du dessus

                                    Ce qui est bizarre en soit puisque les blocs de Minecraft ne sont pas soumis à la gravité…

                                    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
                                    • RedRelayR Hors-ligne
                                      RedRelay Moddeurs confirmés
                                      dernière édition par

                                      Je vais plutôt parler du code Forge cette fois :

                                      L’event ChunkDataEvent.Load est propagé lorsque les données NBT d’un Chunk sont chargé.
                                      L’event ChunkDataEvent.Save est propagé lorsque les données NBT d’un Chunk sont sauvegardée.

                                      L’event ChunkEvent.Load est propagé lorsqu’un Chunk est chargé
                                      L’event ChunkEvent.Unload est propagé lorsqu’un Chunk est déchargé.

                                      ChunkDataEvent.Load est propagé AVANT ChunkEvent.Load.
                                      Donc dans mon handler de ChunkDataEvent.Load, je charge les données, mais j’en fais quoi ??!
                                      Puis qu’imaginons que le Chunk ne soit finalement pas chargé, je n’ai aucun moyen de le savoir.
                                      ChunkEvent.Load ne va pas être propagé, et ChunkEvent.Unload non plus.

                                      Je pense faire un point sur le forum officiel de Forge. Si toutefois vous avez des explications, je prends ! 😄

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

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

                                        Dans le BlockPortal :

                                        
                                        for (blockpos1 = pos; !World.doesBlockHaveSolidTopSurface(worldIn, blockpos1) && blockpos1.getY() > 0; blockpos1 = blockpos1.down())
                                        {
                                        ;
                                        }
                                        
                                        

                                        Ça aurait pas été mieux une boucle while ?

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

                                          Une boucle for pour ça est valide.

                                          En passant c’était surement une boucle while au début et Fernflower a du mal décompiler, c’est possible.

                                          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

                                            Mojang fait des API pour ensuite faire des conditions uniques dans les classes mères, voici un exemple pour le rendu du beacon, de la table d’enchantement et du coffre :
                                            (TileEntity:399)

                                            
                                            @SideOnly(Side.CLIENT)
                                            public AxisAlignedBB getRenderBoundingBox()
                                            {
                                            AxisAlignedBB bb = INFINITE_EXTENT_AABB; // On prend un truc infini pour le beacon (la condition est plus bas)
                                            Block type = getBlockType();
                                            if (type == Blocks.enchanting_table) // Si c'est une table d'enchant
                                            {
                                            bb = AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 1, zCoord + 1);
                                            }
                                            else if (type == Blocks.chest || type == Blocks.trapped_chest) // Si c'est un coffre
                                            {
                                            bb = AxisAlignedBB.getBoundingBox(xCoord - 1, yCoord, zCoord - 1, xCoord + 2, yCoord + 2, zCoord + 2);
                                            }
                                            else if (type != null && type != Blocks.beacon) // Si le bloc n'est pas null et que ce n'est pas un beacon
                                            {
                                            AxisAlignedBB cbb = type.getCollisionBoundingBoxFromPool(worldObj, xCoord, yCoord, zCoord); // On prend la boîte de collision
                                            if (cbb != null)
                                            {
                                            bb = cbb;
                                            }
                                            }
                                            return bb;
                                            }
                                            
                                            

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB