Files
hytale-chain-lightning/CLAUDE.md
T
kayjaydee edca00fa4a feat(phase-1): scaffold ChainLightning Sceptre plugin
Build infrastructure (Gradle wrapper, shadow, Java 25), manifest, item
JSON + interactions, and ChainLightningPlugin entry with stub handler
that logs sceptre clicks. Cooldown wiring deferred to Phase 3 (real
Hytale API is getCooldown(id).setCooldownMax — not cooldown(Duration)).
2026-04-26 19:22:18 +02:00

4.1 KiB

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 :
    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.