• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Modifier à sa guise le menu F3

    Tutoriels des membres
    1.7.x
    9
    30
    10861
    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.
    • Deleted
      Deleted dernière édition par robin4002

      Modifier à sa guise le menu F3

      -[INTRODUCTION]-

      Salut tout le monde, c’est mon premier tutoriel et je vais vous montrer comme créer votre propre menu F3. Vous pourrez ajouter/enlever n’importe quelles valeurs afin de garder les plus essentielles, telles que les fps, le biome où vous vous trouvez, etc…

      -[REQUIS]-

      → Avoir quelque bases en Java au niveau de la POO
      → Avoir créer au préalable toutes les classes nécessaire : Classe Principale Client Proxy & CommonProxy

      -[SOMMAIRE]-

      1) Créations des events
      2) Enregistrement de l’ EventHandler

      ▬▬▬ BONUS ▬▬▬

      - Insérer une image

      1] Création de l’ EventHandler

      Tout d’abord créer une classe que vous appellerez comme vous voudrez, le plus pro et le plus commun à tous les mods, je trouve est : EventHandler. Une fois cela fait rendez vous y et nous allons y ajouter les 2 méthodes suivantes :

      @SideOnly(SIDE.CLIENT)
      @SubscribeEvent
      public void onRenderPre(RenderGameOverlayEvent.Pre event)
      {
      }
      
      public void drawString(FontRenderer par1FontRenderer, String par2Str, int par3, int par4, int par5)
      {
          par1FontRenderer.drawStringWithShadow(par2Str, par3, par4, par5);
      }
      

      Maintenant je vais vous expliquer bien gentiment tout ce code. Notre première méthode est précédée de deux annotations :

      • SideOnly(SIDE.CLIENT) permet de faire en sorte que la méthode ne soit exécutée qu’en Client et non sur les 2 Sides.
      • SubscribeEvent, qui permet au jeu de savoir que la méthode qui suit est une méthode d’un event.

      C’est dans cette méthode que nous allons ajouter tout ce qui concerne le nouvel F3. J’ai ajouté une deuxième méthode qui elle ne sera utilisée que dans la suite de ce tutoriel. Maintenant si vous placez directement tout votre code dedans il y aura un énorme bug d’affichage et tout l’HUD disparaîtra. Pour mieux comprendre veuillez ajouter cette petite (mais très importante ^^) condition à la suite de la méthode onRenderPre :

      if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
      {
          event.setCanceled(true);
      }
      

      En fait l’event RenderGameOverlay modifiera tout ce qui doit être affiché à l’écran du joueur, donc si vous ne filtrez pas ce qui doit être modifié tout disparaîtra ! C’est pourquoi vous être obligé de placer cette condition. Par-exemple, si vous souhaitez modifier la barre de faim, il faudra remplacer DEBUG par FOOD.

      Petite astuce : Si faites ctrl + barre espace tout en ayant sélectionné FOOD, vous pourrez alors voir tout ce qui est modifiable à l’HUD. La méthode setCanceled(boolean isCanceled) permet de supprimer le résultat de l’event.

      Trêves de bavardages, reprenons le fil du tuto ! La suite est à placer dans la condition, il s’agit de tout ce qui composera votre nouveau F3.
      Je vais vous montrer plusieurs codes : Afficher le nombre de fps, le biome dans lequel le joueur se trouve et enfin la direction dans lequel le joueur regarde.

      Pour ce qui est des fps il va vous falloir avoir une instance de la classe Minecraft à l’aide d’une des deux méthodes suivantes : Minecraft.getMinecraft() ou FMLClientHandler.instance().getClient()

      Une fois cette variable inscrite voici le code permettant de récupérer le nombre de fps : mc.debug.split(“,”, 2)[0];
      Une fois cela fait vous pourrez alors l’afficher à l’écran via la deuxième méthode que je vous ai montrée au début de ce tutoriel :
      this.drawString(Minecraft.getMinecraft().fontRenderer, fpsString, 10, 50, 14737632);

      Le premier argument est la police de l’écriture, le deuxième est le texte à afficher, le 3ème est la position x, le 4ème est la position y, puis enfin le dernier est la couleur.
      En revanche on peut aussi colorer le texte en se servant de la classe EnumChatFormatting.

      Pour ce qui est des biomes voici la méthode : mc.theWorld.getBiomeGenForCoords(x, z).biomeName;

      Enfin voici le code pour get la direction :

      int var1 = MathHelper.floor_double((double) (event.entityLiving.rotationYaw * 4.0F / 360.0F) + 0.5D) & 3;
      directions = Direction.directions[var1];
      

      Voilà c’est tout pour cette première partie, passons désormais à l’enregistrement 😃

      2] Enregistrement de l’ EventHandler

      Pour enregistrer une classe possédant des events, rien de plus simple, ajoutez cette ligne dans votre méthode init de votre classe principale : MinecraftForge.EVENT_BUS.register(new EventHandler());
      L’event RenderGameOverlay et un event forge et non FML, c’est pour cela que nous choisissons cette méthode. Ma classe s’appelle EventHandler, en revanche si la votre est différente, changez.

      ▬▬▬ IMAGE ▬▬▬

      1 réponse Dernière réponse Répondre Citer 0
      • theogiraudet
        theogiraudet dernière édition par

        Salut, très bon tutoriel, merci ! Juste une petite question : il y a t’il un moyen de récupérer le compteur d’entités du menu F3 ( E : x) ?

        1 réponse Dernière réponse Répondre Citer 0
        • Deleted
          Deleted dernière édition par

          Salut, ceci je pense

          
          this.drawString(Minecraft.getMinecraft().fontRenderer, Minecraft.getMinecraft().getEntityDebug(), 10, 70, 16777215);
          
          

          Au passage, je n’ai pas vérifié les coordonnées. Donc change les si ils ne te conviennent pas 😃

          1 réponse Dernière réponse Répondre Citer 0
          • theogiraudet
            theogiraudet dernière édition par

            Merci pour ta réponse rapide !
            Il me renvoie une petite erreur en me proposant d’ajouter des “cast” “: The method getEntityDebug() is undefined for the type Minecraft”
            J’ai oublié de préciser, je suis en 1.8 !

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

              En 1.8, soit tu peux utiliser Minecraft.getMinecraft().getDebugInfoEntities() qui va afficher “E: 0/1, B: 0, I: 1” ou alors tu peux utiliser la réfraction pour accéder aux variables countEntitiesRendered, countEntitiesTotal et countEntitiesHidden.

              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
              • theogiraudet
                theogiraudet dernière édition par

                Encore une fois, il me propose des casts 😕
                En tout cas merci de ta réponse !

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

                  Envoi ton code et l’erreur affichée

                  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
                  • theogiraudet
                    theogiraudet dernière édition par

                    Bon, je viens juste de trouver un moyen :

                    e = mc.renderGlobal.getDebugInfoEntities();
                    e= e.substring(3, 4);
                    

                    Je ne suis pas sur que ce soit le plus optimisé, mais en tout cas ça fais son traivail ^^"
                    Merci beaucoup de votre aide !

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

                      c’est pas du tout optimisé, utilise la réflection

                      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
                      • theogiraudet
                        theogiraudet dernière édition par

                        Okay, je vais essayer, merci !

                        1 réponse Dernière réponse Répondre Citer 0
                        • RedRelay
                          RedRelay Moddeurs confirmés dernière édition par

                          le plus pro et le plus commun à tous les mods, je trouve est : EventHandler.

                          -> Source ?? … c’est totalement faux 😮

                          public void drawString(FontRenderer par1FontRenderer, String par2Str, int par3, int par4, int par5)
                          

                          -> Pourquoi la signature n’est pas explicite ?

                          RenderGameOverlayEvent.Text possède 2 liste qu’il suffit de modifier pour changer l’affichage du f3 sans casser la compatibilité avec d’autre mods.

                          –------------------------------------------------------------------------------------
                          Si tu trouves mon intervention pertinente, n'hésite pas a m…

                          1 réponse Dernière réponse Répondre Citer 0
                          • Deleted
                            Deleted dernière édition par

                            En quoi je casse la compatibilité avec d’autres mods ? Je connais peu de mods qui modifie le f3 perso…

                            Et aussi balade toi sur plein de github de mod forge open-source, tu verras par toi même que les moddeurs préfèrent placer leurs event dans des classes à part

                            Sources :
                            -https://github.com/OG-Kloud/Traders/tree/master/src/main/java/net/kloudspace/trades/event/handlers
                            -https://github.com/micdoodle8/Galacticraft/tree/master/src/main/java/micdoodle8/mods/galacticraft/core/event
                            -https://github.com/micdoodle8/Galacticraft/tree/master/src/main/java/micdoodle8/mods/galacticraft/core/event

                            Voilà, et encore j’ai pris les plus connus.  J’avais pas envie de perdre mon temps sur cette page, alors si ça te dit, amuse-toi encore à en trouver 😃
                            https://github.com/agaricusb/ForgeMod/wiki/List-of-Open-Source-Forge-Mods

                            1 réponse Dernière réponse Répondre Citer 0
                            • RedRelay
                              RedRelay Moddeurs confirmés dernière édition par

                              • https://github.com/joshiejack/Mariculture
                              • https://github.com/FlansMods/FlansMod
                              • https://github.com/BuildCraft/BuildCraft

                              etc etc…

                              Mettre tout les handlers dans une même classe sans se soucier du regroupement fonctionnel, c’est une aberration en POO.
                              Si je veux travailler sur un handler RenderEvent et qu’un collègue travaille sur un handler PlayerInterractEvent, on édite le même fichier ? Donc on génère potentiellement des conflits ? Si j’ai besoin d’un attribut pour mon RenderEvent, je le laisse accessible aux autre events qui n’en n’ont absolument pas besoin ? Malgré le principe d’encapsulation ?

                              En quoi je casse la compatibilité avec d’autres mods ? Je connais peu de mods qui modifie le f3 perso…

                              Tu connais tout les mods et tout les futurs mods ? En supprimant le F3 de cette manière tout les mods qui utilise un event qui modifie l’ecran de debug F3 seront inutilisable. Tu rends ton mod incompatible avec les autres, c’est pas une question de dire si tu en connais ou pas.

                              –------------------------------------------------------------------------------------
                              Si tu trouves mon intervention pertinente, n'hésite pas a m…

                              1 réponse Dernière réponse Répondre Citer 0
                              • Deleted
                                Deleted dernière édition par

                                Ok très bien, merci de ces explications 😃
                                Je vais regarder de + près RenderGameOverlayEvent.Text et les 2 listes que tu m’as dit. SI j’arrive à faire fonctionner le tout, j’éditerai le tuto 😃

                                1 réponse Dernière réponse Répondre Citer 0
                                • leo01418
                                  leo01418 dernière édition par

                                  J’ai fait sa

                                  @SideOnly(Side.CLIENT) 
                                  @SubscribeEvent
                                         public void onRenderPre(RenderGameOverlayEvent.Pre event)
                                         {
                                       if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
                                  
                                         {
                                             event.setCanceled(true);
                                             this.drawString(Minecraft.getMinecraft().fontRenderer, EnumChatFormatting.RED.toString() + toString(), 10, 50, 14737632);
                                         }
                                         }
                                  
                                     public void drawString(FontRenderer par1FontRenderer, String fpsString, int par3, int par4, int par5)
                                     {
                                      Minecraft mc = FMLClientHandler.instance().getClient();
                                      fpsString = mc.debug.split(",", 2)[0];
                                      fpsString = mc.theWorld.getBiomeGenForCoords(par3, par4).biomeName;
                                      fpsString = Direction.directions[par5];
                                         par1FontRenderer.drawStringWithShadow(fpsString, par3, par4, par5);
                                      } 
                                  

                                  et le jeu crash
                                  crash report

                                  java.lang.ArrayIndexOutOfBoundsException: 14737632
                                  at ed.enderdeath.mod.Event.EnchantForge.drawString(EnchantForge.java:447) ~[EnchantForge.class:?]
                                  at ed.enderdeath.mod.Event.EnchantForge.onRenderPre(EnchantForge.java:438) ~[EnchantForge.class:?]
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler_17_EnchantForge_onRenderPre_Pre.invoke(.dynamic) ~[?:?]
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
                                  at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?]
                                  at net.minecraftforge.client.GuiIngameForge.pre(GuiIngameForge.java:901) ~[GuiIngameForge.class:?]
                                  at net.minecraftforge.client.GuiIngameForge.renderHUDText(GuiIngameForge.java:643) ~[GuiIngameForge.class:?]
                                  at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:158) ~[GuiIngameForge.class:?]
                                  at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1114) ~[EntityRenderer.class:?]
                                  at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) ~[Minecraft.class:?]
                                  at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
                                  at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
                                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_71]
                                  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_71]
                                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_71]
                                  at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_71]
                                  at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
                                  at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
                                  at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
                                  at GradleStart.main(Unknown Source) [start/:?]
                                  [20:17:47] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:388]: –-- Minecraft Crash Report ----
                                  // Oops.
                                  
                                  Time: 17/04/16 20:17
                                  Description: Unexpected error
                                  
                                  java.lang.ArrayIndexOutOfBoundsException: 14737632
                                  at ed.enderdeath.mod.Event.EnchantForge.drawString(EnchantForge.java:447)
                                  at ed.enderdeath.mod.Event.EnchantForge.onRenderPre(EnchantForge.java:438)
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler_17_EnchantForge_onRenderPre_Pre.invoke(.dynamic)
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
                                  at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
                                  at net.minecraftforge.client.GuiIngameForge.pre(GuiIngameForge.java:901)
                                  at net.minecraftforge.client.GuiIngameForge.renderHUDText(GuiIngameForge.java:643)
                                  at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:158)
                                  at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1114)
                                  at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067)
                                  at net.minecraft.client.Minecraft.run(Minecraft.java:962)
                                  at net.minecraft.client.main.Main.main(Main.java:164)
                                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  at java.lang.reflect.Method.invoke(Unknown Source)
                                  at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                                  at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                  at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
                                  at GradleStart.main(Unknown Source)
                                  
                                  A detailed walkthrough of the error, its code path and all known details is as follows:
                                  ---------------------------------------------------------------------------------------
                                  
                                  -- Head --
                                  Stacktrace:
                                  at ed.enderdeath.mod.Event.EnchantForge.drawString(EnchantForge.java:447)
                                  at ed.enderdeath.mod.Event.EnchantForge.onRenderPre(EnchantForge.java:438)
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler_17_EnchantForge_onRenderPre_Pre.invoke(.dynamic)
                                  at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
                                  at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
                                  at net.minecraftforge.client.GuiIngameForge.pre(GuiIngameForge.java:901)
                                  at net.minecraftforge.client.GuiIngameForge.renderHUDText(GuiIngameForge.java:643)
                                  at net.minecraftforge.client.GuiIngameForge.renderGameOverlay(GuiIngameForge.java:158)
                                  
                                  -- Affected level --
                                  Details:
                                  Level name: MpServer
                                  All players: 1 total; [EntityClientPlayerMP['Player791'/237, l='MpServer', x=-890,71, y=5,62, z=-950,14]]
                                  Chunk stats: MultiplayerChunkCache: 125, 125
                                  Level seed: 0
                                  Level generator: ID 01 - flat, ver 0\. Features enabled: false
                                  Level generator options: 
                                  Level spawn location: World: (-864,4,-823), Chunk: (at 0,0,9 in -54,-52; contains blocks -864,0,-832 to -849,255,-817), Region: (-2,-2; contains chunks -64,-64 to -33,-33, blocks -1024,0,-1024 to -513,255,-513)
                                  Level time: 19814 game time, 19814 day time
                                  Level dimension: 0
                                  Level storage version: 0x00000 - Unknown?
                                  Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
                                  Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false
                                  Forced entities: 103 total; [EntitySkeleton['Skeleton'/13, l='MpServer', x=-968,13, y=4,00, z=-934,66], EntitySkeleton['Skeleton'/14, l='MpServer', x=-969,09, y=4,00, z=-936,44], EntityCreeper['Creeper'/15, l='MpServer', x=-960,50, y=4,00, z=-908,50], EntitySpider['Spider'/23, l='MpServer', x=-944,28, y=4,00, z=-1006,47], EntitySkeleton['Skeleton'/24, l='MpServer', x=-949,78, y=4,00, z=-978,28], EntityZombie['Zombie'/25, l='MpServer', x=-958,50, y=4,00, z=-942,50], EntitySpider['Spider'/33, l='MpServer', x=-942,34, y=4,00, z=-1015,22], EntitySpider['Spider'/34, l='MpServer', x=-935,41, y=4,00, z=-947,53], EntitySpider['Spider'/35, l='MpServer', x=-943,28, y=4,00, z=-895,66], EntityZombie['Zombie'/49, l='MpServer', x=-927,25, y=4,00, z=-1013,72], EntityCreeper['Creeper'/50, l='MpServer', x=-915,94, y=4,00, z=-976,44], EntityCreeper['Creeper'/51, l='MpServer', x=-912,38, y=5,00, z=-927,94], EntitySkeleton['Skeleton'/52, l='MpServer', x=-912,22, y=5,00, z=-927,06], EntitySlime['Slime'/53, l='MpServer', x=-921,88, y=6,00, z=-895,31], EntitySlime['Slime'/54, l='MpServer', x=-922,25, y=9,47, z=-894,25], EntitySkeleton['Skeleton'/55, l='MpServer', x=-915,22, y=4,00, z=-891,72], EntityArrow['arrow'/56, l='MpServer', x=-914,65, y=4,04, z=-895,84], EntityZombie['Zombie'/70, l='MpServer', x=-903,88, y=4,00, z=-1015,56], EntitySkeleton['Skeleton'/71, l='MpServer', x=-900,53, y=4,00, z=-1023,50], EntitySpider['Spider'/72, l='MpServer', x=-912,00, y=4,00, z=-1020,16], EntitySpider['Spider'/73, l='MpServer', x=-906,09, y=4,00, z=-1021,50], EntityZombie['Zombie'/74, l='MpServer', x=-898,00, y=4,00, z=-959,95], EntityZombie['Zombie'/75, l='MpServer', x=-901,02, y=4,00, z=-951,69], EntityBat['Bat'/76, l='MpServer', x=-906,25, y=7,10, z=-934,75], EntityBat['Bat'/77, l='MpServer', x=-910,75, y=7,10, z=-930,94], EntityBat['Bat'/78, l='MpServer', x=-906,63, y=7,10, z=-926,25], EntityBat['Bat'/79, l='MpServer', x=-910,72, y=7,10, z=-926,25], EntitySkeleton['Skeleton'/80, l='MpServer', x=-901,22, y=4,00, z=-920,25], EntityXPOrb['Experience Orb'/82, l='MpServer', x=-901,23, y=5,21, z=-883,91], EntityXPOrb['Experience Orb'/83, l='MpServer', x=-901,56, y=4,71, z=-884,69], EntityArrow['arrow'/84, l='MpServer', x=-900,94, y=4,00, z=-889,91], EntitySpider['Spider'/96, l='MpServer', x=-889,16, y=4,00, z=-952,92], Goblin['Goblin'/97, l='MpServer', x=-889,67, y=4,00, z=-951,56], EntitySpider['Spider'/98, l='MpServer', x=-890,92, y=4,00, z=-953,95], Goblin['Goblin'/99, l='MpServer', x=-891,33, y=4,00, z=-952,18], Goblin['Goblin'/100, l='MpServer', x=-890,68, y=4,00, z=-951,11], EntitySkeleton['Skeleton'/101, l='MpServer', x=-892,59, y=4,00, z=-938,46], EntityBat['Bat'/102, l='MpServer', x=-883,31, y=7,10, z=-920,75], EntityBat['Bat'/103, l='MpServer', x=-883,44, y=6,10, z=-917,50], EntityBat['Bat'/104, l='MpServer', x=-883,25, y=6,10, z=-916,81], EntityBat['Bat'/105, l='MpServer', x=-884,75, y=6,10, z=-916,81], EntityBat['Bat'/106, l='MpServer', x=-883,25, y=6,10, z=-916,81], EntityBat['Bat'/107, l='MpServer', x=-880,25, y=6,10, z=-916,81], EntityBat['Bat'/108, l='MpServer', x=-883,25, y=6,10, z=-916,81], EntityBat['Bat'/109, l='MpServer', x=-881,50, y=6,10, z=-916,81], EntityItem['item.item.slimeball'/110, l='MpServer', x=-891,47, y=1,13, z=-923,72], EntityArrow['arrow'/111, l='MpServer', x=-884,34, y=9,44, z=-898,06], EntityCreeper['Creeper'/126, l='MpServer', x=-878,47, y=4,00, z=-1009,51], EntityCreeper['Creeper'/127, l='MpServer', x=-874,50, y=4,00, z=-1009,50], EntitySpider['Spider'/128, l='MpServer', x=-864,13, y=4,00, z=-1014,47], EntityCreeper['Creeper'/129, l='MpServer', x=-876,50, y=4,00, z=-1006,50], EntityBat['Bat'/130, l='MpServer', x=-879,25, y=6,10, z=-929,75], EntitySlime['Slime'/131, l='MpServer', x=-875,13, y=6,00, z=-928,67], EntityBat['Bat'/132, l='MpServer', x=-878,81, y=7,10, z=-927,25], EntityBat['Bat'/133, l='MpServer', x=-878,81, y=7,10, z=-918,34], EntityZombie['Zombie'/134, l='MpServer', x=-873,47, y=5,00, z=-926,16], EntitySheep['Sheep'/136, l='MpServer', x=-867,81, y=4,00, z=-890,63], EntityCreeper['Creeper'/137, l='MpServer', x=-865,50, y=4,00, z=-873,50], EntityCreeper['Creeper'/138, l='MpServer', x=-869,50, y=4,00, z=-877,50], EntitySkeleton['Skeleton'/142, l='MpServer', x=-849,50, y=4,00, z=-949,50], EntitySpider['Spider'/143, l='MpServer', x=-853,53, y=4,00, z=-938,78], EntitySlime['Slime'/144, l='MpServer', x=-850,57, y=6,00, z=-917,13], EntityChicken['Chicken'/145, l='MpServer', x=-853,53, y=5,00, z=-915,44], Robber['Robber'/146, l='MpServer', x=-862,66, y=5,00, z=-920,41], EntityVillager['Villager'/147, l='MpServer', x=-858,84, y=5,00, z=-919,69], EntityZombie['Zombie'/148, l='MpServer', x=-860,50, y=5,00, z=-925,50], EntityZombie['Zombie'/149, l='MpServer', x=-855,69, y=4,00, z=-919,50], EntityVillager['Villager'/150, l='MpServer', x=-860,69, y=5,00, z=-927,69], EntityZombie['Zombie'/151, l='MpServer', x=-863,50, y=5,00, z=-921,50], Goblin['Goblin'/152, l='MpServer', x=-854,36, y=4,00, z=-926,50], EntityCow['Cow'/153, l='MpServer', x=-851,33, y=5,00, z=-903,79], EntityBat['Bat'/154, l='MpServer', x=-855,73, y=4,00, z=-894,15], EntityCow['Cow'/155, l='MpServer', x=-850,88, y=4,00, z=-881,91], EntitySlime['Slime'/160, l='MpServer', x=-840,46, y=5,00, z=-974,04], EntitySheep['Sheep'/161, l='MpServer', x=-835,59, y=4,00, z=-902,22], EntityBat['Bat'/162, l='MpServer', x=-850,93, y=9,03, z=-913,33], EntityPig['Pig'/163, l='MpServer', x=-833,50, y=4,00, z=-888,28], EntityCow['Cow'/164, l='MpServer', x=-839,13, y=4,00, z=-891,94], EntitySheep['Sheep'/165, l='MpServer', x=-839,91, y=4,00, z=-885,97], EntityPig['Pig'/166, l='MpServer', x=-832,25, y=4,00, z=-887,88], EntitySkeleton['Skeleton'/168, l='MpServer', x=-837,50, y=4,00, z=-872,50], EntityZombie['Zombie'/169, l='MpServer', x=-836,25, y=4,00, z=-878,22], EntityCreeper['Creeper'/171, l='MpServer', x=-824,50, y=4,00, z=-959,50], EntitySkeleton['Skeleton'/173, l='MpServer', x=-818,50, y=4,00, z=-923,50], EntitySpider['Spider'/174, l='MpServer', x=-816,25, y=4,00, z=-911,44], EntityHorse['Horse'/175, l='MpServer', x=-819,63, y=4,00, z=-885,22], EntityHorse['Horse'/176, l='MpServer', x=-821,81, y=4,00, z=-886,09], EntityHorse['Horse'/177, l='MpServer', x=-829,66, y=4,00, z=-890,84], EntityPig['Pig'/179, l='MpServer', x=-826,38, y=4,00, z=-877,34], EntityHorse['Horse'/180, l='MpServer', x=-830,81, y=4,00, z=-878,59], EntityPig['Pig'/184, l='MpServer', x=-830,09, y=4,00, z=-876,13], EntityZombie['Zombie'/186, l='MpServer', x=-813,28, y=4,00, z=-932,13], EntityZombie['Zombie'/187, l='MpServer', x=-811,88, y=4,00, z=-936,47], EntityZombie['Zombie'/190, l='MpServer', x=-815,09, y=4,00, z=-919,28], EntitySkeleton['Skeleton'/191, l='MpServer', x=-814,50, y=4,00, z=-921,50], EntitySpider['Spider'/192, l='MpServer', x=-814,44, y=4,00, z=-908,56], EntityCreeper['Creeper'/193, l='MpServer', x=-811,91, y=4,00, z=-901,41], EntityCreeper['Creeper'/194, l='MpServer', x=-814,66, y=4,00, z=-900,94], EntityHorse['Horse'/195, l='MpServer', x=-813,16, y=4,00, z=-895,75], EntitySkeleton['Skeleton'/198, l='MpServer', x=-810,66, y=4,00, z=-895,91], EntityZombie['Zombie'/239, l='MpServer', x=-912,53, y=2,10, z=-1031,56], EntitySpider['Spider'/241, l='MpServer', x=-921,13, y=3,90, z=-1025,63], EntityClientPlayerMP['Player791'/237, l='MpServer', x=-890,71, y=5,62, z=-950,14]]
                                  Retry entities: 0 total; []
                                  Server brand: fml,forge
                                  Server type: Integrated singleplayer server
                                  Stacktrace:
                                  at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:415)
                                  at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2566)
                                  at net.minecraft.client.Minecraft.run(Minecraft.java:991)
                                  at net.minecraft.client.main.Main.main(Main.java:164)
                                  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                                  at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                                  at java.lang.reflect.Method.invoke(Unknown Source)
                                  at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
                                  at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
                                  at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
                                  at GradleStart.main(Unknown Source)
                                  
                                  – System Details --
                                  Details:
                                  Minecraft Version: 1.7.10
                                  Operating System: Windows 8.1 (x86) version 6.3
                                  Java Version: 1.8.0_71, Oracle Corporation
                                  Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
                                  Memory: 875164744 bytes (834 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
                                  JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
                                  AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                  IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
                                  FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1558 4 mods loaded, 4 mods active
                                  States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
                                  UCHIJAAAA mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
                                  UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
                                  UCHIJAAAA Forge{10.13.4.1558} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1558-1.7.10.jar) 
                                  UCHIJAAAA enderdeath{1.0} [leo01418] (bin) 
                                  GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 350.12' Renderer: 'GeForce GTX 745/PCIe/SSE2'
                                  Launched Version: 1.7.10
                                  LWJGL: 2.9.1
                                  OpenGL: GeForce GTX 745/PCIe/SSE2 GL version 4.5.0 NVIDIA 350.12, NVIDIA Corporation
                                  GL Caps: Using GL 1.3 multitexturing.
                                  Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
                                  Anisotropic filtering is supported and maximum anisotropy is 16.
                                  Shaders are available because OpenGL 2.1 is supported.
                                  
                                  Is Modded: Definitely; Client brand changed to 'fml,forge'
                                  Type: Client (map_client.txt)
                                  Resource Packs: []
                                  Current Language: English (US)
                                  Profiler Position: N/A (disabled)
                                  Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
                                  Anisotropic Filtering: Off (1)
                                  [20:17:47] [Client thread/INFO] [STDOUT]: [net.minecraft.client.Minecraft:displayCrashReport:398]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Eric\Desktop\EnderMod\eclipse\.\crash-reports\crash-2016-04-17_20.17.47-client.txt
                                  AL lib: (EE) alc_cleanup: 1 device not closed
                                  Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
                                  
                                  

                                  J’ai enlevé cette ligne

                                  fpsString = Direction.directions[par5];
                                  

                                  et sa marché juste pour le biome(normal )

                                  Voila ma signature

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

                                    Normal, regarde un peu ce que tu fais, tu as copié une fonction drawString de Minecraft, où le dernier paramètre est censé être la couleur sauf que dans ton code tu ne l’utilise pas correctement, regarde d’abord ce que tu fais

                                    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
                                    • Deleted
                                      Deleted dernière édition par

                                      De plus ceci n’a aucun sens : EnumChatFormatting.RED.toString() + toString()

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • leo01418
                                        leo01418 dernière édition par

                                        Je fait sa

                                        @SideOnly(Side.CLIENT) 
                                        @SubscribeEvent
                                                public void onRenderPre(RenderGameOverlayEvent.Pre event)
                                                {
                                         if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
                                        
                                               {
                                         Minecraft mc = Minecraft.getMinecraft();
                                                   event.setCanceled(true);
                                                   this.drawString(Minecraft.getMinecraft().fontRenderer, EnumChatFormatting.RED.toString() + fpsString, 10, 50, 14737632);
                                               }
                                                }
                                        @SideOnly(Side.CLIENT) 
                                            public void drawString(FontRenderer par1FontRenderer, String par2Str, int par3, int par4, int par5)
                                            {
                                        Minecraft mc = Minecraft.getMinecraft();
                                        fpsString = mc.debug.split(",", 2)[0];
                                        biomeString = mc.theWorld.getBiomeGenForCoords(par3, par4).biomeName;
                                        directions = Direction.directions[var25];
                                        
                                                par1FontRenderer.drawStringWithShadow(par2Str, par3, par4, par5);
                                             } 
                                        }
                                        

                                        et sa affiche que les fps,je pense que l’erreur est toute bête mais je ne la trouve pas

                                        Voila ma signature

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • robin4002
                                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                                          @SideOnly(Side.CLIENT)
                                          @SubscribeEvent
                                          public void onRenderPre(RenderGameOverlayEvent.Pre event)
                                          {
                                          if(event.type == RenderGameOverlayEvent.ElementType.DEBUG)
                                          {
                                          Minecraft mc = Minecraft.getMinecraft();
                                          event.setCanceled(true);
                                            this.drawString(Minecraft.getMinecraft().fontRenderer, mc.debug.split(",", 2)[0], 10, 50, 0xFF0000);
                                          this.drawString(Minecraft.getMinecraft().fontRenderer, mc.theWorld.getBiomeGenForCoords(mc.thePlayer.posX, mc.thePlayer.posZ).biomeName, 20, 50, 0xFF0000);
                                          }
                                          }
                                          
                                          @SideOnly(Side.CLIENT)
                                             public 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
                                          • leo01418
                                            leo01418 dernière édition par

                                            Merci Robin ce cette réponse vite mais sa me fait une érreur à getBiomeGenForCoords il me propose de le changé en getBiomeGenForCoordsBody et après de le rechangé en getBiomeGenForCoords 
                                            j’ai un peux exploré getBiomeGenForCoords  et c’est en int je me suis alors ou est le problème et j’ai reguardé le posX et c’était en double

                                            Mais de ta réponse  🙂

                                            Voila ma signature

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

                                            MINECRAFT FORGE FRANCE © 2018

                                            Powered by NodeBB