• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Faire une astuce random

    Anciennes versions
    1.6.4
    5
    10
    1482
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Ama
      Ama last edited by

      Bonjour !

      Je cherche à faire des astuces random comme sur beaucoup de jeux, le problème c’est que je n’y arrive pas !

      Je me suis renseigner du côté du splash text mais rien ! Il ne me charge pas le splash.txt

      PS: Je passe par une classe intermédiaire (inutile je pense), mais bon:

      GuiAstuces:

      :::

      package net.viruz.client;
      
      import java.io.BufferedReader;
      import java.io.IOException;
      import java.io.InputStreamReader;
      import java.util.ArrayList;
      import java.util.Random;
      
      import org.apache.commons.io.Charsets;
      
      import net.minecraft.client.Minecraft;
      import net.minecraft.client.gui.GuiScreen;
      import net.minecraft.util.ResourceLocation;
      
      public class GuiAstuces extends GuiScreen
      {
      /** The RNG used by the Main Menu Screen. */
      private static final Random rand = new Random();
      
      /** The splash message. */
      public static String splashText = "Erreur lors du chargement des astuces de jeu";
      private static final ResourceLocation splashTexts = new ResourceLocation("texts/splashes.txt");
      
      public GuiAstuces()
      {
      BufferedReader bufferedreader = null;
      String s;
      
      try
      {
      ArrayList arraylist = new ArrayList();
      bufferedreader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(splashTexts).getInputStream(), Charsets.UTF_8));
      
      while ((s = bufferedreader.readLine()) != null)
      {
      s = s.trim();
      
      if (!s.isEmpty())
      {
      arraylist.add(s);
      }
      }
      
      do
      {
      this.splashText = (String)arraylist.get(rand.nextInt(arraylist.size()));
      }
      while (this.splashText.hashCode() == 125780783);
      }
      catch (IOException ioexception)
      {
      ;
      }
      finally
      {
      if (bufferedreader != null)
      {
      try
      {
      bufferedreader.close();
      }
      catch (IOException ioexception1)
      {
      ;
      }
      }
      }
      
      }
      
      }
      
      

      :::

      GuiConnexion dans drawString:

      :::

      GL11.glPushMatrix();
      GL11.glTranslatef((float)(this.width / 2 + 90), 70.0F, 0.0F);
      GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
      float f1 = 1.8F - MathHelper.abs(MathHelper.sin((float)(Minecraft.getSystemTime() % 1000L) / 1000.0F * (float)Math.PI * 2.0F) * 0.1F);
      f1 = f1 * 100.0F / (float)(this.fontRenderer.getStringWidth(GuiAstuces.splashText) + 32);
      GL11.glScalef(f1, f1, f1);
      this.drawCenteredString(this.fontRenderer, GuiAstuces.splashText, 0, -8, 16776960);
      GL11.glPopMatrix();
      

      :::

      Mais à chaque fois mon message “Erreur lors du chargement des astuces de jeu” qui s’affiche et j’ai pas d’erreur dans la console

      Merci si vous pouvez me filer un coup de main !

      Si je t'ai filé un coup de main n'oublie pas le + / -
      Par contre évite les demandes d'aides en MP, tu sera sympa'

      La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

      Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

      1 Reply Last reply Reply Quote 0
      • jglrxavpok
        jglrxavpok Modérateurs last edited by

        Remplace ```java
        catch (IOException ioexception)
        {
        ;
        }

        par
        ```java
        catch (IOException ioexception)
        {
        ioexception.printStackTrace();
        }
        

        Histoire que l’on voit les erreurs 😉

        Modérateur sur MFF. 
        Mon Github: http://github.com/jglrxavpok
        Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

        1 Reply Last reply Reply Quote 0
        • Ama
          Ama last edited by

          Ok je test


          EDIT: Je l’ai fait, mais pas d’erreurs ! WTF ?


          EDIT: Voilà la console:

          :::

          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Loading tweak class name cpw.mods.fml.common.launcher.FMLTweaker
          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Using primary tweak class name cpw.mods.fml.common.launcher.FMLTweaker
          mars 13, 2014 9:38:20 PM net.minecraft.launchwrapper.LogWrapper log
          Infos: Calling tweak class cpw.mods.fml.common.launcher.FMLTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Forge Mod Loader version 6.4.49.965 for Minecraft 1.6.4 loading
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Java is Java HotSpot™ Client VM, version 1.7.0_45, running on Windows 8:x86:6.2, installed at C:\Program Files (x86)\Java\jre7
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Loading tweak class name cpw.mods.fml.common.launcher.FMLDeobfTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLInjectionAndSortingTweaker
          2014-03-13 21:38:20 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
          2014-03-13 21:38:20 [Infos] [STDOUT] Loaded 40 rules from AccessTransformer config file fml_at.cfg
          2014-03-13 21:38:20 [Grave] [ForgeModLoader] The binary patch set is missing. Either you are in a development environment, or things are not going to work!
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.relauncher.CoreModManager$FMLPluginWrapper
          2014-03-13 21:38:21 [Infos] [STDOUT] Loaded 110 rules from AccessTransformer config file forge_at.cfg
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Calling tweak class cpw.mods.fml.common.launcher.FMLDeobfTweaker
          2014-03-13 21:38:21 [Infos] [ForgeModLoader] Launching wrapped minecraft {net.minecraft.client.main.Main}
          2014-03-13 21:38:22 [Infos] [Minecraft-Client] Setting user: TheAmateis
          2014-03-13 21:38:23 [Infos] [Minecraft-Client] LWJGL Version: 2.9.0
          2014-03-13 21:38:23 [Infos] [Minecraft-Client] Reloading ResourceManager: Default
          2014-03-13 21:38:24 [Infos] [MinecraftForge] Attempting early MinecraftForge initialization
          2014-03-13 21:38:24 [Infos] [STDOUT] MinecraftForge v9.11.1.965 Initialized
          2014-03-13 21:38:24 [Infos] [ForgeModLoader] MinecraftForge v9.11.1.965 Initialized
          2014-03-13 21:38:24 [Infos] [STDOUT] Replaced 111 ore recipies
          2014-03-13 21:38:24 [Infos] [MinecraftForge] Completed early MinecraftForge initialization
          2014-03-13 21:38:24 [Infos] [ForgeModLoader] Reading custom logging properties from C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\ViruZ Core Forge 1.6.4_9.11.1.953\forge\mcp\jars\config\logging.properties
          2014-03-13 21:38:24 [Désactivé] [ForgeModLoader] Logging level for ForgeModLoader logging is set to ALL
          2014-03-13 21:38:25 [Infos] [ForgeModLoader] Searching C:\Users\Jean-Baptiste\Desktop\Modding\JAVA\ViruZ Core Forge 1.6.4_9.11.1.953\forge\mcp\jars\mods for mods
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
          2014-03-13 21:38:27 [Infos] [mcp] Activating mod mcp
          2014-03-13 21:38:27 [Infos] [FML] Activating mod FML
          2014-03-13 21:38:27 [Infos] [Forge] Activating mod Forge
          2014-03-13 21:38:27 [Infos] [ViruZ] Activating mod ViruZ
          2014-03-13 21:38:27 [Avertissement] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Avertissement] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Avertissement] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:27 [Infos] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:ViruZ
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Registering Forge Packet Handler
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Succeeded registering Forge Packet Handler
          2014-03-13 21:38:27 [Infos] [ForgeModLoader] Configured a dormant chunk cache size of 0
          2014-03-13 21:38:28 [Grave] [Minecraft-Client] Using missing texture, unable to load: viruz:textures/blocks/presents.png
          2014-03-13 21:38:28 [Grave] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_511_NormalWardrobe.png
          2014-03-13 21:38:29 [Infos] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
          2014-03-13 21:38:29 [Avertissement] [Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Avertissement] [Minecraft Forge] Mod Minecraft Forge is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Avertissement] [ViruZ] Mod ViruZ is missing a pack.mcmeta file, things may not work well
          2014-03-13 21:38:29 [Infos] [Minecraft-Client] Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:ViruZ
          2014-03-13 21:38:29 [Grave] [Minecraft-Client] Using missing texture, unable to load: viruz:textures/blocks/presents.png
          2014-03-13 21:38:29 [Grave] [Minecraft-Client] Using missing texture, unable to load: minecraft:textures/blocks/MISSING_ICON_TILE_511_NormalWardrobe.png
          2014-03-13 21:38:29 [Infos] [STDOUT]
          2014-03-13 21:38:29 [Infos] [STDOUT] Starting up SoundSystem…
          2014-03-13 21:38:30 [Infos] [STDOUT] Initializing LWJGL OpenAL
          2014-03-13 21:38:30 [Infos] [STDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org)
          2014-03-13 21:38:30 [Infos] [STDOUT] OpenAL initialized.
          2014-03-13 21:38:30 [Infos] [STDOUT]
          2014-03-13 21:38:30 [Grave] [Minecraft-Client] Realms: Server not available!

          :::

          Si je t'ai filé un coup de main n'oublie pas le + / -
          Par contre évite les demandes d'aides en MP, tu sera sympa'

          La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

          Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

          1 Reply Last reply Reply Quote 0
          • Porteffroi
            Porteffroi last edited by

            Tu as bien remplacé aux deux places ?

            1 Reply Last reply Reply Quote 0
            • Ama
              Ama last edited by

              Oui je l’ai fait !

              Si je t'ai filé un coup de main n'oublie pas le + / -
              Par contre évite les demandes d'aides en MP, tu sera sympa'

              La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

              Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

              1 Reply Last reply Reply Quote 0
              • Ama
                Ama last edited by

                Pas d’idées ?

                Si je t'ai filé un coup de main n'oublie pas le + / -
                Par contre évite les demandes d'aides en MP, tu sera sympa'

                La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                1 Reply Last reply Reply Quote 0
                • robin4002
                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                  Tu as ouvert le gui avant de regarder les logs ?

                  1 Reply Last reply Reply Quote 0
                  • Ama
                    Ama last edited by

                    Je je l’ai fait ! Je re-teste


                    Oui et toujours rien !

                    Si je t'ai filé un coup de main n'oublie pas le + / -
                    Par contre évite les demandes d'aides en MP, tu sera sympa'

                    La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                    Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                    1 Reply Last reply Reply Quote 0
                    • RedRelay
                      RedRelay Moddeurs confirmés last edited by

                      Ouille ouille ouille que ça pique xD

                      Normalement il n’y a que ta classe qui charge le spashtext qui est censé la modifier non ?
                      Alors pourquoi la mettre en public ?
                      Ne te pose même pas cette question, tu n’as pas besoin de stocker cette variable, écrit quand même la signature de la fonction getSpashText(), on s’en servira un peu plus bas.

                      Voila ce que fait ta classe :
                      Elle ouvre le fichier
                      Elle le parcours de manière séquentiel et ajoute chaque ligne a une arraylist (donc tu remplis de l’espace mémoire)
                      Elle sélectionne 1 élément de cette arraylist.
                      Elle supprime l’arraylist (libère de l’espace mémoire)
                      Elle ferme le fichier

                      A chaque fois que tu voudras régénérer une astuce aléatoire, tu devras refaire toutes les étapes que je viens de t’écrire, ça fait long, très long. En fait, tu ne stocks pas le bon attribut.
                      Pourquoi est ce que tu ne stockerai pas ton ArrayList ? Et a chaque fois que tu appels la méthode getSplashText(), tu retournes un élément au pif de ta liste.

                      Il y a d’autre chose discutable sur ta classe :

                      • Ton objet random qui ne sert a rien, tu as une fonction Math.random() qui fait exactement la même chose, sauf que tu ne génères pas d’objet inutile.
                      • Les collections en Java sont génériques. Ici ce n’est pas une ArrayList d’object que tu veux, c’est une ArrayList de String.
                        Donc ArrayList <string>arrayList = new ArrayList<string>();
                        Comme ça, tu ne cast pas ton objet à la sortie et tu es sur de ne pouvoir mettre QUE des chaines de caractère dans cette liste.
                      • De la manière dont tu implémenteras cette classe si tu suis mes conseils vis à vis des attributs, si tu fais un getSpashText() sans avoir instancier une première fois ta classe, tu planteras avec un magnifique NullPointerException.
                        Je vais te donner un résumé de ce que doit contenir ta classe, ça répondra a ce problème en même temps :
                      Attribut :
                      - private static GuiAstuces instance;
                      - private ArrayList <string>arrayList;
                      
                      Constructeur :
                      - private GuiAstuces() { … tu initialises ton ArrayList comme tu le fait actuellement puis tu fais this.instance = this;}
                      
                      Methode :
                      - public String getSpashText() { return arrayList.get((int) (Math.random*arrayList.size())); }
                      
                      Methode static :
                      - public static synchronized GuiAstuces getInstance() {
                      if(instance == null) this.instance = new GuiAstuces();
                      return instance;}
                      

                      Ensuite tu utilises ta classe de la manière suivante :

                      GuiAstuces.getInstance().getSplashText();
                      

                      Si tu veux des explications vis a vis de cette classe, lorsque tu va appeler pour la première fois getInstance(), tu vas initialiser ton objet. Toutes les fois suivantes, tu va récupérer l’instance.
                      Le mot clef synchronized est la pour les accès concurrentiels, ça évite que 2 threads n’accèdent en même temps a cette fonction.</string></string></string>

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

                      1 Reply Last reply Reply Quote 0
                      • Ama
                        Ama last edited by

                        Merci c’est bon !

                        Si je t'ai filé un coup de main n'oublie pas le + / -
                        Par contre évite les demandes d'aides en MP, tu sera sympa'

                        La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                        Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

                        1 Reply Last reply Reply Quote 0
                        • 1 / 1
                        • First post
                          Last post
                        Design by Woryk
                        Contact / Mentions Légales

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB