Glymera Cats

Cats and kittens as loyal companions for Hytale. Craft a Cat Spawner from raw fish to summon one of 20 coat varieties. They follow you, defend you in combat with real damage, and persist across server restarts.

File Details

GlymeraCats-3.0.0.jar

  • R
  • Apr 27, 2026
  • 621.55 KB
  • 67
  • Early Access

File Name

GlymeraCats-3.0.0.jar

Supported Versions

  • Early Access

GlymeraCats - Changelog

v3.0.0 (2026-04-27)

New Features

  • New cat variant Ghost — black cat with green/white markings. Picked up automatically by random spawn, /gcat spawn cat, /gcat spawnpick cat Ghost, /gcat preview (now spawns 21 variants instead of 20), and /gcat variants listing.

Changes

  • Cat coat count: 10 → 11 (Ghost added). Kitten variants unchanged (10).
  • Hardcoded "20 variants" and "(10):" strings in /gcat variants and /gcat preview replaced with dynamic CAT_COATS.length / KITTEN_VARIANTS.length calculations so future variant additions don't require code edits in two places.

Technical Details

  • New asset files only: pack/Common/NPC/Pets/GlymeraCats/Textures/Cat_Ghost.png and pack/Server/Models/Pets/Cat_Ghost.json (model is a copy of Cat_Amber.json with the texture path swapped).
  • No changes to roles, sounds, AI, interactions, or persistence — Ghost behaves exactly like any other cat coat.
  • Note on transparency: Hytale does not support alpha-blending on entity textures (only 4 shading modes: flat/standard/fullbright/reflective). The Ghost skin reads as solid color; "ghostly" effects elsewhere in the game (Wraith, Spectre_Void) are achieved via the Particles array in the server-model JSON, not via texture alpha.

v2.0.0 (2026-04-22)

New Features

  • Real cat sounds (replaces Leopard-Snow placeholders): 4 meow, 2 hiss, 1 purr variants (CC0 from BigSoundBank) shipped as OGGs in the asset pack. Three new SoundEvents: SFX_GlymeraCat_Meow, SFX_GlymeraCat_Hiss, SFX_GlymeraCat_Purr.
  • Pet and feed via F-key (Interact): empty hand → hearts + purr. Raw meat → heal +200HP, item consumed, hearts + purr. Only works on cats the player owns.
  • No more hit damage on own cats: DisableDamageGroups: ["Player", "Self"] fully blocks player damage — no HP loss, no knockback, no hit particles. Client-side swing animation and click sound remain visible (not preventable server-side).

Changes

  • Idle sounds are now per-cat and independent: random 90–150s cooldown per cat instead of a 20s global tick firing all cats in sync (prevents chorus effect). Owner now counts as a listener — previously cats only meowed for strangers.
  • Range for idle sounds raised from 8 to 16 blocks.
  • Combat hiss: plays once on combat entry plus every 8–12s during active combat (was every 20s).
  • Bite-meow removed — combat audio now runs only through the combat hiss scheduler.
  • Low-HP distress call (<20% HP) is now a meow instead of a purr (more appropriate).
  • Hearts particle fixed: uses "Hearts" instead of the missing "Merchant_Sold".

Technical Details

  • Custom NPC action GlymeraCatsPetOrFeed registered via NPCPlugin.registerCoreComponentType() (analogous to GlymeraMerchant's OpenMerchantShop). Role JSONs extended with InteractionInstruction using sensor HasInteracted and actions LockOnInteractionTarget + GlymeraCatsPetOrFeed.
  • PlayerInteractEvent does NOT fire for NPCs — the correct path is custom action + state machine in the role. Useful finding for future pet plugins.
  • Static singleton GlymeraCats.INSTANCE so the static action class can reach plugin state.
  • Per-cat cooldowns via ConcurrentHashMap<String, Long> (nextMeowAt, nextCombatHissAt) — no more global scheduler interval; tick checks cooldowns individually.
  • Gson config backfill for new fields (meowIntervalMinMs/MaxMs, combatHissIntervalMinMs/MaxMs) — old v1.0.0 configs get defaults populated on load.
  • Legacy CatInteractSystem (damage-based) is still in the code but never fires due to DisableDamageGroups — effectively dead code.

v1.0.0 (2026-04-18)

New Features

  • Initial release: 1:1 clone of GlymeraDogs with Cat + Kitten instead of Dog + Corgi.
  • Two types: adult Cat (appearance Cat), juvenile Kitten (appearance Kitten). Both use previously dormant Hytale assets from Common/NPC/Pets/.
  • 20 color variants: 10 cat coats (Brown, Chestnut, Amber, Rusty, …) + 10 kitten variants (Coat_Collar motif).
  • Command /gcat with sub-commands: spawn, list, come, call, dismiss, name, remove, status, preview, spawnpick, variants.
  • Spawner block GlymeraCats_SpawnerBlock with fish recipe (Food_Fish_Raw + Life Essence) on the Alchemybench.
  • UI page CatPage.ui with CatCard.ui, interactive (Call/Dismiss/Release via buttons).
  • Call/Dismiss, follow logic, combat systems (Defend, SelfDefense), 100 cat + 100 kitten names.

Technical Details

  • Package de.glymera.cats, main class GlymeraCats.
  • 4 ECS systems: CatDefendSystem, CatSelfDefenseSystem, CatInteractSystem, CatSpawnerPlaceSystem.
  • Color variant solution (after several dead ends): multi-appearance with 22 model JSONs plus per-variant textures generated from a grayscale template (target color × pixel brightness with feature-preserve for eyes/nose/white areas). RandomAttachmentSets and GradientId do not work for Cat/Kitten models.
  • Placeholder sounds: SFX_Leopard_Snow_Alerted and SFX_Leopard_Snow_Hurt (replaced in v2).