Cette librairie est faîte pour manipuler des fichiers de configuration ainsi que des .env
plus facilement.
HashConfig(Class<?> plugin, String resourcePath, String outputPath, boolean withDotEnv);
Class<?> plugin
: La classe principale du plugin.String resourcePath
: Le chemin du fichier de configuration se trouvant dans votre.jar
. (Appelé ressource)String outputPath
: Le chemin vers la sauvegarde locale du fichier de configuration.boolean withDotEnv
: S'il faut charger le fichier d'environnement ou non.
Warning
Le fichier de configuration ne sera pas chargé/recréé depuis les ressources si il existe déjà en local. Il sera uniquement chargé depuis le fichier local.
Structure du serveur
server/
├─ ...
├─ spigot.jar
├─ plugins/
│ ├─ TonPlugin.jar
├─ ...
Structure de TonPlugin.jar
TonPlugin.jar/
├─ config.yml
├─ main/
│ ├─ java/
│ │ ├─ .../
Fichier de configuration: config.yml
:
users:
1:
username: L1x
password: 1234
2:
username: Epitoch
password: 5678
Fichier de variable d'environnement: .env
:
TOKEN=YOUR_TOKEN
Chargement basic du fichier de configuration
import fr.hashtek.hashconfig.HashConfig;
// Pour un plugin minecraft
public class TonPlugin extends JavaPlugin
{
@Override
public void onEnable()
{
HashConfig config = new HashConfig(
this.getClass(),
"config.yml",
this.getDataFolder().getPath() + "/" + "config.yml",
false // Définir à true pour charger les fichiers .env
);
}
@Override
public void onDisable() {}
}
// Pour un autre type de projet Java
public class TonProjet
{
public static void main(String[] args)
{
HashConfig config = new HashConfig(
this.getClass(),
"config.yml",
"chemin/de/destination/config.yml",
false // Définir à true pour charger les fichiers .env
);
}
}
Récupération des variables d'environnement
import fr.hashtek.hashconfig.HashConfig;
HashConfig config = ...;
String value = config.getEnv().get("key");
Récupération d'un élément de votre fichier de configuration
HashConfig config = ...;
YamlFile yaml = config.getYaml();
String str = yaml.getString("path.to.your.string");
int number = yaml.getInt("path.to.your.number");
double number2 = yaml.getDouble("path.to.your.double");
// etc...
Modification des valeurs dans le fichier de configuration
HashConfig config = ...;
YamlFile yaml = config.getYaml();
String your_string = "blabla";
int your_integer = 1234;
double your_double = 1234.2934;
// Définir les nouvelles valeurs.
yaml.set("path.to.your.string", your_string);
yaml.set("path.to.your.integer", your_integer);
yaml.set("path.to.your.double", your_double);
config.save(); // Sauvegarder les nouvelles valeurs.
Rechargement du fichier de configuration
HashConfig config = ...;
// Vos modifications ici...
config.reload();
Warning
Le fichier de configuration ne sera pas chargé/recréé depuis les ressources s'il existe déjà en local. Il sera uniquement chargé depuis le fichier local et non depuis l'archive.