← All plugins
Glymera  Cats icon

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.

v5.0.0 Hytale 0.6.x CharactersArmorGameplayMiscellaneousQuality of Life

Gallery

Description

GlymeraCats - Cats and Kittens as Loyal Companions

Finally, cats in Hytale. Craft a Cat Spawner Block, place it, and get a random cat or kitten as your loyal companion. Watch them defend you in battle. 20 color varieties with natural fur tones preserving the cats' natural white belly, paws, and facial features.


What is GlymeraCats?

Hytale has complete cat and kitten models sitting unused in its base assets. GlymeraCats activates them as real pets: they follow you, defend you, meow at strangers, and fight for you with real damage. Every cat has a unique name and one of 10 coat colors.


How to Get a Cat

  1. Kill mobs to collect Life Essence and craft Concentrated Life Essence at the Farmingbench (100:1 ratio).
  2. Craft a Cat Spawner at the Alchemybench under "Alchemy_Potions_Misc":
    - 1x Raw Fish
    - 1x Ingredient Life Essence Concentrated
  3. Place the block wherever you want your cat to appear.
  4. A random Cat or Kitten spawns on the block with a random coat and a random name. You are the owner.
  5. Manage them with /gcat (opens the UI page).

OP players can also spawn cats directly with /gcat spawn cat, /gcat spawn kitten, or /gcat spawnpick <type> <variant> to target a specific coat.


Color Variants

Cats (10 coats)

Brown, Chestnut, Tawny, Golden, LightBrown, Amber, Reddish, DarkBrown, Mahogany, Rusty

Kittens (10 coats)

Golden, Wheaten, Red, Tan, Sable, Fawn, Mahogany, Caramel, Tricolor, Chocolate

All coats are natural feline fur tones. The cats' natural white belly, paws, and inner-ear regions are preserved, and facial features like eyes, nose, and snout keep their original colors - only the fur gets recolored. Use /gcat preview (OP) to spawn all 20 variants in a circle for comparison.


Combat System

Your cats defend you and themselves:

Trigger Behavior
You get hit All active cats hiss and attack your attacker
Cat gets hit by a mob That cat fights back
Cat is in range of target Real melee damage per claw swipe (Cat 20, Kitten 15)
Cat HP drops below 20% Hurt sound (once per minute per cat)

Cats meow during combat (every 3s) and meow once when a stranger enters their 8-block awareness radius.


Commands

Command Who Description
/gcat Everyone Open the cat management UI
/gcat list Everyone List your cats with status
/gcat come Everyone Teleport all active cats to you
/gcat call <id or name> Everyone Re-summon a dismissed cat
/gcat dismiss <id or name> Everyone Despawn a cat (stays in your roster)
/gcat name <id or name> <new name> Everyone Rename a cat
/gcat remove <id or name> Everyone Permanently release a cat
/gcat variants Everyone List all coat variant names
/gcat status Everyone Plugin statistics
/gcat spawn <cat or kitten> OP only Direct random spawn (no block cost)
/gcat spawnpick <type> <variant> OP only Direct targeted spawn
/gcat preview OP only Spawn all 20 variants around you for comparison (auto-cleanup after 5 min)

Management UI

Type /gcat to open a visual page showing all your cats as cards. Each card shows name, type, coat, and status:

  • Green "ACTIVE" = spawned and following
  • Yellow "DISMISSED" = offline, ready to call
  • Red "RESPAWN in Xs" = on death cooldown

Each card has buttons:
- Come - teleport this cat to you (active only)
- Call / Dismiss - toggle spawned state
- Release - free the cat permanently

OPs see additional top bar buttons to spawn new cats directly.


Features

  • 10 Cat coats x 10 Kitten coats - 20 distinct looks via multi-appearance model assets
  • Natural fur coloring - luminance-based tinting preserves the cats' native white markings and facial features
  • 100 names each for cats and kittens, collision-free per player
  • Cat Spawner - craftable block from raw fish, places to spawn a random cat at the block location
  • Real combat damage - cats actually claw attackers (Cat 20, Kitten 15 damage)
  • Defend + Self-defense - trigger on your hit OR cat hit
  • Stranger alert - meows at non-owner players within 8 blocks
  • Feline sounds - hiss on combat start, meow in fight, hurt sound at low HP
  • Persistent - roster survives disconnect and server restarts
  • Auto-respawn - active cats come back when you log in
  • Visual UI - manageable through /gcat page with live updates
  • OP-only spawn commands - direct spawning requires admin; normal players craft the block
  • Call / Dismiss - temporarily park cats you don't need without losing them
  • Configurable - HP, damage, range, intervals, limits, recipe toggle

Stats & Configuration

File: config.json (created on first start in plugin data directory)

Setting Default Description
maxCatsOwned 5 Maximum cats in a player's roster
maxCatsActive 3 Maximum cats spawned at the same time
catMaxHealth 1000 Cat max HP
kittenMaxHealth 1000 Kitten max HP
catAttackDamage 20 Damage per cat claw
kittenAttackDamage 15 Damage per kitten claw
attackRange 2.5 Claw range in blocks
attackIntervalMs 1200 Time between attacks
deathCooldownSeconds 300 Respawn delay after death (5 min)
followTeleportDistance 50 Distance before a cat teleports to owner
followCheckIntervalMs 2000 Follow tick interval
meowRange 8 Stranger alert radius in blocks
meowIntervalMs 20000 Stranger alert scan interval
combatTimeoutSeconds 10 How long combat mode lasts after last hit
previewDurationSeconds 300 Auto-cleanup time for /gcat preview
recipeEnabled true Whether the Cat Spawner recipe is available

Installation

  1. Place GlymeraCats-1.0.0.jar in your server's mods/ folder.
  2. Start (or restart) the server.
  3. Done. No external folders needed - everything is embedded in the JAR.

Good to Know

  • Cats are despawned when you disconnect and respawned when you rejoin (with a 2s delay, up to maxCatsActive).
  • Cats do not attack other players - they only target hostile NPCs/mobs.
  • Block placement is the normal way for players to get cats. Direct spawn commands are OP-only.
  • Dismissed cats stay in your roster - use Call to bring them back any time (subject to maxCatsActive).
  • Uses Hytale's native Cat and Kitten base models with custom textures generated per variant. The texture generator preserves the original cats' natural white regions (belly, paws, inner ears) and facial features (eyes, nose, snout) while recoloring only the fur.
  • All cat data is stored as JSON files per player in the plugin data directory.

Made with care by Glymera for the Hytale community

Changelog

GlymeraCats - Changelog

v5.0.0 (2026-08-28) — Hytale 0.6.0 (Update 6)

  • Rebuilt for Hytale 0.6.0 (Update 6). Requires server 0.6.0 or newer; this version does not run on 0.5.x, and older versions of this plugin do not run on 0.6.0.
  • Migrated to the 0.6.0 APIs (network protocol hytale/3, new command-permission API, block/chunk/entity API changes). Everything that was open to players before is open to players again.
  • Upgrade: delete the old jar from mods/, drop in the new one and keep the plugin's data folder — configs and saved data carry over unchanged. Restart the server.

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).
Public — visible to everyone. No account needed.

Only Marc can read this.