## Hytale plugin rules — READ BEFORE WRITING API CODE Avant d'écrire toute ligne touchant l'API Hytale (au-delà de la logique Java pure / tests JUnit), faire dans l'ordre : 1. **Lire les leçons accumulées** : `C:\Users\minit\Desktop\portfolio\PLUGINS\hytale-gravity-flip\HYTALE-PLUGIN-LEARNINGS.md` — surprises, lessons, discoveries de la prod GravityFlip. C'est l'antidote aux pièges déjà connus (`IncludesAssetPack: true` obligatoire, casse `Server/`, string-ID interactions, `shutdown()` vs `stop()`, etc.). 2. **Grep la source décompilée** : `.tools/decompiled/` contient le `Server-2026.03.26-89796e57b.jar` décompilé via CFR. Pour vérifier la signature exacte d'une méthode/classe : ```bash grep -rn "class CooldownHandler\|interface CooldownHandler" .tools/decompiled/ grep -rn "public.*registerSystem\|public.*register" .tools/decompiled/com/hypixel/hytale/server/core/ ``` **Ne jamais deviner une API** — le décompilé est la source de vérité. La déviation Phase 1 (`CooldownHandler.cooldown(Duration)` n'existait pas — l'API réelle est `getCooldown(String).setCooldownMax(float).resetCooldown()`) aurait été évitée en greppant ici en amont. 3. **Chercher un Interaction builtin similaire** : `.tools/decompiled/com/hypixel/hytale/builtin/.../interactions/*.java` contient des dizaines d'exemples canoniques (`BedInteraction`, `TeleporterInteraction`, `HarvestCropInteraction`, …). Si l'usage est ambigu, copier le pattern d'un voisin builtin. **Researcher / planner / executor agents :** ces 3 étapes sont obligatoires dès qu'une phase touche au runtime Hytale. Phase 2 (algo pur + JUnit) peut s'en passer ; Phase 3 (runtime intégration) et Phase 4 (particles + son) y sont entièrement soumises. ## Project **ChainLightning Sceptre** Plugin Hytale (Mythlane) — un sceptre magique qui lance une foudre en chaîne. Le joueur cible un mob ; l'éclair saute jusqu'à 5 cibles consécutives dans un rayon de 8 blocs, avec des dégâts dégressifs et une traînée électrique visible (particles + son atténué). **Plateforme :** Hytale Plugin API (serveur 2026.03.26-89796e57b), Java 25, Gradle Shadow. **Core Value:** **La mécanique de chaînage visuellement unique** — pas un projectile classique. C'est ce qui différencie le plugin de Wan's Wonder Weapons (342K downloads free) et exploite la catégorie magie quasi-vide sur BlockyBlockyBlock (1 seul plugin payant). ## Technology Stack Technology stack not yet documented. Will populate after codebase mapping or first phase. ## Conventions Conventions not yet established. Will populate as patterns emerge during development. ## Architecture Architecture not yet mapped. Follow existing patterns found in the codebase. ## Project Skills No project skills found. Add skills to any of: `.claude/skills/`, `.agents/skills/`, `.cursor/skills/`, `.github/skills/`, or `.codex/skills/` with a `SKILL.md` index file. ## GSD Workflow Enforcement Before using Edit, Write, or other file-changing tools, start work through a GSD command so planning artifacts and execution context stay in sync. Use these entry points: - `/gsd-quick` for small fixes, doc updates, and ad-hoc tasks - `/gsd-debug` for investigation and bug fixing - `/gsd-execute-phase` for planned phase work Do not make direct repo edits outside a GSD workflow unless the user explicitly asks to bypass it. ## Developer Profile > Profile not yet configured. Run `/gsd-profile-user` to generate your developer profile. > This section is managed by `generate-claude-profile` -- do not edit manually.