File Details
GlymeraCats-2.0.0.jar
- R
- Apr 22, 2026
- 595.47 KB
- 47
- Early Access
File Name
GlymeraCats-2.0.0.jar
Supported Versions
- Early Access
GlymeraCats - Changelog
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).