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
- Kill mobs to collect Life Essence and craft Concentrated Life Essence at the Farmingbench (100:1 ratio).
- Craft a Cat Spawner at the Alchemybench under "Alchemy_Potions_Misc":
- 1x Raw Fish
- 1x Ingredient Life Essence Concentrated - Place the block wherever you want your cat to appear.
- A random Cat or Kitten spawns on the block with a random coat and a random name. You are the owner.
- 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
/gcatpage 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
- Place
GlymeraCats-1.0.0.jarin your server'smods/folder. - Start (or restart) the server.
- 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 variantslisting.
Changes
- Cat coat count: 10 → 11 (Ghost added). Kitten variants unchanged (10).
- Hardcoded
"20 variants"and"(10):"strings in/gcat variantsand/gcat previewreplaced with dynamicCAT_COATS.length/KITTEN_VARIANTS.lengthcalculations 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.pngandpack/Server/Models/Pets/Cat_Ghost.json(model is a copy ofCat_Amber.jsonwith 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
Particlesarray 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
GlymeraCatsPetOrFeedregistered viaNPCPlugin.registerCoreComponentType()(analogous to GlymeraMerchant'sOpenMerchantShop). Role JSONs extended withInteractionInstructionusing sensorHasInteractedand actionsLockOnInteractionTarget+GlymeraCatsPetOrFeed. PlayerInteractEventdoes NOT fire for NPCs — the correct path is custom action + state machine in the role. Useful finding for future pet plugins.- Static singleton
GlymeraCats.INSTANCEso 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 toDisableDamageGroups— 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 (appearanceKitten). Both use previously dormant Hytale assets fromCommon/NPC/Pets/. - 20 color variants: 10 cat coats (Brown, Chestnut, Amber, Rusty, …) + 10 kitten variants (Coat_Collar motif).
- Command
/gcatwith sub-commands: spawn, list, come, call, dismiss, name, remove, status, preview, spawnpick, variants. - Spawner block
GlymeraCats_SpawnerBlockwith fish recipe (Food_Fish_Raw + Life Essence) on the Alchemybench. - UI page
CatPage.uiwithCatCard.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 classGlymeraCats. - 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 brightnesswith feature-preserve for eyes/nose/white areas). RandomAttachmentSets and GradientId do not work for Cat/Kitten models. - Placeholder sounds:
SFX_Leopard_Snow_AlertedandSFX_Leopard_Snow_Hurt(replaced in v2).
Only Marc can read this.