UI Pages
The Pet System includes 10 interactive UI pages. All pages use Hytale's InteractiveCustomUIPage system with server-side state management.
Player Pages
Pet Menu
Open via: /kspet (no arguments) or right-clicking with no subcommand
The main hub for the pet system. Displays three sections:
Active Companions (top row) Three cards showing the currently active collector pet, combat pet, and mount. Each card displays:
- Pet display name
- Level and primary stat (items collected, kills, speed)
- Active bonus stats (e.g.,
DMG: +5.2% | Crit: +3.1%) - Dismiss button to despawn the pet
Pet Grid (middle section) Three rows of 5 slots each, organized by module:
- COLLECTOR -- Pickup pets sorted by last summoned
- COMBAT -- Combat pets sorted by last summoned
- MOUNTS -- Mount pets sorted by last summoned
Each slot shows the pet's display name, level, and rarity (color-coded). Clicking a slot summons that pet. If a pet in the same category is already active, all summon buttons in that row are hidden -- the player must dismiss the active pet first.
Only pets whose summon item (egg/rune/horn) is currently in the player's inventory are shown.
HUD Settings (bottom section) Two dropdown controls for personalizing the Pet Tracker HUD:
- Position: Top Left, Top Right, Middle Left, Middle Right, Bottom Left, Bottom Right
- Layout: Vertical or Horizontal
Settings are saved per-player and persist across sessions.
Collection Page
Open via: /kspet collection
Shows all registered pet types in a paginated list (6 entries per page).
| State | Display |
|---|---|
| Owned | Full name, level, rarity (color-coded) |
| Not owned | Name displayed, status shows ??? with dimmed colors |
A progress counter at the top shows owned/total (e.g., 12/48).
Pagination controls appear when more than 6 types are registered.
Bestiary Page
Open via: /kspet bestiary
A discovery tracker for all pet types (5 entries per page).
| State | Display |
|---|---|
| Discovered | Full name, rarity color, highest level reached, discovery date (dd.MM.yyyy) |
| Undiscovered | ??? with gray text, no details |
A progress counter shows discovered/total.
Pets are marked as discovered when the player first hatches or summons them. The bestiary tracks the highest level ever reached with each pet type.
Filter Page
Open via: /kspet filter (no arguments)
Configures pickup filter rules for collector pets. The filter targets the active collector pet, or falls back to the first collector pet in the player's data.
Mode Toggle Switch between Blacklist mode (blocks listed items) and Whitelist mode (only allows listed items).
Quick Toggles Pre-configured buttons for common blocks and item categories:
| Block Toggles | Property Toggles |
|---|---|
| Dirt | Weapons |
| Sand | Armor |
| Stone | Tools |
| Gravel | Food |
| Cobblestone | Ores |
| Mud | Resources |
Clicking a toggle adds or removes the corresponding rule. Active toggles show a > prefix.
Presets One-click preset configurations:
- No Junk -- Blocks common blocks
- Valuables -- Only valuable/rare items
- Ores Only -- Only ore items
- Pick All -- Clears all rules
Custom Rules A text input field allows adding custom rules by item name. Rules are displayed in a paginated list (12 per page) with delete buttons.
Rule List
Shows all active rules with type tag ([name] or [property]) and value. Rules persist to the pet's data and sync to the egg item.
Combat Pet Page
Open via: /kspet combat
Displays detailed combat statistics for the currently active combat pet:
- Pet name and level
- XP progress bar (current/needed with percentage, or "MAX LEVEL")
- Damage per hit (includes damage_bonus stat scaling)
- DPS (damage x attack speed)
- Attack Range, Aggro Range, and Leash Distance
- Total kill count
This page is only accessible when the combat module is enabled in config.json.
Mount Page
Open via: /kspet mount or /kspet mounts
Mount selection and management page.
Active Mount section shows the currently mounted creature with name, type (Walk/Fly), and speed. Includes a Dismount button.
Available Mounts grid shows owned mounts in a paginated list (3 per page), sorted by most recently summoned. Each slot shows the mount name, type, and speed multiplier. Clicking a mount slot dismisses the current mount (if any) and summons the selected one. The page closes automatically when a mount is selected so the player can move immediately.
This page is only accessible when the mount module is enabled in config.json.
Reroll Page
Opened via: Right-clicking a Reroll Scroll item (Pet or Battle variant)
Shows the active pet's stats with a reroll button next to each unlocked stat. Locked stats (level too low) show "Hidden" and the unlock level. Each reroll consumes one scroll from inventory and randomizes both the stat type and value.
The correct scroll type is required:
Pet_Reroll_Scrollfor collector petsBattle_Reroll_Scrollfor combat pets
Refine Page
Opened via: Right-clicking a Refine Scroll item (Pet or Battle variant)
Similar to the Reroll Page, but refining keeps the same stat type and only re-rolls the value. Each stat shows its current value and the possible range for the pet's rarity.
The correct scroll type is required:
Pet_Refine_Scrollfor collector petsBattle_Refine_Scrollfor combat pets
Reroll All / Refine All Pages
Opened via: Right-clicking the corresponding "All" scroll variant (Pet_Reroll_All_Scroll, Battle_Reroll_All_Scroll, Pet_Refine_All_Scroll, Battle_Refine_All_Scroll)
These pages show a preview of what all stats would look like after the operation. The player can review the preview and click Confirm to apply, or Cancel to keep the current stats. One scroll is consumed on confirm.
Language Selection Page
Open via: /kslang (no arguments)
A grid of language buttons for all 9 supported languages:
| Code | Language |
|---|---|
en-US | English |
de-DE | Deutsch |
fr-FR | Francais |
es-ES | Espanol |
pt-BR | Portugues (BR) |
ru-RU | Russian |
pl-PL | Polski |
tr-TR | Turkish |
it-IT | Italiano |
Also includes an Auto button to clear the override and use the client's detected language.
Admin Pages
Pet Creator Page
Open via: /kspetadmin creator or /kspetadmin create
Permission: ks.pet.admin
A form-based UI for creating custom pets with precise control. See the Admin Panel & Pet Creator page for full documentation.
Page Technical Details
All pages share these characteristics:
- Server-side state: All UI state is tracked on the server via
PageDatacodec classes. No client-side logic. - Interactive: Pages use
InteractiveCustomUIPagewithCanDismissOrCloseThroughInteractionlifetime. - Localized: All pages wrap their build and event handling in
I18nContext.run()to support the player's selected language. - Pagination: Pages with variable-length content use server-side pagination with Previous/Next buttons.
- Inventory sync: The Pet Menu scans the player's inventory on open to ensure only pets with items present are shown.