Un fichier de configuration
-
Oui, par exemple tu peux déclarer une boolean :
public static boolean spawndemob;Ensuite dans le fichier de config :
spawndemob = cfg.get(“Mob spawn”), “Spawn de mon mob”, true).getBoolean(true);
Et pour finir, dans la déclaration de ton mob :
if(spawndemob)
{
EntityRegistry.addSpawn(MonMob.class, ……
}Même principe pour les double et les String
Et puis sinon regardez les mods open source pour des bon exemple ^^ :
https://github.com/robin4002/PlayerHeadDrop/blob/master/forge1.6.2/fr/mcnanotech/playerhead/PlayerHeadDrop.java#L32 -
Ah génial ça !! J’achète ! Merci !! (Et moi qui allais créer ma propre méthode cfg…)
-
Salut,
Je n’ai pas compris cette partie :
Maintenant, à la suite de vos déclarations, déclarez des int qui fond correspondre à vos ids, par exemple dans mon cas :
public static int BlockTutorialID, TutorialMetadataID, ItemTutorialID, ItemWithMetadataID, TutorialHelmetID, TutorialChestPlateID, TutorialLeggingsID, TutorialBootsID;
Ou faut-il déclarer la méthode?
J’ai essayer dans plusieurs endroits mais j’ai une erreur " Illegal modifier for parameter CaisseDeBoisID; only final is permitted " qui me remplace mon " public static int CaisseDeBoisID; " par " int CaisseDeBoisID; ".
Merci d’avance.
-
Dans ce genre de situation github est très pratique comme tu peux avoir un rendu de des lignes ajoutées/supprimées et tu peux voir clairement où. Donc tu peux cliquer sur “rendu final sur github” ou ici :
https://github.com/MCNanotech/ModTutoriel/commit/522d57cbe78d87a0f15d3fe5daca608be3d8684eEt si github ne te conviens pas, il faut le placer après l’accolade de la classe :
public class MaClassePrincipale { public static int exemple, exemple2; […] -
Ah merci beaucoup !
-
Très bon tuto ! Petite question, peux-t-on modifier les valeurs via Java ?
-
@‘MrAzErTy31’:
Très bon tuto ! Petite question, peux-t-on modifier les valeurs via Java ?
Que veux tu dire par là ?
-
Editer les clés via du code Java
-
En 1.7.10, oui : http://minalien.com/minecraft-forge-feature-spotlight-config-guis/
(j’avais pas compris ce que tu voulais dire au début). -
Super tuto ^^
Cepandant, comme ajouter des lignes de commentaire # dans le fichier config ?
Merci
-
@‘UnknowOrigin’:
Super tuto ^^
Cepandant, comme ajouter des lignes de commentaire # dans le fichier config ?
Merci
En 1.7/1.8, ou 1.6 ?
-
en 1.7.10, j’ai pas pensé a préciser… Désolé ^^’
-
cfg.getInt(“Ma catégorie”, “nom”, valeur, “ceci est un commentaire”).getInt();
-
Ha ok d’accord… je pensais qu’il fallait utilisé un truc propre au commentaire, mais en faite non ^^, Merci
Par contre, y’a pas moyen de les classers dans l’ordre ou il sont coder ? Et pourquoi certain on des “” et d’autre non ? oO
Config.modAdmin1 = cfg.get("Mod Admins", "Premier Admin", Config.modAdmin1,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.modAdmin2 = cfg.get("Mod Admins", "Deuxieme Admin", Config.modAdmin2,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.modAdmin3 = cfg.get("Mod Admins", "Troisieme Admin", Config.modAdmin3,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.ecosysteme = cfg.get("Ecosysteme", "Active", Config.ecosysteme).getBoolean(); Config.repopBouftou = cfg.get("Ecosysteme", "Delais du spawner Bouftou en ticks", Config.repopBouftou).getInt(); Config.nameMobs = cfg.get("Monstres", "Afficher les noms", Config.nameMobs).getBoolean(); Config.dropMobs = cfg.get("Monstres", "Lacher les Drops", Config.dropMobs).getBoolean(); Config.sizeGenMobs = cfg.get("Monstres", "Taille fixe", Config.sizeGenMobs).getBoolean(); Config.diffSizeMobs = cfg.get("Monstres", "Difference de taille", Config.diffSizeMobs).getDouble(); Config.forceBoufton = cfg.get("Boufton/Bouftou", "Force du Boufton", Config.forceBoufton).getDouble(); Config.speedBoufton = cfg.get("Boufton/Bouftou", "Vitesse du Boufton", Config.speedBoufton).getDouble(); Config.healthBoufton = cfg.get("Boufton/Bouftou", "Vie du Boufton", Config.healthBoufton).getDouble(); Config.knockhBoufton = cfg.get("Boufton/Bouftou", "Resistance du Boufton", Config.knockhBoufton).getDouble(); Config.forceBouftou = cfg.get("Boufton/Bouftou", "Force du Bouftou", Config.forceBouftou).getDouble(); Config.speedBouftou = cfg.get("Boufton/Bouftou", "Vitesse du Bouftou", Config.speedBouftou).getDouble(); Config.healthBouftou = cfg.get("Boufton/Bouftou", "Vie du Bouftou", Config.healthBouftou).getDouble(); Config.knockhBouftou = cfg.get("Boufton/Bouftou", "Resistance du Bouftou", Config.knockhBouftou).getDouble(); Config.rangeAggroBouftou = cfg.get("Boufton/Bouftou", "Portee d'agression", Config.rangeAggroBouftou).getDouble(); Config.speedAggroBouftou = cfg.get("Boufton/Bouftou", "Vitesse de Poursuite", Config.speedAggroBouftou).getDouble(); Config.sizeBouftou = (float) cfg.get("Boufton/Bouftou", "Taille", Config.sizeBouftou).getDouble(); Config.vieillesseBouftou = cfg.get("Boufton/Bouftou", "Vieillit tout les X ticks", Config.vieillesseBouftou).getInt(); Config.evolutionBouftou = cfg.get("Boufton/Bouftou", "Evolue au X ticks", Config.evolutionBouftou).getInt(); Config.naissance1Bouftou = cfg.get("Boufton/Bouftou", "Premiere naissance au X ticks", Config.naissance1Bouftou).getInt(); Config.naissance2Bouftou = cfg.get("Boufton/Bouftou", "Deuxieme naissance au X ticks", Config.naissance2Bouftou).getInt(); Config.mortBouftou = cfg.get("Boufton/Bouftou", "Duree de vie en ticks", Config.mortBouftou).getInt(); Config.aleaBouftou = cfg.get("Boufton/Bouftou", "Delais max des naissances", Config.aleaBouftou).getInt();# Configuration file "boufton/bouftou" { I:"Delais max des naissances"=500 I:"Deuxieme naissance au X ticks"=1800 I:"Duree de vie en ticks"=3600 I:"Evolue au X ticks"=400 D:"Force du Boufton"=1.0 D:"Force du Bouftou"=2.0 D:"Portee d'agression"=1.0 I:"Premiere naissance au X ticks"=1200 D:"Resistance du Boufton"=0.5 D:"Resistance du Bouftou"=0.7 D:Taille=0.949999988079071 D:"Vie du Boufton"=16.0 D:"Vie du Bouftou"=22.0 I:"Vieillit tout les X ticks"=80 D:"Vitesse de Poursuite"=1.26 D:"Vitesse du Boufton"=0.26 D:"Vitesse du Bouftou"=0.26 } ecosysteme { B:Active=true I:"Delais du spawner Bouftou en ticks"=1200 } "mod admins" { # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Deuxieme Admin"= # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Premier Admin"=Kujaroth # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Troisieme Admin"= } monstres { B:"Afficher les noms"=true D:"Difference de taille"=0.025 B:"Lacher les Drops"=true B:"Taille fixe"=false } -
@‘UnknowOrigin’:
Ha ok d’accord… je pensais qu’il fallait utilisé un truc propre au commentaire, mais en faite non ^^, Merci
Par contre, y’a pas moyen de les classers dans l’ordre ou il sont coder ? Et pourquoi certain on des “” et d’autre non ? oO
Config.modAdmin1 = cfg.get("Mod Admins", "Premier Admin", Config.modAdmin1,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.modAdmin2 = cfg.get("Mod Admins", "Deuxieme Admin", Config.modAdmin2,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.modAdmin3 = cfg.get("Mod Admins", "Troisieme Admin", Config.modAdmin3,"Entrez le nom d'un admin qui aura l'accès aux blocs spawner").getString(); Config.ecosysteme = cfg.get("Ecosysteme", "Active", Config.ecosysteme).getBoolean(); Config.repopBouftou = cfg.get("Ecosysteme", "Delais du spawner Bouftou en ticks", Config.repopBouftou).getInt(); Config.nameMobs = cfg.get("Monstres", "Afficher les noms", Config.nameMobs).getBoolean(); Config.dropMobs = cfg.get("Monstres", "Lacher les Drops", Config.dropMobs).getBoolean(); Config.sizeGenMobs = cfg.get("Monstres", "Taille fixe", Config.sizeGenMobs).getBoolean(); Config.diffSizeMobs = cfg.get("Monstres", "Difference de taille", Config.diffSizeMobs).getDouble(); Config.forceBoufton = cfg.get("Boufton/Bouftou", "Force du Boufton", Config.forceBoufton).getDouble(); Config.speedBoufton = cfg.get("Boufton/Bouftou", "Vitesse du Boufton", Config.speedBoufton).getDouble(); Config.healthBoufton = cfg.get("Boufton/Bouftou", "Vie du Boufton", Config.healthBoufton).getDouble(); Config.knockhBoufton = cfg.get("Boufton/Bouftou", "Resistance du Boufton", Config.knockhBoufton).getDouble(); Config.forceBouftou = cfg.get("Boufton/Bouftou", "Force du Bouftou", Config.forceBouftou).getDouble(); Config.speedBouftou = cfg.get("Boufton/Bouftou", "Vitesse du Bouftou", Config.speedBouftou).getDouble(); Config.healthBouftou = cfg.get("Boufton/Bouftou", "Vie du Bouftou", Config.healthBouftou).getDouble(); Config.knockhBouftou = cfg.get("Boufton/Bouftou", "Resistance du Bouftou", Config.knockhBouftou).getDouble(); Config.rangeAggroBouftou = cfg.get("Boufton/Bouftou", "Portee d'agression", Config.rangeAggroBouftou).getDouble(); Config.speedAggroBouftou = cfg.get("Boufton/Bouftou", "Vitesse de Poursuite", Config.speedAggroBouftou).getDouble(); Config.sizeBouftou = (float) cfg.get("Boufton/Bouftou", "Taille", Config.sizeBouftou).getDouble(); Config.vieillesseBouftou = cfg.get("Boufton/Bouftou", "Vieillit tout les X ticks", Config.vieillesseBouftou).getInt(); Config.evolutionBouftou = cfg.get("Boufton/Bouftou", "Evolue au X ticks", Config.evolutionBouftou).getInt(); Config.naissance1Bouftou = cfg.get("Boufton/Bouftou", "Premiere naissance au X ticks", Config.naissance1Bouftou).getInt(); Config.naissance2Bouftou = cfg.get("Boufton/Bouftou", "Deuxieme naissance au X ticks", Config.naissance2Bouftou).getInt(); Config.mortBouftou = cfg.get("Boufton/Bouftou", "Duree de vie en ticks", Config.mortBouftou).getInt(); Config.aleaBouftou = cfg.get("Boufton/Bouftou", "Delais max des naissances", Config.aleaBouftou).getInt();# Configuration file "boufton/bouftou" { I:"Delais max des naissances"=500 I:"Deuxieme naissance au X ticks"=1800 I:"Duree de vie en ticks"=3600 I:"Evolue au X ticks"=400 D:"Force du Boufton"=1.0 D:"Force du Bouftou"=2.0 D:"Portee d'agression"=1.0 I:"Premiere naissance au X ticks"=1200 D:"Resistance du Boufton"=0.5 D:"Resistance du Bouftou"=0.7 D:Taille=0.949999988079071 D:"Vie du Boufton"=16.0 D:"Vie du Bouftou"=22.0 I:"Vieillit tout les X ticks"=80 D:"Vitesse de Poursuite"=1.26 D:"Vitesse du Boufton"=0.26 D:"Vitesse du Bouftou"=0.26 } ecosysteme { B:Active=true I:"Delais du spawner Bouftou en ticks"=1200 } "mod admins" { # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Deuxieme Admin"= # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Premier Admin"=Kujaroth # Entrez le nom d'un admin qui aura l'accès aux blocs spawner S:"Troisieme Admin"= } monstres { B:"Afficher les noms"=true D:"Difference de taille"=0.025 B:"Lacher les Drops"=true B:"Taille fixe"=false }Il faut faire une liste de String et chaque fois tu mets cfg.getName() (je suis plus sur du nom de la fonction) et à la fin, tu fais cfg.orderList(liste) (quelque chose comme ça, au pire, regarde dans fml, il y a un exemple)
-
Pour l’ordre non, c’est trié par ordre alphabétique.
Pour les " " qui apparaisse dès fois, c’est lorsque tu mets des espaces ou des / ou autres caractères qui ne font pas partie de l’alphabet dans le nom. -
@‘robin4002’:
Pour l’ordre non, c’est trié par ordre alphabétique.
Pour les " " qui apparaisse dès fois, c’est lorsque tu mets des espaces ou des / ou autres caractères qui ne font pas partie de l’alphabet dans le nom.Par défaut c’est ranger par ordre alphabétique, mais lui veut le mettre dans l’ordre où il les mets dans sa classe.
-
comment faire pour par exemple faire une liste d’admin sans limite ? c’est a dire admin 1 admin 2 admin 3 … admin n
-
Bah en utilisant un tableau non ?
-
bah non un tableau çà as une limite : donc il est possible que le nombre d’admin surpasse le nombre de case du tableau