🚧 BIENTÔT DISPONIBLE

CustomiZer est actuellement en développement actif. Cette page présente tout ce que le plugin inclura à son lancement. Restez connectés !

🧩 CustomiZer — Documentation Complète du Plugin

Un seul plugin Minecraft qui gère les packs de ressources, les objets personnalisés, les épées, armures, blocs, pioches, houes de récolte, menus GUI et un système de progression complet — entièrement depuis des fichiers de configuration.

📦 Pack de ressources

Génère et sert automatiquement votre pack de ressources via HTTP. Supporte le dossier packs, les données de modèle personnalisées, le format items/ 1.21.4+.

🎁 Objets personnalisés

Plus de 17 types d'actions : soins, vol, commandes, économie, boosters de métiers, effets, mode dieu, et bien plus.

⚔️ Épées de rareté

Système de rareté à 5 niveaux avec textures uniques par niveau, vol de vie, dégâts élémentaires et effets de statut.

🛡️ Armures personnalisées

Armures en cuir avec couleurs personnalisées, bonus de set d'armure complet et support intégré du pack de ressources.

🧱 Blocs personnalisés

Blocs personnalisés basés sur les blocs de notes avec restrictions de casse, drops, sons et particules.

⛏️ Pioches personnalisées

Pioches à montée en niveau avec minage en rayon, minage en veine, drops bonus et effets de maintien.

🌾 Houes de récolte

Houes de récolte multi-cultures avec récompenses économiques, XP de métiers et replantation automatique par niveau.

🏆 Progression

Pistes de maîtrise, missions quotidiennes/hebdomadaires, système de prestige, station de reforgement et emplacements de gemmes.

📋 Prérequis

DépendanceTypeUtilité
Paper / Purpur 1.21+RequisPlateforme serveur
VaultSoftÉconomie (récompenses monétaires, coûts de reforgement)
PlaceholderAPISoftPlaceholders personnalisés dans les messages et la description
Jobs RebornSoftXP gagné en cassant des blocs personnalisés et vanilla
WorldGuardSoftMultiplicateurs de XP/argent basés sur les régions
ModelEngineSoftFusionne automatiquement les packs de ressources ModelEngine
ItemsAdderSoftDétection des récompenses de blocs ItemsAdder (optionnel)
💡 Toutes les dépendances soft sont entièrement optionnelles et activées par fonctionnalité dans settings.yml. Le plugin fonctionne parfaitement sans aucune d'entre elles.

⌨️ Commandes & Permissions

CommandePermissionDescription
/zcxp.useCommande principale — reload, get, give, list, gui, reforge
/z reloadcxp.reloadRecharge tous les fichiers de configuration et reconstruit le pack de ressources
/z get <type> <name>cxp.useObtenir un objet, une épée, une armure, un bloc, une houe ou une pioche personnalisés
/z give <player> <type> <name>cxp.giveDonner un objet personnalisé à un autre joueur
/z guicxp.guiOuvre le GUI principal des catégories
/zrepaircxp.repairRépare tous les objets personnalisés dans votre inventaire
/zmastery [player]cxp.masteryAffiche la progression de la piste de maîtrise
/zmissionscxp.missionsOuvre le tableau de missions
/zprestigecxp.prestigeEffectuer un prestige lorsque toutes les pistes de maîtrise atteignent le niveau 100
/zreforgecxp.reforgeOuvre le GUI de la station de reforgement
/zsocket add [count]cxp.socket.addAjoute 1 à 4 emplacements de socket à l'objet en main
/zsocket extractcxp.socketRetire et détruit la première gemme enchâssée, libérant l'emplacement
/zsocket infocxp.socketAffiche le nombre de sockets et les gemmes enchâssées sur l'objet en main
/z info <type> <name>cxp.adminAffiche les données de modèle, CMD et métadonnées pour tout objet, épée, armure, bloc, houe ou pioche
/zpack zipcxp.adminReconstruit le pack de ressources en mémoire et le pousse à tous les joueurs en ligne
/zpack reloadpackscxp.adminRescanne le dossier packs/, réattribue les données de modèle, puis reconstruit le pack
/zpack fontscxp.adminListe toutes les images de police enregistrées avec leur pack:id et point de code Unicode
/zpack font <pack> <id>cxp.adminPrévisualise une image de police dans votre barre d'action
/zpack gui <packName> [namespace]cxp.adminGénère un pack de fond GUI à partir des PNG dans gui_input/<packName>/
/zpack rank <packName> [namespace]cxp.adminGénère un pack de badges / icônes de rang à partir des PNG dans rank_input/<packName>/
/zpack item <packName> [namespace] [material]cxp.adminGénère un pack d'objets 2-D plats à partir des PNG dans item_input/<packName>/
/zpack block <packName> [namespace] [material] [sound]cxp.adminGénère un pack de blocs personnalisés à partir des PNG dans block_input/<packName>/
/zpack armor <packName> [namespace]cxp.adminGénère un pack de set d'armures à partir des PNG de calque et d'icône dans armor_input/<packName>/

📦 Système de Pack de Ressources

CustomiZer gère automatiquement toute la chaîne du pack de ressources — aucun hébergement externe nécessaire.

🌐 Serveur HTTP intégré

Au démarrage, le plugin lance un serveur HTTP léger sur un port configurable (par défaut 7270). Le pack de ressources est servi à http://<your-ip>:<port>/<hash>.zip. Les joueurs le reçoivent automatiquement à la connexion via l'API setResourcePack.

🔄 Rechargement à chaud sans redémarrage

Exécuter /zpack zip ou /z reload reconstruit le pack en mémoire et met à jour le gestionnaire HTTP en direct — le serveur n'a jamais besoin de redémarrer. Le nouveau hash du pack déclenche un téléchargement à jour lors de la prochaine connexion d'un joueur.

📐 Sortie en double format

Le pack est écrit simultanément dans les deux formats :

  • Ancien formatassets/minecraft/models/item/<material>.json avec overrides[] — fonctionne sur toutes les versions incluant 1.21.8.
  • Nouveau formatassets/minecraft/items/<material>.json avec range_dispatch — requis pour le rendu prioritaire 1.21.4+.

🗂️ Dossier Includes

Placez n'importe quel pack de ressources supplémentaire dans plugins/CustomiZer/includes/ et il sera fusionné dans le pack généré automatiquement à chaque construction. Parfait pour ajouter des sons, textures ou polices personnalisées depuis d'autres outils.

💡 Le pack de ressources de ModelEngine est fusionné automatiquement si ModelEngine est installé et que resourcepack.modelengine: true est défini dans config.yml.
⚠️ Les matériaux d'objets de type bloc (DIRT, STONE, etc.) héritent correctement de leur modèle de cube 3D — le plugin détecte material.isBlock() et utilise automatiquement le parent block/<name> pour éviter les textures manquantes.

🗂️ Gestionnaire de packs (dossier packs/)

Déposez n'importe quel dossier de pack dans plugins/CustomiZer/packs/ et CustomiZer l'intègre automatiquement. Les packs embarquent leurs propres configurations et textures — aucune modification des fichiers principaux du plugin n'est requise.

📁 Structure d'un pack

Chaque dossier de pack contient un répertoire configs/ pour les définitions YAML et un répertoire resourcepack/ avec les textures, modèles et polices.

🔤 Espace de noms

Chaque pack déclare son propre espace de noms dans le champ info.namespace de chaque fichier de configuration. Tous les objets, blocs et ressources sont limités à cet espace de noms pour éviter les conflits entre packs.

🎨 Images de police

Les packs peuvent déclarer des images de police pour les textures de superposition GUI. L'échelle, la position et le décalage horizontal sont tous configurables — et peuvent être remplacés globalement dans customfonts.yml.

🔗 Intégration des catégories

Les objets du pack apparaissent dans le GUI en jeu sous leur onglet de catégorie aux côtés des objets configurés. Les catégories sont définies dans un configs/category.yml à l'intérieur du pack.

📂 Structure complète d'un dossier de pack

Voici la structure exacte attendue par le plugin. Déposez votre dossier de pack dans plugins/CustomiZer/packs/ et exécutez /zpack reloadpacks puis /zpack zip.

packs/
└── my_pack/
    ├── configs/
    │   ├── my_items.yml          ← définitions d'objets / blocs / font_images
    │   ├── category.yml          ← optionnel : catégorie GUI pour ce pack
    │   └── subfolder/            ← les configs peuvent être imbriquées dans des sous-dossiers
    │       └── more_items.yml
    │
    └── resourcepack/
        ├── pack.mcmeta           ← métadonnées Minecraft du pack (requis)
        └── assets/
            └── <namespace>/     ← doit correspondre à info.namespace dans vos YAML
                ├── models/
                │   ├── item/     ← fichiers de modèle .json pour les objets
                │   └── block/    ← fichiers de modèle .json pour les blocs
                └── textures/
                    ├── item/     ← textures .png pour les objets
                    ├── block/    ← textures .png pour les blocs
                    └── custom/   ← textures pour les images de police (tout sous-chemin)
💡 Le dossier d'espace de noms doit correspondre. Si votre YAML indique info.namespace: gem_ranks, les textures doivent être sous assets/gem_ranks/textures/. Une discordance entraîne un chargement silencieux des textures.

📄 pack.mcmeta (requis)

Placez ce fichier à resourcepack/pack.mcmeta. Utilisez pack_format: 34 pour Minecraft 1.21+.

{
  "pack": {
    "pack_format": 34,
    "description": "My Pack"
  }
}

🔑 Registre — Identifiants attribués automatiquement

Le plugin attribue automatiquement des entiers Custom Model Data (à partir de 30100) à chaque objet et bloc, et des points de code Unicode PUA (à partir de U+EC00) à chaque image de police. Ces attributions sont persistées dans packs/.registry.yml — elles ne changent jamais entre les redémarrages, donc les objets existants dans les inventaires des joueurs restent valides.

ℹ️ Après avoir ajouté ou modifié un pack, exécutez toujours /zpack reloadpacks (rescanne et réattribue les IDs) puis /zpack zip (reconstruit et pousse le pack aux joueurs). /z reload effectue les deux en une seule commande.

🖼️ Images de police — Superpositions GUI

CustomiZer supporte les images de superposition GUI personnalisées grâce au système de polices bitmap de Minecraft. Cela permet de rendre des images de texture complètes dans les titres d'inventaire — parfait pour les fonds GUI personnalisés, les badges de rang, les icônes et les superpositions HUD.

📂 Étape 1 — Où placer la texture

Les textures de police sont des fichiers .png placés à l'intérieur du resourcepack du pack à :

resourcepack/assets/<namespace>/textures/<your-path>.png

La valeur <your-path> est ce que vous écrivez dans le champ path: de la configuration (l'extension .png est ajoutée automatiquement). Exemples :

Valeur path:Emplacement réel du fichier
bronze_amethyst_iresourcepack/assets/gem_ranks/textures/bronze_amethyst_i.png
custom/30main_gui/gui1resourcepack/assets/iavegas/textures/custom/30main_gui/gui1.png
ranks/gold_rankresourcepack/assets/my_pack/textures/ranks/gold_rank.png
⚠️ Si la texture n'est pas trouvée au chemin exact attendu, l'entrée de police est silencieusement ignorée — elle n'apparaîtra pas dans /zpack fonts. Vérifiez que le dossier d'espace de noms correspond à info.namespace dans votre YAML.

📄 Étape 2 — La déclarer dans configs/

Créez un fichier YAML n'importe où dans configs/ (ex. configs/my_fonts.yml). Vous pouvez mélanger des images de police avec des objets dans le même fichier, ou les garder séparés.

info:
  namespace: gem_ranks          # doit correspondre au dossier assets/<namespace>/

font_images:
  ba_i:                         # ID unique pour cette image de police
    path: "bronze_amethyst_i"   # chemin sous textures/ (sans .png)
    scale_ratio: 12             # hauteur rendue en pixels
    y_position: 9.5             # ascent — distance depuis la ligne de base du texte
    permission: bronze_amethyst_i   # optionnel : permission pour afficher dans le GUI
    show_in_gui: true               # optionnel : afficher dans le GUI de navigation de polices

Référence complète des champs :

ChampRequisDescription
pathOuiChemin vers le PNG relatif à assets/<namespace>/textures/, sans l'extension .png
scale_ratioOuiHauteur rendue en pixels de jeu. Définissez-la à la hauteur naturelle en pixels de la texture pour un rendu 1:1. Pour une texture GUI large de 176px, 176 remplit exactement la largeur de l'inventaire.
y_positionOuiAscent (décalage vertical). 14 aligne l'image en haut d'un cadre d'inventaire standard. Des valeurs plus petites déplacent l'image vers le bas.
permissionNonNœud de permission requis pour voir cette image dans les GUIs en jeu
show_in_guiNontrue pour afficher cette image de police dans le navigateur GUI. Par défaut : false

🔤 Étape 3 — Appliquer le pack

Après avoir sauvegardé les fichiers, exécutez ces deux commandes en tant qu'administrateur :

  1. /zpack reloadpacks — scanne le pack et attribue un point de code Unicode à chaque image de police
  2. /zpack zip — reconstruit le pack de ressources et l'envoie aux joueurs en ligne

Vous pouvez vérifier l'enregistrement avec /zpack fonts (liste tous les IDs de polices + leurs points de code Unicode) et prévisualiser n'importe quelle image avec /zpack font <pack> <id> (l'affiche dans votre barre d'action).

✏️ Remplacements globaux — customfonts.yml

Remplacez l'échelle, la position et le décalage horizontal de n'importe quelle image de police depuis plugins/CustomiZer/customfonts.yml sans toucher au pack lui-même. Utile pour affiner des packs tiers.

fonts:
  gem_ranks:          # nom du dossier de pack
    ba_i:             # ID de l'image de police
      scale_ratio: 14
      y_position: 10
      x_position: -4  # décalage horizontal en pixels (non disponible dans la config du pack)
⚠️ Le système de polices bitmap de Minecraft rend au maximum 256 pixels par dimension. Gardez les textures à 256×256 px ou moins — les images plus grandes échouent silencieusement et apparaissent comme vides.

🪄 Générateurs de packs — Créer des packs sans coder

CustomiZer inclut des générateurs de packs intégrés qui créent un pack de ressources complet et prêt à l'emploi à partir de simples images PNG que vous déposez dans un dossier. Aucun fichier JSON, aucune édition YAML, aucun code requis. Le plugin déduit tout depuis vos fichiers images et produit automatiquement toutes les configurations.

💡 Workflow général pour chaque générateur :
1. Déposez vos fichiers PNG dans le bon dossier d'entrée (voir chaque section ci-dessous).
2. Exécutez la commande du générateur en jeu en tant qu'administrateur.
3. Exécutez /zpack reloadpacks puis /zpack zip.
Terminé — le pack est actif et les joueurs le reçoivent automatiquement.

🖼️ Fonds GUI

Images de superposition d'inventaire pleine largeur. Mise à l'échelle automatique pour correspondre à la largeur d'inventaire de 176px.

🏅 Badges de rang

Petites icônes en ligne pour le chat, le tableau de scores et la description. Rendus à la hauteur naturelle en pixels.

🎁 Objets plats

Un PNG = un objet. Génère un objet 2-D plat avec une configuration YAML complète.

🧱 Blocs personnalisés

Détecte automatiquement les divisions de textures haut/côté. Génère des configs de blocs à 6 faces avec placement REAL_NOTE.

🛡️ Sets d'armures

Déposez les PNG de calque et d'icône par set. Génère armors_rendering + tous les objets des pièces d'armure.

🖼️ Générateur de fond GUI — /zpack gui

Utilisez ceci pour créer des images de fond d'inventaire personnalisées — les grandes textures pleine largeur qui glissent derrière un GUI de coffre ou de fourneau. Utilisé par des packs comme iavegas.

📁 Étape 1 — Placez votre PNG dans le bon dossier

Créez ce dossier s'il n'existe pas, puis déposez votre PNG à l'intérieur :

plugins/CustomiZer/gui_input/<packName>/
  └── my_gui.png       ← votre image de fond
  • Remplacez <packName> par le nom que vous souhaitez, ex. my_casino_gui.
  • Vous pouvez mettre plusieurs PNG dans le dossier — chacun devient sa propre image GUI.
  • Le PNG doit avoir la même largeur qu'un inventaire Minecraft (176px de large à l'échelle 1×, ou tout multiple de cela).

⌨️ Étape 2 — Exécuter la commande

/zpack gui <packName>
/zpack gui <packName> <namespace>   ← optionnel : espace de noms personnalisé, par défaut le packName

Le plugin lit les dimensions de votre PNG, calcule automatiquement le scale_ratio pour que l'image remplisse exactement la largeur d'inventaire de 176px, et génère :

  • plugins/CustomiZer/packs/<packName>/ — dossier de pack prêt à l'emploi (prêt pour reloadpacks)
  • plugins/CustomiZer/gui_output/<packName>.zip — ZIP portable à partager ou archiver

✅ Étape 3 — Appliquer et utiliser

/zpack reloadpacks
/zpack zip

Pour utiliser l'image comme fond de titre GUI dans gui.yml :

title: "<shift:-8><font_image:my_casino_gui:my_gui>"

Prévisualisez-la instantanément en jeu : /zpack font <packName> <id>

ℹ️ <shift:-8> décale l'image de 8 pixels vers la gauche pour l'aligner avec le bord gauche du cadre d'inventaire. Ajustez le nombre si votre image semble décentrée.

🏅 Générateur de badges de rang — /zpack rank

Utilisez ceci pour créer de petites icônes en ligne — badges de rang, logos de clan, icônes de statut — qui apparaissent dans le chat, les tableaux de scores, la description des objets ou les titres d'inventaire. Utilisé par des packs comme gem_ranks.

📁 Étape 1 — Placez vos PNG dans le bon dossier

plugins/CustomiZer/rank_input/<packName>/
  ├── gold_rank.png
  ├── silver_rank.png
  └── bronze_rank.png
  • Chaque PNG = un badge de rang. Le nom du fichier (sans .png) devient l'ID du badge.
  • Gardez vos images petites — 12–20px de haut fonctionne le mieux pour l'alignement dans le chat.

⌨️ Étape 2 — Exécuter la commande

/zpack rank <packName>
/zpack rank <packName> <namespace>   ← espace de noms optionnel

Le générateur utilise la hauteur naturelle de l'image comme scale_ratio (donc un PNG de 12px de haut est rendu à 12px), définit y_position: 9.5 pour s'aligner sur la ligne de base du chat, et ajoute un champ permission par badge.

✅ Étape 3 — Appliquer et utiliser

/zpack reloadpacks
/zpack zip

Insérez un badge partout où les balises MiniMessage sont acceptées (préfixe de chat, description, titre) :

<font_image:my_ranks:gold_rank> PlayerName

Chaque badge reçoit également un nœud de permission égal à son nom de fichier (ex. gold_rank). Gérez l'affichage dans votre plugin de chat en utilisant ce nœud.

🎁 Générateur d'objets — /zpack item

Utilisez ceci pour créer des objets d'inventaire personnalisés — lingots, matériaux bruts, objets de quête, consommables, tout ce qui ressemble à un sprite 2-D plat. Utilisé pour des packs comme ultimate_armors (lingots, minerai brut).

📁 Étape 1 — Placez vos PNG dans le bon dossier

plugins/CustomiZer/item_input/<packName>/
  ├── blood_ingot.png
  ├── raw_blood.png
  └── solar_ingot.png
  • Le nom du fichier (sans .png) = ID de l'objet. Les tirets bas deviennent des espaces dans le nom d'affichage (blood_ingotBlood Ingot).
  • Utilisez les tailles de textures d'objets Minecraft standard : 16×16 ou 32×32.

⌨️ Étape 2 — Exécuter la commande

/zpack item <packName>
/zpack item <packName> <namespace> <material>
  ↑ material vaut par défaut PAPER — changez en ex. DIAMOND pour un éclat de base différent

✅ Étape 3 — Appliquer et utiliser

/zpack reloadpacks
/zpack zip

Donnez des objets aux joueurs ou à vous-même :

/z give <player> item blood_ingot
/z get item solar_ingot

Ouvrez la configuration générée à packs/<packName>/configs/<packName>.yml pour ajouter des descriptions, des actions, des recettes de craft, etc.

🧱 Générateur de blocs — /zpack block

Utilisez ceci pour créer des blocs posables personnalisés qui apparaissent comme des cubes solides dans le monde. Utilisé pour des packs comme blossom_studios (poutres décoratives en bois, carreaux de pierre, etc.).

📁 Étape 1 — Nommez correctement vos PNG

Le générateur détecte automatiquement les divisions de textures en fonction des suffixes de nom de fichier. Vous avez deux options par bloc :

Fichiers fournisRésultat
oak_beam.png uniquementMême texture sur les 6 faces (cube plein)
oak_beam_top.png + oak_beam.pngHaut & bas = _top, quatre côtés = nom nu
oak_beam_top.png + oak_beam_side.pngHaut & bas = _top, quatre côtés = _side
plugins/CustomiZer/block_input/<packName>/
  ├── oak_beam.png          ← côtés (ou toutes les faces si aucun _top n'existe)
  ├── oak_beam_top.png      ← haut & bas
  ├── stone_tile.png        ← 6 faces identiques (pas de _top fourni)
  └── spruce_beam_top.png   ← haut/bas pour spruce_beam (les côtés utilisent spruce_beam.png ou spruce_beam_side.png)

⌨️ Étape 2 — Exécuter la commande

/zpack block <packName>
/zpack block <packName> <namespace> <material> <sound>
ArgumentPar défautOptions
namespaceidem que packNamen'importe quel nom en minuscules
materialPAPERn'importe quel matériau Bukkit (apparence de l'objet en main)
soundstonestone, wood, metal, dirt, sand

✅ Étape 3 — Appliquer et utiliser

/zpack reloadpacks
/zpack zip

/z give <player> block oak_beam     ← donne l'objet ; clic droit pour placer

Ouvrez packs/<packName>/configs/<packName>.yml pour ajuster la hardness, les sons et les drops. Pour définir ce qui tombe lors de l'extraction, ajoutez une entrée dans blocks.yml :

blocks:
  oak_beam:
    pack_id: "<packName>:oak_beam"
    display_name: "Oak Beam"
    drops:
      - item: OAK_LOG
        amount: 1
        chance: 100
⚠️ Les blocs utilisent le placement REAL_NOTE — ils consomment des états de blocs de notes. Votre serveur dispose d'un nombre limité d'états de blocs de notes disponibles. Évitez d'ajouter des centaines de types de blocs personnalisés si votre serveur utilise déjà ItemsAdder ou des plugins similaires qui consomment également des états de blocs de notes.

🛡️ Générateur de set d'armures — /zpack armor

Utilisez ceci pour créer un set d'armures portable complet — casque, plastron, jambières, bottes — avec des icônes d'inventaire personnalisées et des textures de superposition portées. Utilisé pour des packs comme elitecreatures.

📁 Étape 1 — Créez un sous-dossier par set d'armure

plugins/CustomiZer/armor_input/<packName>/
  └── my_armor_set/           ← un dossier par set ; le nom du dossier = ID du set
      ├── layer_1.png         ← REQUIS — superposition portée : corps, bras, pieds
      ├── layer_2.png         ← REQUIS — superposition portée : jambières uniquement
      ├── helmet.png          ← icône d'inventaire optionnelle
      ├── chestplate.png      ← icône d'inventaire optionnelle
      ├── leggings.png        ← icône d'inventaire optionnelle
      └── boots.png           ← icône d'inventaire optionnelle
  • layer_1.png et layer_2.png sont les textures portées que les joueurs voient lorsque l'armure est équipée. Créez-les dans Blockbench ou n'importe quel éditeur de textures d'armure.
  • Les PNG d'icônes sont ce qui s'affiche dans l'emplacement d'inventaire. Standard 16×16 ou 32×32.
  • Vous pouvez avoir plusieurs sous-dossiers de set sous un seul <packName> — tous les sets sont fusionnés dans un seul fichier de pack.

⌨️ Étape 2 — Exécuter la commande

/zpack armor <packName>
/zpack armor <packName> <namespace>   ← espace de noms optionnel, par défaut le packName

Le générateur produit une configuration avec :

  • Un bloc armors_rendering liant layer_1 et layer_2 à l'ID du set
  • Une entrée d'objet par pièce fournie (casque/plastron/jambières/bottes) avec specific_properties.armor.slot correctement défini

✅ Étape 3 — Appliquer et utiliser

/zpack reloadpacks
/zpack zip

/z give <player> armor my_armor_set_chestplate

Ouvrez packs/<packName>/configs/<packName>.yml pour activer optionnellement la teinte de couleur cuir :

armors_rendering:
  my_armor_set:
    color: '#8c196c'    ← couleur hexadécimale affichée sur la couche de base en cuir
    use_color: true     ← définir à true pour activer la teinte
ℹ️ Les objets cosmétiques 3-D (comme le pack barrel_knight — plastron en tonneau, fourche, etc.) utilisent des fichiers de géométrie JSON créés à la main dans Blockbench. Ceux-ci ne peuvent pas être auto-générés à partir de textures et doivent être construits manuellement. Le générateur d'armures ne couvre que les sets d'armures standard à texture plate.

🎁 Objets personnalisés

Les objets peuvent être définis de deux manières : via le fichier principal plugins/CustomiZer/items.yml (actions de gameplay), ou via une config de pack dans packs/<pack>/configs/ (textures/modèles du pack de ressources pour n'importe quel type d'objet).

📦 Config d'objet de pack (configs/*.yml)

Voici le format pour définir des objets dans un dossier de pack. Le plugin lit tous les fichiers .yml récursivement depuis configs/. Chaque fichier qui a une section items: est traité.

info:
  namespace: my_pack            # doit correspondre au dossier assets/<namespace>/

items:
  my_item:                      # ID d'objet unique dans cet espace de noms
    display_name: "My Item"     # affiché en jeu (codes de couleur supportés)
    resource:
      material: PAPER           # matériau Minecraft de base
      generate: false           # false = utiliser un JSON de modèle existant
      model_path: item/my_item  # chemin relatif à assets/<namespace>/models/
                                # (extension .json non nécessaire)

Pour auto-générer un modèle d'objet plat simple à partir d'une texture (aucun JSON de modèle nécessaire) :

items:
  bronze_coin:
    display_name: "Bronze Coin"
    resource:
      material: PAPER
      generate: true            # le plugin génère le modèle automatiquement
      model_path: item/bronze_coin   # résout vers textures/item/bronze_coin.png

Référence complète des champs resource: :

ChampRequisDescription
materialOuiMatériau Minecraft de base — ex. PAPER, DIAMOND_SWORD, LEATHER_HORSE_ARMOR
generateNontrue = auto-générer un modèle plat item/generated depuis la texture à model_path. false = utiliser le JSON de modèle à models/<model_path>.json
model_pathOuiQuand generate: true — chemin vers la texture PNG sous textures/. Quand generate: false — chemin vers le JSON de modèle sous models/. Les deux relatifs à assets/<namespace>/, extension non nécessaire.
model_idNonForce un entier Custom Model Data spécifique. Omettez pour laisser le plugin en attribuer un automatiquement (recommandé).

📂 Où placer la texture / le modèle

Avec namespace: my_pack et model_path: item/my_item :

generate:Fichier à fournirChemin complet
trueTexture PNGresourcepack/assets/my_pack/textures/item/my_item.png
falseJSON de modèle + textures référencéesresourcepack/assets/my_pack/models/item/my_item.json

📄 Fichier items.yml principal (objets d'action)

Les objets d'action au clic droit sont configurés dans plugins/CustomiZer/items.yml. Champs :

  • NAME — Nom d'affichage (codes de couleur supportés)
  • MATERIAL — Matériau Minecraft vanilla (ex. PAPER, DIAMOND)
  • LORE — Liste de lignes de description
  • CMD — Entier de données de modèle personnalisées (lié à la texture du pack de ressources)
  • COOLDOWN — Secondes avant que l'objet puisse être réutilisé
  • DURATION — Durée de l'effet en secondes (pour les actions à effets)
  • AMOUNT / MAX_AMOUNT — Pour les actions d'argent/argent aléatoire
  • COMMAND — Commande console à exécuter (placeholder %player%)
  • ACTION — Ce que l'objet fait (voir tableau ci-dessous)

⚡ Actions des objets

ActionCe qu'elle faitChamps supplémentaires
COMMANDExécute une commande console lors de l'utilisationCOMMAND
HEALRestaure le joueur à la pleine santé
JUMPApplique l'effet Saut amélioréDURATION
SPEEDApplique l'effet VitesseDURATION
REGENApplique l'effet RégénérationDURATION
STRENGTHApplique l'effet ForceDURATION
LUCKApplique l'effet ChanceDURATION
POISONEmpoisonne le joueur (objet maudit)DURATION
GODActive/désactive Résistance + Saturation + Régénération
FLYActive/désactive le vol pour le joueur
MONEYDépose un montant fixe sur le solde du joueurAMOUNT
RANDOMMONEYDépose un montant aléatoire dans une plageAMOUNT, MAX_AMOUNT
JOBSBOOSTERApplique un multiplicateur de XP de métiers pour une duréeJOB_BOOST_MULTIPLIER, JOB_BOOST_DURATION
UNCLAIMScanne les chunks dans un rayon et les libèreAREA
DIETue instantanément le joueur
NONEObjet sans action (décoration, objet clé, trophée)

⚔️ Épées personnalisées (swords.yml)

Les épées personnalisées supportent un système de rareté à 5 niveaux. Chaque niveau peut avoir une valeur de données de modèle personnalisées complètement différente, signifiant une texture différente. Les joueurs améliorent la rareté de leur épée pour débloquer de meilleures statistiques et visuels.

🎨 5 Niveaux de rareté

Commun → Rare → Épique → Légendaire → Mythique. Chaque niveau a son propre CMD (texture), nom et description.

💉 Vol de vie

Configurez un pourcentage des dégâts infligés restitué sous forme de santé (ex. lifesteal: 0.10 = 10%).

🔥 Dégâts élémentaires

Attribuez un type élémentaire (Feu, Glace, Foudre…) qui déclenche des effets spéciaux lors d'un coup.

✨ Effets au coup

Appliquez des effets de potion aux ennemis ou à vous-même lors d'un coup, chacun avec une chance et une durée configurables.

📄 Structure de la configuration d'épée

  • type — Matériau Minecraft (ex. IRON_SWORD)
  • lifesteal — Fraction 0.0–1.0 des dégâts restituée en PV
  • elemental_damage — Chaîne de nom d'élément
  • effects-enemy — Carte d'effet → chance + durée appliqués à la cible touchée
  • effects-self — Carte d'effet → chance + durée appliqués à l'attaquant
  • rarity.common / rare / epic / legendary / mythicalcustom_model_data, name et lore par niveau

🛡️ Armures personnalisées (armors.yml)

Les armures personnalisées utilisent une armure en cuir avec des couleurs de teinture RVB spécifiques pour correspondre aux textures de votre pack de ressources. Chaque pièce (casque, plastron, jambières, bottes) est configurée individuellement.

📄 Structure de la configuration d'armure

  • color — Entier RVB pour la couleur de teinture du cuir (ex. 16711680 = rouge)
  • custom_model_data — CMD pour chaque pièce d'armure
  • display_name — Nom d'affichage par pièce
  • lore — Lignes de description par pièce
  • attributes — Modificateurs d'attributs vanilla (armor, armor_toughness, attack_damage…)

✨ Bonus de set d'armures (sets.yml)

Lorsqu'un joueur équipe toutes les pièces d'un set d'armures configuré, un bonus de set s'active. Les bonus peuvent inclure des effets de potion persistants, des boosts de statistiques et des messages diffusés.

💡 Les bonus de set s'activent et se désactivent automatiquement lorsque les pièces sont équipées ou retirées. Un message est affiché au joueur lors des deux événements.

🧱 Blocs personnalisés

Les blocs personnalisés utilisent le système de blocs de notes de Minecraft — chaque combinaison unique d'instrument + note correspond à une valeur Custom Model Data, fournissant des centaines de textures de blocs uniques sans mod client requis.

📦 Config de bloc de pack (configs/*.yml)

Les blocs sont des objets avec une section specific_properties.block. L'ID de l'objet, la texture et le modèle sont enregistrés comme un objet ordinaire, mais le comportement de placement de bloc est ajouté ci-dessous :

info:
  namespace: my_pack

items:
  custom_ore:
    display_name: "Custom Ore"
    resource:
      material: PAPER             # matériau de l'objet sous-jacent
      generate: true              # auto-générer un modèle de cube depuis 6 textures
      textures:                   # [haut, bas, nord, sud, est, ouest]
        - block/custom_ore_top
        - block/custom_ore_bottom
        - block/custom_ore_side
        - block/custom_ore_side
        - block/custom_ore_side
        - block/custom_ore_side

    specific_properties:
      block:
        placed_model:
          type: REAL_NOTE         # utilise le système de placement de bloc de notes
          break_particles: BLOCK  # type de particule à la casse
          directional_mode: NONE  # NONE / LOG (4 rotations) / AXIS (2 rotations)
        cancel_drop: false        # true = ne pas faire tomber l'objet lorsque cassé
        hardness: 3.0             # résistance à l'extraction
        sound:
          break:
            name: "BLOCK_STONE_BREAK"
            volume: 1.0
            pitch: 1.0
          place:
            name: "BLOCK_STONE_PLACE"
            volume: 1.0
            pitch: 1.0

Référence des champs specific_properties.block :

ChampDescription
placed_model.typeToujours REAL_NOTE pour les blocs de pack (système d'état de bloc de notes)
placed_model.break_particlesType de particule à la casse — ex. BLOCK, ITEM
placed_model.directional_modeNONE — pas de rotation ; LOG — 4 directions de face ; AXIS — 2 directions d'axe
cancel_dropfalse = faire tomber l'objet lorsque cassé ; true = supprimer le drop
hardnessRésistance à l'extraction (flottant). Correspond aux valeurs de dureté des blocs vanilla.
sound.break / sound.placeNom de son Bukkit + volume + hauteur joués à la casse/pose

📂 Où placer les textures de blocs

Avec namespace: my_pack et generate: true avec les textures listées comme block/custom_ore_top :

resourcepack/assets/my_pack/textures/block/custom_ore_top.png
resourcepack/assets/my_pack/textures/block/custom_ore_bottom.png
resourcepack/assets/my_pack/textures/block/custom_ore_side.png

Si vous utilisez generate: false, fournissez un JSON de modèle à resourcepack/assets/my_pack/models/<model_path>.json qui référence vos textures.

🔨 Restrictions de casse

Configurez les outils autorisés avec break_with dans blocks.yml. Supporte les matériaux vanilla, HAND et les IDs de pioches personnalisées.

📦 Drops personnalisés

Chaque entrée de bloc dans blocks.yml peut définir des drops supplémentaires : objets de items.yml, objets de pack ou matériaux vanilla — avec des plages de quantités et des chances de drop.

🔊 Son & Particule

soundeffectonmined et visualeffectonmined se déclenchent lorsque le bloc est cassé, indépendamment de la configuration des récompenses.

🗺️ Persistance

Tous les blocs de pack posés sont sauvegardés dans pack_blocks.yml et survivent aux redémarrages du serveur avec l'état de texture correct restauré.

⚠️ Les textures de blocs de notes dépendent du bloc placé en dessous. Le plugin annule les événements de physique de blocs pour empêcher les changements de blocs adjacents de corrompre l'état instrument/note.

💰 Récompenses de blocs (xp_values dans blocks.yml)

La section xp_values dans blocks.yml associe les IDs de blocs aux récompenses données lorsqu'un joueur les casse. Supporte les blocs de pack personnalisés et les blocs Minecraft vanilla.

ChampDescription
nameNom convivial du bloc utilisé dans les messages
jobsxpXP Jobs Reborn attribué à la casse
jobNom du métier Jobs recevant l'XP (ex. Miner)
moneyArgent de l'économie Vault déposé à la casse
pointsPoints Jobs attribués à la casse
cancel-vanilla-dropstrue = supprimer les drops par défaut ; false = les conserver aux côtés des récompenses
soundeffectonminedNom de son Bukkit joué à la casse
visualeffectonminedNom d'effet de particule apparu à la casse
bannedtoolsOutils ne pouvant pas casser ce bloc (blocs vanilla uniquement)
DropsDrops de récompenses supplémentaires — type VANILLA, CMODELDATA ou COMMAND — chacun avec une chance, un message et une valeur de drop
💡 Les multiplicateurs et diviseurs de région WorldGuard sont appliqués automatiquement à jobsxp, money et points lorsque l'intégration WorldGuard est activée.

🌍 Générateur de minerais (generators.yml)

CustomiZer peut injecter automatiquement des blocs dans les chunks nouvellement générés — minerais personnalisés, blocs de pack décoratifs ou blocs vanilla — sans aucun plugin externe. Supporte les blocs vanilla, vos propres blocs de pack CustomiZer et les blocs ItemsAdder.

💡 Le générateur ne s'exécute que lorsqu'un chunk est généré pour la première fois. Il n'affecte pas le terrain déjà exploré. Pour le tester, voyagez vers des zones inexplorées de votre monde.

📋 Formats d'ID de bloc

FormatExempleCe qu'il place
minecraft:<MATERIAL>minecraft:gold_oreN'importe quel bloc Minecraft vanilla — utilisez le nom du matériau Bukkit en minuscules après les deux points
<packName>:<itemId>blossom_studios:oak_beamUn bloc de pack CustomiZer — doit être un bloc enregistré dans packs/ avec placed_model.type: REAL_NOTE
<namespace>:<id>myitems:custom_oreUn bloc personnalisé ItemsAdder — le plugin ItemsAdder doit être installé
ℹ️ Le plugin identifie d'abord les blocs CustomiZer (les recherche dans le registre de pack). Si aucun bloc de pack n'est trouvé, il essaie ItemsAdder en solution de secours.

📄 generators.yml — Référence complète de configuration

worlds_populators:

  my_custom_ore:
    block: blossom_studios:oak_beam   # ID du bloc — voir formats ci-dessus
    worlds:
      - world                          # nom exact du dossier du monde
    replaceable_blocks:
      - STONE                          # noms de matériaux Bukkit (majuscules)
      - DEEPSLATE
    biomes: []                         # vide = n'importe quel biome
                                       # ou listez des biomes spécifiques : [PLAINS, DESERT, FOREST]
    chance: 70.0                       # 0–100 — % de probabilité que chaque tentative de veine place un bloc
    amount: 8                          # tentatives de placement de veine par chunk nouvellement généré
    max_height: 45                     # Y le plus élevé où ce minerai peut se générer
    min_height: -60                    # Y le plus bas (utilisez des valeurs négatives pour la couche de deepslate)
ChampRequisDescription
blockOuiID du bloc à placer — voir le tableau des formats ci-dessus
worldsOuiListe des noms exacts de dossiers de monde où ce générateur s'exécute
replaceable_blocksOuiNoms de matériaux Bukkit (majuscules) que ce minerai peut remplacer. Seuls les blocs de ces types seront écrasés.
biomesNonRestreindre à des biomes spécifiques (majuscules, ex. PLAINS). Liste vide [] = générer dans n'importe quel biome.
chanceOui0–100 en pourcentage. Probabilité que chaque tentative de veine place réellement un bloc. 100 = toujours placer, 50 = 50% de chance par tentative.
amountNonNombre de tentatives de placement de veine par chunk nouvellement généré. Par défaut : 6. Plus élevé = génération de minerai plus dense.
min_heightOuiNiveau Y le plus bas où le minerai peut se générer. Utilisez des valeurs négatives pour les couches de deepslate (ex. -60).
max_heightOuiNiveau Y le plus élevé où le minerai peut se générer.

⚡ Exemples rapides

Minerai dense en profondeur, n'importe quel biome :

my_deep_ore:
  block: minecraft:ancient_debris
  worlds: [world]
  replaceable_blocks: [NETHERRACK]
  biomes: []
  chance: 40.0
  amount: 3
  min_height: -58
  max_height: 16

Bloc de pack CustomiZer, plaines uniquement :

blood_ore:
  block: ultimate_armors:blood_ore
  worlds: [world]
  replaceable_blocks: [STONE, ANDESITE, GRANITE]
  biomes: [PLAINS]
  chance: 60.0
  amount: 5
  min_height: 10
  max_height: 50
⚠️ La génération de minerais n'affecte que les chunks nouvellement générés. Le terrain déjà exploré n'est jamais modifié. Pour voir vos minerais, explorez des zones que votre serveur n'a jamais générées auparavant.
ℹ️ Les blocs de pack CustomiZer placés par le générateur sont entièrement suivis dans pack_blocks.yml — ils affichent la texture correcte, préviennent la corruption des physiques de blocs de notes, et font tomber les objets corrects lorsqu'ils sont cassés, tout comme les blocs placés par les joueurs.

⛏️ Pioches personnalisées (pickaxes.yml)

Les pioches personnalisées montent en niveau à mesure que les joueurs minent avec elles. Chaque niveau débloque de meilleures statistiques, capacités et améliorations visuelles via des changements de données de modèle personnalisées.

📊 Système de niveaux

Chaque niveau nécessite un nombre défini de blocs minés (blocks_required). Au passage de niveau, le CMD change pour afficher une nouvelle texture et un message est envoyé.

🔲 Minage en rayon

radius et height_radius contrôlent combien de blocs supplémentaires sont cassés dans un cube autour du bloc cible.

⚗️ Effets de maintien

effect_on_hold applique un effet de potion pendant que la pioche est dans la main principale (ex. Hâte).

🎁 Drops bonus

bonus peut ajouter des drops supplémentaires (objets vanilla ou personnalisés) avec une chance configurée par niveau.

📋 Placeholders de description

Les lignes de description des pioches supportent des placeholders dynamiques qui se mettent à jour au fur et à mesure que la pioche monte en niveau :

  • {level} — Numéro du niveau actuel
  • {blocks_mined} — Total de blocs minés avec cette pioche
  • {blocks_required} — Blocs nécessaires pour atteindre le niveau suivant
  • {progress} — Barre de progression visuelle

🌾 Houes de récolte (harvesterhoes.yml)

Les houes de récolte récoltent automatiquement les cultures dans une zone configurable. Elles récompensent également de l'argent et des XP de métiers par culture récoltée, avec des montants différents par type de culture.

📄 Structure de la houe

  • type — Matériau de houe vanilla
  • display_name, lore — Cosmétiques
  • custom_model_data — Texture du pack de ressources
  • levels — Carte de clés de niveau, chacune avec rayon, argent par culture, XP par culture, et remplacements de drop spécifiques par type de culture (WHEAT, CARROT, POTATO, etc.)
  • abilities — Capacités par niveau (ex. replantation automatique, multiplicateur de fortune)
💡 Les récompenses des houes de récolte sont intégrées avec Jobs Reborn et l'économie Vault. Les récompenses économiques s'activent par culture individuelle récoltée, et non par clic droit.

🏆 Système de maîtrise

Les joueurs gagnent de l'XP de maîtrise en effectuant des activités en jeu (casser des blocs, tuer des monstres, fabriquer, etc.). La maîtrise est divisée en plusieurs pistes, chacune avec 100 niveaux. Atteindre le niveau 100 dans toutes les pistes débloque le Prestige.

📈 Plusieurs pistes

Chaque piste représente un domaine de compétence différent. Les joueurs peuvent se spécialiser ou progresser dans toutes les pistes simultanément.

🎖️ Récompenses de niveau

Récompenses configurables par palier de niveau de maîtrise — commandes, objets, argent ou effets.

📊 Classements

Visualisez la progression de maîtrise pour vous-même ou n'importe quel joueur en ligne avec /zmastery [player].

🔌 PlaceholderAPI

Les niveaux de maîtrise et la progression des pistes sont exposés comme placeholders PAPI pour une utilisation dans les tableaux de scores, le chat et les hologrammes.

📋 Système de missions

Les joueurs complètent des missions quotidiennes et hebdomadaires pour gagner des récompenses. Les missions se réinitialisent selon un planning configurable et sont affichées dans un GUI paginé.

FonctionnalitéDétails
Types de missionsCasser des blocs, tuer des monstres, miner des minerais spécifiques, utiliser des objets, et plus
Plannings de réinitialisationQuotidien et hebdomadaire — heures de réinitialisation configurables
RécompensesCommandes, argent économique, objets personnalisés, XP de maîtrise
GUITableau de missions paginé avec barres de progression et statut de complétion
Message de complétionMessage diffusé envoyé au joueur lors de la complétion d'une mission

⭐ Système de prestige

Lorsqu'un joueur atteint le niveau 100 dans toutes les pistes de maîtrise, il peut effectuer un prestige. Le prestige remet tous les niveaux de maîtrise à 0 mais accorde un niveau de prestige permanent affiché dans son profil.

⚠️ Le prestige nécessite une confirmation — les joueurs doivent exécuter /zprestige confirm après la commande initiale pour éviter les réinitialisations accidentelles.
💡 Chaque niveau de prestige peut débloquer des titres exclusifs, des cosmétiques ou des avantages serveur configurés via le système de commandes de récompenses.

🔮 Système de reforgement

Les joueurs peuvent reforger des objets personnalisés à la station de reforgement pour appliquer des modificateurs aléatoires qui boostent les statistiques. Chaque reforgement coûte un montant configurable de monnaie en jeu.

🎲 Comment fonctionne le reforgement

  1. Ouvrez la station de reforgement via /zreforge ou le GUI.
  2. Placez l'objet que vous souhaitez reforger dans l'emplacement de la station.
  3. Payez le coût de reforgement (économie Vault).
  4. Un modificateur aléatoire est appliqué — les modificateurs peuvent changer les dégâts d'attaque, la vitesse, la défense ou appliquer des effets spéciaux.
  5. Relancez autant de fois que souhaité pour obtenir le modificateur voulu.

💎 Système d'emplacements de gemmes

Des emplacements de gemmes peuvent être ajoutés aux objets. Les joueurs insèrent des objets gemmes dans les emplacements pour booster définitivement les statistiques de l'objet.

CommandeCe qu'elle fait
/zsocket add <count>Commande admin — ajoute des emplacements de socket à l'objet en main
/zsocket infoAffiche combien de sockets l'objet en main possède et quelles gemmes sont enchâssées
/zsocket extractRetire et détruit la gemme dans l'emplacement 1, libérant l'emplacement de socket
Clic droit gemme sur objetInsère la gemme dans le premier emplacement de socket disponible

🗃️ Système GUI (gui.yml)

Tous les GUIs sont entièrement configurables depuis plugins/CustomiZer/gui.yml. Chaque catégorie, sous-catégorie et bouton de pagination peut avoir un matériau personnalisé, CMD, nom, description, emplacement et décoration.

📂 Menu de catégories

Le GUI principal des catégories affiche des boutons pour chaque type de contenu : Objets, Épées, Armures, Blocs, Pioches, Houes et Cosmétiques. Cliquer sur une catégorie ouvre un menu de sous-catégorie.

📑 Onglets de sous-catégories

Chaque catégorie a deux onglets :

  • Objets configurés — objets définis dans les fichiers de configuration principaux du plugin (items.yml, swords.yml, etc.)
  • Objets de pack — objets provenant des packs installés dans le dossier packs/

Les deux onglets sont paginés indépendamment. Chaque catégorie a sa propre configuration de sous-catégorie (titre, matériaux, emplacements) dans gui.yml.

🎨 Décoration & Bordures

Chaque section GUI supporte un objet de fond configurable (remplit les emplacements vides) et un objet de bordure (remplit le cadre du GUI). Les deux peuvent être n'importe quel matériau avec un CMD personnalisé.

📄 Pagination

Lorsque le nombre d'objets dépasse les emplacements disponibles, la pagination s'active automatiquement. Les boutons page précédente, page suivante et fermer sont tous individuellement configurables par catégorie avec des matériaux personnalisés, CMD, nom et position d'emplacement.

🔌 Intégrations

💰 Vault

Toutes les récompenses économiques (casses de blocs, utilisation d'objets, coûts de reforgement) passent par Vault. Compatible avec tout plugin d'économie supportant Vault.

⚒️ Jobs Reborn

Casser des blocs configurés dans xp_values attribue directement de l'XP Jobs à la progression du métier du joueur. Les blocs de pack personnalisés et les blocs vanilla sont tous deux supportés.

🗺️ WorldGuard

Multiplicateurs et diviseurs d'XP et d'argent basés sur les régions, et plannings de boost basés sur le temps. Configurez la mise à l'échelle des récompenses par région sans toucher aux configurations individuelles de blocs.

📊 PlaceholderAPI

Expose les niveaux de maîtrise, le niveau de prestige et d'autres statistiques de joueurs comme placeholders PAPI pour les tableaux de scores, la mise en forme du chat et les hologrammes.

🎭 ModelEngine

Si ModelEngine est installé, son pack de ressources est automatiquement fusionné dans le pack généré par CustomiZer pour éviter deux packs conflictuels.

🧊 ItemsAdder

Intégration optionnelle pour détecter les blocs personnalisés ItemsAdder dans les événements de récompenses. Peut être entièrement désactivée dans settings.yml.

⚙️ Paramètres & Fichiers de configuration

FichierUtilité
config.ymlIP/port du serveur pour le pack de ressources, langue, bascules de barre d'action/bossbar, multiplicateurs de région WorldGuard
settings.ymlActiver/désactiver les intégrations : itemsadder_support, worldguard_integration_support, jobs_support (tous false par défaut)
blocks.ymlBlocs posables personnalisés (restrictions de casse, drops, son/particule) + récompenses de blocs xp_values
items.ymlObjets personnalisés au clic droit et leurs actions
swords.ymlÉpées personnalisées avec niveaux de rareté
armors.ymlSets d'armures en cuir personnalisées
sets.ymlDéfinitions des bonus de sets d'armures
pickaxes.ymlPioches personnalisées à montée en niveau
harvesterhoes.ymlDéfinitions des houes de récolte
generators.ymlGénérateur de minerais/blocs du monde — définit les règles d'injection de blocs personnalisés par monde, biome, plage de hauteur et chance
gui.ymlToutes les mises en page GUI — tailles, titres, matériaux/emplacements des boutons, décoration, pagination
customfonts.ymlRemplacements globaux de l'échelle/position des images de police de pack (priorité sur les configs de pack à chaque démarrage)
rarity.ymlDéfinitions des niveaux de rareté et noms d'affichage
lang/en.yml lang/fr.ymlTous les messages du plugin en anglais et en français
packs/Dossiers de packs à déposer (chacun avec configs/ et resourcepack/)
includes/Fichiers supplémentaires de pack de ressources fusionnés dans le pack généré
models/Fichiers de modèle JSON pour les pioches personnalisées
ℹ️ Tous les fichiers de configuration sont rechargés avec /z reload. Pour reconstruire uniquement le pack de ressources sans rechargement complet de la configuration, utilisez /zpack zip. Aucune des deux commandes ne nécessite un redémarrage du serveur.