This commit is contained in:
commit
07eb6dc053
318 changed files with 339857 additions and 0 deletions
56
docs/IMPLEMENTATION.md
Normal file
56
docs/IMPLEMENTATION.md
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue