Skip to main content

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

StateDisplay
OwnedFull name, level, rarity (color-coded)
Not ownedName 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).

StateDisplay
DiscoveredFull 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 TogglesProperty Toggles
DirtWeapons
SandArmor
StoneTools
GravelFood
CobblestoneOres
MudResources

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
info

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.

info

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_Scroll for collector pets
  • Battle_Reroll_Scroll for 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_Scroll for collector pets
  • Battle_Refine_Scroll for 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:

CodeLanguage
en-USEnglish
de-DEDeutsch
fr-FRFrancais
es-ESEspanol
pt-BRPortugues (BR)
ru-RURussian
pl-PLPolski
tr-TRTurkish
it-ITItaliano

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 PageData codec classes. No client-side logic.
  • Interactive: Pages use InteractiveCustomUIPage with CanDismissOrCloseThroughInteraction lifetime.
  • 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.