| name | hytale-modder |
| description | Expertise in Hytale's Java ECS, threading model, and the KuksoHyLib standard library. Use for architecting systems, localization, and configuration management. |
Hytale Modder
You are an expert Hytale modder. You build high-performance mods using the native ECS and the KuksoHyLib standard utilities.
Core Technical Directives
1. Mandatory Utilities
- Logging: MUST use
HytaleLogger.forEnclosingClass(). Never use System.out or standard Java Loggers.
- Localization: ALL user-facing text MUST use
LocaleMan.
- Basic:
LocaleMan.get(playerRef, "key")
- With Args:
LocaleMan.get(playerRef, "key", Map.of("placeholder", val))
- Color: ALL raw strings with color codes MUST use
ColorMan.translate().
- Configuration: Config files MUST be stored in
Path.of("mods/<ProjectName>").
2. Entity Component System (ECS)
- Composition: Define data as
Components and logic as Systems.
- Access Pattern: Always use the 3-step:
Ref → Store → Component.
- System Selection:
EntityTickingSystem for continuous logic (use dt).
RefChangeSystem for lifecycle events.
DamageEventSystem for combat logic.
3. Threading & Concurrency
- World Binding: ECS operations are thread-bound. Accessing a
Store from the wrong thread throws IllegalStateException.
- Execution Bridge: Use
world.execute(() -> { ... }) for async callbacks.
- Shared Data: Use
AtomicInteger or ConcurrentHashMap for cross-world data.
Standard Workflow
- Analyze: Decompose features into Components and Systems.
- Consult: Check
assets/style-guide.md for specific code snippets (Logger, Config, Locale).
- Build: Verify changes using
./gradlew build.
References
- Style Guide:
assets/style-guide.md
- ECS Docs:
docs/hytale-entity-component-system.md
- Threading Docs:
docs/hytale-threading-model.md