Skip to content

JsonHelper

Emile NKZ edited this page May 4, 2025 · 3 revisions

Introduction

JsonHelper permet de faciliter la gestion de vos fichiers JSON dans vos plugins : création, chargement, sauvegarde, et mise à jour des données. Pour ceux utilisant déjà l'ORM de Modkit, le JsonHelper est basé sur une approche similaire à l'ORM.

Lors de l'initialisation d'un JSON, un dossier sera automatiquement créé dans le répertoire ModKit sous le nom de votre plugin. À l'intérieur de ce dossier, un fichier .json portant le nom de la classe sera généré. Exemple : /Plugins/Modkit/LeNomDeVotrePlugin/LeNomDeVotreClasse.json

🛠️ Définir une classe de données JSON

Premièrement, vous devrez commencer par créer votre classe de données :

  • Votre classe doit hériter de JsonEntity<T> pour être prise en charge par ModKit.
public class VotreClasse : JsonEntity<VotreClasse>
  • Votre classe doit contenir toutes les propriétés nécessaires pour votre JSON. -> Info : Vous pouvez définir des valeurs par défaut dans vos propriétés en les initialisant directement lors de leur déclaration
public string Nom = "Test"; //De cette manière vous pourrez mettre une valeur par défaut à vos différentes propriétés.
public int Chiffre = 100;

Voici un exemple à son globale :

namespace Mod.Entities
{
    public class VotreClasse : ModKit.Helper.JsonHelper.JsonEntity<VotreClasse>
    {
	public string Nom = "Test";
	public string Chiffre = 100;
    }
}

⚙️ Initialisation

Après avoir crée votre classe de données, vous devrez faire en sorte que celle ci soit crée par Modkit. Rajoutez simplement JsonHelper.RegisterJson<VotreClasse>(); dans OnPluginInit() et votre JSON sera crée !

public override void OnPluginInit()
{
    base.OnPluginInit();
    JsonHelper.RegisterJson<VotreClasse>();
}

🧪 Manipulation des Données

Une fois initialisé, vous pouvez manipuler les données JSON avec les méthodes suivantes :

Méthode Description
JsonHelper.RegisterJson<>() Initialise ou crée le fichier JSON
VotreClasse.Data Accès direct à l’instance des données
VotreClasse.Reload() Recharge les données depuis le fichier
VotreClasse.Save() Sauvegarde manuellement les données
VotreClasse.Update(...) Modifie et sauvegarde automatiquement les données

● 🔍 Lire des données

Pour lire les données de votre json, vous pouvez utiliser le modèle ci-dessous :

string nom = ExempleDonnees.Data.Nom;
int chiffre = ExempleDonnees.Data.Chiffre;

● ✍️ Modifier et sauvegarder les données

Pour modifier et sauvegarder les données 2 méthodes s'offrent à vous :

  1. Modification avec sauvegarde manuelle
VotreClasse.Data.Nom = "NouveauNom";
bool result = await Exemple.Save();
// Optionnel en fonction de l'état de la sauvegarde
if (result)
{
    // Sauvegarde effectuée avec succès
}
else
{
    // Sauvegarde échouée
}
  1. Modification avec sauvegarde automatique
bool success = await ExempleDonnees.Update(data =>
{
    data.Nom = "Marie";
});

● 🔄 Recharger depuis le fichier

Pour récupérer les modifications directement au fichier :

await VotreClasse.Reload();

Un immense merci à tous les développeurs communautaires qui ont contribué à cette ajout !

📒 Wiki

🧱 AAMenu

🔗 ORM

⚡️ EventHelper

🚚 JobHelper

🌀 PointHelper

🎭 SkinHelper

📂 PanelHelper

✒️ TextFormattingHelper

💜 DiscordHelper

🌱 NetworkAreaHelper

🧰 CraftHelper

🚕 VehicleHelper

📡 ProximityHelper

⚙️ OverrideHelper

🧾 JsonHelper

📦 Utilitaires

Clone this wiki locally