MFF

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

    Bloc qui change de metadata en fonction du bloc sous lui

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    17 Messages 3 Publieurs 6.4k 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.
    • isadorI Hors-ligne
      isador Moddeurs confirmés Modérateurs
      dernière édition par

      comment de la citrouille? comment elle change de metadata suivant le bloc?

      Quelle fonction utiliser?

      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

        http://www.minecraftforgefrance.fr/showthread.php?tid=136
        getSelectedBoundingBoxFromPool et getCollisionBoundingBoxFromPool

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

          merci je vais regarder tout ca

          dpnc je peut utiliser AxisAlignedBB getSelectedBoundingBoxFromPool pour faire une hitbox de 1x2?

          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

            getSelectedBoundingBoxFromPool -> visuel pour le client
            getCollisionBoundingBoxFromPool -> pour la collision côté serveur.

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

              d’accord merci

              je n’est pas compris ce qu’il fallait modifier….

              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

                return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + this.maxY, (double)z + this.maxZ);
                Les valeurs ici (this.minX, etc …) correspondent à un bloc par défaut 1x1 (donc 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
                pour augmenter la hitbox de deux vers le haut :
                return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + 2.0D, (double)z + this.maxZ);
                Je remplace simplement le this.maxY par 2.0
                Pour augmenter vers le bas, remplace le this.minY par -1.0D

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

                  ok merci

                  EDIT: si je regarde la hitbox du haut elle n’apparait pas… et si j’éssaye de casser en visa la partie du haut ca ne casse pas…

                  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

                    Il faut aussi mettre une hitbox au bloc du haut.

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

                      comment ca?

                      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

                        @SideOnly(Side.CLIENT)
                        public AxisAlignedBB getSelectedBoundingBoxFromPool(World world, int x, int y, int z)
                        {
                        if(world.getBlockMetadata(x, y, z) == 1)
                        {
                        return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y - 1.0D, (double)z + this.minZ, (double)x + this.maxX, (double)y + this.maxY, (double)z + this.maxZ);
                        }
                        return AxisAlignedBB.getAABBPool().getAABB((double)x + this.minX, (double)y + this.minY, (double)z + this.minZ, (double)x + this.maxX, (double)y + 2.0D, (double)z + this.maxZ);
                        }
                        
                        1 réponse Dernière réponse Répondre Citer 0
                        • isadorI Hors-ligne
                          isador Moddeurs confirmés Modérateurs
                          dernière édition par

                          heu avec ce code la hitbox ne change pas…

                          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

                            Sinon utilise les setBlockBound. Aussi, es-tu sûr que ton bloc du haut à bien le metadata 1 et celui du bas 0 ?

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

                              a en fait c’est deux bloc différent?

                              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

                                Celui du bas à un metadata 0, celui du haut 1. Tu ne peux faire sans avoir un metadata différent ou alors un tile entity avec un data différent. Il faut quelque chose pour différencier les deux blocs, sinon ça passe pas.

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

                                  a d’accord

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

                                  MINECRAFT FORGE FRANCE © 2024

                                  Powered by NodeBB