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

    Résolu Problème avec mon fichier de config

    1.7.x
    1.7.10
    3
    5
    678
    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.
    • D
      Degraduck dernière édition par

      Bonjour/Bonsoir me revoilà avec un soucis, mon fichier config ne s’enregistre pas si je le modifie, je dois supprimer le fichier pour qu’il se recreer à chaque fois que je modifie quelque chose dedans.

      Et mes configs s’ennregistrent dans un ordre random, numéro 1,10,11,…,2,3… Je ne comprends pas pourquoi

      J’ai aussi mes Niveaux Maximum qui se place à chaque fois avant mes niveaux Minimum pourquoi j’en sais rien.

      Voilà j’espère que vous pourrez m’éclairer sur ces trois soucis .

      Ma classe config:

      package com.degraduck.minefus;
      
      public class Config {
      
      public static int niveauMinimumBouftou = 13;
      public static int niveauMaximumBouftou = 25;
      public static int chanceArchiBouftou = 250;
      
      public static int niveauMinimumBouftonBlanc = 11;
      public static int niveauMaximumBouftonBlanc = 15;
      public static int chanceArchiBouftonBlanc = 250;
      
      public static int niveauMinimumBouftonNoir = 11;
      public static int niveauMaximumBouftonNoir = 15;
      public static int chanceArchiBouftonNoir = 250;
      
      public static int niveauMinimumChefDeGuerre = 25;
      public static int niveauMaximumChefDeGuerre = 33;
      public static int chanceArchiChefDeGuerre = 250;
      
      public static int niveauMinimumArakne = 11;
      public static int niveauMaximumArakne = 15;
      public static int chanceArchiArakne = 250;
      
      public static int niveauMinimumPiou = 11;
      public static int niveauMaximumPiou = 15;
      public static int chanceArchiPiou = 250;
      
      public static int niveauMinimumTofu = 12;
      public static int niveauMaximumTofu = 16;
      public static int chanceArchiTofu = 250;
      
      public static int niveauMinimumTournesol = 18;
      public static int niveauMaximumTournesol = 26;
      public static int chanceArchiTournesol = 250;
      
      public static int niveauMinimumChampchamp = 13;
      public static int niveauMaximumChampchamp = 17;
      public static int chanceArchiChampchamp = 250;
      
      public static int niveauMinimumMoskito = 11;
      public static int niveauMaximumMoskito = 15;
      public static int chanceArchiMoskito = 250;
      
      public static int niveauMinimumCraquebille = 20;
      public static int niveauMaximumCraquebille = 28;
      
      public static int niveauMinimumLarveBleu = 11;
      public static int niveauMaximumLarveBleu = 15;
      public static int chanceArchiLarveBleu = 250;
      
      public static int niveauMinimumLarveVerte = 16;
      public static int niveauMaximumLarveVerte = 20;
      public static int chanceArchiLarveVerte = 250;
      
      public static int niveauMinimumLarveOrange = 21;
      public static int niveauMaximumLarveOrange = 25;
      public static int chanceArchiLarveOrange = 250;
      
      }
      
      

      Ma classe principale:

      @EventHandler
      public void preInit(FMLPreInitializationEvent event)
      {
      
      Configuration config = new Configuration(event.getSuggestedConfigurationFile());
      try
      {
      config.load();
      
      Config.niveauMinimumBouftou= config.get("1 - Bouftou", "Niveau Minimum", Config.niveauMinimumBouftou).getInt();
      Config.niveauMaximumBouftou = config.get("1 - Bouftou", "Niveau Maximum", Config.niveauMaximumBouftou).getInt();
      Config.chanceArchiBouftou = config.get("1 - Bouftou", "Taux Spawn Archimonstre", Config.chanceArchiBouftou).getInt();
      
      Config.niveauMinimumBouftonBlanc= config.get("2 - Boufton Blanc", "Niveau Minimum", Config.niveauMinimumBouftonBlanc).getInt();
      Config.niveauMaximumBouftonBlanc = config.get("2 - Boufton Blanc", "Niveau Maximum", Config.niveauMaximumBouftonBlanc).getInt();
      Config.chanceArchiBouftonBlanc = config.get("2 - Boufton Blanc", "Taux Spawn Archimonstre", Config.chanceArchiBouftonBlanc).getInt();
      
      Config.niveauMinimumBouftonNoir= config.get("3 - Boufton Noir", "Niveau Minimum", Config.niveauMinimumBouftonNoir).getInt();
      Config.niveauMaximumBouftonNoir = config.get("3 - Boufton Noir", "Niveau Maximum", Config.niveauMaximumBouftonNoir).getInt();
      Config.chanceArchiBouftonNoir = config.get("3 - Boufton Noir", "Taux Spawn Archimonstre", Config.chanceArchiBouftonNoir).getInt();
      
      Config.niveauMinimumChefDeGuerre= config.get("4 - Chef De Guerre Bouftou", "Niveau Minimum", Config.niveauMinimumChefDeGuerre).getInt();
      Config.niveauMaximumChefDeGuerre = config.get("4 - Chef De Guerre Bouftou", "Niveau Maximum", Config.niveauMaximumChefDeGuerre).getInt();
      Config.chanceArchiChefDeGuerre = config.get("4 - Chef De Guerre Bouftou", "Taux Spawn Archimonstre", Config.chanceArchiChefDeGuerre).getInt();
      
      Config.niveauMinimumArakne= config.get("5 - Arakne", "Niveau Minimum", Config.niveauMinimumArakne).getInt();
      Config.niveauMaximumArakne = config.get("5 - Arakne", "Niveau Maximum", Config.niveauMaximumArakne).getInt();
      Config.chanceArchiArakne = config.get("5 - Arakne", "Taux Spawn Archimonstre", Config.chanceArchiArakne).getInt();
      
      Config.niveauMinimumPiou= config.get("6 - Piou", "Niveau Minimum", Config.niveauMinimumPiou).getInt();
      Config.niveauMaximumPiou = config.get("6 - Piou", "Niveau Maximum", Config.niveauMaximumPiou).getInt();
      Config.chanceArchiPiou = config.get("6 - Piou", "Taux Spawn Archimonstre", Config.chanceArchiPiou).getInt();
      
      Config.niveauMinimumTofu= config.get("7 - Tofu", "Niveau Minimum", Config.niveauMinimumTofu).getInt();
      Config.niveauMaximumTofu = config.get("7 - Tofu", "Niveau Maximum", Config.niveauMaximumTofu).getInt();
      Config.chanceArchiTofu = config.get("7 - Tofu", "Taux Spawn Archimonstre", Config.chanceArchiTofu).getInt();
      
      Config.niveauMinimumTournesol= config.get("8 - Tournesol", "Niveau Minimum", Config.niveauMinimumTournesol).getInt();
      Config.niveauMaximumTournesol = config.get("8 - Tournesol", "Niveau Maximum", Config.niveauMaximumTournesol).getInt();
      Config.chanceArchiTournesol = config.get("8 - Tournesol", "Taux Spawn Archimonstre", Config.chanceArchiTournesol).getInt();
      
      Config.niveauMinimumMoskito= config.get("9 - Moskito", "Niveau Minimum", Config.niveauMinimumMoskito).getInt();
      Config.niveauMaximumMoskito = config.get("9 - Moskito", "Niveau Maximum", Config.niveauMaximumMoskito).getInt();
      Config.chanceArchiMoskito = config.get("9 - Moskito", "Taux Spawn Archimonstre", Config.chanceArchiMoskito).getInt();
      
      Config.niveauMinimumChampchamp= config.get("10 - Champchamp", "Niveau Minimum", Config.niveauMinimumChampchamp).getInt();
      Config.niveauMaximumChampchamp = config.get("10 - Champchamp", "Niveau Maximum", Config.niveauMaximumChampchamp).getInt();
      Config.chanceArchiChampchamp = config.get("10 - Champchamp", "Taux Spawn Archimonstre", Config.chanceArchiChampchamp).getInt();
      
      Config.niveauMinimumLarveBleu= config.get("11 - LarveBleu", "Niveau Minimum", Config.niveauMinimumLarveBleu).getInt();
      Config.niveauMaximumLarveBleu = config.get("11 - LarveBleu", "Niveau Maximum", Config.niveauMaximumLarveBleu).getInt();
      Config.chanceArchiLarveBleu = config.get("11 - LarveBleu", "Taux Spawn Archimonstre", Config.chanceArchiLarveBleu).getInt();
      
      Config.niveauMinimumLarveVerte= config.get("12 - LarveVerte", "Niveau Minimum", Config.niveauMinimumLarveVerte).getInt();
      Config.niveauMaximumLarveVerte = config.get("12 - LarveVerte", "Niveau Maximum", Config.niveauMaximumLarveVerte).getInt();
      Config.chanceArchiLarveVerte = config.get("12 - LarveVerte", "Taux Spawn Archimonstre", Config.chanceArchiLarveVerte).getInt();
      
      Config.niveauMinimumLarveOrange= config.get("13 - LarveOrange", "Niveau Minimum", Config.niveauMinimumLarveOrange).getInt();
      Config.niveauMaximumLarveOrange = config.get("13 - LarveOrange", "Niveau Maximum", Config.niveauMaximumLarveOrange).getInt();
      Config.chanceArchiLarveOrange = config.get("13 - LarveOrange", "Taux Spawn Archimonstre", Config.chanceArchiLarveOrange).getInt();
      
      Config.niveauMinimumCraquebille= config.get("14 - Craquebille", "Niveau Minimum", Config.niveauMinimumCraquebille).getInt();
      Config.niveauMaximumCraquebille = config.get("14 - Craquebille", "Niveau Maximum", Config.niveauMaximumCraquebille).getInt();
      
      }
      
      catch(Exception ex)
      {
       System.out.println("Impossible de charger la configuration !");
      }
      
      finally
      {
      if(config.hasChanged())
      {
      config.save();
      }
      
      }
      
      }
      

      et mon fichier de config:

      :::

      Configuration file

      “1 - bouftou” {
         I:“Niveau Maximum”=25
         I:“Niveau Minimum”=13
         I:“Taux Spawn Archimonstre”=250
      }

      “10 - champchamp” {
         I:“Niveau Maximum”=17
         I:“Niveau Minimum”=13
         I:“Taux Spawn Archimonstre”=250
      }

      “11 - larvebleu” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      “12 - larveverte” {
         I:“Niveau Maximum”=20
         I:“Niveau Minimum”=16
         I:“Taux Spawn Archimonstre”=250
      }

      “13 - larveorange” {
         I:“Niveau Maximum”=25
         I:“Niveau Minimum”=21
         I:“Taux Spawn Archimonstre”=250
      }

      “14 - craquebille” {
         I:“Niveau Maximum”=28
         I:“Niveau Minimum”=20
      }

      “2 - boufton blanc” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      “3 - boufton noir” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      “4 - chef de guerre bouftou” {
         I:“Niveau Maximum”=33
         I:“Niveau Minimum”=25
         I:“Taux Spawn Archimonstre”=250
      }

      “5 - arakne” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      “6 - piou” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      “7 - tofu” {
         I:“Niveau Maximum”=16
         I:“Niveau Minimum”=12
         I:“Taux Spawn Archimonstre”=250
      }

      “8 - tournesol” {
         I:“Niveau Maximum”=26
         I:“Niveau Minimum”=18
         I:“Taux Spawn Archimonstre”=250
      }

      “9 - moskito” {
         I:“Niveau Maximum”=15
         I:“Niveau Minimum”=11
         I:“Taux Spawn Archimonstre”=250
      }

      :::

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

        Bonjour,

        Concernant tes 2 questions sur l’ordre dapparition de tes propriétés dans le fichier de config, c’est facile,
        La class “Configuration” de forge utilise un TreeMap pour stoker les catégories ET leurs propriétés. Du coup cette map trie automatiquement suivant l’ordre naturel:

        Example:

        Niveau Maximum < Niveau Minimum
        a < i

        La même chose pour tes “catégories” (je vais avoir du mal à mettre l’espace en gras, mais dans la table ASCII il à une valeur plus petite que n’importe quel caractère affichable)

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

          Il y aurait-il un moyen de contourner le trie automatique?

          J’ai donc changé ma configuration:

          @EventHandler
          public void preInit(FMLPreInitializationEvent event)
          {
          
          Configuration config = new Configuration(event.getSuggestedConfigurationFile());
          try
          {
          Config.niveauMinimumBouftou= config.get("1 - Bouftou", "Niveau Minimum", Config.niveauMinimumBouftou).getInt();
          Config.niveauMaximumBouftou = config.get("1 - Bouftou", "Niveau Maximum", Config.niveauMaximumBouftou).getInt();
          Config.chanceArchiBouftou = config.get("1 - Bouftou", "Taux Spawn Archimonstre", Config.chanceArchiBouftou).getInt();
          
          Config.niveauMinimumBouftonBlanc= config.get("2 - Boufton Blanc", "Niveau Minimum", Config.niveauMinimumBouftonBlanc).getInt();
          Config.niveauMaximumBouftonBlanc = config.get("2 - Boufton Blanc", "Niveau Maximum", Config.niveauMaximumBouftonBlanc).getInt();
          Config.chanceArchiBouftonBlanc = config.get("2 - Boufton Blanc", "Taux Spawn Archimonstre", Config.chanceArchiBouftonBlanc).getInt();
          
          Config.niveauMinimumBouftonNoir= config.get("3 - Boufton Noir", "Niveau Minimum", Config.niveauMinimumBouftonNoir).getInt();
          Config.niveauMaximumBouftonNoir = config.get("3 - Boufton Noir", "Niveau Maximum", Config.niveauMaximumBouftonNoir).getInt();
          Config.chanceArchiBouftonNoir = config.get("3 - Boufton Noir", "Taux Spawn Archimonstre", Config.chanceArchiBouftonNoir).getInt();
          
          Config.niveauMinimumChefDeGuerre= config.get("4 - Chef De Guerre Bouftou", "Niveau Minimum", Config.niveauMinimumChefDeGuerre).getInt();
          Config.niveauMaximumChefDeGuerre = config.get("4 - Chef De Guerre Bouftou", "Niveau Maximum", Config.niveauMaximumChefDeGuerre).getInt();
          Config.chanceArchiChefDeGuerre = config.get("4 - Chef De Guerre Bouftou", "Taux Spawn Archimonstre", Config.chanceArchiChefDeGuerre).getInt();
          
          Config.niveauMinimumArakne= config.get("5 - Arakne", "Niveau Minimum", Config.niveauMinimumArakne).getInt();
          Config.niveauMaximumArakne = config.get("5 - Arakne", "Niveau Maximum", Config.niveauMaximumArakne).getInt();
          Config.chanceArchiArakne = config.get("5 - Arakne", "Taux Spawn Archimonstre", Config.chanceArchiArakne).getInt();
          
          Config.niveauMinimumPiou= config.get("6 - Piou", "Niveau Minimum", Config.niveauMinimumPiou).getInt();
          Config.niveauMaximumPiou = config.get("6 - Piou", "Niveau Maximum", Config.niveauMaximumPiou).getInt();
          Config.chanceArchiPiou = config.get("6 - Piou", "Taux Spawn Archimonstre", Config.chanceArchiPiou).getInt();
          
          Config.niveauMinimumTofu= config.get("7 - Tofu", "Niveau Minimum", Config.niveauMinimumTofu).getInt();
          Config.niveauMaximumTofu = config.get("7 - Tofu", "Niveau Maximum", Config.niveauMaximumTofu).getInt();
          Config.chanceArchiTofu = config.get("7 - Tofu", "Taux Spawn Archimonstre", Config.chanceArchiTofu).getInt();
          
          Config.niveauMinimumTournesol= config.get("8 - Tournesol", "Niveau Minimum", Config.niveauMinimumTournesol).getInt();
          Config.niveauMaximumTournesol = config.get("8 - Tournesol", "Niveau Maximum", Config.niveauMaximumTournesol).getInt();
          Config.chanceArchiTournesol = config.get("8 - Tournesol", "Taux Spawn Archimonstre", Config.chanceArchiTournesol).getInt();
          
          Config.niveauMinimumMoskito= config.get("9 - Moskito", "Niveau Minimum", Config.niveauMinimumMoskito).getInt();
          Config.niveauMaximumMoskito = config.get("9 - Moskito", "Niveau Maximum", Config.niveauMaximumMoskito).getInt();
          Config.chanceArchiMoskito = config.get("9 - Moskito", "Taux Spawn Archimonstre", Config.chanceArchiMoskito).getInt();
          
          Config.niveauMinimumChampchamp= config.get("10 - Champchamp", "Niveau Minimum", Config.niveauMinimumChampchamp).getInt();
          Config.niveauMaximumChampchamp = config.get("10 - Champchamp", "Niveau Maximum", Config.niveauMaximumChampchamp).getInt();
          Config.chanceArchiChampchamp = config.get("10 - Champchamp", "Taux Spawn Archimonstre", Config.chanceArchiChampchamp).getInt();
          
          Config.niveauMinimumLarveBleu= config.get("11 - LarveBleu", "Niveau Minimum", Config.niveauMinimumLarveBleu).getInt();
          Config.niveauMaximumLarveBleu = config.get("11 - LarveBleu", "Niveau Maximum", Config.niveauMaximumLarveBleu).getInt();
          Config.chanceArchiLarveBleu = config.get("11 - LarveBleu", "Taux Spawn Archimonstre", Config.chanceArchiLarveBleu).getInt();
          
          Config.niveauMinimumLarveVerte= config.get("12 - LarveVerte", "Niveau Minimum", Config.niveauMinimumLarveVerte).getInt();
          Config.niveauMaximumLarveVerte = config.get("12 - LarveVerte", "Niveau Maximum", Config.niveauMaximumLarveVerte).getInt();
          Config.chanceArchiLarveVerte = config.get("12 - LarveVerte", "Taux Spawn Archimonstre", Config.chanceArchiLarveVerte).getInt();
          
          Config.niveauMinimumLarveOrange= config.get("13 - LarveOrange", "Niveau Minimum", Config.niveauMinimumLarveOrange).getInt();
          Config.niveauMaximumLarveOrange = config.get("13 - LarveOrange", "Niveau Maximum", Config.niveauMaximumLarveOrange).getInt();
          Config.chanceArchiLarveOrange = config.get("13 - LarveOrange", "Taux Spawn Archimonstre", Config.chanceArchiLarveOrange).getInt();
          
          Config.niveauMinimumCraquebille= config.get("14 - Craquebille", "Niveau Minimum", Config.niveauMinimumCraquebille).getInt();
          Config.niveauMaximumCraquebille = config.get("14 - Craquebille", "Niveau Maximum", Config.niveauMaximumCraquebille).getInt();
          
          }
          
          catch(Exception ex)
          {
          System.out.println("Impossible de charger la configuration !");
          }
          
          finally
          {
          config.save();
          }
          
          }
          

          Mais toujours un soucis, j’ai renommé la dernière config “Craquebille” en “CraquebilleTest” et voici le résultat:

          :::
          “14 - craquebille” {
          I:“Niveau Maximum”=28
          I:“Niveau Minimum”=20
          }

          “14 - craquebilletest” {
          I:“Niveau Minimum”=20
          }
          :::

          Au lieu de remplacer il l’a ajouté en dessous, et quand je le supprime de ma classe config il ne le supprime pas dans mon fichier config.

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

            Oui et c’est normal comme comportement.

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

              Ah bah je passe en résolu alors ^^

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

              MINECRAFT FORGE FRANCE © 2018

              Powered by NodeBB