# Réalisation et validation V1 Cible : Minecraft 1.21.1 / NeoForge 21.1.235 / Java 21 / Easy NPC Core 7.12.1. ## Implémentation - [x] Identité du mod, configurations, intégration obligatoire Easy NPC. - [x] Boutique persistante, cinq objets de construction, inventaires et outil de liaison. - [x] Validation des zones, parcours, spécialisations et chunks, contours côté client. - [x] Framework extensible et production Vanilla : 2×2, 3×3, four, haut fourneau, fumoir, taille de pierre, forge. - [x] Provenance par boutique/session/propriétaire, lots manuels, exclusion des anciens résultats et des apports automatiques. - [x] Graphe de recettes, alternatives, cycles, quantités, restes, combustible et stock sans doublons. - [x] Sessions STANDARD/CHILL, commandes jusqu’à trois lignes, livraison atomique pour les interactions normales, paiement et crédit persistant. - [x] Clients Easy NPC, file, navigation, dialogues, sortie, récupération des blocages, réputation et fermetures. - [x] Écrans, modèles utilisant les textures Vanilla, recettes d’obtention, traductions FR/EN, documentation et scripts d’installation/validation. - [x] Extension de test ajoutant famille, station, recette et handler sans modifier le cœur. ## Contrôles exécutés — 17 septembre 2026 **14 tests unitaires**, sans échec : - Règles des deux modes, réputation CHILL à 500, progression STANDARD. - Prix multi-produit et arrondi unique après multiplicateur. - Recettes récursives, tailles de lots, restes, ressources partagées, alternatives, cycles, combustible, budget de recherche et absence de mutation lors d’un échec. **21 GameTests**, sans échec sur serveur Minecraft/NeoForge avec Easy NPC : - Sérialisation de boutique, modes et invalidation des anciens marquages. - Livraison exacte sur plusieurs piles, surplus et refus sans consommation partielle. - Craft 2×2, 3×3 et shift-craft ; rejet des intermédiaires externes et fabrications hors zone. - Fours manuels, haut fourneau, fumoir ; rejet du chargement automatique, des anciennes sorties et des mélanges par entonnoir. - Tailleur de pierre, transformation netherite, restes de fabrication marqués. - Permissions des stockages, limitation des sessions, inventaire plein et crédit restant. - Transfert stockage → grille → curseur sans duplication du stock. - Humanoïde et villageois Easy NPC : apparition, navigation et suppression. - Cycle client → commande → fabrication → livraison → paiement → départ ; double validation sans double paiement. - Fermeture neutre après obstruction du parcours. - Extension indépendante de production ; entonnoir incapable de retirer le stock sécurisé. Les joueurs simulés des GameTests ne négocient pas les canaux réseau Easy NPC : son API peut journaliser un refus de bulle de dialogue vers ces connexions simulées. La synchronisation avec un vrai client est couverte séparément. **Test graphique automatisé réussi**, dans un affichage Xvfb isolé : chargement des mods, connexion au serveur intégré, création d’une boutique, arrivée du PNJ au comptoir, réception de la commande et affichage de l’écran français. Capture inspectée : `run/clientSmoke/counter-smoke.png`. Témoin d’exécution : `run/clientSmoke/counter-smoke.ok`. **Construction du JAR réussie.** Rapports unitaires : `build/reports/tests/test/index.html`. Bilan serveur : `build/reports/gametest.log`. Le script de vérification exige un bilan non vide de tests réussis, en plus du code de sortie Gradle. ## Limites des preuves et recette manuelle Les tests automatiques ne remplacent pas une partie prolongée. Les points suivants restent à éprouver avant de qualifier une version publique de stable : - Deux vrais joueurs sur un serveur dédié : réapprovisionnement par un ami, reconnexion, échanges rapides et inventaires pleins. - Arrêt puis redémarrage complet d’un serveur avec boutiques et crédits, récupération des anciens PNJ dans des chunks chargés ultérieurement. La sérialisation et l’invalidation par session sont testées ; cette séquence disque/processus complète n’est pas automatisée. - Déchargement réel des chunks, rechargement de datapacks et reconfiguration en cours de jeu. - Parcours avec relief, obstacles mobiles et autres types d’entités Easy NPC configurés. - Équilibrage des prix, de la patience et des quantités ; performances avec un modpack volumineux et de nombreuses boutiques actives. La V1 utilise des recettes à résultat déterministe. Les objets à composants particuliers et mécanismes non pris en charge sont exclus. L’estimation de combustible/durée est conservatrice pour les machines déjà en cours de cuisson. Farmer’s Delight, automatisation admissible, assistants, feu de camp et recettes spéciales sont prévus après cette version.