MFF

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

    TESR qui rend mal, et qui n'a pas une jolie Hitbox

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.x
    25 Messages 4 Publieurs 5.6k 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.
    • Nolan-XXN Hors-ligne
      Nolan-XX
      dernière édition par

      Bon, étant donné que ces blocks ne seront pas usés par les joueurs, je vais faire en sorte qu’ils tournent en clique droit dessus.
      Donc j’ai mis ce code dans TileEntityPanneauSpecialRender.java, mais aucun changements.

      public boolean interact(EntityPlayer player)
      {
      GL11.glPushMatrix();
      GL11.glRotatef(90F, 1.0F, 0.0F, 0.0F);
      GL11.glPopMatrix();
      return false;
      }
      
      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

        Problème trouvé. Dans la classe de ton bloc, dans la fonction onBlockPlacedBy :

        if(te != null && stack.getItemDamage() == 2 && te instanceof TileEntityPanneau)
        {
        ((TileEntityPanneau)te).setDirection((byte)direction);
        world.markBlockForUpdate(x, y, z);
        }
        

        enlève le stack.getItemDamage() == 2 &&, je l’ai mit dans mon tutoriel car j’ai expliqué que j’orientais que le bloc de metadata 2.

        1 réponse Dernière réponse Répondre Citer 0
        • Nolan-XXN Hors-ligne
          Nolan-XX
          dernière édition par

          Parfait, sauf que j’ai quelques légers problèmes :

          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

            Ha oui, comme tu as centré le modèle avec la direction par défaut, ça fail pour les autres directions.
            Dans le if(te != null) de ta fonction renderTileEntityTileEntityPanneauAt dans ta classe TileEntitySpecialRender, il faut que tu ajoute une condition qui check la direction, et tu fais des gl11.translate par rapport à la direction.

            1 réponse Dernière réponse Répondre Citer 0
            • Nolan-XXN Hors-ligne
              Nolan-XX
              dernière édition par

              Euh, le block bouge en même temps que moi Oo

              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 x) ?
                Envoie ton code.

                1 réponse Dernière réponse Répondre Citer 0
                • Nolan-XXN Hors-ligne
                  Nolan-XX
                  dernière édition par

                  
                  public void renderTileEntityTileEntityPanneauAt(TileEntityPanneau te,
                  double x, double y, double z, float tick) {
                  GL11.glPushMatrix();
                  GL11.glTranslated(x + 1.05F, y + 1.5F, z + 0.5F);
                  this.bindTexture(textureLocation);
                  GL11.glRotatef(180F, 0.0F, 0.0F, 1.0F);
                  if (te != null)
                  {
                  GL11.glRotatef(90F * te.getDirection(), 0.0F, 1.0F, 0.0F);
                  if (te.direction == 1)
                  {
                  // GL11.glTranslated(x + 1.05F, y + 1.5F, z + 0.5F);
                  }
                  
                  if (te.direction == 2)
                  {
                  GL11.glTranslated(x + 0.2F, y + 0.0F, z + 0.0F);
                  }
                  
                  if (te.direction == 3)
                  {
                  // GL11.glTranslated(x + 1.05F, y + 1.5F, z + 0.5F);
                  }
                  
                  if (te.direction == 0)
                  {
                  //base, pas besoin de modifier
                  }
                  System.out.println("La direction est " + te.direction);
                  
                  }
                  this.model.render(0.0625F);
                  GL11.glPopMatrix();
                  }
                  
                  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

                    Ne mets pas les x, y et z dans les translates qui ajuste en fonction de la direction.

                    1 réponse Dernière réponse Répondre Citer 0
                    • Nolan-XXN Hors-ligne
                      Nolan-XX
                      dernière édition par

                      Je mets quoi alors ?

                      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

                        GL11.glTranslated(0.2F, 0.0F, 0.0F);
                        Tout simplement.
                        Le premier GL11.glTranlate déplace déjà le bloc au coord x, y, z.

                        1 réponse Dernière réponse Répondre Citer 0
                        • Nolan-XXN Hors-ligne
                          Nolan-XX
                          dernière édition par

                          Parfait !

                          et peut-tu me passer le lien du lampadaire de Nanotech City, pour que je voie pour les blocs fantômes ?

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

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

                            C’est lui normalement ^^

                            Pour les rendus dans l’inventaire, pense a GL11.glScale

                            "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
                            ― Jordan B. Peterson

                            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

                              L’item bloc est aussi différent : https://github.com/FFMT/nanotech_mod/blob/master/common/fr/mcnanotech/kevin_68/nanotechmod/city/blocks/ItemBlockLamp.java#L39-L69

                              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