Pourquoi le nom visible ne suffit pas
Si votre villageois demande seulement un papier nommé City voucher, n’importe quel joueur avec une enclume peut le falsifier. Le lore seul reste fragile, car il vit aussi dans du texte visible. Pour les objets économiques, le villageois doit valider une donnée invisible dans le stack.
Utiliser minecraft:custom_data comme couche d’identité
Dans les versions modernes, vous pouvez attacher un composant caché à l’objet monétaire. L’étiquette visible peut toujours dire Bon de guilde, mais la vraie vérification se trouve dans un objet structuré.
components:{
"minecraft:custom_name":'[{"text":"Bon de guilde","italic":false}]',
"minecraft:custom_data":{currency:"guild_voucher",issuer:"capital_bank",tier:"silver"}
}
Pourquoi cela protège l’économie
- Un objet vanilla renommé n’aura pas la même donnée cachée.
- Vous pouvez changer le design sans modifier l’ID de base.
- Différentes factions peuvent utiliser des émetteurs et des niveaux séparés.
- Un billet visuellement identique peut rester invalide si les données cachées sont fausses.
Modèle pratique pour les villageois
Lorsque vous créez le stack buy d’un échange, ajoutez-y le même objet custom_data. Ainsi, le villageois accepte seulement le vrai jeton, pas une imitation avec du texte copié.
buy:{
id:"minecraft:paper",
count:3,
components:{
"minecraft:custom_name":'[{"text":"Bon de guilde","italic":false}]',
"minecraft:custom_data":{currency:"guild_voucher",issuer:"capital_bank",tier:"silver"}
}
}
Bonnes règles économiques pour les serveurs RP
- Gardez une chaîne stable pour chaque famille de monnaie :
guild_voucher,dock_token,ration_stamp. - Ajoutez un second champ pour l’émetteur : ville, banque, guilde ou chapitre.
- Ne faites jamais confiance uniquement au lore, au nom affiché ou au modèle.
- Réservez les champs numériques aux quantités et valeurs, mais gardez des ID lisibles.
Quand séparer les monnaies
Utilisez des ID séparés pour les monnaies qui ne doivent pas se mélanger. Par exemple, des reçus de temple, des soldes militaires et des coupons de marché noir peuvent tous être du papier, mais ils ne doivent jamais partager le même payload custom_data.
Workflow recommandé
- Créez les objets de récompense et de paiement avec le même
custom_data. - Donnez-leur un nom visible lisible pour les joueurs.
- Utilisez le générateur d’échanges de villageois pour verrouiller le stack de paiement sur cette donnée cachée.
- Testez l’échange avec une fausse copie renommée avant de le mettre en ligne.