MFF

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

    Modification du menu F3

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    9 Messages 3 Publieurs 727 Vues 4 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.
    • B Hors-ligne
      BlocTox76
      dernière édition par

      Bonjour , j’ai essayer de modifier le menu F3 pour qu’il y est que les coordonnées le biomes la direction du joueur et les FPS, mais celui-ci ne s’affiche pouvez-vous me dire ce que j’ai oublier ou mal-fait car mon IDE m’indique aucune erreur et que j’ai essayer plusieurs solutions, Merci

      public class F3Event {
      
          Minecraft mc = Minecraft.getMinecraft();
      
          @SideOnly(Side.CLIENT)
          @SubscribeEvent
          public void onRenderPre(RenderGameOverlayEvent.Pre event)
          {
              if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
              {
                  event.setCanceled(true);
              }
          }
      
          @SubscribeEvent
          public void onRenderPost(RenderGameOverlayEvent.Post event)
          {
              if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
              {
                  //FPS
                  this.drawString(Minecraft.getMinecraft().fontRenderer, mc.debug.split(",", 2)[0], 10, 6, 167772215);
      
                  //COORDS
                  int angle = MathHelper.floor_double((double)(Minecraft.getMinecraft().thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
                  int x = (int) mc.thePlayer.posX;
                  int y = (int) mc.thePlayer.posY;
                  int z = (int) mc.thePlayer.posZ;
                  String direction = Direction.directions[angle];
                  String var5 = "    ";
                  String var4 = EnumChatFormatting.LIGHT_PURPLE + "X: " + x + "Y: " + y + " Z: " + z;
      
                  this.drawString(mc.fontRenderer, EnumChatFormatting.LIGHT_PURPLE + mc.theWorld.getBiomeGenForCoords(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posZ)).biomeName + var5 + direction, 10, 12, 167772215);
      
                  this.drawString(mc.fontRenderer, var4, 10, 18, 167772215);
              }
          }
          @SideOnly(Side.CLIENT)
          private void drawString(FontRenderer fontRenderer, String str, int x, int y, int color) {
              fontRenderer.drawStringWithShadow(str, x, y, color);
          }
      
      
      }
      
      
      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 robin4002

        Bonsoir,

        Il faut mettre ton code du nouveau rendu juste en dessous du event.setCancel(true) de RenderGameOverlayEvent.Pre (tout en restant dans la condition) car si l’event pre est cancel l’event de post n’est pas appelé.

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

          Merci pour ta réponse mais le menu F3 ne s’affiche pas non plus

          ( J’ai mis dans ma classe Client : MinecraftForge.EVENT_BUS.register(new F3Event()); )

          public class F3Event {
          
              Minecraft mc = Minecraft.getMinecraft();
          
              @SideOnly(Side.CLIENT)
              @SubscribeEvent
              public void onRenderPre(RenderGameOverlayEvent.Pre event)
              {
                  if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
                  {
                      event.setCanceled(true);
                      //FPS
                      this.drawString(Minecraft.getMinecraft().fontRenderer, mc.debug.split(",", 2)[0], 10, 6, 167772215);
          
                      //COORDS
                      int angle = MathHelper.floor_double((double)(Minecraft.getMinecraft().thePlayer.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
                      int x = (int) mc.thePlayer.posX;
                      int y = (int) mc.thePlayer.posY;
                      int z = (int) mc.thePlayer.posZ;
                      String direction = Direction.directions[angle];
                      String var5 = "    ";
                      String var4 = EnumChatFormatting.LIGHT_PURPLE + "X: " + x + "Y: " + y + " Z: " + z;
          
                      this.drawString(mc.fontRenderer, EnumChatFormatting.LIGHT_PURPLE + mc.theWorld.getBiomeGenForCoords(MathHelper.floor_double(mc.thePlayer.posX), MathHelper.floor_double(mc.thePlayer.posZ)).biomeName + var5 + direction, 10, 12, 167772215);
          
                      this.drawString(mc.fontRenderer, var4, 10, 18, 167772215);
                  }
              }
          
              @SideOnly(Side.CLIENT)
              private void drawString(FontRenderer fontRenderer, String str, int x, int y, int color) {
                  fontRenderer.drawStringWithShadow(str, x, y, color);
              }
          
          
          }
          
          1 réponse Dernière réponse Répondre Citer 0
          • blixow14B Hors-ligne
            blixow14
            dernière édition par

            Ajoute ça au à la place SubscribeEvent

            @SubscribeEvent(priority = EventPriority.HIGHEST)
            

            J'aime les pâtes

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

              Merci pour ta réponse mais quand je fais F3 toujours rien ne s’affiche je ne comprend pas

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

                        event.setCanceled(true);
                

                Met ça à la fin, juste après

                                 this.drawString(mc.fontRenderer, var4, 10, 18, 167772215);
                

                Et je crois que tu dois enregistrer l’eventbus dans la fonction init de ta classe principale

                	MinecraftForge.EVENT_BUS.register(new F3Event);
                

                J'aime les pâtes

                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 robin4002

                  L’enregistrement d’event est ok, ça ne sert à rien de regarder à ce niveau (s’il avait un problème avec l’event le menu F3 serait celui de base).

                  Ce qu’il faut vérifier ce sont des fonctions de draw de texte, vu que tu as rien à l’écran je pense que tu écris en dehors de l’écran.

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

                    Ah je pensais que son menu F3 ne s’afficher pas par dessus celui de minecraft. Lance en debug et change les coordonnées des fps par exemple, et une fois afficher sur l’écran change juste un peu la valeur pour l’afficher ou tu veux

                    J'aime les pâtes

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

                      Merci pour vos réponses le problème était que je me suis fail dans la color , j’ai mit : 167772215 alors qu’il fallait mettre 16777215

                      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