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.
    • 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
            • robin4002R Hors-ligne
              robin4002 Moddeurs confirmés Rédacteurs Administrateurs
              dernière édition par

              Du-coup comme dit dans la shoutbox c’est Forge qui ajoute ça et non Mojang et Forge fait ça pour éviter d’avoir trop de patch.

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

                A moi a moi, je ne ses pas si c’est forge ou minecraft mais dans le code de l’endercrystal:

                
                public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_)
                   {
                       if (this.isEntityInvulnerable())
                       {
                           return false;
                       }
                       else
                       {
                           if (!this.isDead && !this.worldObj.isRemote)
                           {
                               this.health = 0;
                
                               if (this.health <= 0)
                               {
                                   this.setDead();
                
                                   if (!this.worldObj.isRemote)
                                   {
                                       this.worldObj.createExplosion((Entity)null, this.posX, this.posY, this.posZ, 6.0F, true);
                                   }
                               }
                           }
                
                           return true;
                       }
                   }
                
                
                1 réponse Dernière réponse Répondre Citer 0
                • Superloup10S Hors-ligne
                  Superloup10 Modérateurs
                  dernière édition par

                  Je vois aucun problème dans le code que tu as donné.

                  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
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Mettre la vie a 0 puis check si elle est inférieur ou égal à 0. Normal.

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

                      Quand on comprend pas le code c’est normal de dire des trucs chelou comme ça

                      Si je t'ai filé un coup de main n'oublie pas le + / -
                      Par contre évite les demandes d'aides en MP, tu sera sympa'

                      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                        (Quelque peu hors-sujet mais le Moteur MyBB vient de m’envoyer un MP de suivi pour ce sujet… MP commençant par "SCAREX, "…)

                        Mes mods :

                        • Cookie Ore (1.7.10)

                        Mod en cours : **E…

                        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

                          What ? Screenshot ?

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

                            @‘robin4002’:

                            What ? Screenshot ?

                            :::

                            :::

                            Mes mods :

                            • Cookie Ore (1.7.10)

                            Mod en cours : **E…

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

                              Scarex aurait-il des acces root? xD

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

                                Euh j’étais pas au courant

                                Envoyé de mon SM-G920F en utilisant Tapatalk

                                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

                                  Je crois que cette fonctionnalité a un soucis x)

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • 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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 4 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB