MFF

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

    Problème rendu ISBRH

    Planifier Épinglé Verrouillé Déplacé Sans suite
    21 Messages 4 Publieurs 5.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.
    • robin4002R Hors-ligne
      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
      dernière édition par

      @Override
      public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
      {
      }
      
      @Override
      public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
      {
      return true;
      }
      
      @Override
      public boolean shouldRender3DInInventory()
      {
      return false;
      }
      

      Si tu laisse ça vite c’est normal qu’il n’y est pas de rendu.

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

        que rajouter? :noob:

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

          
          @Override
          public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
          {
          Tessellator tessellator = Tessellator.instance;
          renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F); // crée un "étage" pour le rendu de l'inventaire
          this.renderInInventory(tessellator, renderer, block, metadata); // sauvegarde "l'étage" pour le rendu de l'inventaire
          //etc etc
          }
          
          @Override
          public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
          {
          renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F); // crée un "étage" pour le rendu en jeu
          renderer.renderStandardBlock(block, x, y, z); //sauvegarde "l'étage" pour le rendu en jeu
          //etc etc
          return true;
          }
          
          @Override
          public boolean shouldRender3DInInventory()
          {
          return true;
          }
          
          

          Je ne sais pas si tu me comprendra avec “étage” 😕

          En gros, un bloc plein est égale a 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F (Xmin, Ymin, Zmin, Xmax, Ymax, Zmax).
          Une demi dalle serait 0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F (la moiter de la hauteur en Ymax, soit 0.5F)

          Un escalier c’est une demi dalle avec une moitié de demi dalle ! Soit :
          0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F (pour la demi-dalle)
          0.0F, 0.5F, 0.5F, 1.0F, 1.0F, 1.0F (pour le haut (j’ai fait ça de tête, pas sur que ce soit exacte)

          cela fait 2 “étages”, mais faut lui dire que tu passe a un autre étage, c’est la qu’entre en jeu le “renderer.renderStandardBlock(block, x, y, z);” ou “this.renderInInventory(tessellator, renderer, block, metadata);” pour le rendu inventaire.

          Ce qui donnerai

          
          renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F); // crée le premier étage
          renderer.renderStandardBlock(block, x, y, z); // sauvegarde le premier étage
          renderer.setRenderBounds(0.0F, 0.5F, 0.5F, 1.0F, 1.0F, 1.0F); // crée le deuxième étage
          renderer.renderStandardBlock(block, x, y, z); // sauvegarde le deuxième étage qui est aussi le dernier.
          
          

          C’est assez dure a comprendre au début, mais une fois que t’a compris c’est pire que bidon… Je te recommande vivement de toujours avoir une feuille de papier a coté de toi quand tu utilise se genre de truc, car c’est plus simple de ce visualisé la forme et position sur papier que de tête.

          Voici en bonus une petite images qui t’aidera pour la “construction de tes étages”.

          En espérant avoir été clair ^^’

          >! Bonjour/Bonsoir,
          >! Vous désirez un Modèle ou une Texture pour votre Mod ? Vous pouvez faire un…

          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 vais essayer tous ça merci.
            Je vous tien au courant

            edit:

            
            @Override
            public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer)
            {
            Tessellator tessellator = Tessellator.instance;
            renderer.setRenderBounds( 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); // crée un "étage" pour le rendu de l'inventaire
            this.renderInInventory(tessellator, renderer, block, metadata); // sauvegarde "l'étage" pour le rendu de l'inventaire
            //etc etc
            }
            
            private void renderInInventory(Tessellator tessellator,
            RenderBlocks renderer, Block block, int metadata) {
            // TODO Auto-generated method stub
            
            }
            
            @Override
            public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer)
            {
            renderer.setRenderBounds( 0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); // crée un "étage" pour le rendu en jeu
            renderer.renderStandardBlock(block, x, y, z); //sauvegarde "l'étage" pour le rendu en jeu
            //etc etc
            return true;
            }
            
            @Override
            public boolean shouldRender3DInInventory()
            {
            return true;
            }
            
            @Override
            public int getRenderId() {
            // TODO Auto-generated method stub
            return 0;
            }
            
            

            le bloc reste invisible. Je parie que je n’ai juste pas compris ce que tu m’as dit ….

            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

              C’est pourtant expliqué dans le tutoriel u_U
              Exemple ici :
              https://github.com/FFMT/ModTutoriel/blob/master/tutoriel/client/RenderTable.java

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

                je vien de trouve juste le return 0 que j’avais oublier de changer –’

                par contre dans le fonction GL11.glScale(x, y, z); que mettre pour x y et z car 0F me met le chunk en noir et 1F ne fait rien.

                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

                  0 -> réduit à rien
                  1 -> taille normal
                  2 -> le double
                  etc …

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

                    oki 🙂

                    mais quand je mes 2F ca faut pareil que 0F

                    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

                      Étrange, sinon mets 2F directement dans le code renderer.setRenderBounds(…

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

                        sa ne vas pas si je le met dans le setrenderbound car si je met 1 bloc ca fait une zone de 2x2 avec seulement la hitbox la où le bloc est posé

                        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

                          Dans tout les cas tu aura seulement la hitbox la où le bloc est placé.
                          On ne peut pas faire de bloc plus grand que 1x1, les codes de minecraft ne le permet pas.
                          La seul solution est de faire que lorsqu’on pose le bloc, d’autres blocs se pose à coté, et lorsqu’on le casse, les autres casses avec. Ensuite pour agrandir la hitbox il une fonction dans Block.java.

                          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 je vais regarder ça merci___
                            pour la pose des bloc il faut faire comment?
                            une génération en minX, minY, minZ, maxX, maxY, maxZ ? quelle fonction utiliser?

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

                              Regarde le code de la porte, c’est le meilleur exemple de la pose de 2 blocs en un seul bloc.

                              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
                              • isadorI Hors-ligne
                                isador Moddeurs confirmés Modérateurs
                                dernière édition par

                                oki merci 🙂

                                Edit: j’ai atteint 1 stack de message 😛

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

                                  je ne trouve pas la partie du code dans la porte

                                  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

                                    Regarde l’item de la porte pour le placement (tu n’es pas obligé d’avoir un item, tu peux passer par l’item bloc (comme avec les metadata)) et pour la destruction c’est la fonction onBlockHarvested.
                                    Sinon tu peux aussi regarder le lampadaire et le parasol de nanotech mod city :
                                    https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/city/blocks/BlockLamp.java
                                    https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/city/blocks/ItemBlockLamp.java

                                    https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/city/blocks/ItemBlockSunShade.java
                                    https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/city/blocks/BlockSunShade.java

                                    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

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

                                        je ne trouve pas quelle partie permet de créer un bloc dans le blockdoor.java

                                        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

                                          c’est la fonction onItemUse

                                          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

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

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB