Navigation

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

    SOLVED Récupération lien texture

    1.7.x
    1.7.10
    5
    10
    703
    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.
    • lesfreresdemon
      lesfreresdemon last edited by

      Bonjour/Bonsoir,
      Je cherche absolument a trouver un lien viable vers la texture de terre (par exemple), soit dirt.png qui est actuellement chargé par le jeu (donc que ce soit celle de base ou celle d’un resourcepack).
      J’ai déjà essayé de nombreux lien: 
      Par exemple:

      
      File texturedirt = new File("texture:dirt.png");
      File texturedirt = new File("assets/textures/blocks/dirt.png");
      File texturedirt = new File("texture:blocks/dirt.png");
      
      

      Voila 😕 Si vous avez des idées je suis preneur 😄

      Merci d’avance, Pierre

      1 Reply Last reply Reply Quote 0
      • Z
        Zoulette last edited by

        tu cherche la texture de la dirt en fichier.png sur ton pc? car j’ai pas très bien compris ta reqête

        1 Reply Last reply Reply Quote 0
        • P
          PlayFlop_ last edited by

          Normalement ça devrait être sa:
          File texturedirt = new File(MODID + “:textures/blocks/dirt.png”);
          ou
          [size=smallFile texturedirt = new File(“minecraft:textures/blocks/dirt.png”);]
          pour la texture de minecraft directement

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

            Il faut passer par la classe RessourceLocation et non par la classe File.

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

              Merci c’est exactement ce que je cherchais, comment ai-je pu être aussi stupide 😄


              Et donc si je veux imaginons copier ce fichier qui est la texture de la terre, et que je ne peut utiliser que la resourcelocation, comment est ce que je peux procéder?

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

                Tu peux récupérer le FileInputStream d’un ResourceLocation, de mémoire, et donc ensuite avec un FileWriter en récrire une copie.

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

                  Ok, mais je suis vraiment pas bon pour ça 😕
                  J’ai fait cela:

                  
                  BufferedReader readIn = new BufferedReader(new InputStreamReader(getClass().getClassLoader()
                       .getResourceAsStream("minecraft:textures/blocks/dirt.png"), "UTF-8"));
                  
                  @SuppressWarnings("resource")
                  FileWriter fw = new FileWriter(Minecraft.getMinecraft().mcDataDir + "/Flan/dirt.png");
                  
                  

                  Mais ça ne marche pas 😕

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

                    Commence par écouter mes conseils, à savoir faire le lien entre un InputStream puis un ResourceLocation, je n’ai à aucun moment mentionner le BufferedReader.
                    Une piste:
                    Minecraft.getMinecraft().getResourceManager().getResource(location).getInputStream()

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

                      Merci pour cette réponse Plaigon,
                      J’ai donc réussi à réaliser ce que je souhaitais, je me permet de mettre mon code pour que ceux qui chercheraient une solution soient servi 😄

                      A déclarer avant le void

                      
                      private static final ResourceLocation dirt = new ResourceLocation("minecraft:textures/blocks/dirt.png");
                      
                      

                      Dans la fonction
                      (A choisir)

                      
                      File destination = new File(Minecraft.getMinecraft().mcDataDir + "/textures/terre.png");
                      
                      

                      Puis la récupération de la texture:

                      
                      FileUtils.copyInputStreamToFile(Minecraft.getMinecraft().getResourceManager().getResource(dirt).getInputStream(), destination );
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Superloup10
                        Superloup10 Modérateurs last edited by

                        Tu n’as pas besoin de mettre minecraft: quand tu veux avoir une texture de Minecraft.

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

                        MINECRAFT FORGE FRANCE © 2018

                        Powered by NodeBB